<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è) > 嵌入式系統 > 設計應用 > 基于單片機與傳感器的振動(dòng)信號分布式檢測方法

基于單片機與傳感器的振動(dòng)信號分布式檢測方法

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

多機通信協(xié)議

單片機具有適于多機通信的特殊功能,即方式2(3)。在這2個(gè)方式里,接收的第9位進(jìn)入RB8,然后為停止位。串行口可程控為:當接收到停止位,只有當RB8=1時(shí)才產(chǎn)生串行口中斷。這個(gè)特性可由置位SCON中的SM2控制。多機通信中使用這種特性的方法是:當主機要發(fā)送一個(gè)數據塊給幾個(gè)從機之一時(shí),它先發(fā)送一個(gè)目標從機的地址字節,地址字節第9位為1而數據字節第9位為0。當SM2=1時(shí),數據字節不會(huì )中斷任何從機,然而,地址字節會(huì )中斷所有從機,這樣每一個(gè)從機可檢查接收到的地址,看是否為尋址自己。被尋址的從機將SM2位清0,準備接收傳送過(guò)來(lái)的數據字節,沒(méi)被尋址的從機保持SM2為置位狀態(tài),繼續處理其它工作。單片機方式3下的信息楨格式見(jiàn)圖3。

圖3 單片機在方式3下的信息楨格式

PC機的異步串行通信口是采用通用異步接收發(fā)送器(簡(jiǎn)稱(chēng)UART)為核心構成的。UART的產(chǎn)品型號很多,大多采用Ins8250芯片。對UART的編程實(shí)際上是對其內部寄存器的操作。UART內部寄存器共有10個(gè)。編程時(shí)首先要確定串行通信的數據格式,這是通過(guò)將選定的數據格式參數寫(xiě)入到線(xiàn)路控制寄存器LCR來(lái)完成的,接下來(lái)需要將波特率因子寫(xiě)入到波特率因子寄存器來(lái)確定雙方傳輸波特率,再通過(guò)讀線(xiàn)路狀態(tài)寄存器LSR來(lái)判斷芯片是否就緒或有錯等。通信線(xiàn)路控制寄存器LCR的格式如圖4所示?!   ?
 
圖4 通信線(xiàn)路控制寄存器LCR

通過(guò)將參數字節寫(xiě)入到線(xiàn)路控制寄存器,可以將UART編程為這樣的串行通信數據格式:1位起始位,8位數據位,1位奇偶校驗位,1位停止位,1幀共11位。既然能夠在PC機上實(shí)現1幀11位的數據格式,并且改變線(xiàn)路控制寄存器的D5、D4、D3位的值能將奇偶位設定為“恒1”或“恒0”,則若在發(fā)送地址幀時(shí)將奇偶位設定為“恒1”,在發(fā)送數據位時(shí)將奇偶位設定為“恒0”,便可以在PC機上模擬51系列單片機的多機通信持點(diǎn),從而直接利用這種特點(diǎn)實(shí)現它們之間的主從分布式多機通信。
  
主機和從機遵循主從原則,主機用呼叫方式選擇從機,數據在主機和從機之間雙向傳遞,各從機之間的相互通信需通過(guò)主機作為中介。主從機之間還應傳送一些供它們識別的命令和狀態(tài)字,如以00H表示主機發(fā)送從機接收命令,以01H表示從機發(fā)送主機接收命令等。

PC主機通信程序的實(shí)現方法

對PC機UART的編程是主機通信程序的核心。一般可以通過(guò)兩種方式實(shí)現對UART的操作。一種是直接訪(fǎng)問(wèn)底層地址實(shí)現對LCR、LSR、波特率因子寄存器的操作,這種方法只適用于Windows9X.在WindowsNT環(huán)境下系統禁止用戶(hù)程序直接訪(fǎng)問(wèn)硬件和物理地址,因此該方法不可取。具體過(guò)程是通過(guò)調用標準通信函數inp()、outp()實(shí)現的。另一種方式是通過(guò)通信控件或WindowsAPI函數間接對LCR、LSR、波特率因子寄存器進(jìn)行相關(guān)操作。因此本系統也使用MSComm控件,而WindowsAPI函數更適合在多現程領(lǐng)域應用。

結束語(yǔ)

實(shí)踐證明基于C8051F020單片機與傳感器的分布式檢測系統性能可靠,大大的節約了成本,因此該系統在汽車(chē)整車(chē)及零部件的測試與診斷過(guò)程極具推廣價(jià)值。


參考文獻:

[1].C8051F020datasheethttp://www.dzsc.com/datasheet/C8051F020_2.html.
[2].RS-485datasheethttp://www.dzsc.com/datasheet/RS-485_584821.html.
[3].TQFPdatasheethttp://www.dzsc.com/datasheet/TQFP_1528902.html.
[4].805ldatasheethttp://www.dzsc.com/datasheet/805l_2246002.html.
[5].RS-232datasheethttp://www.dzsc.com/datasheet/RS-232_584855.html.
[6].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[7].Ins8250datasheethttp://www.dzsc.com/datasheet/Ins8250_405088.html.


上一頁(yè) 1 2 下一頁(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>