新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于C8051F340單片機的紅外溫度監測系統的設計

        基于C8051F340單片機的紅外溫度監測系統的設計

        作者: 時間:2011-09-13 來源:網絡 收藏


        如圖3所示,上電后完成初始化配置,初始化配置語句可以使用Configuration Wizard來進行配置,的UART0接口(第二功能)固定在P0^4,P0^5,USB也只能使用特定端口,這里不需要對端口進行特別配置,將其端口模式設置為推拉即可,時鐘設置為使用內部時鐘模式,通過選擇多路開關和倍頻使USB時鐘工作在48MHz。作為USB中的從設備,系統初始化設置完成后,執行等待命令DisplayLED(),然后在中斷函數中根據USB中對要執行的操作進行判斷。
        UART0使用定時器2作為波特率發生器,并使能定時器0中斷允許。USB初始化首先要調用USBXpress提供的API函數USB_Clock_Start(),然后對其端口初始化,這里使用USBXpress提供的默認設置即可。
        由于數據為16位數據,串口每次接收其中8位,這里定義個數組In_Packet[3]后兩位用來存放MSB,LSP的值,第一位存放傳感器標志位。當In_Packet[3]數組數據更新后,調用USBXpress的API函數Block_Write(In_Packet,3)將數據發送給上位機。
        2.3 上位機軟件
        USBXpress提供VC6.0進行USB通信的動態鏈接庫,這里采取了靜態方法加載動態鏈接庫的形式,這樣需要在編譯選項中把USBXpress提供的SiUSBXp.lib路徑添加進去,并在需要調用時添加頭文件siusbxp.h。
        程序依照USBXpress提供的API函數編寫,在程序界面初始化時調用SI_GetNumDevices()和SI_GetProductString()函數獲取USB器件信息,由于傳感器工作間隔200ms左右,這里設定50ms的定時器,在其響應函數中執行SI_Read(),當Buffer中有數據時就會將數據讀取到定義好結構體當中去,并使用Format命令將其轉換為字符串類型且按16進制方式將數據更新到編輯框中。

        d.jpg



        3 總結
        系統基本實現了的采集和傳輸功能,并能通過VC6.0將數據保存,提供給matlab等數學分析軟件進行數據分析,實驗證明了利用CPLD可以很精確地實現對傳感器的分時控制,利用USBXpress提供的API進行USB開發極大地簡化了開發流程。
        實驗只進行了簡單的框架搭建,這里只是對CPLD進行時分復用方法采集傳感器數據并且使用利用USB總線與計算機進行通信的可行性進行了驗證,完善穩定的系統仍需要大量的后期工作去完成。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新绛县| 绥棱县| 兴文县| 胶南市| 康乐县| 邵阳市| 建昌县| 页游| 遵义县| 海兴县| 韶山市| 仲巴县| 石柱| 黄梅县| 通渭县| 宝应县| 宁夏| 浦东新区| 崇左市| 美姑县| 宝兴县| 盐亭县| 五华县| 平阴县| 甘南县| 灵武市| 若尔盖县| 永康市| 瑞丽市| 永安市| 图木舒克市| 莱阳市| 托克逊县| 珠海市| 克什克腾旗| 虎林市| 菏泽市| 儋州市| 上思县| 常宁市| 波密县|