MCS51系列單片機雙機并行互連的實現(xiàn)方法_第1頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、mcs51系列單片機雙機并行互連的實現(xiàn)方法因為mcs51系列具有性能穩(wěn)定、工作牢靠、價格低廉等特點,因此其應(yīng)用相當(dāng)廣泛。一個mcs51系列的單片機(如89cxx)內(nèi)部包含有ram、flash rom、兩個或者三個16位的定時器/計數(shù)器、一個通用異步串行通信控制器(uart)等多種資源。但即便如此,在一些相對復(fù)雜的單片機應(yīng)用系統(tǒng)中,僅僅一個單片機資源還是不夠的,因此而經(jīng)常需要擴充i/o接口、定時器/計數(shù)器、串行通信接口、ram、rom等。采納通用的標(biāo)準(zhǔn)器件舉行擴充是通常的做法,但將單片機本身作為一個通用的擴充器件來用法,也不失為一個好的辦法。在這種狀況下,一個系統(tǒng)中就用法了兩個或兩個以上的單片機

2、,而單片機之間就要通過互連來舉行數(shù)據(jù)通信。mcs51系列的單片機(以下簡稱單片機)都帶有串口,利用串口舉行互連通信極為便利,其各種銜接方式在許多書籍和資料上都有介紹,在此不再重述。但假如系統(tǒng)要求擴充的資源是對外銜接的串口,或?qū)ハ嘀g的數(shù)據(jù)傳送有一定的速度要求,則單片機的串口就不能用作系統(tǒng)內(nèi)兩單片機的通信接口了。所幸的是,單片機的并行端口也能互相銜接來舉行數(shù)據(jù)通信。按照單片機端口內(nèi)部結(jié)構(gòu)的特點,這些端口的端口線可以挺直相連,從而使兩單片機之間并行通信接口的實現(xiàn)不用另外的硬件設(shè)備。基于這種狀況,設(shè)計時,可按照不同的用法要求,來采納不同的并行銜接辦法。下面介紹在兩個單片機之間舉行三種并行通信接口的

3、實現(xiàn)辦法。1 單向并行通信接口的實現(xiàn)在應(yīng)用中,假如只需一個單片機向另一個單片機傳送數(shù)據(jù),則可以采納單向并行通信接口方式,這種方式較為容易。圖1所示為單向并行通信接口的組成辦法。圖中,單片機a為數(shù)據(jù)發(fā)送方,單片機b為數(shù)據(jù)接收方,8位端口可以是p03的任何一個。數(shù)據(jù)傳送的流程是:單片機a將數(shù)據(jù)送到端口后,通過stb信號中斷單片機b,單片機b進(jìn)入中斷并從端口讀取數(shù)據(jù),讀完后,利用busy信號舉行應(yīng)答,單片機a在檢查到端口線chk上的應(yīng)答信號后,就可以發(fā)送下一個數(shù)據(jù)了。以上是采納中斷方式舉行數(shù)據(jù)傳送的詳細(xì)辦法。固然,單片機b也可以采納查詢方式接收數(shù)據(jù)。利用單向并行通信接口辦法的優(yōu)點是可以充分利用單片機

4、的資源來擴充囫圇系統(tǒng)的串行通信接口、并行接口、定時器等部件。2 主從并行通信接口的實現(xiàn)主從并行通信接口的特點是兩單片機之間能夠通過并行通信接口將數(shù)據(jù)發(fā)送到對方,但這種辦法必需有一個單片機處在主機狀態(tài),另一個單片機處在從機狀態(tài)。圖2為主從并行通信接口原理圖。單片機a是主機,單片機b是從機,該接口用法了一個8位端口(如p0或p1)和4根控制信號線。在主從工作方式下,該接口的工作方式有主機發(fā)送從機接收和主機接收從機發(fā)送等兩種狀況。2.1 主機發(fā)送從機接收方式的主機工作流程主發(fā)從收方式的工作流程如下:(1)主機設(shè)置數(shù)據(jù)傳送辦法控制位dir為0,以表示主機有數(shù)據(jù)發(fā)送到從機;(2)主機在stb端口產(chǎn)生一個

5、負(fù)脈沖,以使從機進(jìn)入中斷,并預(yù)備接收數(shù)據(jù);(3)主機將數(shù)據(jù)送8位數(shù)據(jù)端口,再設(shè)定ack信號表示數(shù)據(jù)有效;(4)主機檢查chk端口,等待從機從8位端口取走數(shù)據(jù);(5)數(shù)據(jù)發(fā)送完成返回。2.2 主機接收從機發(fā)送時的主機工作流程主機接收從機發(fā)送方式時的工作流程如下:(1)主機設(shè)置數(shù)據(jù)傳送方向控制位dir為1,以表示主機將從從機讀取數(shù)據(jù);(2)主機在stb端口產(chǎn)生一個負(fù)脈沖,以使從機進(jìn)入中斷,并預(yù)備發(fā)送數(shù)據(jù);(3)主機查詢chk端口,等待從機將數(shù)據(jù)送到8位端口上;(4)主機從8位端口上讀取數(shù)據(jù),再設(shè)定ack信號以表示數(shù)據(jù)已被讀?。唬?)數(shù)據(jù)接收完成返回。2.3 從機工作流程在主從并行通信接口工作方式下

