<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > USB接口的多功能容柵傳感器測量系統

USB接口的多功能容柵傳感器測量系統

作者: 時(shí)間:2011-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏

3.2 程序
因為C8051F321的模塊高度集成化,所以對的設計主要是USB固件程序的設計。其中最重要的是USB描述符和USB傳輸中斷的處理。當USB中斷到達時(shí),C8051F321首先讀取3個(gè)中斷寄存器(CMINT、IN1INT和OUT1INT)來(lái)判斷中斷來(lái)源(USB復位中斷、端點(diǎn)0中斷、端點(diǎn)1輸入中斷、端點(diǎn)2輸出中斷),然后跳入相應的處理模塊進(jìn)行處理。USB中斷程序流程如圖4所示。

本文引用地址:http://dyxdggzs.com/article/161402.htm

e.jpg


端點(diǎn)0主要用于主機對USB設備的配置、狀態(tài)信息的獲取和設備錯誤的糾正等,它的中斷處理模塊由控制輸出和控制輸入2部分組成。每次傳輸由設置事務(wù)開(kāi)始,然后根據設置事務(wù)數據包中的USB標準命令請求判斷該次傳輸是控制輸入還是控制輸出。USB復位中斷將相關(guān)USB變量、寄存器和各端點(diǎn)的狀態(tài)恢復為初始狀態(tài)。端點(diǎn)1輸入中斷和端點(diǎn)2輸出中斷均為批量傳輸中斷,其主要作用是在收到中斷時(shí),在各自預定義好的緩沖區中寫(xiě)入要傳輸給主機的數據或讀取傳輸過(guò)來(lái)的數據。
3.3 主程序
程序主要包括主程序、時(shí)鐘初始化子程序、端口初始化子程序、USB控制器配置初始化子程序、延時(shí)子程序、采集數據中斷子程序、USB中斷子程序和附加功能子程序。由于采集數據實(shí)時(shí)性要求比較高,所以將采集數據中斷設為高優(yōu)先級。
附加功能子程序包括正常計數、數據保持、最大值跟蹤、最小值跟蹤和清零的功能。對附加功能的實(shí)現均是通過(guò)控制CK和DATA信號線(xiàn)完成,附加功能轉換流程如圖5所示。給CK信號線(xiàn)一個(gè)負脈沖,即可完成清零操作;在正常計數狀態(tài)下將DATA信號線(xiàn)置為高電平,將進(jìn)入保數功能;如果再將CK信號線(xiàn)置為低電平,進(jìn)入最大值跟蹤功能;內部專(zhuān)用芯片將用新測得的數據與上一個(gè)數據進(jìn)行比較,如果新測得數據大,則替換掉,否則丟棄??梢栽谏衔粰C上通過(guò)USB測試軟件發(fā)送相關(guān)命令來(lái)控制進(jìn)行操作。程序中設定一個(gè)字節的變量來(lái)存放從上位機接收到的命令,當判斷是其中的一個(gè)命令時(shí)就調用相應的處理程序完成操作。

f.jpg


3.4 軟件抗干擾
環(huán)境的干擾使單片機程序很容易“跑飛”,為了控制程序正常運行,除了硬件上使用光耦隔離技術(shù)之外,軟件上可采用設置“軟件陷阱”的辦法來(lái)將跑飛的程序拉入正常軌道,即在程序代碼空間使用跳轉指令將跑飛的程序拉到程序執行的開(kāi)始位置,具體操作方法是在所有未被使用的代碼空間處寫(xiě)入“LJMP 0000H”指令。另外,可利用單片機自帶的“看門(mén)狗”功能看住程序,一旦程序跑飛,看門(mén)狗將強制單片機復位。也就是說(shuō),在程序代碼中每隔一定時(shí)間就設置一個(gè)“喂狗指令”,清除看門(mén)狗計時(shí)器值,不讓其達到最大值而發(fā)出復位信號。

結語(yǔ)
使用主機上的軟件測試出該軟硬件能夠穩定可靠地運行,點(diǎn)擊測試軟件的相關(guān)功能按鈕,能夠完成相應的功能操作。與傳統的RS232/RS485通信方式相比較,該方案解決了不帶串行通信方式的上位機的通信閑難,抗干擾能力更強,為系統提供更穩定的電源,適用于惡劣環(huán)境下的工業(yè)現場(chǎng)的高精度。

接地電阻相關(guān)文章:接地電阻測試方法


電機保護器相關(guān)文章:電機保護器原理

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>