第七章MCS-51單片機串行通訊_第1頁
第七章MCS-51單片機串行通訊_第2頁
第七章MCS-51單片機串行通訊_第3頁
第七章MCS-51單片機串行通訊_第4頁
第七章MCS-51單片機串行通訊_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章第七章 MCS-51單片機串行通信部件單片機串行通信部件 串行通信的概念MCS-51單片機串行通信的結構原理7.3 單片機串行通信的工作方式和原理1并行通信和串行通信 通信是指計算機與計算機或外設之間的數(shù)據(jù)傳送,因此,這里的通信是指計算機與計算機或外設之間的數(shù)據(jù)傳送,因此,這里的“信信”是一種信息,是由數(shù)字是一種信息,是由數(shù)字1和和0構成的具有一定規(guī)則并反映確定信息的一個數(shù)構成的具有一定規(guī)則并反映確定信息的一個數(shù)據(jù)或一批數(shù)據(jù)。這種數(shù)據(jù)傳輸有兩種基本方式,即并行通信和串行通信。據(jù)或一批數(shù)據(jù)。這種數(shù)據(jù)傳輸有兩種基本方式,即并行通信和串行通信。 并行通信并行通信是數(shù)據(jù)的每位被同時傳輸出去或接收

2、進來。是數(shù)據(jù)的每位被同時傳輸出去或接收進來。 串行通信串行通信其數(shù)據(jù)傳輸是逐位傳輸?shù)?,因而在相同條件下,比并行通信其數(shù)據(jù)傳輸是逐位傳輸?shù)?,因而在相同條件下,比并行通信傳輸速度慢。傳輸速度慢。-基本概念基本概念 異步串行通信異步串行通信:簡稱為簡稱為異步通信異步通信,異步通信的實質是,異步通信的實質是指通信雙方采用獨立的時鐘,每個數(shù)據(jù)均以起始位開始,指通信雙方采用獨立的時鐘,每個數(shù)據(jù)均以起始位開始,停止位結束,起始位觸發(fā)甲乙雙方同步時鐘。每個異步停止位結束,起始位觸發(fā)甲乙雙方同步時鐘。每個異步串行幀中的串行幀中的1位彼此嚴格同步,位周期相同。所謂異步是位彼此嚴格同步,位周期相同。所謂異步是指發(fā)送

3、、接收雙方的數(shù)據(jù)幀與幀之間不要求同步,也不指發(fā)送、接收雙方的數(shù)據(jù)幀與幀之間不要求同步,也不必同步。必同步。-基本概念基本概念2異步串行通信和同步串行通信2異步串行通信和同步串行通信 異步通信異步通信,所傳輸?shù)臄?shù)據(jù)格式(也稱為串行幀)由,所傳輸?shù)臄?shù)據(jù)格式(也稱為串行幀)由1個起個起始位、始位、7個或個或8個數(shù)據(jù)位、個數(shù)據(jù)位、12個停止位(含個停止位(含1.5個停止位)和個停止位)和1個校驗位組成。起始位約定為個校驗位組成。起始位約定為0,空閑位約定為,空閑位約定為1。在異步通信。在異步通信方式中,接收器和發(fā)送器有各自的時鐘,它們的工作是非同步方式中,接收器和發(fā)送器有各自的時鐘,它們的工作是非同步

4、的。的。-基本概念基本概念 同步串行通信同步串行通信:簡稱為簡稱為同步通信同步通信,發(fā)送器和接收器由同一個時鐘,發(fā)送器和接收器由同一個時鐘源控制。在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,源控制。在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時間,在要求傳送數(shù)據(jù)量較大的場合,速度就會慢得多。占用了傳輸時間,在要求傳送數(shù)據(jù)量較大的場合,速度就會慢得多。同步傳輸方式去掉了這些起始位和停止位,只在傳輸數(shù)據(jù)塊時先送出同步傳輸方式去掉了這些起始位和停止位,只在傳輸數(shù)據(jù)塊時先送出一個同步頭(字符)標志即可。一個同步頭(字符)標志即可。 同步傳輸方式比異步傳輸方式速度快,這是它