6、,無論從機是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù),都是在中斷(也可以是查詢方式)方式下舉行的,從機的工作流程如下:(1)進(jìn)入中斷服務(wù)程序;(2)檢查數(shù)據(jù)傳送的方向;(3)假如dir為0,則等待chk信號有效,再從8位端讀取數(shù)據(jù),讀完后設(shè)定ack信號有效;(4)假如dir為1,從機將數(shù)據(jù)送到8位端上,再設(shè)定ack為有效,并等待主機取走數(shù)據(jù)(即chk信號有效);(5)退出中斷服務(wù)程序。3 無主從雙向并行通信接口的實現(xiàn)無主從雙向并行通信接口的特點是兩個單片機處在平等的地位,兩個單片機均可隨時提出申請,向?qū)Ψ桨l(fā)送數(shù)據(jù),固然也可通過容易的接口協(xié)議從對方讀取數(shù)據(jù)。這種狀況下,就有可能浮現(xiàn)兩個單片機同時提出訪用8位端口的申

7、請而發(fā)生矛盾,從而影響雙方數(shù)據(jù)的傳送。要解決這個問題,就要求每一方必需在數(shù)據(jù)傳送之前舉行檢查,以推斷8位端口是否被對方所用法,從而避開矛盾的發(fā)生。圖3是無從雙向并行通信接口的原理圖。該接口中采納了5根控制信號線,其中chk/ack控制信號線,其中chk/ack控制信號線的功能可以復(fù)用。8位端口可以是p0、p1或其它8位i/o口。在無主從雙向并行通信接口中,因為單片機a與單片機b沒有主從關(guān)系而處在平等位置,所以單片機b與單片機a的數(shù)據(jù)接收發(fā)送流程徹低相同。這里只解釋單片機a的數(shù)據(jù)接收發(fā)送流程。3.1 數(shù)據(jù)發(fā)送流程下面給出單片機a的數(shù)據(jù)發(fā)送流程:(1)檢查chkreq,推斷單片機b是否提出了數(shù)據(jù)傳

8、送申請;(2)假如單片機b提出了申請,則轉(zhuǎn)a繼續(xù)等待;否則,單片機a提出申請,將req置為有效;(3)再次檢查chkreq,推斷單片機b是否同時提出了申請;(4)假如單片機b提出了申請,則發(fā)生矛盾;清除req并延時;然后執(zhí)行(1);(5)將數(shù)據(jù)送8位端口,設(shè)定stb有效;(6)檢查chk,等待單片機b將數(shù)據(jù)取走;(7)檢查單片機a的數(shù)據(jù)是否所有送完,如沒有則轉(zhuǎn)執(zhí)行(5);(8)撤銷req信號,釋放8位端口;(9)數(shù)據(jù)發(fā)送完成,退出流程。3.2 數(shù)據(jù)接收流程單片機a的數(shù)據(jù)接收流程如下:(1)進(jìn)入中斷服務(wù)流程;(2)從8位端口讀取數(shù)據(jù);(3)設(shè)置ack信號有效,表示數(shù)據(jù)已勝利讀取;(4)退出中斷服

9、務(wù)流程。4 三種并行接口方式的特性分析本文介紹的三種并行通信接口銜接方式能夠適用于不同的要求。下面分離對采納三種通信接口工作方式的數(shù)據(jù)通信響應(yīng)時光舉行分析。假設(shè)單片機的工作時鐘頻率為24mhz,8位端口為p0口。系統(tǒng)中每一個單片機惟獨一個中斷源。在單個中斷源狀況下的中斷響應(yīng)時光為38s。在單向并行通信接口工作方式下,數(shù)據(jù)只從單片機a向單片機b傳送,假設(shè)接收方單片機b中斷接收。個字節(jié)的傳送過程將包括數(shù)據(jù)發(fā)送端口、通知接收方、等待接收方的已接收應(yīng)答等三個部分。其程序的普通寫法為:mov p0,dataclr stbjb chk,$如各條命令的執(zhí)行時光分離為1s、1s、38s。那么,這種方式下,一個

10、字節(jié)的傳送時光在10s左右,最短可到5s,因此數(shù)據(jù)的數(shù)傳率較高。在主從并行通信接口方式下,數(shù)據(jù)傳送包括接收和發(fā)送兩個方向,因為數(shù)據(jù)傳送均在主機控制下舉行,且數(shù)據(jù)的接收和發(fā)送兩個方向的時光大體相等。按照其數(shù)據(jù)傳送流程,主機發(fā)送數(shù)據(jù)的程序如下:clr dirclr stbmov p0,datasetb ackjb chk,$因為該程序前4條命令的執(zhí)行時光均為1s,最后一條命令的執(zhí)行時光為等待從機的響應(yīng)時光為38s,這種方式下一個字節(jié)的傳送時光在12s左右,最短可到7s,可見仍有效高的數(shù)傳率。在無主從并行通信接口方式下,文中只研究了主動向?qū)Ψ桨l(fā)送數(shù)據(jù)的方式,而沒有研究主動從對方讀取數(shù)據(jù)的方式,這是由于通過容易的接口協(xié)議可以使對方主動發(fā)送數(shù)據(jù),從而達(dá)到讀取數(shù)據(jù)的目的。按照圖3和其數(shù)據(jù)發(fā)送流程可知,在沒有8位數(shù)據(jù)端口用法矛盾的狀況下,其數(shù)據(jù)傳送的基本步驟與主從方式數(shù)據(jù)傳送的步驟基本相同,但需要對8位端口的用法舉行聲明確認(rèn)的撤銷,這需要執(zhí)行起碼4條命令,時光約需4s,因此,這種試上單字節(jié)數(shù)據(jù)的傳送時光在1118s。當(dāng)遇上8位數(shù)據(jù)端口用法有矛盾時,則數(shù)據(jù)傳送的時光還會受8位數(shù)據(jù)端口被占時光的影響,因而變得不確定。5 結(jié)束語因為mcs51系列單片機已衍生出了許多規(guī)格和型號的產(chǎn)品,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論