第十章 串行通信接口技術(shù)ppt課件_第1頁(yè)
第十章 串行通信接口技術(shù)ppt課件_第2頁(yè)
第十章 串行通信接口技術(shù)ppt課件_第3頁(yè)
第十章 串行通信接口技術(shù)ppt課件_第4頁(yè)
第十章 串行通信接口技術(shù)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、串行通信口,串行的工作方式,串行口的應(yīng)用,第 10 章 串行通信接口技術(shù),本章內(nèi)容,串行通信概念,10.1 串行通信概述,一、串行通信與并行通信,CPU與外設(shè)之間的信息交換或計(jì)算機(jī)之間的信息交換稱為通信。 有并行通信和串行通信。,1.并行通信 并行通信是指所傳送的數(shù)據(jù)各位同時(shí)傳送。 其優(yōu)點(diǎn)是傳送速度快,缺點(diǎn)是傳輸線多,通信線路費(fèi)用較高,并行傳送適用于近距離、傳送速度高的場(chǎng)合。,2串行通信 串行通信時(shí),傳送數(shù)據(jù)的各位按順序一位一位地傳送。 其優(yōu)點(diǎn)是傳輸線少,傳送通道費(fèi)用低,故適合長(zhǎng)距離數(shù)據(jù)傳送。缺點(diǎn)是傳送速度較低。,PC機(jī)與外部設(shè)備(如打印機(jī)等)通信時(shí),如果距離小于30m,采用并行通信方式;當(dāng)距

2、離大于30m時(shí),則采用串行通信方式。51單片機(jī)具有并行和串行二種基本通信方式。,串行通信的傳輸方式:,單工方式,半雙工方式,全雙工制式,二、串行通信的數(shù)據(jù)傳送,1單工方式(Simplex),通信雙方只有一條單向傳輸線,只允許數(shù)據(jù)由一方發(fā)送,另一方接收,不能反向。,2半雙工方式(Half Duplex),3全雙工方式(Full Duplex),通信雙方只有一條雙向傳輸線,允許數(shù)據(jù)雙向傳送,但每時(shí)刻上只能有一方發(fā)送,另一方接收,這是一種能夠切換傳送方向的單工方式,,通信雙方有兩條傳輸線,允許數(shù)據(jù)同時(shí)雙向傳送,其通信設(shè)備應(yīng)具有完全獨(dú)立的收發(fā)功能。,單片機(jī)中的串行口為全雙工,做實(shí)驗(yàn)時(shí),PC機(jī)的串口CO

3、M接單片機(jī)的串口,可以將編譯好的程序代碼寫入單片機(jī),也可以讀到單片機(jī)中的數(shù)據(jù)。,三、同步通信和異步通信,發(fā)送、接收信息,雙方必須協(xié)調(diào)。這種協(xié)調(diào)方法,從原理上可分成兩種: 同步串行通信和異步串行通信,起始位,1位“0” 數(shù)據(jù)位,一般為78位,規(guī)定低位在前,高位在后 奇偶校驗(yàn)位,1位(可無(wú))P 停止位,1位“1”(12位),不定長(zhǎng)的空閑位“1”,可有可無(wú),保證下一數(shù)據(jù)幀起始信號(hào)為0,1異步通信(Asynchronous Communication) 一個(gè)字符一個(gè)字符地傳,每個(gè)字符要獨(dú)立的起始位和停止位作為字符的開始和結(jié)束標(biāo)志,這樣構(gòu)成一幀數(shù)據(jù)。 數(shù)據(jù)是一幀一幀傳送的,每一幀的格式包含4個(gè)組成部分:

4、,起始位,1位“0” 數(shù)據(jù)位,一般為78位,規(guī)定低位在前,高位在后 奇偶校驗(yàn)位,1位(可無(wú))P 停止位,1位“1”(12位),異步通信,傳送方和接收方用自己的時(shí)鐘源來(lái)控制,但收發(fā)雙方設(shè)置的波特率(數(shù)據(jù)傳輸速率)必須一致。 異步通信的優(yōu)點(diǎn)是不需要傳送同步時(shí)鐘,字符幀長(zhǎng)度不受限制,故設(shè)備簡(jiǎn)單。缺點(diǎn)是字符幀中包含起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。,特點(diǎn):,數(shù)據(jù)塊連續(xù)傳送,在數(shù)據(jù)塊前用同步字符作標(biāo)志 同步傳送可以提高傳輸速率,但硬件比較復(fù)雜。,為了保證數(shù)據(jù)收發(fā)的正確無(wú)誤,發(fā)送方除了傳送數(shù)據(jù)外,還要傳送時(shí)鐘,發(fā)送與接收用同一時(shí)鐘,以保證嚴(yán)格的時(shí)序關(guān)系。,異步通信比較靈活,不需要傳送同步時(shí)鐘,適用