5、的優(yōu)勢。但同步傳同步傳輸方式比異步傳輸方式速度快,這是它的優(yōu)勢。但同步傳輸方式也有其缺點,即它必須要用一個時鐘來協(xié)調收發(fā)器的工作,所輸方式也有其缺點,即它必須要用一個時鐘來協(xié)調收發(fā)器的工作,所以它的設備也較復雜。以它的設備也較復雜。-基本概念基本概念2異步串行通信和同步串行通信數(shù)據(jù)通信的傳輸方式有單工、半雙工和全雙工方式。數(shù)據(jù)通信的傳輸方式有單工、半雙工和全雙工方式。3數(shù)據(jù)通信的傳輸類型-傳輸方式傳輸方式單工方式:單工方式:數(shù)據(jù)僅按一個固定方向傳送。數(shù)據(jù)僅按一個固定方向傳送。半雙工方式:半雙工方式:數(shù)據(jù)可實現(xiàn)雙向傳送,但不能同時進行。數(shù)據(jù)可實現(xiàn)雙向傳送,但不能同時進行。全雙工方式:全雙工方式:

6、允許雙方同時進行數(shù)據(jù)雙向傳送。允許雙方同時進行數(shù)據(jù)雙向傳送。 根據(jù)串行通信的不同工作方式,可將發(fā)送接收線合二為一,成根據(jù)串行通信的不同工作方式,可將發(fā)送接收線合二為一,成為發(fā)送為發(fā)送/接收復用線(如半雙工)。即便在實際應用中可能還要附加接收復用線(如半雙工)。即便在實際應用中可能還要附加一些信號線,如應答信號線、準備好信號線等,但在多字節(jié)數(shù)據(jù)通一些信號線,如應答信號線、準備好信號線等,但在多字節(jié)數(shù)據(jù)通信中,串行通信與并行通信相比,其工程實現(xiàn)上造價要低得多。信中,串行通信與并行通信相比,其工程實現(xiàn)上造價要低得多。 因此,串行通信已被越來越廣泛地采用,尤其是,串行通信通因此,串行通信已被越來越廣泛

7、地采用,尤其是,串行通信通過在信道中設立調制過在信道中設立調制/解調器中繼站等,可使數(shù)據(jù)傳輸?shù)降厍虻拿總€解調器中繼站等,可使數(shù)據(jù)傳輸?shù)降厍虻拿總€角落。目前,飛速發(fā)展的計算機網(wǎng)絡技術(互聯(lián)網(wǎng)、廣域網(wǎng)、局域角落。目前,飛速發(fā)展的計算機網(wǎng)絡技術(互聯(lián)網(wǎng)、廣域網(wǎng)、局域網(wǎng))均為串行通信。網(wǎng))均為串行通信。-基本概念基本概念3數(shù)據(jù)通信的傳輸類型4波特率及時鐘頻率發(fā)送發(fā)送/接收時鐘頻率與波特率有關,即接收時鐘頻率與波特率有關,即fT/R=nBRT/R式中,式中,fT/R為發(fā)為發(fā)/收時鐘頻率,單位:收時鐘頻率,單位:Hz;BRT/R為發(fā)為發(fā)/收波收波特率,單位:特率,單位:bps;n為波特率因子。為波特率因子

8、。同步通信同步通信n=1。異步通信。異步通信n可取可取1、16或或64。也就是說,。也就是說,同步通信中數(shù)據(jù)傳輸?shù)牟ㄌ芈始礊橥綍r鐘頻率;而異步通同步通信中數(shù)據(jù)傳輸?shù)牟ㄌ芈始礊橥綍r鐘頻率;而異步通信中,時鐘頻率可為波特率的整數(shù)倍。信中,時鐘頻率可為波特率的整數(shù)倍。-基本概念基本概念5串行通信的校驗 異步通信時可能會出現(xiàn)幀格式錯、超時錯等傳輸錯誤。異步通信時可能會出現(xiàn)幀格式錯、超時錯等傳輸錯誤。在具有串行口應用的單片機開發(fā)中,應考慮在通信過程中對在具有串行口應用的單片機開發(fā)中,應考慮在通信過程中對數(shù)據(jù)差錯進行校驗,因為差錯校驗是保證準確無誤通信的關數(shù)據(jù)差錯進行校驗,因為差錯校驗是保證準確無誤通

