第8章-AT89C51串行通信與其應用_第1頁
第8章-AT89C51串行通信與其應用_第2頁
第8章-AT89C51串行通信與其應用_第3頁
第8章-AT89C51串行通信與其應用_第4頁
第8章-AT89C51串行通信與其應用_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章_AT89C51串行通信與其應用第一頁,共41頁。8.1串行通信概述 8.1.1并行通信和串行通信 8.1.2異步通信和同步通信 8.1.3單片機串行通信傳輸方式 8.1.4串行數(shù)據(jù)通信的傳輸速率8.2AT89C51串行口 8.2.1AT89C51串行口的結(jié)構(gòu) 8.2.2AT89C51串行口控制寄存器 8.2.3AT89C51串行口的工作方式及波特率計算8.3串行通信協(xié)議 8.3.1RS-232協(xié)議 8.3.2RS-485/422A協(xié)議 8.3.3串行通信的數(shù)據(jù)校驗8.4串行通訊的應用第二頁,共41頁。8.1.1并行通信和串行通信計算機與外界的信息交換稱為通信,通常有并行和串行兩種通信方法。并行通信:所傳送數(shù)據(jù)的各位同時發(fā)送或接收。串行通信:所傳送數(shù)據(jù)的各位按順序一位一位地發(fā)送或接收。第三頁,共41頁。8.1.2異步通信和同步通信串行通信的通信方式異步通信

同步通信

1.異步通信的數(shù)據(jù)傳送

異步通信數(shù)據(jù)傳送按幀傳輸,一幀數(shù)據(jù)包含起始位、數(shù)據(jù)位、校驗位和停止位。傳送用一個起始位表示字符的開始,用停止位表示字符的結(jié)束。第四頁,共41頁。8.1.2異步通信和同步通信起始位:發(fā)送器是通過發(fā)送起始位而開始一個字符的傳送。數(shù)據(jù)位:串行通信中所要傳送的數(shù)據(jù)內(nèi)容。在數(shù)據(jù)位中,低位在前,高位在后。數(shù)據(jù)位通常是8位。校驗位:用于對字符傳送作正確性檢查,因此校驗位是可以省略的。停止位:一個字符傳送結(jié)束的標志,停止位在一幀數(shù)據(jù)的最后。停止位可能是1、1.5或2位,在實際應用中根據(jù)需要確定。位時間:一個格式位的時間寬度。幀(frame):從起始位開始到停止位結(jié)束的全部內(nèi)容稱之為一幀,幀是一個字符的完整通信格式,因此也就把串行通信的字符格式稱之為幀格式。第五頁,共41頁。8.1.2異步通信和同步通信2.同步通信的數(shù)據(jù)傳送

同步數(shù)據(jù)傳送時,發(fā)送端和接收端必須使用同一時鐘源才能保證它們之間的準確同步,因此發(fā)送方除了傳送數(shù)據(jù)外,還要同時傳送時鐘信號。第六頁,共41頁。8.1.3串行通信傳輸方式串行通信的傳輸方式單工制式

半雙工制式

全雙工制式

1.單工(Simplex)制式第七頁,共41頁。8.1.3串行通信傳輸方式2.半雙工(HalfDuplex)制式3.全雙工(FullDuplex)制式第八頁,共41頁。8.1.4串行通信的傳輸速率波特率bps(Bitpersecond)是數(shù)據(jù)傳送的速率,其定義是每秒鐘傳送的二進制數(shù)的位數(shù)。波特率的倒數(shù)即為每位傳輸所需要的時間。則:1波特率(Bitpersecond)=1位/秒(1bit/s) 數(shù)據(jù)傳送的速率是120字符/s,若每個字符為10位的二進制數(shù),則傳送波特率為1200波特率。例如:第九頁,共41頁。8.2.1AT89C51串行口的結(jié)構(gòu)AT89C51片內(nèi)有一個全雙工的串行通訊接口。由發(fā)送緩沖寄存器SBUF、接收緩沖寄存器SBUF和移位寄存器三部分構(gòu)成。第十頁,共41頁。8.2.2AT89C51串行口控制寄存器

1.串行數(shù)據(jù)緩沖寄存器SBUFSBUF是串行數(shù)據(jù)緩沖寄存器。在邏輯上,SBUF只有一個,既表示發(fā)送寄存器,又表示接收寄存器。它們有相同名字和單元地址,但它們不會出現(xiàn)沖突,因為在物理上,SBUF有兩個:一個只能被CPU讀出數(shù)據(jù)(接收寄存器),一個只能被CPU寫入數(shù)據(jù)(發(fā)送寄存器)。第十一頁,共41頁。8.2.2AT89C51串行口控制寄存器