5、于數(shù)據(jù)的隨機(jī)發(fā)送/接收;而同步通信則是成批數(shù)據(jù)傳送。,2同步通信(Synchronous Communication),同步字符可以由用戶約定,也可以采用ASCII碼中規(guī)定的SYNC代碼,即16H。先發(fā)送同步字符,接收方檢測(cè)到同步字符后,接收連續(xù)的數(shù)據(jù)。,特點(diǎn):,異步方式是面向字符的傳送,而同步方式則是面向數(shù)據(jù)塊的傳送。,四、波特率(baud rate),在通信中發(fā)、接雙方有兩次約定 字符格式幀格式 傳送速率波特率,每一位傳送的時(shí)間為:,一般異步通信的波特率在5019200bit/s,最常用的是9600bps。,假如數(shù)據(jù)傳送的速率是120個(gè)字符秒,每一個(gè)字符規(guī)定包含10個(gè)位(一個(gè)起始位、8個(gè)數(shù)

6、據(jù)位和1個(gè)停止位),則傳送的波特率為:,波特率是通信雙方對(duì)數(shù)據(jù)傳送速率的約定,表示每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),單位是bit/s(bit per second,簡(jiǎn)稱為bps) 。,101201200位秒1200波特(bps),10.2 串行通信接口,51單片機(jī)集成了一個(gè)可編程的全雙工異步串行通信口,可以作通用異步接收器/發(fā)送器UART(Universal Asynchronous Receiver/Transmitter),一、串行口的結(jié)構(gòu)及工作原理,是一個(gè)相對(duì)獨(dú)立的功能部件,有一定的自管理能力,與CPU并行工作。 通過TXD(P3.1)和RXD(P3.0)與外界進(jìn)行通信。,發(fā)送端,接收端,寫,

7、讀,CPU,通過內(nèi)部8位數(shù)據(jù)總線與CPU交換數(shù)據(jù),CPU操作串行口只要通過數(shù)據(jù)緩沖寄存器SBUF進(jìn)行,SBUF是單片機(jī)與串行口之間的軟件接口。 要發(fā)送或接收數(shù)據(jù)時(shí)用指令完成:,MOV SBUF,A ;發(fā)送數(shù)據(jù) MOV A,SBUF ;接收數(shù)據(jù),串行口的結(jié)構(gòu),一個(gè)發(fā)送緩沖器SBUF,一個(gè)接收緩沖器SBUF 共用同一個(gè)地址(99H),訪問時(shí)以指令讀、寫信號(hào)識(shí)別 發(fā)送SBUF只能寫,不能讀;接收SBUF只能讀,不能寫, 物理上有兩個(gè)串行口數(shù)據(jù)緩沖寄存器SBUF,MOV SBUF,A,MOV A,SBUF,發(fā)送時(shí)的并-串轉(zhuǎn)換,發(fā)送數(shù)據(jù): MOV SBUF,A,接收時(shí)的串-并轉(zhuǎn)換,接收數(shù)據(jù): MOV A

8、,SBUF,串行口的結(jié)構(gòu),接收SBUF之前有一個(gè)輸入移位寄存器,構(gòu)成接收的雙緩沖結(jié)構(gòu) 在SBUF中的數(shù)據(jù)讀走前,可以接收下一個(gè)數(shù)據(jù) 要在下一個(gè)數(shù)據(jù)接收完前讀走SBUF中的數(shù)據(jù),否則會(huì)丟失數(shù)據(jù)。, 接收雙緩沖, 發(fā)送器為單緩沖 發(fā)送時(shí)CPU是主動(dòng)的,不需要雙緩沖結(jié)構(gòu)。, SBUF為特殊功能寄存器SFR,物理地址為99H 還有一個(gè)串行控制寄存器SCON和一個(gè)波特率發(fā)生器T1(定時(shí)器),發(fā)送 SBUF,接收 SBUF,二、串行口的控制,用來(lái)設(shè)定串行口的工作方式、控制串行口的接收發(fā)送、放中斷標(biāo)志。 字節(jié)地址為98H,位地址為98H9FH(可位尋址)。,1串行口控制寄存器SCON,SM0、SMl串行口工