9、信的關鍵。鍵。 常用差錯校驗方法有奇偶校驗(常用差錯校驗方法有奇偶校驗(MCS-51系列單片機編系列單片機編程采用此法)、和校驗及循環(huán)冗余碼校驗。程采用此法)、和校驗及循環(huán)冗余碼校驗。-傳輸?shù)臏蚀_性傳輸?shù)臏蚀_性 在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的一位數(shù)據(jù)為奇偶校驗位在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的一位數(shù)據(jù)為奇偶校驗位(1或或0)。)。 當設置為奇校驗時,數(shù)據(jù)中當設置為奇校驗時,數(shù)據(jù)中1的個數(shù)與校驗位的個數(shù)與校驗位1的個數(shù)之的個數(shù)之和應為奇數(shù);和應為奇數(shù); 當設置為偶校驗時,數(shù)據(jù)中當設置為偶校驗時,數(shù)據(jù)中1的個數(shù)與校驗位中的個數(shù)與校驗位中1的個的個數(shù)之和應為偶數(shù)。數(shù)之和應為偶數(shù)。 接收時,接收方應具有與發(fā)送方

10、一致的差錯檢驗設置,接收時,接收方應具有與發(fā)送方一致的差錯檢驗設置,當接收一個字符時,對當接收一個字符時,對1的個數(shù)進行校驗,若二者不一致,的個數(shù)進行校驗,若二者不一致,則說明數(shù)據(jù)傳送出現(xiàn)了差錯。則說明數(shù)據(jù)傳送出現(xiàn)了差錯。 奇偶校驗是按字符校驗,數(shù)據(jù)傳輸速度將受到影響。奇偶校驗是按字符校驗,數(shù)據(jù)傳輸速度將受到影響。這種特點使得它一般只用于異步串行通信中。這種特點使得它一般只用于異步串行通信中。-奇偶校驗奇偶校驗5串行通信的校驗 所謂和校驗是指發(fā)送方將所發(fā)送的數(shù)據(jù)塊求所謂和校驗是指發(fā)送方將所發(fā)送的數(shù)據(jù)塊求和(字節(jié)數(shù)求和),并產(chǎn)生一個字節(jié)的校驗字符和(字節(jié)數(shù)求和),并產(chǎn)生一個字節(jié)的校驗字符(校驗和

11、)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)(校驗和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)時也是先對數(shù)據(jù)塊求和,將所得結果與發(fā)送方的時也是先對數(shù)據(jù)塊求和,將所得結果與發(fā)送方的校驗和進行比較,相符則無差錯,否則即出現(xiàn)了校驗和進行比較,相符則無差錯,否則即出現(xiàn)了差錯。這種和校驗的特點是無法檢驗出字節(jié)位序差錯。這種和校驗的特點是無法檢驗出字節(jié)位序的錯誤。的錯誤。-和校驗和校驗5串行通信的校驗 這種校驗是對一個數(shù)據(jù)塊校驗一次。循環(huán)冗余編碼又名這種校驗是對一個數(shù)據(jù)塊校驗一次。循環(huán)冗余編碼又名多項式編碼(多項式編碼(polynomial code),也稱也稱CRC(Cyclic Redundancy Check)。CR

12、C的工作方法是在發(fā)送端產(chǎn)生一的工作方法是在發(fā)送端產(chǎn)生一個循環(huán)冗余碼,附加在信息位后面一起發(fā)送到接收端,接收個循環(huán)冗余碼,附加在信息位后面一起發(fā)送到接收端,接收端收到的信息按發(fā)送端形成循環(huán)冗余碼同樣的算法進行校驗,端收到的信息按發(fā)送端形成循環(huán)冗余碼同樣的算法進行校驗,若有錯,需重發(fā)。若有錯,需重發(fā)。CRC校驗碼的編碼方法是用待發(fā)送的二進校驗碼的編碼方法是用待發(fā)送的二進制數(shù)據(jù)制數(shù)據(jù)t(x)除以生成多項式)除以生成多項式g(x),將最后的余數(shù)作為),將最后的余數(shù)作為CRC校驗碼。這種方法廣泛應用于串行通信方式。校驗碼。這種方法廣泛應用于串行通信方式。-循環(huán)冗余碼校驗循環(huán)冗余碼校驗5串行通信的校驗 5

13、1系列單片機配置了一個系列單片機配置了一個UART(Universal asynchronous Receiver/Transmitter)的串行接口的串行接口 。MCS-51單片機串行口是單片機串行口是由以下部分構成:發(fā)送緩沖寄存器(由以下部分構成:發(fā)送緩沖寄存器(SBUF),發(fā)送控制器,),發(fā)送控制器,發(fā)送控制門,接收緩沖寄存器(發(fā)送控制門,接收緩沖寄存器(SBUF),接收控制寄存器,),接收控制寄存器,移位寄存器,中斷等部分組成。移位寄存器,中斷等部分組成。7.2 單片機串行接口的結構原理單片機串行接口的結構原理 -串行口結構串行口結構 MCS-51單片機內部是一個全雙工的異步串行通信口

