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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31、生器,波特率的計(jì)算方法也各有不同。器,波特率的計(jì)算方法也各有不同。-串行口數(shù)據(jù)傳送的波特率串行口數(shù)據(jù)傳送的波特率 7.3 單片機(jī)串行接口的工作方式和原理 T1作為波特率發(fā)生器,一般它被設(shè)置在工作模式作為波特率發(fā)生器,一般它被設(shè)置在工作模式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。 為能獲得準(zhǔn)確的波特率可選用為能獲得準(zhǔn)確的波特率可選用11.0592Mhz作為系統(tǒng)時(shí)鐘頻作為系統(tǒng)時(shí)鐘頻率。率。 -串行口應(yīng)用舉例串行口應(yīng)用舉例 7.3 單片機(jī)串行接口的工作方式和原理單片機(jī)串行接口的工作方式和原理 例:某例:某89C52單片機(jī)應(yīng)用系統(tǒng)的系統(tǒng)工作頻率單片機(jī)應(yīng)用系統(tǒng)的系統(tǒng)工作頻率fosc為為11.0592MHZ,要,要求其串行口工作在方式求其串行口工作在方式3進(jìn)行發(fā)送和接收數(shù)據(jù),用進(jìn)行發(fā)送和接收數(shù)據(jù),用T1作為波特率發(fā)生器,作為波特率發(fā)生器,波特率為波特率為1200b/s、SMOD=0,求在

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論