2.串行控制寄存器SCON它用于定義串行口的工作方式及實施接收和發(fā)送控制。第十二頁,共41頁。8.2.2AT89C51串行口控制寄存器

SM0、SM1工作方式功能描述波特率00方式08位移位寄存器fosc/1201方式110位UART可變10方式211位UARTfosc/64或fosc/3211方式311位UART可變(1)SM0、SM1:串行口工作方式控制位,其定義如表8-2所示:(2)SM2:多機通信控制位。第十三頁,共41頁。8.2.2AT89C51串行口控制寄存器

(4)TB8:方式2和方式3中,要發(fā)送的第9位數(shù)據(jù)。(5)RB8:方式2和方式3中,要接收的第9位數(shù)據(jù)。(3)REN:允許接收位。REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。該位由軟件置位或復位。第十四頁,共41頁。8.2.2AT89C51串行口控制寄存器

(6)TI:發(fā)送中斷標志位??蓪ぶ窐酥疚?。方式0時,發(fā)送完第8位數(shù)據(jù)后,該位由硬件置位;其它方式下,在發(fā)送停止位之前由硬件置位,因此,TI=1表示幀發(fā)送結(jié)束,可由軟件查詢TI位標志,也可以請求中斷。TI必須由軟件清0。(7)RI:接收中斷標志位??蓪ぶ窐酥疚?。方式0時,接收完第8位數(shù)據(jù)后,該位由硬件置位;在其他工作方式下,當接收到停止位時,該位由硬件置位,RI=1表示幀接收完成,可由軟件查詢RI位標志,也可以請求中斷。RI必須由軟件清0。第十五頁,共41頁。8.2.2AT89C51串行口控制寄存器

3.電源管理寄存器PCON第十六頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

1.工作方式08位移位寄存器輸入/輸出方式。多用于外接移位寄存器以擴展I/O端口第十七頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

2.工作方式1方式1為波特率可變的10位異步通訊接口方式。發(fā)送或接收一幀信息,包括1個起始位0,8個數(shù)據(jù)位和1個停止位1。輸出:當CPU執(zhí)行一條指令將數(shù)據(jù)寫入發(fā)送緩沖SBUF時,就啟動發(fā)送。串行數(shù)據(jù)從TXD引腳輸出,發(fā)送完一幀數(shù)據(jù)后,就由硬件置位TI。輸入:在(REN)=1時,串行口采樣RXD引腳,當采樣到1至0的跳變時,確認開始位0,就開始接收一幀數(shù)據(jù)。在方式1接收時,應先用軟件清零RI和SM2標志。第十八頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

2.工作方式1波特率計算:SMOD是控制寄存器PCON中的一位控制位,其取值有0和1兩種狀態(tài)。顯然,當SMOD=0時,波特率=(定時器T1溢出率)/32,而當SMOD=1時,波特率=(定時器T1溢出率)/16。定時器的溢出率,就是指定時器一秒鐘內(nèi)的溢出次數(shù)。第十九頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

定時初值計算:當定時/計數(shù)器T1用作波特率發(fā)生器時,通常選用定時初值自動重裝的工作方式2,從而避免了通過程序反復裝入計數(shù)初值而引起的定時誤差,使得波特率更加穩(wěn)定。第二十頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

例8-1:已知fosc=12MHz,SMOD=1,波特率=2400bit/s,求串行方式1時T1定時初值。并說明由此產(chǎn)生的實際波特率是否有誤差,為什么?解:根據(jù)若fosc=11.0592MHz,其余條件不變,則T1定時初值為:第二十一頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

當時鐘頻率選用11.0592MHZ時,很容易獲得標準的波特率,所以很多單片機系統(tǒng)選用此數(shù)值的晶振。使用T1設(shè)置常用的波特率參見表8-4。第二十二頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

例8-2:設(shè)89C51單片機串行口工作于方式1,已知fosc=11.0592MHz,定時器T1作為波特率發(fā)生器,要求波特率=2400bit/s,SMOD=1,開放中斷,試編寫初始化程序。根據(jù)題目要求,首先計算T1定時器的初值(可以直接利用例8-1的計算過程)。然后利用TMOD寄存器,將T1設(shè)置為工作方式2(注意:這里是T1的工作方式,而不是串行口的工作方式)。再將PCON寄存器的SMOD設(shè)置為1,然后TH1寄存器加載E8H,最后啟動T1,開放中斷,即可產(chǎn)生2400bit/s的波特率。分析:第二十三頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