14、,與串行通信有關的控制寄存器共有4個:SBUF、SCON、PCON和IE。-SBUF7.2 單片機串行接口的結構原理單片機串行接口的結構原理 該串行接口的特性如下:該串行接口的特性如下: 通訊格式:異步通訊。 通訊類型:完全雙工,可以同時接收和發(fā)送串行數(shù)據(jù)。 工作方式:4種工作方式,1種方式用于I/O接口擴展,3種方式用于串行通訊。 在邏輯上,SBUF只有一個,既表示發(fā)送寄存器,又表示接收寄存器,具有同一個單元地址99H。在物理上,SBUF有兩個,一個是發(fā)送寄存器,另一個是接收寄存器。訪問緩沖器時,通過采用不同的指令來區(qū)分訪問不同的緩沖器,比如: 寫入發(fā)送緩沖器時,用指令“MOV SBUF,

15、A”; 讀取接收緩沖器時,用指令“MOV A, SBUF”。-接收接收/發(fā)送緩沖器(發(fā)送緩沖器(SBUF)7.2 單片機串行接口的結構原理單片機串行接口的結構原理 發(fā)送控制器:發(fā)送控制器: 用于將發(fā)送緩沖器的數(shù)據(jù)按異步通訊的數(shù)據(jù)格式通過輸出控制門一位一位地從TXD引腳上發(fā)出。接收控制器:接收控制器: 用于將引腳RXD上輸入的串行信息通過輸入移位寄存器轉換成并行信息,然后送入接收緩沖器。串行控制寄存器串行控制寄存器SCON(Serial Control): 用于確定串行口工作方式,使串行口按確定的工作方式工作。7.2 單片機串行接口的結構原理單片機串行接口的結構原理 串行口中斷申請信號串行口中斷

16、申請信號TI、RI: 串行口有兩個中斷申請信號,一個是TI,當串行口將1幀數(shù)據(jù)發(fā)送完畢后,TI被置1,向CPU申請中斷;一個是RI,當串行口接收完1個數(shù)據(jù)后,RI被置1,向CPU申請中斷。波特率發(fā)生器波特率發(fā)生器T1/T2: 用于產(chǎn)生串行口傳輸信息時的移位時鐘信號,控制串行信息傳輸?shù)乃俾?。通過對T1或T2以及特殊功能寄存器PCON的設置,可以選擇T1或T2產(chǎn)生串行口傳輸信息時的移位時鐘信號,并設置符合要求的波特率。由于該部件不屬于串行口內的電路,故放在虛線以外。7.2 單片機串行接口的結構原理單片機串行接口的結構原理接收器接受數(shù)據(jù)原理接收器接受數(shù)據(jù)原理 SCON是是MCS-51的一個可位尋址的

17、專用寄存器,用于的一個可位尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制。單元地址串行數(shù)據(jù)通信的控制。單元地址98H,位地址,位地址9FH98H。SCON各位的定義如表各位的定義如表7-4所示。所示。 -串行控制寄存器(串行控制寄存器(SCON)7.3 單片機串行通信的工作方式和原理單片機串行通信的工作方式和原理 SM11)串行口工作方式選擇位串行口工作方式選擇位SM0、SM1 SM0、SM1由軟件置1或清0,用于選擇串行口的4種工作方式。-串行控制寄存器(串行控制寄存器(SCON)7.3 單片機串行接口的工作方式和原理 2) 多機通信控制位多機通信控制位SM2 SM2=1時,接收到一幀信息,如果接

18、收到的第9位數(shù)據(jù)為1,硬件將RI置1,申請中斷;如果第九位數(shù)據(jù)為0,則RI不置1,且所接收的數(shù)據(jù)無效。SM2=0時,只要接收到一幀信息,不管第九位數(shù)據(jù)是0還是1,硬件都置RI=1,并申請中斷。RI由軟件清0,SM2由軟件置1或清0。多機通信時,各從機先將SM2置l。接收并識別主機發(fā)來的地址,當?shù)刂放c本機相同時,將SM2清0,與主機進行數(shù)據(jù)傳遞。各機所發(fā)送的數(shù)據(jù)第9位必須為0。-串行控制寄存器(串行控制寄存器(SCON)7.3 單片機串行接口的工作方式和原理 3) 允許接收控制位允許接收控制位RENREN=1時允許并啟動接收,REN=0時禁止接收。REN由軟件置1或清0。4) 發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)D

