<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>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于SmaU RTOS51的汽車(chē)動(dòng)態(tài)稱(chēng)重儀的設計

基于SmaU RTOS51的汽車(chē)動(dòng)態(tài)稱(chēng)重儀的設計

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

3.3 顯示和通訊模塊
顯示驅動(dòng)采用SN74HC595,是一款串行輸入并行輸出的移位寄存器,僅需3根I/O端口線(xiàn)即可控制6個(gè)數碼管和8個(gè)發(fā)光二極管,極大節省了單片機的資源,電路如圖3所示。

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

通訊模塊采用MAX232,并采取光隔離設計,以提高儀表的抗干擾能力,如圖4所示。

3.4 按鍵和外部看門(mén)狗電路
鍵盤(pán)采用典型的4x4矩陣薄膜按鍵鍵盤(pán),用來(lái)設置儀表參數。為了提高儀表的抗干擾能力,增強儀表的穩定性,采用外部看門(mén)狗復位電路。選用的器件是MAX813,電路如圖5所示。


4 系統軟件設計
4.1 Small 簡(jiǎn)介
Small 5l是一個(gè)專(zhuān)門(mén)為5l系列單片機設計的嵌入式實(shí)時(shí)操作內核,使用Keil編譯器可以直接使用其代碼,其特點(diǎn):①公開(kāi)源代碼。只要遵循許可協(xié)議,任何人可以免費獲得源代碼,便于用戶(hù)的二次開(kāi)發(fā)。②可移植性。用戶(hù)可以把與CPU有關(guān)的控制指令壓縮到最小??梢允褂肁NSIC編寫(xiě)應用程序,不僅簡(jiǎn)化了編程手段,而且便于程序移植。⑧可固化性。Small 為嵌入式系統設計,可以嵌入到產(chǎn)品中,成為產(chǎn)品的一部分。④占先式運行。Small RT0S可以管理16個(gè)用戶(hù)任務(wù),每個(gè)任務(wù)可以設置不同的優(yōu)先級。Small RTOS5l總是運行優(yōu)先級最高的任務(wù)。⑤中斷管理。采用中斷管理方式.當有更高級的中斷申請時(shí),將目前正在執行的任務(wù)掛起。如果優(yōu)先級更高的任務(wù)被中斷喚醒,則高優(yōu)先級的任務(wù)在中斷嵌套結束后立刻執行。中斷嵌套層數可達255層。若需要,可以禁止中斷的嵌套管理。⑥RAM需求小。SmallRTOS51為小RAM的系統設計,因而對RAM的需求只有幾百字節,相應的系統服務(wù)也少。
4.2 系統軟件實(shí)現
按照儀表所要實(shí)現的功能,將整個(gè)系統劃分為多個(gè)并行的任務(wù),占先式操作內核對任務(wù)的調度是按照任務(wù)優(yōu)先權的高低進(jìn)行。這里將系統劃分為8個(gè)任務(wù),按其優(yōu)先級從高到低的順序排序。用操作系統提供的任務(wù)建立函數OS一TaskCreate來(lái)實(shí)現。
(1)Task_AD負責接收A/D轉換后的數據,即信號的采樣,并判斷是否為軸重數據,若是就保存。通過(guò)中斷服務(wù)程序接收A/D轉換后的數據,讀取完成會(huì )發(fā)一個(gè)信號量AD_Sem,Task_AD任務(wù)接收到AD_Sem信號量后開(kāi)始判斷是否保存數據。如果任務(wù)檢測到一個(gè)軸完整通過(guò)稱(chēng)臺,就發(fā)送相應軸的消息到數據處理任務(wù)。
(2)Task_Identify負責識別的軸型和是否完全通過(guò)稱(chēng)臺。根據國家規定,不同軸型的汽車(chē)限載不同,所以動(dòng)態(tài)稱(chēng)重時(shí),儀表要自動(dòng)識別汽車(chē)軸型,然后根據該軸型汽車(chē)的限重判斷其是否超載。該任務(wù)還通過(guò)掃描車(chē)輛分離器的信號,識別車(chē)輛是否完全通過(guò)稱(chēng)重臺面。若識別到車(chē)輛完全通過(guò)稱(chēng)臺,就發(fā)送End_Sem信號量。
(3)Task_Comm_Rece負責接收來(lái)自上位機的命令和回應儀表的發(fā)送請求。儀表通過(guò)上位機發(fā)來(lái)的不同命令執行相應的操作。
(4)Task_Key負責按鍵的掃描和識別。
(5)Task_Data負責稱(chēng)重數據的處理。當該任務(wù)接收到來(lái)自Task_AD任務(wù)發(fā)送的軸信息后,開(kāi)始處理該軸的數據。通過(guò)稱(chēng)重算法計算出該軸的重量。并將重量以信息的方式發(fā)送給Task_Display任務(wù)。
(6)Task_Display負責顯示重量和參數。該任務(wù)接收到數據處理發(fā)來(lái)的信息,將顯示該軸的重量,如果儀表檢測到汽車(chē)已完全通過(guò)稱(chēng)臺,顯示汽車(chē)總重。如果Task_Key任務(wù)掃描到參數鍵按下時(shí),切換到參數顯示狀態(tài)。
(7)Task_End負責汽車(chē)完全通過(guò)稱(chēng)臺后的一系列處理工作,包括總重累加,軸組重量統計,軸型統計。處理完后向數據通訊信息隊列發(fā)送信息,通知數據發(fā)送任務(wù)向上位機發(fā)送相應數據。
(8)Task_Comm_Send負責向上位機發(fā)送數據,當該任務(wù)接收到通訊消息后,根據不同的信息值向上位機發(fā)送不同的數據,例如,若汽車(chē)正向通過(guò)稱(chēng)重臺面,則通訊信息值為1,Task_Comm_Send接收到該消息后會(huì )向上位機發(fā)送車(chē)輛的重量信息和軸型信息。若汽車(chē)反向通過(guò)稱(chēng)重臺面,則通訊信息值為0,Task_Comm_Send接收到該信息會(huì )向上位機發(fā)送車(chē)輛的倒車(chē)信息。


稱(chēng)重傳感器相關(guān)文章:稱(chēng)重傳感器原理


關(guān)鍵詞: SmaU RTOS 51 汽車(chē)

評論


相關(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>