<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è) > 嵌入式系統 > 設計應用 > 借助單片機外部中斷實(shí)現與微機通信

借助單片機外部中斷實(shí)現與微機通信

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

MCS-51系列只有一個(gè)全雙工串行口,它既可以串行異步,也可以作為同步移位寄存器使用,但不能同時(shí)兩者功能。實(shí)際系統中,的并行口常作為與其他器件的快速交換數據口,而其串行口則用來(lái)作為同步移位寄存器發(fā)出數據。例如以下電路圖中,8951單片機的串行口與串入并出移位寄存器74LS164配合,控制數碼管的顯示數據。顯然,如果此時(shí)使與單片機系統進(jìn)行串行,用以前普遍采用的串行口發(fā)生是不行的,因為此時(shí)單片機的串行口工作于方式是方式0,而則要使其工作于方式1、2或是方式3。為解決此問(wèn)題,筆者設計了以下電路和軟件。

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

1、硬件電路

的RS232通信口經(jīng)電平轉換器GD75189與8951單片機的P3.2和 RXD連接,單片機的TXD經(jīng)GD75188與的串行口連接,這里兩個(gè)電平轉換器負責把電信號轉換為單片機和微機所需要的電平。從電路看出,我們通過(guò)單片機的0來(lái)響應微機的串行通信申請,即單片機系統在串行口作為同步寄存器使用時(shí),依然能及時(shí)捕捉到微機發(fā)出的信號,然后準備就緒開(kāi)始與微機進(jìn)行串行通信。單片機與微機串行口接口電路如圖1所示。

15.jpg

2、軟件編程

在單片機初始化過(guò)程當中,將0設為優(yōu)先級,串行口設為工作方式0,用定時(shí)器控制串行口定時(shí)發(fā)出一組數據,經(jīng)74LS164轉換為并行數據,點(diǎn)亮數碼管。若在此過(guò)程中微機串行口發(fā)出數據,則引起單片機中斷0的發(fā)生。單片機在執行中斷服務(wù)子程序時(shí),首先關(guān)閉外部中斷0,以免在通信時(shí)又誤引起中斷,再改變串行口工作方式,使其工作于微機同樣的方式1,并把波特率設定成與微機波特率一致,然后與微機進(jìn)行通信。單片機的外部中斷0在它檢測到P3.2口是低電平時(shí)有效,所以先要使微機發(fā)出的數據中有一位為0,例如88H。在微機與單片機通信完畢后一定要把單片機串行口重新設置為工作方式0,以便它重新作為同步移位寄存器使用,而且要開(kāi)放外部中斷0,為下一次通信作準備。這里,因上位機微機的通信程序與下位機類(lèi)似,所以只給出作為下位機的單片機外部中斷0 服務(wù)子程序流程圖(圖2)。

16.jpg

3、總結

利用這種方法,在不需要增加任何硬件的基礎上,稍微改變連線(xiàn),用軟件相配合了微機與單片機的串行通信,而絲毫沒(méi)有影響單片機串行口作為同步移位寄存器使用,實(shí)現了一舉兩得,筆者已將此方法成功應用到以8951單片機為核心的儀器中。這種方法充分利用了軟件的靈活性,不僅適用于51系列單片機,同樣可以推廣到其他單片機系統中。

參考文獻:
[1] 李廣弟.單片機基礎[M].北京:北京航空航天大學(xué)出版社,1994.
[2] 何立民.MCS-51系列單片機應用系統設計系統配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1990.



評論


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