19、8位位TB8TB8是方式2、方式3中要發(fā)送的第九位數(shù)據(jù),事先用軟件寫入1或0。方式0、方式1不用。-串行控制寄存器(串行控制寄存器(SCON)7.3 單片機串行接口的工作方式和原理 5) 接收數(shù)據(jù)接收數(shù)據(jù)D8位位RB8方式2、方式3中,由硬件將接收到的第九位數(shù)據(jù)存入RB8。方式1中,停止位存入RB8。6) 發(fā)送中斷標志位發(fā)送中斷標志位TI發(fā)送完一幀信息,由硬件使TI置1,TI必須由軟件清0。7) 接收中斷標志位接收中斷標志位RI接收完一幀有效信息,由硬件使RI置1,RI必須由軟件清0。-串行控制寄存器(串行控制寄存器(SCON)7.3 單片機串行接口的工作方式和原理 IE的地址是A8H,其內容

20、第6章已介紹。其中串行口允許中斷的控制位為ES,當ES=1,允許串行口中斷;當ES=0,禁止串行中斷。-PCON與與IE7.3 單片機串行接口的工作方式和原理 -工作方式工作方式7.3 單片機串行接口的工作方式和原理 在方式在方式0下,串行口作為同步移位寄存器使用。這時用下,串行口作為同步移位寄存器使用。這時用RXD(P3.0)引腳作為數(shù)據(jù)移位的入口和出口,而由)引腳作為數(shù)據(jù)移位的入口和出口,而由TXD(P3.1)引腳提供移位脈沖。移位數(shù)據(jù)的發(fā)送和接收以)引腳提供移位脈沖。移位數(shù)據(jù)的發(fā)送和接收以8位位為一幀,不設起始位和停止位,低位在前高位在后,其幀格為一幀,不設起始位和停止位,低位在前高位在

21、后,其幀格式如圖所示。式如圖所示。-工作方式工作方式7.3 單片機串行接口的工作方式和原理 1)擴展輸出口)擴展輸出口 該擴展輸出功能實際是將串行輸出變?yōu)椴⑿休敵鲈摂U展輸出功能實際是將串行輸出變?yōu)椴⑿休敵?工作方式工作方式7.3 單片機串行接口的工作方式和原理 圖7-10 方式0擴展輸出口1)擴展輸出口)擴展輸出口-工作方式工作方式7.3 單片機串行接口的工作方式和原理 圖7-11 方式0輸出時序CPU執(zhí)行“MOVSBUF,A” 后串口方式串口方式0的輸出擴展應用的輸出擴展應用例:例:使用使用74HC164的并行輸出引腳接的并行輸出引腳接8支發(fā)光二極管,利用它的串入并出支發(fā)光二極管,利用它的串

22、入并出功能,把發(fā)光二極管從左向右輪流點亮,并反復循環(huán)。發(fā)光二極管為共功能,把發(fā)光二極管從左向右輪流點亮,并反復循環(huán)。發(fā)光二極管為共陰極型,電路連接如圖所示。陰極型,電路連接如圖所示。-串行移位輸出串行移位輸出7.3 單片機串行接口的工作方式和原理 匯編語言編程匯編語言編程 ORG 1000HSTART: MOV SCON, #00H;置串行口工作方式置串行口工作方式0 MOV A, #80H;最高位燈先亮最高位燈先亮 CLR P1.0;關閉并行輸出關閉并行輸出OUT0: MOV SBUF, A;開始串行輸出開始串行輸出OUT1: JNB TI, OUT1 ;輸出完否輸出完否?未完未完,等待完了

23、等待完了,繼續(xù)執(zhí)行繼續(xù)執(zhí)行 CLR TI ;完了完了,清零清零TI標志位標志位,以備下次發(fā)送以備下次發(fā)送 SETB P1.0 ;打開并行口輸出打開并行口輸出 ACALL DELAY ;延時一段時間延時一段時間 RRA ;循環(huán)右移循環(huán)右移 CLR P1.0 ;關閉并行輸出關閉并行輸出 SJMP OUT0 ;循環(huán)循環(huán)-串行移位輸出串行移位輸出7.3 單片機串行接口的工作方式和原理 ;延時子程序延時子程序DELAY: MOVR7, #250D1: MOVR6, #250D2: DJNZR6, D2 DJNZR7, D1 RET END-串行移位輸出串行移位輸出7.3 單片機串行接口的工作方式和原理