9、作方式選擇位,SM2方式2和方式3多機(jī)通信控制位。 SM21,允許多機(jī)通信。SM20,禁止多機(jī)通信。 REN允許串行接收控制位。REN1,允許接收;REN0,禁止接收 TB8方式2、3時(shí),要發(fā)送的第9位數(shù)據(jù),奇偶校驗(yàn)或地址幀/數(shù)據(jù)幀標(biāo)識(shí)位 RB8方式2、3時(shí),存放接收到的第9位數(shù)據(jù)(8位數(shù)據(jù)外的) TI 發(fā)送中斷標(biāo)志位。必須軟件清0 RI 接收中斷標(biāo)志。必須軟件清0 TI和RI共用一個(gè)串行中斷,必須用軟件測(cè)試TI和RI位來(lái)確定是哪個(gè)中斷。,串行口控制寄存器SCON,2電源控制寄存器PCON,SMOD1,設(shè)置的串行口波特率加倍;SMOD0,不加倍。 PCON不能位尋址,可用字節(jié)操作指令設(shè)置: M

10、OV PCON,#80H,只有最高位SMOD與串行口工作有關(guān)。,10.3 串行口的工作方式,51單片機(jī)的串行口為可編程的,用SM0、SM1設(shè)置串行口的工作方式。,1方式0,串行口作同步移位寄存器用,波特率固定為fOSC/12 。 數(shù)據(jù)8位/幀,低位在前,無(wú)起始位、奇偶位及停止位。 數(shù)據(jù)由RXD(P3.0)端輸入/輸出,同步移位脈沖由TXD(P3.1)端輸出。 多用于外接移位寄存器以擴(kuò)展I/O端口,發(fā)送過程:,串口將8位數(shù)據(jù)從RXD端輸出,同時(shí)從TXD端輸出移位脈沖。當(dāng)1幀(8位)數(shù)據(jù)發(fā)送完,硬件置TI為1。,擴(kuò)展輸出口,執(zhí)行一條寫指令: MOV SBUF,A 串口開始發(fā)送,串入/并出移位寄存器

11、,1方式0,接收完成后8位數(shù)據(jù)進(jìn)入SBUF,接收過程:,要先設(shè)REN1,在RI0的條件下,啟動(dòng)接收。REN0,禁止接收。 RXD輸入,TXD為同步脈沖輸出端。接收完幀(8位)數(shù)據(jù)后,硬件自動(dòng)置RI為1,要再次接收時(shí),必須用軟件將RI清零。,單片機(jī)可并行擴(kuò)展I/O口,也可串行擴(kuò)展I/O口。,在方式0,SCON中的SM2、TB8、RB8均無(wú)意義,通常將其設(shè)為0。,CPU執(zhí)行讀指令: MOV A,SBUF 完成數(shù)據(jù)接收,并入/串出移位寄存器,擴(kuò)展輸入口,為8位異步通信,幀數(shù)據(jù)10位,1位起始位“0”,8位數(shù)據(jù)位(低位在前),1位停止位“1”。由TXD 端發(fā)送數(shù)據(jù),RXD 端接收數(shù)據(jù)。,2方式1,發(fā)送

12、過程: MOV SBUF,A CPU將數(shù)據(jù)寫到SBUF,啟動(dòng)發(fā)送,數(shù)據(jù)從TXD 端輸出。發(fā)完一幀,硬件自動(dòng)置TI=1。,接收過程: MOV A,SBUF 數(shù)據(jù)從RXD輸入。必須先設(shè)置REN=1,允許接收。如REN0,禁止接收。 RI0; SM20或接收到的停止位1,則將8位數(shù)據(jù)裝入SBUF,停止位1裝入RB8,RI置1。否則數(shù)據(jù)丟失。在方式1下,通常設(shè)置SM20。 方式1下的波特率是可變的取決于定時(shí)器TI 的溢出率,3方式2和方式3,為11位異步通信接口。由TXD發(fā)送,RXD接收。 一幀信息由ll位組成,l位起始位0,8位數(shù)據(jù)位,1位可編程位(第9數(shù)據(jù)位D8)和1位停止位1。,方式2和方式3的