采用匯編語言程序設(shè)計: MOV TMOD,#20H ;T1設(shè)置為工作方式2 MOV TL1,#0E8H ;T1定時器初值 MOV TH1,#0E8H ;T1定時器重裝初值 MOV PCON,#80H ;SMOD設(shè)置為1 MOV SCON,#40H ;串行口方式1 SETB TR1 ;T1啟動 SETB ES ;開串口中斷 SETB EA ;開總中斷第二十四頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

采用C51語言程序設(shè)計:程序如下:voidserial_init(void){ TMOD=0x20; //T1設(shè)置為工作方式2 TL1=0xE8; //T1定時器初值 TH1=0xE8; //T1定時器重裝初值 PCON=0x80; //SMOD設(shè)置為1 SCON=0x40; //串行口方式1 TR1=1; //T1啟動 ES=1; //開串口中斷 EA=1; //開總中斷}第二十五頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

3.工作方式2

方式2為11位異步通信方式。其中,1個起始位(0),8個數(shù)據(jù)位(由低位到高位),1個附加的第9位和1個停止位(1)。

發(fā)送數(shù)據(jù)時,第9位數(shù)據(jù)來自發(fā)送機SCON中的TB8,這可使用如下指令完成:SETBTB8;TB8位置“1”CLRTB8;TB8位置“0”第二十六頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

3.工作方式2方式2的波特率是固定的,而且有兩種。由此公式可知,當SMOD為0時,波特率為fosc/64,當SMOD為1時,波特率為fosc/32。第二十七頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

4.工作方式3方式3和方式2除波特率不同外,其它性能完全相同。第二十八頁,共41頁。8.2.3AT89C51串行口工作方式及波特率

第二十九頁,共41頁。8.3串行通信協(xié)議

8.3.1RS-232協(xié)議RS-232是目前被廣泛使用的異步串行數(shù)字通信電氣標準,由美國電子工業(yè)協(xié)會EIA(ElectronicsIndustryAssociation)于1962年公布,1969年最后修訂而成,RS(RecommendedStandard)表明它是一種被推薦的標準。1.RS-232協(xié)議簡介第三十頁,共41頁。8.3串行通信協(xié)議

第三十一頁,共41頁。8.3串行通信協(xié)議

3.電氣特性RS-232協(xié)議規(guī)定最大的通信速度為20Kb/s,現(xiàn)在已經(jīng)出現(xiàn)高達2Mb/s速率的基于RS-232的通信系統(tǒng)。作為單片機系統(tǒng),由于其處理能力有限,工作頻率不是很高,一般可實現(xiàn)的最高波特率在112Kb/s左右。RS-232協(xié)議規(guī)定最長的通信距離是15m,目前市售的長線驅(qū)動器已經(jīng)可以將通信距離延長到數(shù)千米。第三十二頁,共41頁。8.3串行通信協(xié)議

4.TTL電平與RS-232電平的轉(zhuǎn)換EIA-RS-232C電平: 邏輯1–3~-15v 邏輯0+3~+15vTTL電平: 邏輯1+2.7~+5v 邏輯00v~+0.5v單電源電平轉(zhuǎn)換芯片:MAXIM公司的MAX232芯片等。第三十三頁,共41頁。8.3串行通信協(xié)議

5.單片機通過RS-232與PC機組成點對點通信第三十四頁,共41頁。例8-3:設(shè)89C51單片機串行口工作于方式1,已知fosc=11.0592MHz,定時器T1作為波特率發(fā)生器,要求波特率=9600bit/s,SMOD=0,若和PC機串口通過RS-232總線連接,試編寫串口接收字符中斷子程序,接收到的字符存入40H單元。根據(jù)題目要求,編寫串口接收字符中斷子程序。(假設(shè)單片機的初始化設(shè)置已經(jīng)參照例8-2設(shè)置完成)。分析: ORG 0023H ;串行口中斷入口 LJMP SERIALSERIAL:JNB RI,SERIAL_RET ;若無接收標志,則中斷返回 MOV 40H,SBUF ;接收到的字符存入40H單元 CLR RI ;清除接收標志SERIAL_RET: RETI ;中斷子程序返回采用匯編語言程序設(shè)計:第三十五頁,共41頁。采用C51語言程序設(shè)計:程序如下:unsignedchardatarcv_data_at_0x40;voidserial(void)int

溫馨提示

  • 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

提交評論