24、-串行移位輸入串行移位輸入7.3 單片機串行接口的工作方式和原理 2)擴展輸入口)擴展輸入口 該擴展輸出功能實際是將并行輸入變?yōu)榇休斎朐摂U展輸出功能實際是將并行輸入變?yōu)榇休斎雸D7-12 方式0擴展輸入口 -串行移位輸入串行移位輸入7.3 單片機串行接口的工作方式和原理 2)擴展輸入口)擴展輸入口 圖7-13 方式0輸入時序 CPU執(zhí)行“SETBREN”后 -串行移位輸入串行移位輸入7.3 單片機串行接口的工作方式和原理 例:若有某單片機應用系統(tǒng),其串行口的電路如圖例:若有某單片機應用系統(tǒng),其串行口的電路如圖7-12所示。所示。要求編一程序段先將外部數(shù)據(jù)裝入外部移位寄存器(要求編一程序段先將

25、外部數(shù)據(jù)裝入外部移位寄存器(1)和)和(2),然后把它們輸入至單片機,并把它們分別存放在內),然后把它們輸入至單片機,并把它們分別存放在內部數(shù)據(jù)存儲器部數(shù)據(jù)存儲器30H、31H單元。單元。-串行移位輸入串行移位輸入7.3 單片機串行接口的工作方式和原理 解:根據(jù)題意,程序編制如下: START:MOVR0, #30H;設置內部數(shù)據(jù)存儲器指針。MOVR7, #02H;設置接收數(shù)據(jù)個數(shù)計數(shù)器。MOVSCON, #00H;將串行口設置在方式0,并清RI。LOOP:CLRP1.0;將外部數(shù)據(jù)裝入外部移位寄存器。SETBP1.0; 將外部移位寄存器控制在移位狀態(tài)。SETBREN;啟動串行口輸入數(shù)據(jù)。WA

26、IT:JB RI,NEXT: 如串行口接收到數(shù)據(jù),則轉入NEXT。SJMPWAIT; 如串行口位接收到數(shù)據(jù),則繼續(xù)等待查詢。NEXT:MOVA,SBUF;將接收到的數(shù)據(jù)暫存ACC。MOVR0,A; 將接收到的數(shù)據(jù)存放在內部數(shù)據(jù)存儲器。 INCR0;數(shù)據(jù)區(qū)指針加1。 CLRREN;清REN,準備再一次啟動串行口接收數(shù)據(jù)。 CLRRI;清RI,準備再一次啟動串行口接收數(shù)據(jù)。DJNZR7,LOOP;判斷是否還有未接收的數(shù)據(jù)。STOP:SJMPSTOP;程序在此 -串行工作方式串行工作方式17.3 單片機串行接口的工作方式和原理 串行口在方式1下為8位異步通訊接口,一幀信息為10位,其中1位起始位、8

27、位數(shù)據(jù)位、1位停止位,TXD為發(fā)送端,RXD為接收端,波特率可調,波特率信號來自T1或T2。串行口方式1的數(shù)據(jù)一幀格式-串行工作方式串行工作方式17.3 單片機串行接口的工作方式和原理 1)串行口方式)串行口方式1發(fā)送原理發(fā)送原理 圖7-14 方式1發(fā)送時序CPU執(zhí)行MOV SBUF,A后-串行工作方式串行工作方式17.3 單片機串行接口的工作方式和原理 2)串行口方式)串行口方式1接受原理接受原理 圖7-15 方式1接收時序CPU執(zhí)行SETB REN后-串行工作方式串行工作方式2、37.3 單片機串行接口的工作方式和原理 串行口工作方式串行口工作方式2、3都是作為都是作為9位位UART接口,

28、是加了控接口,是加了控制位的制位的UART。發(fā)送和接收的一幀信息是由。發(fā)送和接收的一幀信息是由11位組成,即起始位組成,即起始位位1位,數(shù)據(jù)位位,數(shù)據(jù)位8位,控制位位,控制位1位和停止位位和停止位1位。發(fā)送數(shù)據(jù)時,位。發(fā)送數(shù)據(jù)時,控制位是控制位是TB8;接收數(shù)據(jù)時,控制位是;接收數(shù)據(jù)時,控制位是RB8。在通訊中,發(fā)送。在通訊中,發(fā)送方的方的TB8送至接收方的送至接收方的RB8。 方式方式2和方式和方式3的區(qū)別在于:方式的區(qū)別在于:方式2的波特率是的波特率是fosc/32或或fosc/64,不需要,不需要T1或或T2充當波特率發(fā)生器,有利于節(jié)省單片充當波特率發(fā)生器,有利于節(jié)省單片機機CTC資源。