13、區(qū)別在波特率:,方式2的波特率固定,為 ,( 或 ),方式3的波特率可變,取決于定時(shí)器Tl的溢出率,發(fā)送前,必須將要發(fā)送的第9數(shù)據(jù)位寫入SCON的TB8位中 CPU執(zhí)行寫數(shù)據(jù)的指令,啟動(dòng)發(fā)送過程: MOV SBUF,A,發(fā)送過程:,發(fā)送時(shí),串口會(huì)自動(dòng)取出TB8裝入第9數(shù)據(jù)位一起發(fā)送,發(fā)完,置TI為1 11位幀數(shù)據(jù)依次為: 0、8位數(shù)據(jù)(D0D7)、TB8、1,先要設(shè)置允許接收位REN1 當(dāng)滿足條件: RI0 SM20或接收到的第9數(shù)據(jù)位1(SM11)時(shí), 將8位數(shù)據(jù)裝入SBUF,將第9位數(shù)據(jù)裝入SCON 中的RB8,并置RI1。當(dāng)上述兩條的任一條不滿足時(shí),數(shù)據(jù)丟失。,接收過程:,MOV SBU

14、F,A,方式2、3發(fā)送過程:,SM20,則不受第9數(shù)據(jù)位限制,不用于多機(jī)通信,第9數(shù)據(jù)位可作為奇偶校驗(yàn)位。也可不用第9數(shù)據(jù)位,即不理睬第9數(shù)據(jù)位的值,當(dāng)方式1一樣使用,為點(diǎn)對(duì)點(diǎn)通信,但要注意幀數(shù)據(jù)格式與方式1不同,不是10位而是11位。,10.4 串行口的應(yīng)用,1)方式0:移位寄存器輸入/輸出方式 串行數(shù)據(jù)由RXD線輸入/輸出,而TXD線專用于輸出時(shí)鐘脈沖給外部移位寄存器。用來(lái)同步輸出或接收8位數(shù)據(jù)(低位在前),波特率固定為fosc/12,fosc為單片機(jī)的時(shí)鐘頻率。 2)方式1:10位異步接收/發(fā)送方式 一幀數(shù)據(jù)包括1位起始位0,8位數(shù)據(jù)位和1位停止位1。在發(fā)送時(shí)能自動(dòng)插入起始位和停止位;方

15、式1的傳送波特率是可變的,可通過改變內(nèi)部定時(shí)器的定時(shí)值來(lái)改變波特率。 3)方式2:11位異步接收/發(fā)送方式 除了1位起始位、8位數(shù)據(jù)位、1位停止位之外,還可以插入第9位數(shù)據(jù)位。 方式3:同方式2,只是波特率可變。,1波特率設(shè)定,串行口通信波特率的設(shè)定,在4種工作方式下,有3種不同的波特率。,1)方式0,波特率固定不變,當(dāng)系統(tǒng)晶振f12MHz時(shí),方式0的波特率固定為 1MHz 即一個(gè)機(jī)器周期發(fā)送或接收一位數(shù)據(jù),對(duì)系統(tǒng)晶振12分頻,2)方式2,波特率也是固定的,其中SMOD為波特率加倍位,PCON 的最高位,由軟件編程確定。,SMOD=0時(shí),波特率為fosc的1/64; SMOD=1時(shí),波特率為f

16、osc的1/32。,32分頻,64分頻,3)方式1和方式3,波特率可變,波特率由定時(shí)器T1的溢出率和SMOD共同決定:,波特率 T1溢出率,用定時(shí)器Tl作波特率發(fā)生器,常用T1工作在定時(shí)方式2,為自動(dòng)重裝初值的8位定時(shí)器,TL1作8位計(jì)數(shù)器,對(duì)機(jī)器周期計(jì)數(shù),TH1作初值緩沖器。,對(duì)T1溢出率16或32分頻,定時(shí)器T1溢出率,方式1和方式3,波特率可變,定時(shí)器T1作串行口波特率發(fā)生器,為串行口收發(fā)數(shù)據(jù)提供移位脈沖,自動(dòng)重裝定時(shí)初值,對(duì)機(jī)器周期計(jì)數(shù),定時(shí)器T1溢出率是固定頻率的脈沖,定時(shí)器的溢出率,就是指定時(shí)器一秒鐘內(nèi)的溢出次數(shù)。 SMOD0時(shí),波特率 (定時(shí)器T1溢出率) /32 SMOD1時(shí),

