![第7章 MCS-51單片機(jī)串行通信2010_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/82611494-2499-49c5-86c7-b83b97b8aa31/82611494-2499-49c5-86c7-b83b97b8aa311.gif)
![第7章 MCS-51單片機(jī)串行通信2010_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/82611494-2499-49c5-86c7-b83b97b8aa31/82611494-2499-49c5-86c7-b83b97b8aa312.gif)
![第7章 MCS-51單片機(jī)串行通信2010_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/82611494-2499-49c5-86c7-b83b97b8aa31/82611494-2499-49c5-86c7-b83b97b8aa313.gif)
![第7章 MCS-51單片機(jī)串行通信2010_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/82611494-2499-49c5-86c7-b83b97b8aa31/82611494-2499-49c5-86c7-b83b97b8aa314.gif)
![第7章 MCS-51單片機(jī)串行通信2010_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/82611494-2499-49c5-86c7-b83b97b8aa31/82611494-2499-49c5-86c7-b83b97b8aa315.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信【學(xué)習(xí)目的和要求】了解和掌握MCS-51單片機(jī)串行接口的結(jié)構(gòu)原理、工作方式;掌握工作方式0的應(yīng)用,工作方式13的編程方法及初始化過程;了解多機(jī)通信的基本原理及編程方法。7.1 7.1 串行通信概述串行通信概述7.2 MCS-517.2 MCS-51單片機(jī)串行通信接口單片機(jī)串行通信接口7.3 MCS-517.3 MCS-51單片機(jī)之間的串行通信單片機(jī)之間的串行通信第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.4 MCS-517.4 MCS-51串行通信的波特率串行通信的波特率第第7 7章章 MCS-51
2、MCS-51單片機(jī)串行通信單片機(jī)串行通信7.17.1串行通信概述串行通信概述通信方式的分類:通信方式的分類:并行通信并行通信 、串行通信串行通信并行通信的特點(diǎn):在同一時(shí)刻,并行通信的特點(diǎn):在同一時(shí)刻,各數(shù)據(jù)位同時(shí)傳送各數(shù)據(jù)位同時(shí)傳送,傳,傳送速度快、效率高。但有多少數(shù)據(jù)位就需要多少根數(shù)據(jù)送速度快、效率高。但有多少數(shù)據(jù)位就需要多少根數(shù)據(jù)線,因此傳送成本高,且線,因此傳送成本高,且傳送距離近傳送距離近,通常傳送距離小,通常傳送距離小于于3030米。米。串行通信的特點(diǎn):數(shù)據(jù)傳送串行通信的特點(diǎn):數(shù)據(jù)傳送按順序進(jìn)行按順序進(jìn)行,最少只需一根,最少只需一根傳輸線即可完成,成本低但速度較慢,傳輸線即可完成,成
3、本低但速度較慢,傳送距離遠(yuǎn)傳送距離遠(yuǎn),一,一般可以從幾米到幾千公里。般可以從幾米到幾千公里。 計(jì)算機(jī)與外部設(shè)備或與其它計(jì)算機(jī)之間往往需計(jì)算機(jī)與外部設(shè)備或與其它計(jì)算機(jī)之間往往需要交換信息,所有這些信息交換均稱為通信。要交換信息,所有這些信息交換均稱為通信。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.1.1 7.1.1 串行通信的基本方式串行通信的基本方式串行通信方式:串行通信方式:異步通信、異步通信、同步通信同步通信1 1異步通信異步通信 數(shù)據(jù)通常是以字符(或字節(jié))為單位組成字符幀傳送的。字符數(shù)據(jù)通常是以字符(或字節(jié))為單位組成字符幀傳送的。字符幀通過傳輸線由發(fā)送端一
4、幀一幀地發(fā)送到接收端,接收端一幀一幀幀通過傳輸線由發(fā)送端一幀一幀地發(fā)送到接收端,接收端一幀一幀地接收。通信雙方必須遵守以下兩項(xiàng)基本約定地接收。通信雙方必須遵守以下兩項(xiàng)基本約定: : 字符幀格式字符幀格式 即字符的編碼形式,通信雙方必須具有相同即字符的編碼形式,通信雙方必須具有相同的字符幀格式,否則不能進(jìn)行通信。的字符幀格式,否則不能進(jìn)行通信。 波特率波特率 每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù)(比特?cái)?shù)),或者為每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù)(比特?cái)?shù)),或者為 每位傳輸時(shí)間的倒數(shù),單位是每位傳輸時(shí)間的倒數(shù),單位是bit/sbit/s。例例 波特率為波特率為1200bit/s1200bit/s時(shí),上圖字符實(shí)際傳
5、輸速率為時(shí),上圖字符實(shí)際傳輸速率為1200120011=109.0911=109.09幀幀/ /秒。秒。 通常異步通信的波特率在通常異步通信的波特率在50bit/s50bit/s9600bit/s9600bit/s之間。之間。優(yōu)點(diǎn)優(yōu)點(diǎn):不需要傳送同步脈沖,字符幀長(zhǎng)度也不受限制,所需設(shè)備簡(jiǎn)單。缺點(diǎn)缺點(diǎn):因字符幀中包含有起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信2 2同步通信同步通信 在同步通信方式中,數(shù)據(jù)是以連續(xù)方式串行傳送的。一次只傳送一幀信息,一幀中有若干個(gè)數(shù)據(jù)字符。同步字符數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3數(shù)據(jù)n校驗(yàn)字符1校驗(yàn)字符2同步字
6、符(可為單字符或雙字符)位于幀格式開頭,用于確認(rèn)數(shù)據(jù)字符的開始數(shù)據(jù)字符在同步字符之后,個(gè)數(shù)不受限制,由所需傳輸?shù)臄?shù)據(jù)塊長(zhǎng)度決定;校驗(yàn)字符有12個(gè),位于幀格式結(jié)尾,用于接收端對(duì)接收到的數(shù)據(jù)字符的正確性的校驗(yàn)。 在同步通信中,同步字符可以采用同一標(biāo)準(zhǔn)符式,也可由用戶約定。在單同步字符幀格式中,同步字符常采用ASCII碼中規(guī)定的SYN(即16H)代碼;在雙同步字符幀格式中,同步字符一般采用國(guó)際通用標(biāo)準(zhǔn)代碼EB90H。優(yōu)點(diǎn):優(yōu)點(diǎn):是數(shù)據(jù)傳送速率較高,通??纱笥?6000bit/s缺點(diǎn):缺點(diǎn):是要求發(fā)送時(shí)鐘與接受時(shí)鐘保持嚴(yán)格同步。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.1
7、.2 7.1.2 串行通信的數(shù)據(jù)傳送方式串行通信的數(shù)據(jù)傳送方式 1 1單工方式單工方式 發(fā)送端數(shù)據(jù)線接收端接收發(fā)送端數(shù)據(jù)線1數(shù)據(jù)線2接收發(fā)送端 2 2半雙工方式半雙工方式 3 3全雙工方式全雙工方式 第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.2 MCS-517.2 MCS-51單片機(jī)串行通信接口單片機(jī)串行通信接口全雙工全雙工的的異步異步通訊串行口通訊串行口4 4種工作方式種工作方式, ,波特率由片內(nèi)定時(shí)器波特率由片內(nèi)定時(shí)器/ /計(jì)數(shù)器控制計(jì)數(shù)器控制網(wǎng)絡(luò)通信,實(shí)現(xiàn)串行異步通信,同步移位寄存器網(wǎng)絡(luò)通信,實(shí)現(xiàn)串行異步通信,同步移位寄存器第第7 7章章 MCS-51MCS
8、-51單片機(jī)串行通信單片機(jī)串行通信7.2.1 7.2.1 串行口的結(jié)構(gòu)原理串行口的結(jié)構(gòu)原理1. 1. 串行口結(jié)構(gòu)串行口結(jié)構(gòu)組成:兩個(gè)組成:兩個(gè)數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器SBUFSBUF、一個(gè)、一個(gè)輸入移位輸入移位寄存器寄存器、兩個(gè)控制寄存器、兩個(gè)控制寄存器SCONSCON和和PCONPCON。 緩沖寄存器SBUF是兩個(gè)在物理上獨(dú)立的專用寄存器,一個(gè)作發(fā)送緩沖器,另一個(gè)作接收緩沖器。 控制寄存器SCON和PCON用來設(shè)定串行口的工作方式并對(duì)接收和發(fā)送進(jìn)行控制。串行口對(duì)外有兩條獨(dú)立的收發(fā)信號(hào)線RXD(P3.0)、TXD(P3.1),實(shí)現(xiàn)全雙工通信。第第7 7章章 MCS-51MCS-51單片機(jī)串
9、行通信單片機(jī)串行通信2. 2. 串行通信過程串行通信過程(1)(1)接收數(shù)據(jù)過程接收數(shù)據(jù)過程 當(dāng)當(dāng)CPUCPU允許允許接收接收,即,即SCONSCON的的RENREN位置位置1 1時(shí),外界數(shù)據(jù)通過引腳時(shí),外界數(shù)據(jù)通過引腳RXDRXD(P3.0P3.0)串行輸入)串行輸入,數(shù)據(jù)的最低位首先進(jìn)入移位寄存器,一,數(shù)據(jù)的最低位首先進(jìn)入移位寄存器,一幀接收完后再并行送入接收數(shù)據(jù)緩沖寄存器幀接收完后再并行送入接收數(shù)據(jù)緩沖寄存器SBUFSBUF中,同時(shí)將接中,同時(shí)將接收中斷標(biāo)志位收中斷標(biāo)志位RIRI置置1 1,向,向CPUCPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。CPUCPU響應(yīng)中斷后讀取響應(yīng)中斷后讀取輸入的數(shù)據(jù),
10、同時(shí)用軟件將輸入的數(shù)據(jù),同時(shí)用軟件將RIRI位清位清0 0,準(zhǔn)備開始下一幀的輸入過,準(zhǔn)備開始下一幀的輸入過程,直至所有數(shù)據(jù)接收完。程,直至所有數(shù)據(jù)接收完。(2)(2)發(fā)送數(shù)據(jù)過程發(fā)送數(shù)據(jù)過程 CPUCPU要要發(fā)送發(fā)送數(shù)據(jù)時(shí),將數(shù)據(jù)并行寫入發(fā)送數(shù)據(jù)緩沖寄存器數(shù)據(jù)時(shí),將數(shù)據(jù)并行寫入發(fā)送數(shù)據(jù)緩沖寄存器SBUFSBUF中,同時(shí)啟動(dòng)數(shù)據(jù)由中,同時(shí)啟動(dòng)數(shù)據(jù)由TXDTXD(P3.1P3.1)引腳串行發(fā)送)引腳串行發(fā)送,當(dāng)一幀數(shù),當(dāng)一幀數(shù)據(jù)發(fā)送完,即發(fā)送緩沖器空時(shí),由硬件自動(dòng)將發(fā)送中斷標(biāo)志位據(jù)發(fā)送完,即發(fā)送緩沖器空時(shí),由硬件自動(dòng)將發(fā)送中斷標(biāo)志位TITI置置1 1,向,向CPUCPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。
11、CPUCPU響應(yīng)中斷后用軟件將響應(yīng)中斷后用軟件將TITI位清位清0 0,同時(shí)又將下一幀數(shù)據(jù)寫入同時(shí)又將下一幀數(shù)據(jù)寫入SBUFSBUF中中,重復(fù)上述過程直至所有數(shù)據(jù),重復(fù)上述過程直至所有數(shù)據(jù)發(fā)送完畢。發(fā)送完畢。1 1第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.2.2 7.2.2 串行口的控制串行口的控制1 1電源和數(shù)據(jù)傳輸率控制寄存器電源和數(shù)據(jù)傳輸率控制寄存器PCONPCON PCONPCON寄存器主要是為寄存器主要是為CHMOSCHMOS型單片機(jī)的電源控制設(shè)型單片機(jī)的電源控制設(shè)置的專用寄存器,單元地址為置的專用寄存器,單元地址為87H87H,不能進(jìn)行位尋址。,不能進(jìn)
12、行位尋址。位序位序8EH8EH8DH8DH8CH8CH8BH8BH8AH8AH89H89H88H88H87H87H位符位符號(hào)號(hào)SMODSMODGF1GF1GF0GF0PDPDIDLIDL圖7-5 PCON各位的定義其中低其中低4 4位是位是CHMOSCHMOS型單片機(jī)掉電方式控制位:型單片機(jī)掉電方式控制位:GF1GF1、GF0 GF0 通用標(biāo)志位,由軟件置位、復(fù)位。通用標(biāo)志位,由軟件置位、復(fù)位。PD PD 掉電方式控制位,掉電方式控制位,PD=1PD=1,則進(jìn)入掉電方式。,則進(jìn)入掉電方式。IDL IDL 待機(jī)方式控制位,待機(jī)方式控制位,IDL=1IDL=1,則進(jìn)入待機(jī)方式。,則進(jìn)入待機(jī)方式。
13、在在HMOSHMOS單片機(jī)中,該寄存器中除最高位之外,其它位都沒單片機(jī)中,該寄存器中除最高位之外,其它位都沒有定義。最高位有定義。最高位SMODSMOD是串行口波特率倍增位,在串行口工作方是串行口波特率倍增位,在串行口工作方式式1 1、方式、方式2 2和方式和方式3 3時(shí),若時(shí),若SMOD=1SMOD=1,則串行口波特率加倍,若,則串行口波特率加倍,若SMOD=0SMOD=0,則串行口波特率不加倍。系統(tǒng)復(fù)位時(shí),則串行口波特率不加倍。系統(tǒng)復(fù)位時(shí)SMOD=0SMOD=0。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信2 2串行口控制寄存器串行口控制寄存器SCONSCON SC
14、ONSCON是一個(gè)可以位尋址的特殊功能寄存器,主要是一個(gè)可以位尋址的特殊功能寄存器,主要功能是設(shè)定串行口的工作方式、接收和發(fā)送控制以功能是設(shè)定串行口的工作方式、接收和發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志,單元地址為及設(shè)置狀態(tài)標(biāo)志,單元地址為98H98H。位地址位地址9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98H位符號(hào)位符號(hào)SM0SM0SM1SM1SM2SM2RENRENTB8TB8RB8RB8TITIRIRISM0SM0SM1SM1方式方式功能說明功能說明波特率波特率0 00 00 0移位寄存器方式移位寄存器方式fosc/12fosc/120 01 11
15、18 8位異步收發(fā)方式位異步收發(fā)方式可變(可變(T1T1溢出率溢出率/n/n)1 10 02 29 9位異步收發(fā)方式位異步收發(fā)方式fosc/64fosc/64或或fosc/32fosc/321 11 13 39 9位異步收發(fā)方式位異步收發(fā)方式可變(可變(T1T1溢出率溢出率/n/n)(1 1)SM0SM0、SM1SM1串行口串行口4 4種工作方式的選擇位種工作方式的選擇位 第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信 (2 2)SM2 SM2 多機(jī)通信控制位多機(jī)通信控制位 SM2SM2主要用于方式主要用于方式2 2和方式和方式3 3在在方式方式2 2和方式和方式3 3中
16、:中:當(dāng)當(dāng)SM2=1SM2=1: 接收第接收第9 9位數(shù)據(jù)位數(shù)據(jù)(RB8RB8)=1=1, , 前前8 8位送入位送入SBUFSBUF,置,置 位位RI=1RI=1,產(chǎn)生中斷。,產(chǎn)生中斷。 接收第接收第9 9位數(shù)據(jù)位數(shù)據(jù)(RB8RB8)=0=0 ,前,前8 8位數(shù)據(jù)丟棄位數(shù)據(jù)丟棄 。當(dāng)當(dāng)SM2=0SM2=0: 不論接收到第不論接收到第9 9位數(shù)據(jù)是位數(shù)據(jù)是0 0還是還是1 1,前,前8 8位數(shù)據(jù)送入位數(shù)據(jù)送入SBUFSBUF中,置位中,置位RI=1RI=1,產(chǎn)生中斷。,產(chǎn)生中斷。在方式在方式1 1中中:若:若SM2=1SM2=1,則只有接收到停止位,則只有接收到停止位RIRI才被激活。才被激活
17、。在方式在方式0 0中:中:SM2SM2必須是必須是0 0。 (3 3)RENREN允許串行接收位允許串行接收位 由軟件置由軟件置“1”“1”或清或清“0”“0” REN=1 REN=1 允許串行口接收數(shù)據(jù)。允許串行口接收數(shù)據(jù)。 REN=0 REN=0 禁止串行口接收數(shù)據(jù)。禁止串行口接收數(shù)據(jù)。 (4 4)TB8TB8發(fā)送的第發(fā)送的第9 9位數(shù)據(jù)位數(shù)據(jù) 方式方式2 2和和3 3時(shí),時(shí),TB8TB8是要發(fā)送的第是要發(fā)送的第9 9位數(shù)據(jù)位數(shù)據(jù) 可作為可作為奇偶校驗(yàn)位奇偶校驗(yàn)位使用,也可作為使用,也可作為地址幀地址幀或或數(shù)據(jù)幀數(shù)據(jù)幀的標(biāo)志。的標(biāo)志。 =1=1為地址幀為地址幀, , =0=0為數(shù)據(jù)幀為數(shù)
18、據(jù)幀 (5 5)RB8RB8接收到的第接收到的第9 9位數(shù)據(jù)位數(shù)據(jù) 方式方式2 2和和3 3時(shí),時(shí),RB8RB8存放接收到的第存放接收到的第9 9位位數(shù)據(jù)。在方式數(shù)據(jù)。在方式1 1,如果,如果SM2=0SM2=0,RB8RB8是接收到的停止位。方式是接收到的停止位。方式0 0不使不使RB8RB8 (6 6)TITI發(fā)送中斷標(biāo)志位發(fā)送中斷標(biāo)志位 方式方式0 0時(shí)時(shí),串行發(fā)送第,串行發(fā)送第8 8位數(shù)據(jù)結(jié)束時(shí)由硬件置位數(shù)據(jù)結(jié)束時(shí)由硬件置“1”“1”, 其它工作方式其它工作方式,串行口發(fā)送停止位的開始時(shí)置,串行口發(fā)送停止位的開始時(shí)置“1”“1”。TI=1TI=1,表示表示一一 幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件
19、查詢,也可申請(qǐng)中斷。幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件查詢,也可申請(qǐng)中斷。CPUCPU響應(yīng)中斷后響應(yīng)中斷后, , 向向SBUFSBUF寫入要發(fā)送的下一幀數(shù)據(jù)。寫入要發(fā)送的下一幀數(shù)據(jù)。TITI必須由軟件清必須由軟件清0 0。 (7 7)RIRI接收中斷標(biāo)志位接收中斷標(biāo)志位 方式方式0 0時(shí)時(shí),接收完第,接收完第8 8位數(shù)據(jù)時(shí),位數(shù)據(jù)時(shí),RIRI由硬件置由硬件置1 1。 其它工作方式其它工作方式,串行接收到停止位時(shí),該位置,串行接收到停止位時(shí),該位置“1”“1”。RI=1RI=1,表示表示一一 幀數(shù)據(jù)接收完畢,并申請(qǐng)中斷幀數(shù)據(jù)接收完畢,并申請(qǐng)中斷, , CPUCPU從接收從接收SBUFSBUF取走數(shù)據(jù)。該位
20、狀取走數(shù)據(jù)。該位狀態(tài)也可軟件查詢。態(tài)也可軟件查詢。RIRI必須由軟件清必須由軟件清“0”“0”。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.2.3 7.2.3 串行口的工作方式串行口的工作方式 MCS-51MCS-51單片機(jī)的串行口有單片機(jī)的串行口有4 4種工作方式,由串行口控種工作方式,由串行口控制寄存器制寄存器SCONSCON的高的高2 2位位SM0SM0和和SM1SM1的編碼確定。的編碼確定。1 1、方式、方式0 0為為同步移位寄存器方式同步移位寄存器方式,其,其波特率波特率固定為固定為fosc/12fosc/12在這種方式下,數(shù)據(jù)從在這種方式下,數(shù)據(jù)從RXD
21、RXD(P3.0P3.0)端串行輸出或輸入,同步)端串行輸出或輸入,同步信號(hào)從信號(hào)從TXDTXD(P3.1P3.1)端輸出。該方式以)端輸出。該方式以8 8位數(shù)據(jù)為一幀,沒有位數(shù)據(jù)為一幀,沒有起始位和停止位,先發(fā)送或接收最低位。起始位和停止位,先發(fā)送或接收最低位。D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7圖圖7-7 7-7 方式方式0 0的幀格式的幀格式第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信 方式方式0 0發(fā)送發(fā)送 數(shù)據(jù)從數(shù)據(jù)從RXDRXD(P3.0P3.0)端串行輸出,同步信號(hào)從)端串行輸出,同步信號(hào)從TXDTXD(P3.1P3.1)端輸出
22、。當(dāng)端輸出。當(dāng)CPUCPU執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUFSBUF的指令時(shí),的指令時(shí),產(chǎn)生一個(gè)正脈沖,串行口將產(chǎn)生一個(gè)正脈沖,串行口將8 8位數(shù)據(jù)以位數(shù)據(jù)以fosc/12fosc/12的固定波特率從的固定波特率從RXDRXD引腳輸出,從低位到高位。當(dāng)發(fā)送完引腳輸出,從低位到高位。當(dāng)發(fā)送完8 8位數(shù)據(jù)后,中斷標(biāo)志位數(shù)據(jù)后,中斷標(biāo)志位位TITI置置1 1,請(qǐng)求中斷。在下次發(fā)送數(shù)據(jù)之前,必須用軟件將,請(qǐng)求中斷。在下次發(fā)送數(shù)據(jù)之前,必須用軟件將TITI清零。清零。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信 方式方式0 0接收接收 在滿足在滿足R
23、EN=1REN=1和和RI=0RI=0的條件下,串行口處于方式的條件下,串行口處于方式0 0接收。接收。此時(shí),數(shù)據(jù)從此時(shí),數(shù)據(jù)從RXDRXD端串行輸入,同步信號(hào)從端串行輸入,同步信號(hào)從TXDTXD(P3.1P3.1)端輸)端輸出,接收器以出,接收器以fosc/12fosc/12的波特率對(duì)的波特率對(duì)RXDRXD引腳輸入的數(shù)據(jù)信息采引腳輸入的數(shù)據(jù)信息采樣。當(dāng)接收器接收完樣。當(dāng)接收器接收完8 8位數(shù)據(jù)后,中斷標(biāo)志位位數(shù)據(jù)后,中斷標(biāo)志位RIRI置置1 1,請(qǐng)求中,請(qǐng)求中斷,表示可進(jìn)行下一幀數(shù)據(jù)的接收。在下次接收之前,必須斷,表示可進(jìn)行下一幀數(shù)據(jù)的接收。在下次接收之前,必須用軟件將用軟件將RIRI清零。
24、清零。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信【例例7-17-1】用串行口擴(kuò)展8位并行輸入口功能說明:利用一個(gè)并入串出的移位寄存器功能說明:利用一個(gè)并入串出的移位寄存器74LS16674LS166芯片與芯片與單片機(jī)串行口相連,擴(kuò)展成單片機(jī)串行口相連,擴(kuò)展成8 8位并行輸入端口。位并行輸入端口。74LS16674LS166芯片芯片連接連接8 8位指撥開關(guān),作為單片機(jī)的數(shù)據(jù)輸入端,控制單片機(jī)位指撥開關(guān),作為單片機(jī)的數(shù)據(jù)輸入端,控制單片機(jī)輸出端口輸出端口P1P1所接的所接的8 8個(gè)個(gè)LEDLED。1、74LS166芯片:芯片:74LS166是并行輸入串行輸出是并行輸入串行
25、輸出8位移位寄存器位移位寄存器各引腳說明如下各引腳說明如下: :A AH H: 并行輸入端。并行輸入端。QHQH: 串行輸出端。串行輸出端。CLKCLK: 時(shí)鐘脈沖輸入端,在脈沖的上時(shí)鐘脈沖輸入端,在脈沖的上 升沿實(shí)現(xiàn)位移。升沿實(shí)現(xiàn)位移。INHINH: 時(shí)鐘禁止端。時(shí)鐘禁止端。SH/LDSH/LD:位移與置位控制。:位移與置位控制。SERSER:擴(kuò)展多個(gè):擴(kuò)展多個(gè)74LS16674LS166的首尾連接端。的首尾連接端。VCCVCC:接:接+5V+5V。GNDGND:接地端。:接地端。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信2 2、接口擴(kuò)展電路、接口擴(kuò)展電路 單片機(jī)的
26、單片機(jī)的TXDTXD(P3.1P3.1)作為移位脈沖輸出端與)作為移位脈沖輸出端與74LS16674LS166的移的移位脈沖輸入端位脈沖輸入端CLKCLK相連,相連,RXD(P3.0)RXD(P3.0)作為串行輸入端與作為串行輸入端與74LS16674LS166的的串行輸出端串行輸出端QHQH相連,相連,P3.2P3.2用來控制用來控制74LS16674LS166的位移與置入的位移與置入(SH/LDSH/LD腳),時(shí)鐘禁止端腳),時(shí)鐘禁止端INHINH接地,芯片的接地,芯片的VCCVCC端接端接+5V+5V。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信3 3、匯編語言程
27、序、匯編語言程序擴(kuò)展擴(kuò)展8 8位輸入端口源程序:位輸入端口源程序:START: MOV SCON,#10H;設(shè)定方式;設(shè)定方式0,REN=1CLR P3.2 ;P3.2=0,數(shù)據(jù)置入,數(shù)據(jù)置入4LS166 ACALL DELAY ;調(diào)用延時(shí)子程序;調(diào)用延時(shí)子程序 SETB P3.2 ;P3.2=1,74LS166移位串出移位串出 CLR RI ;RI=0,清除接收中斷標(biāo)志位,清除接收中斷標(biāo)志位 JNB RI,$ ;等待接收完畢;等待接收完畢 MOV A,SBUF ;將;將SBUF數(shù)據(jù)裝入數(shù)據(jù)裝入A MOV P1,A ;將;將A中數(shù)據(jù)送入中數(shù)據(jù)送入P1口輸出口輸出JMP START ;循環(huán)執(zhí)行;
28、循環(huán)執(zhí)行DELAY: MOV R7,#02 ;延時(shí)子程序;延時(shí)子程序 DJNZ R7,$ RET第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信【例例7-2】用串行口擴(kuò)展用串行口擴(kuò)展8位并行輸出端口位并行輸出端口 將單片機(jī)串行口設(shè)定為工作方式將單片機(jī)串行口設(shè)定為工作方式0 0,RXDRXD(P3.0P3.0)和)和TXDTXD(P3.1P3.1)與與74LS16474LS164芯片(串行輸入并行輸出移位寄存器)連接,用串行口擴(kuò)展芯片(串行輸入并行輸出移位寄存器)連接,用串行口擴(kuò)展8 8位并行輸出口。將位并行輸出口。將8 8個(gè)個(gè)LEDLED分為左右兩組,使亮燈從中間開始向左移
29、動(dòng)分為左右兩組,使亮燈從中間開始向左移動(dòng)一次,再?gòu)闹虚g開始向右移動(dòng)一次,接著從最右端向中間移動(dòng)一次,一次,再?gòu)闹虚g開始向右移動(dòng)一次,接著從最右端向中間移動(dòng)一次,再?gòu)淖钭蠖讼蛑虚g移動(dòng)一次,然后閃爍兩次,不斷循環(huán)。再?gòu)淖钭蠖讼蛑虚g移動(dòng)一次,然后閃爍兩次,不斷循環(huán)。74LS16474LS164芯片是串行輸入并行輸出的移位寄芯片是串行輸入并行輸出的移位寄存器。存器。各引腳說明如下各引腳說明如下: :QAQAQHQH:并行輸出端。:并行輸出端。A A、B B: 串行輸入端。串行輸入端。CLRCLR:清除端,:清除端,0 0電平時(shí)使電平時(shí)使74LS16474LS164輸出清輸出清0 0。CLKCLK:時(shí)鐘
30、脈沖輸入端,在脈沖的上升沿實(shí):時(shí)鐘脈沖輸入端,在脈沖的上升沿實(shí) 現(xiàn)位移。現(xiàn)位移。1. 74LS1641. 74LS164芯片芯片第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信2. 接口擴(kuò)展電路接口擴(kuò)展電路 使用使用74LS16474LS164移位寄存器芯片擴(kuò)展移位寄存器芯片擴(kuò)展8 8位并行輸出口,連接位并行輸出口,連接8 8個(gè)個(gè)LEDLED輸出顯示。單片機(jī)的串行輸出信號(hào)輸出顯示。單片機(jī)的串行輸出信號(hào)RXDRXD(P3.0P3.0)引腳與)引腳與74LS16474LS164芯片的串行輸入端芯片的串行輸入端A A和和B B相連,單片機(jī)的相連,單片機(jī)的TXDTXD(P3.1P3
31、.1)引)引腳與腳與74LS16474LS164的時(shí)鐘脈沖輸入端的時(shí)鐘脈沖輸入端CLKCLK相連,向芯片提供脈沖信號(hào),相連,向芯片提供脈沖信號(hào),芯片的第芯片的第9 9腳接腳接+5V+5V,第,第7 7腳接地。腳接地。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信3. 匯編語言程序匯編語言程序 本程序利用單片機(jī)串行口功能將數(shù)據(jù)發(fā)送到74LS164芯片內(nèi),再由74LS164芯片來完成8位并行輸出口擴(kuò)展。主程序流程MOV SCON,#00H ;設(shè)串口方式;設(shè)串口方式0 START: MOV DPTR,#TABLE ;編碼表起始地址;編碼表起始地址LP:CLR A ;A清清0 M
32、OVC A,A+DPTR ;查表,取數(shù)據(jù)送入;查表,取數(shù)據(jù)送入AMOV SBUF,A ;將數(shù)據(jù)送入;將數(shù)據(jù)送入SBUFLP1: JBC TI,LP2 ;TI=1?是,轉(zhuǎn)到?是,轉(zhuǎn)到LP2 JMP LP1 ;否,等待中斷;否,等待中斷LP2: ACALL DELAY ;調(diào)延時(shí)子程序;調(diào)延時(shí)子程序 INCDPTR ;數(shù)據(jù)指針加;數(shù)據(jù)指針加1 JMP LP ;跳轉(zhuǎn)到;跳轉(zhuǎn)到LP處處DELAY: MOV R5,#20 ;延時(shí);延時(shí)0.2S子程序子程序DL1:MOV R6,#20DL2:MOV R7,#248 DJNZ R7,$ DJNZ R6,DL2 DJNZ R5,DL1 RET ;返回;返回TAB
33、LE: DB 0EFH,0DFH,0BFH,7FH ;中間開始向左移;中間開始向左移 動(dòng)控制碼動(dòng)控制碼 DB 0F7H,0FBH,0FDH,0FEH ;中間開始向右移動(dòng)控制碼;中間開始向右移動(dòng)控制碼 DB 0FEH,0FDH,0FBH,0F7H ;最右端向中間移動(dòng)控制碼;最右端向中間移動(dòng)控制碼 DB 7FH,0BFH,0DFH,0EFH ;最左端向中間移動(dòng)控制碼;最左端向中間移動(dòng)控制碼 DB 00H,0FFH,00H,0FFH ;閃爍;閃爍2次次DB 03H ;結(jié)束碼;結(jié)束碼 END ;程序結(jié)束;程序結(jié)束第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信2. 2. 方式方式1
34、 1 工作方式工作方式1 1為為8 8位異步通信方式位異步通信方式,適合于點(diǎn)對(duì)點(diǎn)的異,適合于點(diǎn)對(duì)點(diǎn)的異步通信。這種方式規(guī)定發(fā)送或接收一幀信息為步通信。這種方式規(guī)定發(fā)送或接收一幀信息為1010位,即位,即1 1個(gè)起始位(個(gè)起始位(0 0),),8 8個(gè)數(shù)據(jù)位,個(gè)數(shù)據(jù)位,1 1個(gè)停止位(個(gè)停止位(1 1),先發(fā)),先發(fā)送或接收最低位。數(shù)據(jù)傳輸率可以改變。送或接收最低位。數(shù)據(jù)傳輸率可以改變。TXDTXD腳和腳和RXDRXD腳腳分別用于發(fā)送和接收數(shù)據(jù)。分別用于發(fā)送和接收數(shù)據(jù)。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信(1 1)方式)方式1 1發(fā)送發(fā)送 當(dāng)當(dāng)CPUCPU執(zhí)行一條
35、數(shù)據(jù)寫發(fā)送緩沖器執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUFSBUF的指令時(shí),就啟動(dòng)發(fā)送。的指令時(shí),就啟動(dòng)發(fā)送。圖中圖中TXTX時(shí)鐘頻率就是發(fā)送的波特率。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信時(shí)鐘頻率就是發(fā)送的波特率。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號(hào)變?yōu)橛行?。將起始位向?hào)變?yōu)橛行?。將起始位向TXDTXD輸出,此后每經(jīng)過一個(gè)輸出,此后每經(jīng)過一個(gè)TXTX時(shí)鐘周期,時(shí)鐘周期,便產(chǎn)生一個(gè)移位脈沖,并由便產(chǎn)生一個(gè)移位脈沖,并由TXDTXD輸出一個(gè)數(shù)據(jù)位。輸出一個(gè)數(shù)據(jù)位。8 8位數(shù)據(jù)位全部發(fā)位數(shù)據(jù)位全部發(fā)送完后,置送完后,置“1”1”中斷標(biāo)志位中斷標(biāo)志位TITI,并申請(qǐng)中斷。,并申請(qǐng)中斷。圖7-17方式1發(fā)送數(shù)據(jù)時(shí)序第第7 7章章
36、MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信(2 2)方式)方式1 1接收接收 數(shù)據(jù)從數(shù)據(jù)從RXDRXD(P3.0P3.0)引腳輸入。在)引腳輸入。在SCONSCON寄存器中寄存器中RENREN位置位置1 1的前提下,的前提下,當(dāng)檢測(cè)到起始位的當(dāng)檢測(cè)到起始位的負(fù)跳變負(fù)跳變時(shí),則開始接收。定時(shí)控制信號(hào)有兩種,一種時(shí),則開始接收。定時(shí)控制信號(hào)有兩種,一種是接收是接收移位時(shí)鐘移位時(shí)鐘(RXRX時(shí)鐘),它的頻率和傳送的波特率相同。另一種是時(shí)鐘),它的頻率和傳送的波特率相同。另一種是位檢測(cè)器采樣脈沖位檢測(cè)器采樣脈沖,它的頻率是,它的頻率是RXRX時(shí)鐘的時(shí)鐘的1616倍。倍。一幀數(shù)據(jù)接收完后,必須
37、同時(shí)滿足以下條件,接收才有效:一幀數(shù)據(jù)接收完后,必須同時(shí)滿足以下條件,接收才有效: RI=0RI=0,即上一幀數(shù)據(jù)接收完成時(shí),即上一幀數(shù)據(jù)接收完成時(shí),RI=1RI=1發(fā)出的中斷請(qǐng)求已被響應(yīng),發(fā)出的中斷請(qǐng)求已被響應(yīng),SBUFSBUF中數(shù)據(jù)已被取走,說明中數(shù)據(jù)已被取走,說明“接收接收SBUF”SBUF”已空。已空。 SM2=0SM2=0或收到的或收到的停止位停止位=1=1(方式(方式1 1時(shí),停止位已進(jìn)入時(shí),停止位已進(jìn)入RB8RB8),則收到的),則收到的數(shù)據(jù)裝入數(shù)據(jù)裝入SBUFSBUF和和RB8RB8(RB8RB8裝入停止位),且置裝入停止位),且置“1”1”中斷標(biāo)志中斷標(biāo)志RIRI。 若這兩個(gè)
38、條件不同時(shí)滿足,收到的數(shù)據(jù)不能裝入若這兩個(gè)條件不同時(shí)滿足,收到的數(shù)據(jù)不能裝入SBUFSBUF,該幀數(shù)據(jù)將,該幀數(shù)據(jù)將丟棄。丟棄。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信3. 3. 方式方式2 2和和3 3 當(dāng)當(dāng)SM0=1SM0=1、SM1=0SM1=0時(shí),串行口選擇方式時(shí),串行口選擇方式2 2; SM0=1 SM0=1、SM1=1SM1=1時(shí),串行口選擇方式時(shí),串行口選擇方式3 3。 工作方式工作方式2 2和和3 3為為9 9位位異步通信方式異步通信方式。每幀數(shù)據(jù)均為。每幀數(shù)據(jù)均為1111位,位,1 1位起始位位起始位0 0,8 8位數(shù)據(jù)位(先低位),位數(shù)據(jù)位(先低
39、位),1 1位可程位可程控的第控的第9 9位數(shù)據(jù)和位數(shù)據(jù)和1 1位停止位。由位停止位。由TXD(P3.1)TXD(P3.1)引腳發(fā)送數(shù)引腳發(fā)送數(shù)據(jù),據(jù),RXT(P3.0)RXT(P3.0)引腳接收數(shù)據(jù)。引腳接收數(shù)據(jù)。圖7-19方式2和3的幀格式第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信(1 1)方式)方式2 2發(fā)送發(fā)送 發(fā)送數(shù)據(jù)前,先根據(jù)通訊協(xié)議由軟件設(shè)置發(fā)送數(shù)據(jù)前,先根據(jù)通訊協(xié)議由軟件設(shè)置TB8TB8(例如,雙機(jī)通(例如,雙機(jī)通訊時(shí)的奇偶校驗(yàn)位或多機(jī)通訊時(shí)的地址訊時(shí)的奇偶校驗(yàn)位或多機(jī)通訊時(shí)的地址/ /數(shù)據(jù)的標(biāo)志位)。然后將數(shù)據(jù)的標(biāo)志位)。然后將要發(fā)送的數(shù)據(jù)寫入要發(fā)送
40、的數(shù)據(jù)寫入SBUFSBUF,即可啟動(dòng)發(fā)送過程。串行口能自動(dòng)把,即可啟動(dòng)發(fā)送過程。串行口能自動(dòng)把TB8TB8取出,并裝入到第取出,并裝入到第9 9位數(shù)據(jù)位的位置,再逐一發(fā)送出去。發(fā)送完畢位數(shù)據(jù)位的位置,再逐一發(fā)送出去。發(fā)送完畢則則TITI位置位置1 1。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信【例例7-37-3】方式2發(fā)送在雙機(jī)通訊中的應(yīng)用。 在雙機(jī)通訊中,以在雙機(jī)通訊中,以TB8TB8作為奇偶校驗(yàn)位,處理方法為數(shù)據(jù)作為奇偶校驗(yàn)位,處理方法為數(shù)據(jù)寫入寫入SBUFSBUF之前,先將數(shù)據(jù)的奇偶校驗(yàn)位寫入之前,先將數(shù)據(jù)的奇偶校驗(yàn)位寫入TB8TB8。CPUCPU執(zhí)行一執(zhí)行一條
41、寫條寫SBUFSBUF的指令后,立即啟動(dòng)發(fā)送器發(fā)送。因發(fā)送完一幀信的指令后,立即啟動(dòng)發(fā)送器發(fā)送。因發(fā)送完一幀信息后,息后,TITI被置被置1 1,再次向,再次向CPUCPU申請(qǐng)中斷,所以進(jìn)入中斷服務(wù)程申請(qǐng)中斷,所以進(jìn)入中斷服務(wù)程序后,必須先將序后,必須先將TITI清零。清零。 源程序如下:源程序如下:PIPTI: PUSH PSW ;保護(hù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng) PUSH Acc CLR TI ;發(fā)送中斷標(biāo)志清;發(fā)送中斷標(biāo)志清0 MOV A,R0 ;取數(shù)據(jù);取數(shù)據(jù) MOV C,P ;取奇偶校驗(yàn)位;取奇偶校驗(yàn)位 MOV TB8,C ;奇偶校驗(yàn)位送;奇偶校驗(yàn)位送TB8 MOV SBUF ,A ;啟動(dòng)發(fā)送;啟
42、動(dòng)發(fā)送 INC R0 ;數(shù)據(jù)指針加;數(shù)據(jù)指針加1 POP Acc ;恢復(fù)現(xiàn)場(chǎng);恢復(fù)現(xiàn)場(chǎng) POP PSW RETI ;中斷返回;中斷返回第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信(2 2)方式)方式2 2接受接受 當(dāng)串行口置為方式當(dāng)串行口置為方式2 2,且,且REN=1REN=1時(shí),串行口以方式時(shí),串行口以方式2 2接收數(shù)接收數(shù)據(jù)。數(shù)據(jù)由據(jù)。數(shù)據(jù)由RXDRXD端輸入,接收端輸入,接收1111位信息。當(dāng)位檢測(cè)邏輯采樣到位信息。當(dāng)位檢測(cè)邏輯采樣到RXDRXD引腳從引腳從1 1到到0 0的負(fù)跳變,并判斷起始位有效后,便開始接收的負(fù)跳變,并判斷起始位有效后,便開始接收一幀信息。
43、在接收器到第一幀信息。在接收器到第9 9位數(shù)據(jù)后,需滿足以下兩個(gè)條件,位數(shù)據(jù)后,需滿足以下兩個(gè)條件,才能將接收到的數(shù)據(jù)送入才能將接收到的數(shù)據(jù)送入SBUFSBUF。 (1)RI=0(1)RI=0,意味著接收緩沖器已空。,意味著接收緩沖器已空。 (2)SM2=0 (2)SM2=0或接收到的第或接收到的第9 9位數(shù)據(jù)位位數(shù)據(jù)位RB8=1RB8=1。 當(dāng)上述兩個(gè)條件滿足時(shí),接收到的數(shù)據(jù)送入當(dāng)上述兩個(gè)條件滿足時(shí),接收到的數(shù)據(jù)送入SBUFSBUF(接收(接收緩沖器),第緩沖器),第9 9位數(shù)據(jù)送入位數(shù)據(jù)送入RB8RB8,并置,并置1 RI1 RI。若這兩個(gè)條件不。若這兩個(gè)條件不滿足,接收的信息將被丟棄。滿
44、足,接收的信息將被丟棄。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信【例例7-47-4】方式2接收在雙機(jī)通訊中的應(yīng)用。 本例與例本例與例7-37-3相對(duì)應(yīng)。若附加的第相對(duì)應(yīng)。若附加的第9 9位數(shù)據(jù)為校驗(yàn)位,在位數(shù)據(jù)為校驗(yàn)位,在接收程序中應(yīng)作奇偶校驗(yàn)處理,設(shè)接收程序中應(yīng)作奇偶校驗(yàn)處理,設(shè)R0R0為數(shù)據(jù)緩沖器指針。為數(shù)據(jù)緩沖器指針。源程序如下:源程序如下:LP:PUSH PSW;保護(hù)現(xiàn)場(chǎng)PUSHAccCLRRI;清接收中斷標(biāo)志MOVA,SBUF;接收數(shù)據(jù)送AMOVC,P;取奇偶校驗(yàn)位JNCL1;RB8是發(fā)送數(shù)據(jù)的校驗(yàn)位,P是接收數(shù)據(jù)的校驗(yàn)位,若P不等于RB8,則接收信息出錯(cuò)
45、。JNBRB8,ERR;P=1,RB8=0,轉(zhuǎn)ERRAJMP L2;P=1,RB8=1,轉(zhuǎn)L2L1: JBRB8,ERR;P=0,RB8=1,轉(zhuǎn)ERRL2: MOVR0,A;接收數(shù)據(jù)送存儲(chǔ)區(qū)INCR0POP AccPOP PSWERR:;出錯(cuò)處理程序段RETI要要保證主機(jī)與所選擇的從機(jī)實(shí)現(xiàn)可靠地通訊保證主機(jī)與所選擇的從機(jī)實(shí)現(xiàn)可靠地通訊,必須保證串,必須保證串口具有識(shí)別功能??诰哂凶R(shí)別功能。SCONSCON中的中的SM2SM2位位就是滿足這一條件而設(shè)置的就是滿足這一條件而設(shè)置的多機(jī)通訊控制位多機(jī)通訊控制位原理:原理:在串行口以方式在串行口以方式2 2(或方式(或方式3 3)接收時(shí),)接收時(shí),若若
46、SM2=1SM2=1,表示置多機(jī)通訊功能位,這時(shí)有兩種可能:表示置多機(jī)通訊功能位,這時(shí)有兩種可能: (1 1)接收到的第接收到的第9 9位數(shù)據(jù)為位數(shù)據(jù)為1 1時(shí)時(shí),數(shù)據(jù)才裝入,數(shù)據(jù)才裝入SBUFSBUF,并并置中斷標(biāo)志置中斷標(biāo)志RI=1RI=1向向CPUCPU發(fā)出中斷請(qǐng)求;發(fā)出中斷請(qǐng)求; (2 2)接收到的)接收到的第第9 9位數(shù)據(jù)為位數(shù)據(jù)為0 0時(shí)時(shí),則,則不產(chǎn)生中斷標(biāo)志不產(chǎn)生中斷標(biāo)志,信息將拋棄信息將拋棄。若若SM2=0SM2=0,則則接收的第接收的第9 9位數(shù)據(jù)不論是位數(shù)據(jù)不論是0 0還是還是1 1,都產(chǎn)生,都產(chǎn)生RI=1RI=1中斷標(biāo)志,接收到的數(shù)據(jù)裝入中斷標(biāo)志,接收到的數(shù)據(jù)裝入SBU
47、FSBUF中。中。7.3 MCS-517.3 MCS-51單片機(jī)之間的串行通信單片機(jī)之間的串行通信 設(shè)多機(jī)系統(tǒng)中有一主機(jī)和設(shè)多機(jī)系統(tǒng)中有一主機(jī)和3 3個(gè)個(gè)80318031從機(jī),從機(jī),如下圖。如下圖。 主機(jī)的主機(jī)的RXDRXD與從機(jī)的與從機(jī)的TXDTXD相連,主機(jī)相連,主機(jī)TXDTXD與從機(jī)的與從機(jī)的RXDRXD端相連端相連 從機(jī)地址分別為從機(jī)地址分別為0000H H、01H01H、02H02H。 多機(jī)通信系統(tǒng)示意圖多機(jī)通訊工作過程:多機(jī)通訊工作過程:(1 1)從機(jī)串行口)從機(jī)串行口編程為方式編程為方式2 2或方式或方式3 3接收接收,且,且置置“1”“1”SM2SM2和和RENREN位位,使從
48、機(jī)只處于多機(jī)通訊且接收地址幀的狀態(tài)。使從機(jī)只處于多機(jī)通訊且接收地址幀的狀態(tài)。(2 2)主機(jī))主機(jī)先將從機(jī)地址先將從機(jī)地址(即準(zhǔn)備接收數(shù)據(jù)的從機(jī))(即準(zhǔn)備接收數(shù)據(jù)的從機(jī))發(fā)給各從機(jī)發(fā)給各從機(jī), , 主主機(jī)發(fā)出的機(jī)發(fā)出的地址信息地址信息的第的第9 9位為位為1 1,各從機(jī)接收到的第各從機(jī)接收到的第9 9位信息位信息RB8RB8為為1 1,且由于,且由于SM2=1SM2=1,則置則置“1” “1” RIRI,各各從機(jī)響應(yīng)中斷,執(zhí)行中斷程序。在中斷服務(wù)子程序中,從機(jī)響應(yīng)中斷,執(zhí)行中斷程序。在中斷服務(wù)子程序中,判主機(jī)送來判主機(jī)送來的地址是否和本機(jī)地址相符合的地址是否和本機(jī)地址相符合,相符則該從機(jī)相符則該
49、從機(jī)清清“0”“0”SM2SM2位位,準(zhǔn)備,準(zhǔn)備接收主機(jī)的數(shù)據(jù)或命令;若接收主機(jī)的數(shù)據(jù)或命令;若不符,則保持不符,則保持SM2=1SM2=1狀態(tài)狀態(tài)。(3 3)接著主機(jī)發(fā)送數(shù)據(jù)幀接著主機(jī)發(fā)送數(shù)據(jù)幀,此時(shí)各從機(jī)串行口接收到,此時(shí)各從機(jī)串行口接收到 的的RB8=0RB8=0,只有地址相符合的從機(jī)系統(tǒng)(即已清只有地址相符合的從機(jī)系統(tǒng)(即已清“0”“0”SM2SM2位的從機(jī)位的從機(jī))才能激活才能激活RIRI,進(jìn)入中斷,在中斷程序中接收主機(jī)的數(shù)據(jù)(或命令進(jìn)入中斷,在中斷程序中接收主機(jī)的數(shù)據(jù)(或命令) 其它的從機(jī)其它的從機(jī)因因SM2SM21 1,又,又RB8=0RB8=0不激活中斷標(biāo)志不激活中斷標(biāo)志RIR
50、I,不能進(jìn)入中斷,不能進(jìn)入中斷,接收的數(shù)據(jù)丟失。接收的數(shù)據(jù)丟失。 多機(jī)系統(tǒng)是主從式,由主機(jī)控制多機(jī)之間的通訊,多機(jī)系統(tǒng)是主從式,由主機(jī)控制多機(jī)之間的通訊,從機(jī)和從機(jī)的通從機(jī)和從機(jī)的通訊只能經(jīng)主機(jī)才能實(shí)現(xiàn)訊只能經(jīng)主機(jī)才能實(shí)現(xiàn)。第第7 7章章 MCS-51MCS-51單片機(jī)串行通信單片機(jī)串行通信7.4 MCS-517.4 MCS-51串行通信的波特率串行通信的波特率 串行口的波特率用于表示數(shù)據(jù)傳輸?shù)乃俾?。波特率的選取不僅與所串行口的波特率用于表示數(shù)據(jù)傳輸?shù)乃俾省2ㄌ芈实倪x取不僅與所選通信設(shè)備、通信距離有關(guān),還受傳輸線的頻帶所限制,應(yīng)根據(jù)實(shí)際需選通信設(shè)備、通信距離有關(guān),還受傳輸線的頻帶所限制,應(yīng)根據(jù)實(shí)際需要正確選用。要正確選用。 方式方式0 0和和方式方式2 2的波特率是的波特率是固定固定的;的; 方式方式1 1和和方式方式3 3波特率可由波特率可由定時(shí)器定時(shí)器T1T1的溢出率的溢出率來確定來確定(1 1)方式方式0 0波特率波特率時(shí)鐘頻率時(shí)鐘頻率foscfosc1/121/12,不受,不受SMODSMOD位的位的值的影響。若值的影響。若foscfosc=12MHz=12MHz,波特率為波特率為fosc/12fosc/12即即1 1Mb/sMb/s。(2 2)方式方式2 2波特率波特率= =(2 2SMODSMOD/64/64)foscfosc 若若foscfosc=12M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度客車駕駛員勞動(dòng)合同示范文本
- 2025年度國(guó)際民間貿(mào)易合同模板修訂版
- 2025年度車輛租賃合同車輛使用規(guī)范合同
- 2025年度航空航天復(fù)合材料研發(fā)保密合同范本
- 2025年度專利文件兼職翻譯服務(wù)合同規(guī)范文本
- 2025年度綠色生態(tài)護(hù)坡設(shè)計(jì)與施工一體化合同樣本
- 2025年度工地磚渣環(huán)保處理與再生利用合同
- 2025年度航空航天零部件制造合同知識(shí)產(chǎn)權(quán)條款正規(guī)范本
- 2025年度跨境電商合同糾紛解決機(jī)制與法律適用
- 現(xiàn)代建筑設(shè)計(jì)的未來趨勢(shì)與實(shí)踐
- 《大小比較》(說課課件)二年級(jí)下冊(cè)數(shù)學(xué)西師大版
- 張五常子女和婚姻合約中的產(chǎn)權(quán)執(zhí)行問題
- 口腔粘膜常見疾病
- 校園安全派出所
- 餐廳值班管理培訓(xùn)
- XXXX無線維護(hù)崗位認(rèn)證教材故障處理思路及案例分析
- 2024年浙江省自然資源集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 酒店春節(jié)營(yíng)銷方案
- 營(yíng)銷管理方案中的定價(jià)策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級(jí)考試模擬試題)物理試卷
評(píng)論
0/150
提交評(píng)論