29、而方式資源。而方式3的波特率是可調的,需要的波特率是可調的,需要T1或或T2充當波充當波特率發(fā)生器。特率發(fā)生器。串行口方式2、3的數(shù)據(jù)一幀格式-串行工作方式串行工作方式2、37.3 單片機串行接口的工作方式和原理 1)串行口方式)串行口方式2、3發(fā)送原理發(fā)送原理 圖7-16 方式2、3發(fā)送時序CPU執(zhí)行“MOV SBUF,A”后-串行工作方式串行工作方式2、37.3 單片機串行接口的工作方式和原理 2)串行口方式)串行口方式2、3接受原理接受原理 圖7-17 方式2、3接收時序CPU執(zhí)行“SETB REN”后-串行口數(shù)據(jù)傳送的波特率串行口數(shù)據(jù)傳送的波特率 7.3 單片機串行接口的工作方式和原理

30、 51系列單片機串行口的波特率是根據(jù)串行口的工作方式系列單片機串行口的波特率是根據(jù)串行口的工作方式來確定的,不同的方式對應不同的波特率,以下具體說明串來確定的,不同的方式對應不同的波特率,以下具體說明串行口波特率的確定方法:行口波特率的確定方法:當串行口工作于方式當串行口工作于方式0時,時,其波特率或移位信號的頻率是固定其波特率或移位信號的頻率是固定的,的,BR=fosc/12。當串行口工作于方式當串行口工作于方式2時,時,波特率的計算公式為:波特率的計算公式為:BR=2SMODfosc/64。當串行口工作于方式當串行口工作于方式1、3時,時,T1和和T2都可以作為波特率發(fā)生都可以作為波特率發(fā)