17、波特率 (定時(shí)器T1溢出率) /16,自動(dòng)重裝方式2,可避免程序反復(fù)裝初值而引起誤差。,方式1和方式3波特率計(jì)算,波特率的計(jì)算:,定時(shí)器T1用作波特率發(fā)生器時(shí),要設(shè)置定時(shí)器T1為定時(shí)方式(使C/T=0),T1對(duì)機(jī)器周期計(jì)數(shù)(一個(gè)機(jī)器周期12個(gè)振蕩周期),當(dāng)系統(tǒng)時(shí)鐘12MHz時(shí),機(jī)器周期為1S。 注意應(yīng)禁止T1中斷,以免溢出而產(chǎn)生不必要的中斷。 要設(shè)定TH1和TL1的定時(shí)初值,設(shè)初值為X,則每過“256-X”個(gè)機(jī)器周期,定時(shí)器T1就會(huì)溢出一次。,T1的溢出周期,就是T1溢出一次的時(shí)間:,TC(256X)機(jī)器周期,方式1和方式3波特率計(jì)算,定時(shí)器T1的溢出率計(jì)算,機(jī)器周期T12,TC(256X)

18、(S/次),T1的溢出周期TC為:,T1的溢出率為溢出周期的倒數(shù):,T1的溢出率 (次/S),一個(gè)機(jī)器周期12個(gè)振蕩周期,故:,波特率 T1溢出率 (位/S),一般波特率用位/S表示,再乘以106即可 實(shí)際應(yīng)用中,通常波特率給定,計(jì)算T1的初值:,X256,波特率計(jì)算式為:,振蕩周期,機(jī)器周期,分頻,定時(shí)器T1工作在方式2,作波特率發(fā)生器,波特率為2400bps。已知f11.0592MHz,求T1的定時(shí)初值,寫出串行口方式1初始化程序段。,解:設(shè)波特率控制位SMOD0,不加倍,波特率計(jì)算式:,2400,X256 256122440F4H,所以初始化應(yīng)THlTLl0F4H 初始化程序段:,INI

19、T:MOV TMOD,#20H;T1方式2 MOV TH1,#0F4H;T1初值 MOV TL1,#0F4H SETB TR1;啟動(dòng)T1工作 MOV PCON,#00H;設(shè)置SMOD0 MOV SCON,#50H;串行口工作在方式1,T1定時(shí)初值為:,例,波特率 ,已知fosc=12MHz,SMOD=1,波特率=2400 bit/s,求串行方式1時(shí)T1定時(shí)初值。并說(shuō)明由此產(chǎn)生的實(shí)際波特率是否有誤差,為什么?,解:根據(jù),有誤差,用SMOD=0計(jì)數(shù)同樣有誤差,誤差大小不同,應(yīng)選誤差小的 若fosc=11.0592MHz,其余條件不變,則T1定時(shí)初值為:,當(dāng)系統(tǒng)時(shí)鐘為整數(shù)的12MHz或6MHz時(shí),用

20、SMOD為0或?yàn)?計(jì)算出的定時(shí)初值誤差有大有小,要選誤差較小的那個(gè)更好。,例,為整數(shù),沒有誤差,因而出現(xiàn)了一個(gè)為小數(shù)的晶振 fosc=11.0592MHz,當(dāng)時(shí)鐘頻率選用11.0592MHZ時(shí),很容易獲得標(biāo)準(zhǔn)的波特率,所以很多單片機(jī)系統(tǒng)選用此數(shù)值的晶振。使用T1設(shè)置常用的波特率表。,常用波特率表,2方式0的應(yīng)用,51單片機(jī)串行口基本上是異步通信接口,但在方式0時(shí)是同步操作。外接串入并出或并入串出器件,可實(shí)現(xiàn)I/O的擴(kuò)展。 串行口方式0的數(shù)據(jù)傳送可以采用中斷方式,也可以采用查詢方式。無(wú)論哪種方式,都要借助于TI或RI標(biāo)志位。 發(fā)送時(shí),或者靠TI置位后引起中斷申請(qǐng),在中斷服務(wù)程序中發(fā)送下一組數(shù)據(jù);

