基于單片機普通io口的多軸串行通信_第1頁
基于單片機普通io口的多軸串行通信_第2頁
基于單片機普通io口的多軸串行通信_第3頁
基于單片機普通io口的多軸串行通信_第4頁
基于單片機普通io口的多軸串行通信_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

基于單片機普通io口的多軸串行通信

1多通道接口目前廣泛使用的mcs51和pic系列單詞通常只有一個單獨的(或沒有)字符串通信接口(iurt)。當用戶系統(tǒng)需要某些通信接口(例如,主機不僅需要通信,還需要通信終端)時,它們通常會擴展到8231或8250個普通同步序列(美國加利福尼亞州)接收發(fā)送給芯片(usrt),這需要額外的i/o資源。本文將介紹一種用單片機普通I/O口實現(xiàn)串行通信的方法。2并行數(shù)據(jù)上傳成本高計算機的數(shù)據(jù)傳送共有兩種方式:并行數(shù)據(jù)傳送和串行數(shù)據(jù)傳送。并行數(shù)據(jù)傳送的特點是各數(shù)據(jù)位同時傳送,傳送速度快、效率高。但并行數(shù)據(jù)傳送有多少數(shù)據(jù)位就需多少根數(shù)據(jù)線,因此傳送成本高。計算機內(nèi)部的數(shù)據(jù)傳送都是并行的。串行數(shù)據(jù)傳送的特點是數(shù)據(jù)傳送按位順序進行,最少只需一根傳輸線即可完成,成本低但速度慢。計算機與外界的數(shù)據(jù)傳送大多是串行的。2.1文化性質(zhì)編碼n.8.1幀通常把計算機與外界的數(shù)據(jù)傳送稱為通信,因此提到通信就是指串行通信,串行通信又分為異步和同步兩種方式。在單片機中使用的串行通信都是異步方式。而異步通信采用的是異步傳送格式,其字符格式如圖1所示。數(shù)據(jù)發(fā)送和接收均將起始位和停止位作為開始和結(jié)束的標志。在異步通信中,起始位占用1位(低電平),用來表示字符開始。其后為7或8位的數(shù)據(jù)編碼,第8位通常作為奇偶校驗位,共有3種可能,即奇校驗、偶校驗和無校驗,可根據(jù)需要選定。最后為停止位(高電平)用來表示字符傳送結(jié)束。上述字符格式通常作為一個串行幀,若無奇偶校驗位,即為常見的N.8.1幀格式。串行通信中,每秒傳送的數(shù)據(jù)位稱為波特率。如數(shù)據(jù)傳送的波特率為1200bps,采用N.8.1幀格式(10位),則每秒傳送字節(jié)為120個,而字節(jié)中每一位傳送時間即為波特率的倒數(shù):T=1/1200=0.833ms。同樣,如數(shù)據(jù)傳送的波特率為9600bps,則字節(jié)中每一位傳送時間為T=1/9600=0.104ms。根據(jù)數(shù)據(jù)傳送的波特率即字節(jié)中每一位的傳送時間,我們便可用普通I/O口來模擬實現(xiàn)串行通信的時序。2.2用于連接通信的數(shù)據(jù)通道形式串行數(shù)據(jù)通信共有以下幾種數(shù)據(jù)通路形式。(1)單字母簡單x單工形式的數(shù)據(jù)傳送是單向的。通信雙方中一方固定為發(fā)送端,另一方則固定為接收端。單工形式的串行通信,只需要一條數(shù)據(jù)線。如圖2所示。(2)全雙功完整的杜普x全雙工形式的數(shù)據(jù)傳送是雙向的,且可以同時發(fā)送和接收數(shù)據(jù),因此全雙工形式的串行通信需要兩條數(shù)據(jù)線。如圖3所示。(3)半雙工的使用半雙工形式的數(shù)據(jù)傳送也是雙向的。但任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此半雙工形式既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。如圖4所示。3電流環(huán)驅(qū)動方式在現(xiàn)實生活中,水池的溢流、建筑污水井污水排放不出等,都是經(jīng)常出現(xiàn)并較難處理的問題。因此,及早發(fā)現(xiàn)問題、有效地對控制對象進行監(jiān)控,應該是智能系統(tǒng)的重要內(nèi)容之一。在高樓供水水位遠程自動測報系統(tǒng)中,要求進行遠距離、高速度的通信,并且要求較強的現(xiàn)場抗干擾和噪聲抑制能力,因此采用了20mA的電流環(huán)驅(qū)動方式。由于電流環(huán)方式是通過環(huán)路中電流的有無來表示邏輯值“1”和“0”,而不是用電平的高低表示邏輯值,再加上在收發(fā)兩端采用光電隔離技術(shù),因此,與電平方式相比,它具有明顯優(yōu)點:信號不易衰減、抗干擾能力強、傳輸速率高、傳輸距離可達幾千米。系統(tǒng)電路圖如圖5所示。圖5中,主機89C2051的P3.1為串行通信的數(shù)據(jù)發(fā)送端,P3.0為接收端。從機89C2051的P1.4模擬發(fā)送端,P1.5模擬接收端。4機發(fā)送數(shù)據(jù)程序軟件設(shè)計中,主機發(fā)送數(shù)據(jù)的幀格式為N.8.1。發(fā)送時,先判斷P3.0是否為從機接收數(shù)據(jù)完畢高電平出現(xiàn),如是則開始發(fā)送。先發(fā)送一個起始位(低電平),接著按低位在先的順序發(fā)送8位數(shù)據(jù),最后發(fā)送停止位。從機接收數(shù)據(jù)時,先判斷P1.5是否有起始低電平出現(xiàn),如有則按低位在先的順序接收8位數(shù)據(jù),最后判斷P1.5是否有停止高電平出現(xiàn),如有則完成一個數(shù)據(jù)的接收,否則繼續(xù)等待。然后置P1.4為高電平,通知主機接收數(shù)據(jù)完畢,可再發(fā)下一個數(shù)據(jù)。軟件的編寫嚴格按照異步通信的時序進行,每bit(位)傳送時間間隔按通信速率1200bit/s計算為833μs。其模擬串行通信的單字節(jié)部分參考程序如下:甲機發(fā)送數(shù)據(jù)程序:TXDEQUP3.1RXDEQUP3.0;定義89C2051P3.1為發(fā)送端,P3.0為接收端ORG0000HAJMPRESETORG0080HMAIN:MOVA,#40HJBRXD,$;判斷RXD;RXD=0,開始發(fā)數(shù)據(jù)NOPNOPLCALLSentByte;調(diào)發(fā)送子程序,將A中的內(nèi)容發(fā)給乙機AJMP$;***************延時833μs子程序********************DELAY:MOVR7,#205MSII:DJNZR7,MSIIRET;**************************;*******甲機發(fā)送數(shù)據(jù)給乙機子程序*******SentByte:MOVR0,#08HCLRCMOVTXD,C;發(fā)起始位,起始位為0LCALLDELAYSentB:RLCA;要發(fā)送的數(shù)據(jù)左移,起始位入CMOVTXD,CLCALLDELAYDJNZR0,SentB;發(fā)送8位數(shù)據(jù)LCALLDELAYSETBC;接收正確發(fā)結(jié)束位1MOVTXD,CLCALLDELAYRETEND乙機接收數(shù)據(jù)程序:RXDEQUP1.4TXDEQUP1.5;主程序:ORG0000HAJMPRESETORG0080HMAIN:CLRTXD;清TXD為0,通知甲機發(fā)數(shù)據(jù)LCALLRcvByte;開始接收MOV#50H,AAJMP$*********延時833μs子程序*********DELAY:MOVR7,#205MSII:DJNZR7,MSIIRET***********************************乙機接收數(shù)據(jù)子程序********RcvByte:MOVR0,#08HJBRXD,$;檢測到TXD為0(起始位),開始接收LCALLDELAYRcv:MOVC,RXD;接收數(shù)據(jù)RLCALCALLDELAYDJNZR0,Rcv

溫馨提示

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

評論

0/150

提交評論