31、生器,波特率的計算方法也各有不同。器,波特率的計算方法也各有不同。-串行口數(shù)據(jù)傳送的波特率串行口數(shù)據(jù)傳送的波特率 7.3 單片機串行接口的工作方式和原理 T1作為波特率發(fā)生器,一般它被設置在工作模式作為波特率發(fā)生器,一般它被設置在工作模式2,則,則)a2(384f2BR8oscSMOD)a2(384f2BR8oscSMOD T2作為波特率發(fā)生器,則作為波特率發(fā)生器,則)a2(32fBR16osc 由特殊功能寄存器由特殊功能寄存器T2CON的的TCLK、RCLK二位取值決定:二位取值決定:如果選擇如果選擇T1作為波特率發(fā)生器,則將作為波特率發(fā)生器,則將TCLK、RCLK位都清零;位都清零;如果選

32、擇如果選擇T2作為波特率發(fā)生器,則將作為波特率發(fā)生器,則將TCLK、RCLK位都置位都置1。 為能獲得準確的波特率可選用為能獲得準確的波特率可選用11.0592Mhz作為系統(tǒng)時鐘頻作為系統(tǒng)時鐘頻率。率。 -串行口應用舉例串行口應用舉例 7.3 單片機串行接口的工作方式和原理單片機串行接口的工作方式和原理 例:某例:某89C52單片機應用系統(tǒng)的系統(tǒng)工作頻率單片機應用系統(tǒng)的系統(tǒng)工作頻率fosc為為11.0592MHZ,要,要求其串行口工作在方式求其串行口工作在方式3進行發(fā)送和接收數(shù)據(jù),用進行發(fā)送和接收數(shù)據(jù),用T1作為波特率發(fā)生器,作為波特率發(fā)生器,波特率為波特率為1200b/s、SMOD=0,求在

33、進行串行口初始化過程中,求在進行串行口初始化過程中T1的初值的初值為多少?并編寫串行口初始化程序。為多少?并編寫串行口初始化程序。 解:解:根據(jù)題意,根據(jù)題意,T1初值按式(初值按式(7-1)計算如下:)計算如下:按題意串行口初始化程序編制如下:按題意串行口初始化程序編制如下:CLRTCLK; 擇擇T1作為波特率發(fā)生器。作為波特率發(fā)生器。CLRRCLK; 選擇選擇T1作為波特率發(fā)生器。作為波特率發(fā)生器。MOVTMOD, #20H; 把把T1設置為工作模式設置為工作模式2定時器方式。定時器方式。 MOVTH1,#0E8H; 設置定時器初值。設置定時器初值。 MOVTL1,#0E8H; 設置定時器

34、初值。設置定時器初值。 ANLPCON, #7FH; 將將SMOD控制位清控制位清0。 SETBTR1; 啟動啟動T1波特率發(fā)生器。波特率發(fā)生器。 MOVSCON, #0D0H; 把串行口設置為方式把串行口設置為方式3, ;并啟動串行口接收數(shù)據(jù)。;并啟動串行口接收數(shù)據(jù)。 H8E232242561200384100592.112256BR384f22a60oscSMOD81-串行口應用舉例串行口應用舉例 7.3 單片機串行接口的工作方式和原理 例例7-6:某:某89C52單片機應用系統(tǒng)的系統(tǒng)工作頻率單片機應用系統(tǒng)的系統(tǒng)工作頻率fosc為為11.0592MHZ,要求其串行口工作在方式要求其串行口工

35、作在方式1進行發(fā)送和接收數(shù)據(jù),用進行發(fā)送和接收數(shù)據(jù),用T2作為波特率發(fā)生作為波特率發(fā)生器,波特率為器,波特率為9600b/s,求在進行串行口初始化過程中,求在進行串行口初始化過程中T2的初值為多少?的初值為多少?并編寫串行口初始化程序。并編寫串行口初始化程序。解:解:根據(jù)題意,根據(jù)題意,T2初值按式(初值按式(7-2)計算如下:)計算如下:按題意串行口初始化程序編制如下:按題意串行口初始化程序編制如下: MOVT2MOD, #00H; 把把T2設置為波特率發(fā)生器工作模式。設置為波特率發(fā)生器工作模式。MOVT2CON,#30H;把把T2設置為波特率發(fā)生器工作模式。設置為波特率發(fā)生器工作模式。 M

36、OVTH2, #0FFH;設置定時器初值。設置定時器初值。 MOVTL2, #0DCH;設置定時器初值。設置定時器初值。 MOVRCAPH,#0FFH;設置定時器重裝的初值。設置定時器重裝的初值。 MOVRCAPL,#0DCH;設置定時器重裝的初值。設置定時器重裝的初值。 SETBTR2;啟動啟動T2波特率發(fā)生器。波特率發(fā)生器。 MOVSCON, #50H; 把串行口設置為方式把串行口設置為方式1, ;并啟動串行口接收數(shù)據(jù)。;并啟動串行口接收數(shù)據(jù)。 FFDCH655003665536960032100592.1165536BR32f2a6osc162-串行口應用舉例串行口應用舉例 7.3 單片

37、機串行接口的工作方式和原理 例例7-7:在某:在某89C52單片機應用系統(tǒng)中有兩片單片機(甲、單片機應用系統(tǒng)中有兩片單片機(甲、乙),如圖乙),如圖7-18所示。試編一甲機串行口發(fā)送子程序。串行所示。試編一甲機串行口發(fā)送子程序。串行口采用方式口采用方式3、偶校驗、偶校驗、T1為波特率發(fā)生器、波特率為為波特率發(fā)生器、波特率為9600、附加的第附加的第9位數(shù)據(jù)作為奇偶校驗位。設位數(shù)據(jù)作為奇偶校驗位。設fosc為為11.0592MHZ,SMOD為為0。程序采用查詢方式將內部數(shù)據(jù)存儲器。程序采用查詢方式將內部數(shù)據(jù)存儲器50H5FH單元的數(shù)據(jù)一一從串行口發(fā)送出去。單元的數(shù)據(jù)一一從串行口發(fā)送出去。 解:根據(jù)題意,波特率發(fā)生器T1的初值計算如下:FDH25332569600384100592.112256BR384f22a60oscSMOD81-串行口應用舉例串行口應用舉例 7.3 單片機串行接口的工作方式和原理 M3T: PUSHPSW ;保護現(xiàn)場。保護現(xiàn)場。 PUSHACC ;保護現(xiàn)場。保護現(xiàn)場。 MOVPSW, #08H ;將工作寄存器區(qū)設置在將工作寄存器區(qū)設置在1區(qū)。區(qū)。 CLR TCLK ;選擇選

溫馨提示

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

評論

0/150

提交評論