21、或者通過查詢TI的值,只要TI為0就繼續(xù)查詢,直到TI為1后結(jié)束查詢,進(jìn)入下一個(gè)字符的發(fā)送。 接收時(shí),由RI引起中斷或?qū)I查詢來(lái)決定何時(shí)接收下一個(gè)字符。無(wú)論采用什么方式,在開始串行通信前,都要先對(duì)SCON寄存器初始化,進(jìn)行工作方式的設(shè)置。,方式0為同步移位寄存器輸入輸出。8位數(shù)據(jù)從RXD(P3.0)引腳輸入輸出(低位在前)。由TXD(P3.1)引腳輸出移位時(shí)鐘使系統(tǒng)同步。波特率固定為fosc12。,1)方式0發(fā)送,例: 用8051單片機(jī)串行口外接74LSl64串入并出移位寄存器擴(kuò)展8位并行輸出口,每位都接一個(gè)發(fā)光二極管。要求發(fā)光二極管從左到右以一定時(shí)間輪流點(diǎn)亮,并不斷循環(huán)。發(fā)光二極管為共陰極

22、接法。,74LS164串入-并出移位寄存器,解:設(shè)數(shù)據(jù)串行發(fā)送采用中斷方式,顯示的延遲通過調(diào)用延遲程序DELAY來(lái)實(shí)現(xiàn)。,方式0發(fā)送,74LS164的引腳功能: Q0Q7為并行輸出端。Q0為低位D0 DSA、DSB為串行輸入端。 CR為清除端,低電平時(shí),使74LS164輸出清零。 CP為時(shí)鐘輸入脈沖,在CP脈沖的上升沿作用下,實(shí)現(xiàn)移位。,ORG0000H LJMPSTART ORG0023H AJMPSEND ;轉(zhuǎn)串行中斷子程序 ORG0030H START:MOV SCON,#00H;串行口方式0 MOVA,#80H ;最左邊一位亮 CLRP1.0 ;關(guān)閉并行輸出 MOVSBUF,A ;啟動(dòng)

23、串行輸出 SJMP$ ;等中斷 SEND:SETB P1. 0 ;啟動(dòng)并行輸出 ACALL DELAY;延時(shí) CLR TI ;清發(fā)送中斷標(biāo)志位 RR A ;右移 CLR P1. 0 ;關(guān)閉并行輸出 MOV SBUF,A ;啟動(dòng)串行輸出 RETI ;中斷返回 END,采用中斷方式編程如下:,74LS164串入并出擴(kuò)展輸出口,2)方式0接收,用串口外接74LS165并人串出移位寄存器擴(kuò)展8位輸入口,例: 利用兩片74LS165擴(kuò)展成兩個(gè)并行輸入口。當(dāng)移位/置位端S/L1時(shí),在時(shí)鐘脈沖作用下,并行輸入數(shù)據(jù)D0D7通過QH端輸入8051。讀人10組數(shù)據(jù),并把它們存到片內(nèi)RAM的40H單元開始的地方。,

24、方式0接收,74LS165的引腳功能: D0D7為并行輸入端。 QH、/QH為串行輸出端。 IN為串行輸入端。用于級(jí)聯(lián) SHIFT/LOAD為允許移位/并行數(shù)據(jù)裝入端。 CLOCK為時(shí)鐘脈沖。,74LS165并入串出移位寄存器,MOVR6,#0AH ;設(shè)讀入10組數(shù)據(jù) MOVR1,#40H ;設(shè)片內(nèi)RAM地址 RCV0:CLRP1.0 ;并行裝載數(shù)據(jù) SETBP1.0 ;允許串行移位 MOVR0,#02H ;設(shè)每組2字節(jié) RCV1:MOVSCON,#10H ;設(shè)串口工作方式0,允許接收 WAIT:JNBRI,WAIT ;等待接收一幀數(shù)據(jù) CLRRI ;清接收標(biāo)志,準(zhǔn)備下次接收 MOVA,SBU

25、F;取接收數(shù)據(jù) MOVR1,A ;存人內(nèi)部RAM INCR1;指向下一存儲(chǔ)地址 DJNZR0,RCV1;未讀完2字節(jié)數(shù)據(jù)繼續(xù) DJNZ R6,RCV0;未讀完10組數(shù)據(jù)繼續(xù),采用查詢方式編程如下:,74LS165并入串出擴(kuò)展輸入口,若SMOD=0 則X=249.49 誤差較大若SMOD=1 則X=242.98=243=F3H 誤差較小,3方式1的應(yīng)用,串行口工作方式1用于點(diǎn)對(duì)點(diǎn)的異步通信。 例: A機(jī)發(fā)送,B機(jī)接收,波特率2400bps,晶振6MHz,T1作波特率發(fā)生器,串行口工作在方式1。甲機(jī)送出內(nèi)部RAM 50H開始的16個(gè)字節(jié)數(shù)據(jù),乙機(jī)接收數(shù)據(jù)存放在外部RAM 3000H300FH單元中

26、。 解:雙機(jī)通訊串行口工作在方式1,定時(shí)器T1工作在方式2作波特率發(fā)生器。定時(shí)初值:,X256,采用查詢方式編程,A機(jī)發(fā)送程序: SEND:MOV TMOD,#20H ;定時(shí)器T1方式2,定時(shí) MOV TL1,#0F3H ;定時(shí)器T1初值 MOV TH1,#0F3H CLR ET1 ;關(guān)中斷 SETB TR1 ;啟動(dòng)定時(shí)器工作 MOV SCON,#50H ;串行口方式1 MOV PCON,#80H ;SMOD1 MOV R0,#50H ;數(shù)據(jù)首地址 MOV R7,#10H ;16個(gè)數(shù)據(jù) TRS: MOV A,R0 ;取數(shù)據(jù),MOV SBUF,A ;發(fā)送 WAIT:JBC TI,CONT ;發(fā)送

27、完,清TI為0 AJMP WAIT CONT: INC R0 ;下一個(gè)數(shù)據(jù) DJNZ R7,TRS ;發(fā)送16個(gè)數(shù)據(jù) RET,點(diǎn)對(duì)點(diǎn)的異步通信,B機(jī)接收程序: MOV TMOD,#20H ;定時(shí)器初始化 MOV TL1,#0F3H MOV TH1,#0F3H CLR ET1 ;關(guān)中斷 SETB TR1 ;啟動(dòng)定時(shí)器工作 MOV SCON,#50H ;串行口方式1,允許接收 MOV PCON,#80H ;SMOD1 MOV DPTR,#3000H ;數(shù)據(jù)存放首地址 MOV R7,#10H ;接收16個(gè)數(shù)據(jù) WAIT: JBC RI,READ ;接收到一個(gè)數(shù)據(jù),清RI為0 AJMP WAIT RE

28、AD:MOV A,SBUF ;接收數(shù)據(jù) MOVX DPTR,A ;存數(shù)據(jù) INC DPTR ;下一個(gè)單元 DJNZ R7,WAIT ;接收16個(gè)數(shù)據(jù) RET,點(diǎn)對(duì)點(diǎn)的異步通信,RS-232是目前被廣泛使用的異步串行數(shù)字通信電氣標(biāo)準(zhǔn),由美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronics Industry Association)于1962年公布,1969年最后修訂而成,RS(Recommended Standard)表明它是一種被推薦的標(biāo)準(zhǔn)。,1)RS-232協(xié)議簡(jiǎn)介,3串行通信協(xié)議,2)電氣特性,RS-232協(xié)議規(guī)定最大的通信速度為20Kb/s,現(xiàn)在已經(jīng)出現(xiàn)高達(dá)2Mb/s速率的基于RS-232的通

29、信系統(tǒng)。作為單片機(jī)系統(tǒng),由于其處理能力有限,工作頻率不是很高,一般可實(shí)現(xiàn)的最高波特率在112Kb/s左右。 RS-232協(xié)議規(guī)定最長(zhǎng)的通信距離是15m,目前市售的長(zhǎng)線驅(qū)動(dòng)器已經(jīng)可以將通信距離延長(zhǎng)到數(shù)千米。,3)TTL電平與RS-232電平的轉(zhuǎn)換,RS-232C電平:邏輯1: 5-15v;邏輯0: +5+15v TTL電平: 邏輯1: +2.7+5v;邏輯0: 0v+0.5v,RS-232C規(guī)定了自己的電氣標(biāo)準(zhǔn),由于它是在TTL電路之前研制的,所以它的電平不是+5V和地,而是采用負(fù)邏輯。 RS-232C不能和TTL電平直接相連,要進(jìn)行電平轉(zhuǎn)換,否則將使TTL電路燒壞,常用電平轉(zhuǎn)換電路是MAX232。,RS-232C電平轉(zhuǎn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論