![外部中斷-串口通訊_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/906683d4-d1d8-434e-ac32-6ecb7f42d02b/906683d4-d1d8-434e-ac32-6ecb7f42d02b1.gif)
![外部中斷-串口通訊_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/906683d4-d1d8-434e-ac32-6ecb7f42d02b/906683d4-d1d8-434e-ac32-6ecb7f42d02b2.gif)
![外部中斷-串口通訊_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/906683d4-d1d8-434e-ac32-6ecb7f42d02b/906683d4-d1d8-434e-ac32-6ecb7f42d02b3.gif)
![外部中斷-串口通訊_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/906683d4-d1d8-434e-ac32-6ecb7f42d02b/906683d4-d1d8-434e-ac32-6ecb7f42d02b4.gif)
![外部中斷-串口通訊_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/906683d4-d1d8-434e-ac32-6ecb7f42d02b/906683d4-d1d8-434e-ac32-6ecb7f42d02b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中斷和中斷系統(tǒng) CPU正在處理某件事的時(shí)候,外部發(fā)生了另一事件,請求CPU迅速處理,CPU暫時(shí)停止當(dāng)時(shí)的工作,轉(zhuǎn)入處理所發(fā)生的事件,處理結(jié)束后,再回到原來的地方,繼續(xù)原來的工作,這樣的過程稱為中斷,如圖所示。MCS-51中斷系統(tǒng)RETI主主程程序序中中斷斷服服務(wù)務(wù)中斷中斷請求請求 中斷過程示意圖中斷過程示意圖中斷系統(tǒng)中斷系統(tǒng)實(shí)現(xiàn)中斷功能的部件實(shí)現(xiàn)中斷功能的部件中斷源中斷源產(chǎn)生中斷請求的源產(chǎn)生中斷請求的源中斷優(yōu)先級中斷優(yōu)先級 一般計(jì)算機(jī)系統(tǒng)允許有多個(gè)中斷源。當(dāng)幾個(gè)中斷一般計(jì)算機(jī)系統(tǒng)允許有多個(gè)中斷源。當(dāng)幾個(gè)中斷源同時(shí)向源同時(shí)向CPUCPU請求中斷,要求服務(wù)時(shí),就存在請求中斷,要求服務(wù)時(shí),就存在CP
2、UCPU優(yōu)先優(yōu)先響應(yīng)哪一個(gè)中斷請求的問題。為此系統(tǒng)根據(jù)中斷源的響應(yīng)哪一個(gè)中斷請求的問題。為此系統(tǒng)根據(jù)中斷源的輕重緩急進(jìn)行排隊(duì),規(guī)定每個(gè)中斷源都有一個(gè)中斷優(yōu)輕重緩急進(jìn)行排隊(duì),規(guī)定每個(gè)中斷源都有一個(gè)中斷優(yōu)先級別,優(yōu)先處理最緊急事件的中斷請求。先級別,優(yōu)先處理最緊急事件的中斷請求。中斷嵌套中斷嵌套 中斷嵌套是指中斷嵌套是指CPUCPU正正在處理一個(gè)中斷源請求的在處理一個(gè)中斷源請求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)時(shí)候,又發(fā)生了另一個(gè)優(yōu)先級比它高的中斷源請求,先級比它高的中斷源請求,如果如果CPUCPU能夠暫時(shí)中止執(zhí)能夠暫時(shí)中止執(zhí)行原來的處理程序,轉(zhuǎn)而行原來的處理程序,轉(zhuǎn)而去處理優(yōu)先級更高的中斷去處理優(yōu)先級更高
3、的中斷請求,處理結(jié)束后,再繼請求,處理結(jié)束后,再繼續(xù)執(zhí)行原來的低級中斷處續(xù)執(zhí)行原來的低級中斷處理程序的過程。理程序的過程。 中斷嵌套示意圖中斷嵌套示意圖主程序主程序低級中斷低級中斷高級中斷高級中斷中斷過程中斷過程 對于不同的計(jì)算機(jī),中斷過程可能不盡相同,但是對于不同的計(jì)算機(jī),中斷過程可能不盡相同,但是一般應(yīng)包括一般應(yīng)包括中斷請求中斷請求、中斷響應(yīng)中斷響應(yīng)、中斷處理中斷處理和和中斷返回中斷返回等四個(gè)步驟。等四個(gè)步驟。1.1.中斷請求中斷請求 中斷過程是由中斷源向中斷過程是由中斷源向CPUCPU發(fā)出中斷請求而開始的。發(fā)出中斷請求而開始的。有效中斷請求信號應(yīng)該一直保持到有效中斷請求信號應(yīng)該一直保持到
4、CPUCPU作出響應(yīng)為止。作出響應(yīng)為止。2.2.中斷響應(yīng)中斷響應(yīng) CPUCPU檢測到中斷請求信號后,在滿足一定條件的情況檢測到中斷請求信號后,在滿足一定條件的情況下進(jìn)行響應(yīng)。其下進(jìn)行響應(yīng)。其主要條件主要條件是:中斷標(biāo)志是否開放,是否高是:中斷標(biāo)志是否開放,是否高級中斷,是否執(zhí)行完一條指令等。級中斷,是否執(zhí)行完一條指令等。 3.3.中斷處理中斷處理 中斷處理或稱為中斷服務(wù),就是執(zhí)行中斷源所要求的中斷服中斷處理或稱為中斷服務(wù),就是執(zhí)行中斷源所要求的中斷服務(wù)程序。在中斷服務(wù)程序中需要完成的主要工作是:務(wù)程序。在中斷服務(wù)程序中需要完成的主要工作是:保護(hù)現(xiàn)場保護(hù)現(xiàn)場根據(jù)需要把斷點(diǎn)處有關(guān)存儲器的內(nèi)容壓入堆
5、棧,根據(jù)需要把斷點(diǎn)處有關(guān)存儲器的內(nèi)容壓入堆棧,以保護(hù)主程序運(yùn)行的結(jié)果。以保護(hù)主程序運(yùn)行的結(jié)果。 開開/ /關(guān)中斷標(biāo)志關(guān)中斷標(biāo)志根據(jù)根據(jù)CPUCPU響應(yīng)中斷后開響應(yīng)中斷后開/ /關(guān)中斷情況,適當(dāng)關(guān)中斷情況,適當(dāng)處理中斷標(biāo)志,以確保保護(hù)處理中斷標(biāo)志,以確保保護(hù)/ /恢復(fù)現(xiàn)場的正確進(jìn)行,確保所需中恢復(fù)現(xiàn)場的正確進(jìn)行,確保所需中斷嵌套的實(shí)現(xiàn)。斷嵌套的實(shí)現(xiàn)。 中斷處理中斷處理根據(jù)中斷源的要求,完成相應(yīng)的任務(wù),這是中根據(jù)中斷源的要求,完成相應(yīng)的任務(wù),這是中斷服務(wù)的核心。斷服務(wù)的核心。 恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場在完成中斷服務(wù)之后,返回被中斷的主程序之前,在完成中斷服務(wù)之后,返回被中斷的主程序之前,恢復(fù)堆棧中保護(hù)的各
6、有關(guān)寄存器的內(nèi)容?;謴?fù)堆棧中保護(hù)的各有關(guān)寄存器的內(nèi)容。4.4.中斷返回中斷返回 在 中 斷 服 務(wù) 程 序 后 , 用 一 條 中 斷 返 回 指 令在 中 斷 服 務(wù) 程 序 后 , 用 一 條 中 斷 返 回 指 令(RETIRETI),保證返回主程序繼續(xù)執(zhí)行被中斷的程序。),保證返回主程序繼續(xù)執(zhí)行被中斷的程序。 中斷標(biāo)志 源允許 總允許 優(yōu)先級 硬件查詢中斷允許控制寄存器定時(shí)器允許控制寄存器外部中斷請求源外部中斷 外部中斷外部中斷INTINT0 0和和INTINT1 1,由,由1212和和1313腳腳輸入,它們的中斷請求信號有效方式分為輸入,它們的中斷請求信號有效方式分為電平觸發(fā)電平觸發(fā)
7、和和脈沖觸發(fā)脈沖觸發(fā)兩種。電平方式是兩種。電平方式是低低電平有效;電平有效;脈沖方式則為脈沖方式則為負(fù)邊沿有效負(fù)邊沿有效。 復(fù)位后,TCON被清0,CPU關(guān)中斷,所有中斷請求被禁止。外部中斷控制外部中斷控制 定時(shí)器控制寄存器(定時(shí)器控制寄存器(TCONTCON) TCON D7 D6 D5 D4 D3 D2 D1 D0(88H) X X X X IE1 IT1 IE0 IT0 ITIT0 0為外部中斷為外部中斷0 0請求信號方式控制位。請求信號方式控制位。ITIT0 0 = 1 = 1,脈沖方式,脈沖方式(負(fù)跳變有效);(負(fù)跳變有效);ITIT0 0=0=0,電平方式(低電平有效)。,電平方式
8、(低電平有效)。 IEIE0 0為外部中斷為外部中斷0 0請求標(biāo)志位,當(dāng)請求標(biāo)志位,當(dāng)CPUCPU檢測到檢測到INTINT0 0 (P P3.23.2)端有中)端有中斷請求信號時(shí),由硬件置斷請求信號時(shí),由硬件置“1 1” IE0 IE0,使,使IEIE0 0=1=1請求中斷,中斷響應(yīng)請求中斷,中斷響應(yīng)后轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件自動清零后轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件自動清零IE0IE0。 ITIT1 1為外部中斷為外部中斷1 1請求信號方式控制位,其作用同請求信號方式控制位,其作用同ITIT0 0。 IEIE1 1為外部中斷為外部中斷1 1請求標(biāo)志位,其作用同請求標(biāo)志位,其作用同IE0IE0。復(fù)
9、位后,IE被清0,所有中斷被禁止。中斷允許控制寄存器(中斷允許控制寄存器(IEIE) 中斷允許寄存器格式如下:中斷允許寄存器格式如下: IE D7 D6 D5 D4 D3 D2 D1 D0 (A8H)EA/XXEX1XEX0 EXEX1 1為外部中斷為外部中斷1 1允許控制位,允許控制位,EXEX1 1=1=1允許外部中允許外部中 斷斷1 1中斷,中斷,EXEX1 1=0=0,禁止外部中斷,禁止外部中斷1 1中斷。中斷。 EX0EX0為外部中斷為外部中斷0 0允許控制位,其控制功能同允許控制位,其控制功能同EX1EX1。 中斷優(yōu)先級控制 51單片機(jī)有兩個(gè)中斷優(yōu)先級,即可實(shí)現(xiàn)二級中斷服務(wù)嵌套。每
10、個(gè)中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的。中斷優(yōu)先級控制寄存器如下vPX0(IP.0),外部中斷0優(yōu)先級設(shè)定位;vPT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級設(shè)定位;vPX1(IP.2),外部中斷0優(yōu)先級設(shè)定位;vPT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級設(shè)定位;vPS (IP.4),串行口優(yōu)先級設(shè)定位;vPT2 (IP.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級設(shè)定位。v復(fù)位后,IP置“0”。IP D7 D6 D5 D4 D3 D2 D1 D0(B8H)/PSPT1PX1PT0PX0 同一優(yōu)先級中的中斷申請不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊(duì),由中斷
11、系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示: 0003H (0) 高高 定時(shí)器T0 000BH (1) . 0013H (2) . 定時(shí)器T1 001BH (3) . 串行口中斷 0023H (4) 低低中中 斷斷 源源 中斷服務(wù)程序入口(向量號)中斷服務(wù)程序入口(向量號) INT1INT0內(nèi)容簡介:內(nèi)容簡介:通信方式:通信方式:串行口與并行口串行口與并行口串行通訊的方式:串行通訊的方式:異步通信異步通信和和同步通信同步通信1 1 串行口的結(jié)構(gòu)串行口的結(jié)構(gòu)2 2 串行口的工作方式串行口的工作方式3 3 多機(jī)通訊多機(jī)通訊4 4 波特率的制定方法波特率的制定方法5 5 串行口的編程和應(yīng)用串行口的編
12、程和應(yīng)用 串行口與并行口串行口與并行口并行通信并行通信:8:8位數(shù)據(jù)同時(shí)發(fā)送或接收。位數(shù)據(jù)同時(shí)發(fā)送或接收。80805151外外部部設(shè)設(shè)備備并行通信并行通信串行通信串行通信: :數(shù)據(jù)一位一位順序發(fā)送或接收。數(shù)據(jù)一位一位順序發(fā)送或接收。8058051 18058051 1TXDTXDTXDTXDRXDRXDRXDRXD串行通信串行通信異步通信:異步通信:它用一個(gè)起始位表示字符的開始,用停止位表示字符的結(jié)束。它用一個(gè)起始位表示字符的開始,用停止位表示字符的結(jié)束。 其其每幀的格式如下每幀的格式如下:在一幀格式中,先是一個(gè)起始位:在一幀格式中,先是一個(gè)起始位0 0,然,然后是后是8 8個(gè)數(shù)據(jù)位,規(guī)定低位
13、在前,高位在后,接下來是奇偶校驗(yàn)個(gè)數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來是奇偶校驗(yàn)位(可以省略),最后是停止位位(可以省略),最后是停止位1 1。用這種格式表示字符,則字。用這種格式表示字符,則字符可以一個(gè)接一個(gè)地傳送。符可以一個(gè)接一個(gè)地傳送。 在異步通信中,在異步通信中,CPUCPU與外設(shè)之間必須有兩項(xiàng)規(guī)定,即與外設(shè)之間必須有兩項(xiàng)規(guī)定,即字符格字符格式和波特率。式和波特率。 字符格式字符格式的規(guī)定是雙方能夠在對同一種的規(guī)定是雙方能夠在對同一種0 0和和1 1的串理解成同一的串理解成同一種意義。原則上字符格式可以由通信的雙方自由制定,但從通種意義。原則上字符格式可以由通信的雙方自由制定,但從通
14、用、方便的角度出發(fā),一般還是使用一些標(biāo)準(zhǔn)為好,如采用用、方便的角度出發(fā),一般還是使用一些標(biāo)準(zhǔn)為好,如采用ASCIIASCII標(biāo)準(zhǔn)。標(biāo)準(zhǔn)。 波特率波特率即數(shù)據(jù)傳送的速率,其定義是每秒鐘傳送的二進(jìn)制數(shù)即數(shù)據(jù)傳送的速率,其定義是每秒鐘傳送的二進(jìn)制數(shù)的位數(shù)。例如,數(shù)據(jù)傳送的速率是的位數(shù)。例如,數(shù)據(jù)傳送的速率是120120字符字符/s/s,而每個(gè)字符如上,而每個(gè)字符如上述規(guī)定包含述規(guī)定包含1010數(shù)位,則傳送波特率為數(shù)位,則傳送波特率為12001200波特。波特。同步通信:同步通信: 在異步通信中,在異步通信中,每個(gè)字符要用起始位和停止位作每個(gè)字符要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占用了時(shí)間為
15、字符開始和結(jié)束的標(biāo)志,占用了時(shí)間;所以在數(shù)據(jù);所以在數(shù)據(jù)塊傳遞時(shí),為了提高速度,常去掉這些標(biāo)志,采用同塊傳遞時(shí),為了提高速度,常去掉這些標(biāo)志,采用同步傳送。由于數(shù)據(jù)塊傳遞開始要用同步字符來指示,步傳送。由于數(shù)據(jù)塊傳遞開始要用同步字符來指示,同時(shí)要求由時(shí)鐘來實(shí)現(xiàn)同時(shí)要求由時(shí)鐘來實(shí)現(xiàn)發(fā)送端與接收端之間的同步發(fā)送端與接收端之間的同步,故故硬件較復(fù)雜硬件較復(fù)雜。 通信方向:通信方向:單工傳送:單工傳送:在串行通訊中,把通訊接口只能發(fā)送或接在串行通訊中,把通訊接口只能發(fā)送或接收的單向傳送方法叫單工傳送;收的單向傳送方法叫單工傳送;雙工傳送:雙工傳送:而把數(shù)據(jù)在甲乙兩機(jī)之間的雙向傳遞,稱而把數(shù)據(jù)在甲乙兩機(jī)
16、之間的雙向傳遞,稱之為雙工傳送。在雙工傳送方式中又分為之為雙工傳送。在雙工傳送方式中又分為半雙工傳送半雙工傳送和全雙工傳送和全雙工傳送。 1 1、半雙工傳送:、半雙工傳送:是兩機(jī)之間不能同時(shí)進(jìn)行發(fā)送和接是兩機(jī)之間不能同時(shí)進(jìn)行發(fā)送和接收,任一時(shí)該,只能發(fā)或者只能收信息。收,任一時(shí)該,只能發(fā)或者只能收信息。 2 2、全雙工傳送:、全雙工傳送:是兩機(jī)之間能同時(shí)進(jìn)行發(fā)送和接收是兩機(jī)之間能同時(shí)進(jìn)行發(fā)送和接收。串行口的結(jié)構(gòu)串行口的結(jié)構(gòu) MCS-51MCS-51單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工的串行口全雙工的串行口,該串行口有該串行口有四種工作方式四種工作方式,波特率可用軟件設(shè)置,
17、由片內(nèi)的,波特率可用軟件設(shè)置,由片內(nèi)的定時(shí)器定時(shí)器/ /計(jì)數(shù)器產(chǎn)生。串行口接收、發(fā)送數(shù)據(jù)均可觸發(fā)中斷系計(jì)數(shù)器產(chǎn)生。串行口接收、發(fā)送數(shù)據(jù)均可觸發(fā)中斷系統(tǒng),使用十分方便。統(tǒng),使用十分方便。 MCS-51MCS-51單片機(jī)內(nèi)部的串行口,單片機(jī)內(nèi)部的串行口,有兩個(gè)物理上獨(dú)立地接收有兩個(gè)物理上獨(dú)立地接收、發(fā)送緩沖器、發(fā)送緩沖器SBUFSBUF,可同時(shí)發(fā)送、接收數(shù)據(jù),可同時(shí)發(fā)送、接收數(shù)據(jù),發(fā)送緩沖器只發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入,兩個(gè)緩沖能寫入不能讀出,接收緩沖器只能讀出不能寫入,兩個(gè)緩沖器共用一個(gè)器共用一個(gè)字節(jié)地址字節(jié)地址(99H)(99H)。 控制控制MCS-51MCS-51
18、單片機(jī)串行口的控制寄存器共有兩個(gè):單片機(jī)串行口的控制寄存器共有兩個(gè): 串行口控制寄存器串行口控制寄存器SCONSCON 特殊功能寄存器特殊功能寄存器PCONPCON串行口控制寄存器串行口控制寄存器SCONSCONSCONSCONRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98H SM0SM0、SM1SM1:串行口:串行口4 4種工作方式的選擇位。種工作方式的選擇位。 SM2SM2:多機(jī)通訊控制位。:多機(jī)通訊控制位。 RENR
19、EN:允許串行接收控制位。:允許串行接收控制位。TB8TB8:是工作在方式:是工作在方式2 2和和3 3時(shí),要發(fā)送的第時(shí),要發(fā)送的第9 9位數(shù)據(jù)。位數(shù)據(jù)。RB8RB8:當(dāng)工作在方式:當(dāng)工作在方式2 2和和3 3時(shí),為收到的第時(shí),為收到的第9 9位數(shù)據(jù)。位數(shù)據(jù)。 TITI: 發(fā)送中斷標(biāo)志位。發(fā)送中斷標(biāo)志位。 RIRI: 接收中斷標(biāo)志位。接收中斷標(biāo)志位。SM0SM0、SM1SM1:串行口:串行口4 4種工作方式的選擇位種工作方式的選擇位SCONSCONRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9E
20、H9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98HSM0 SM1 SM0 SM1 方式方式 功能功能 0 0 0 0 方式方式0 0 同步移位寄存器方式同步移位寄存器方式 0 1 0 1 方式方式1 1 8 8位串行口(波特率可變)位串行口(波特率可變) 1 0 1 0 方式方式2 2 9 9位串行口(波特率固定)位串行口(波特率固定) 1 1 1 1 方式方式3 3 9 9位串行口(波特率可變)位串行口(波特率可變)SM2SM2:允許方式:允許方式2 2和和3 3的的多機(jī)通訊多機(jī)通訊控制位??刂莆?。SCONSCONRIRITITIRB8RB8TB8TB8RENRENS
21、M2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98H(1)(1)方式方式2 2,方式,方式3 3下,下, SM2=1SM2=1,接收到,接收到第第9 9位位RB8=0RB8=0時(shí),不激活時(shí),不激活RIRI,不能向,不能向CPUCPU申請中斷申請中斷 如接收到如接收到第第9 9位位RB8=1RB8=1時(shí),激活時(shí),激活RIRI,將,將RI=1RI=1,向,向CPUCPU申請中斷申請中斷(2)(2)方式方式2 2,方式,方式3 3下,下,SM2=0SM2=0,不管,不管RB8=0RB8
22、=0或或RB8=1RB8=1,都激活,都激活RI=1RI=1。(3)(3)方式方式1 1,當(dāng)當(dāng)SM2=1SM2=1時(shí)時(shí),只有接收到有效的停止位時(shí),才激活,只有接收到有效的停止位時(shí),才激活RIRI 當(dāng)當(dāng)SM2=0SM2=0時(shí)時(shí),正常接收。,正常接收。(4)(4)方式方式0 0, SM2SM2必須清必須清0,0,即即SM2=0SM2=0。 RENREN:允許串行接收控制位:允許串行接收控制位SCONSCONRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9
23、AH99H99H98H98HRENREN:允許串行接收控制位,由軟件置位或:允許串行接收控制位,由軟件置位或清零。清零。REN=1REN=1,允許允許串行口接收數(shù)據(jù)。串行口接收數(shù)據(jù)。REN=0REN=0,禁止禁止串行口接收數(shù)據(jù)。串行口接收數(shù)據(jù)。TB8TB8和和RB8RB8:SCONSCONRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98HTB8TB8:當(dāng)串行口工作在方式:當(dāng)串行口工作在方式2 2、方式、方式3 3,要發(fā)送的,
24、要發(fā)送的第第9 9位數(shù)據(jù)時(shí)位數(shù)據(jù)時(shí)放在放在TB8TB8中(中(D D8 8= =第第9 9位)位) , ,需要時(shí)由軟件置需要時(shí)由軟件置1 1或清或清0 0。在許多。在許多的通訊協(xié)議中該位是奇偶校驗(yàn)位。在多機(jī)通訊中用來表示是的通訊協(xié)議中該位是奇偶校驗(yàn)位。在多機(jī)通訊中用來表示是地址幀還是數(shù)據(jù)幀,地址幀還是數(shù)據(jù)幀,TB8TB81 1為地址幀,為地址幀,TB8TB80 0為數(shù)據(jù)幀。為數(shù)據(jù)幀。RB8RB8:方式方式2 2、方式、方式3 3下下,要接收的第,要接收的第9 9位數(shù)據(jù)??赡苁瞧媾夹N粩?shù)據(jù)??赡苁瞧媾夹r?yàn)位或在多機(jī)通訊中為地址幀或數(shù)據(jù)幀的標(biāo)識位。驗(yàn)位或在多機(jī)通訊中為地址幀或數(shù)據(jù)幀的標(biāo)識位。 方式
25、方式1 1時(shí)時(shí),SM2=0SM2=0,RB8RB8是已接收的停止位。是已接收的停止位。 方式方式0 0時(shí)時(shí),不使用,不使用RB8RB8。 TITI和和RIRISCONSCONRIRITITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0D7D6D5D4D3D2D1D098H9FH9FH9EH9EH9DH9DH9CH9CH9BH9BH9AH9AH99H99H98H98HTITI:發(fā)送發(fā)送中斷標(biāo)志中斷標(biāo)志 由硬件在方式由硬件在方式0 0串行發(fā)送第串行發(fā)送第8 8位結(jié)束時(shí)置位或其他方式串行位結(jié)束時(shí)置位或其他方式串行發(fā)送停止位的開始時(shí)置位。發(fā)送停止位的開始時(shí)置位。必須由軟件清
26、零必須由軟件清零TITI。RIRI:接收接收中斷標(biāo)志:中斷標(biāo)志: 由硬件在方式由硬件在方式0 0串行接收到第串行接收到第8 8位結(jié)束時(shí)置位或其他方式下位結(jié)束時(shí)置位或其他方式下串行接收停止位的中間時(shí)置位,串行接收停止位的中間時(shí)置位,必須由軟件清零必須由軟件清零RIRI。特殊功能寄存器特殊功能寄存器PCONPCONPCONPCONSMODSMODD7D6D5D4D3D2D1D087HPCONPCON:電源控制寄存器:電源控制寄存器SMODSMOD:串行口波特率系數(shù)控制位:串行口波特率系數(shù)控制位SMOD=1SMOD=1波特率加倍波特率加倍SMOD=0SMOD=0波特率不加倍波特率不加倍 D D0 0
27、D D6 6:掉電方式控制位。:掉電方式控制位。串行口的工作方式串行口的工作方式SM0 SM1 SM0 SM1 方式方式 功能功能 0 0 0 0 方式方式0 0 同步移位寄存器方式同步移位寄存器方式 0 1 0 1 方式方式1 1 8 8位串行口(波特率可變)位串行口(波特率可變) 1 0 1 0 方式方式2 2 9 9位串行口(波特率固定)位串行口(波特率固定) 1 1 1 1 方式方式3 3 9 9位串行口(波特率可變)位串行口(波特率可變)方式方式0 0 方式方式0 0為移位寄存器輸入為移位寄存器輸入/ /輸出方式輸出方式??赏饨右莆???赏饨右莆患拇嫫饕詳U(kuò)展寄存器以擴(kuò)展I/OI/O口,
28、也可以外接同步輸入口,也可以外接同步輸入/ /輸出設(shè)輸出設(shè)備。備。8 8位串行數(shù)據(jù)者是從位串行數(shù)據(jù)者是從RXDRXD輸入或輸出,輸入或輸出,TXDTXD用來輸用來輸出同步脈沖。出同步脈沖。 方式方式0 0輸出輸出 方式方式0 0輸入輸入方式方式0 0 輸出輸出 數(shù)據(jù)從數(shù)據(jù)從RXDRXD引腳串行輸出,引腳串行輸出,TXDTXD引腳輸出移位脈沖。引腳輸出移位脈沖。 當(dāng)一個(gè)數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),當(dāng)一個(gè)數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),串行口即將串行口即將8 8位數(shù)據(jù)以位數(shù)據(jù)以fosc/12fosc/12的固定波特率從的固定波特率從RXDRXD引腳輸出,引腳輸出,低位低位在先。發(fā)送完在先。發(fā)送完8 8
29、位數(shù)據(jù)置位數(shù)據(jù)置“1 1”中斷標(biāo)志位中斷標(biāo)志位TITI。CPUCPU響應(yīng)響應(yīng)TITI中斷,標(biāo)志位必須由用戶程序清中斷,標(biāo)志位必須由用戶程序清0 0。方式方式0 0 輸入:輸入: RENREN為串行口接收器允許接收控制位,為串行口接收器允許接收控制位,RENREN0 0,禁止接收,禁止接收,RENREN1 1,允許接收。,允許接收。當(dāng)串行口置為方式當(dāng)串行口置為方式0 0,并置,并置“l(fā) l”RENREN位,位,串行口處于方式串行口處于方式0 0輸入。引腳輸入。引腳RXDRXD為數(shù)據(jù)輸入端,為數(shù)據(jù)輸入端,TXDTXD為移位脈為移位脈沖信號輸出端,接收器也以沖信號輸出端,接收器也以fosc/12fo
30、sc/12的固定波特率的固定波特率采樣采樣RXDRXD引引腳的數(shù)據(jù)信息,當(dāng)接收器接收到腳的數(shù)據(jù)信息,當(dāng)接收器接收到8 8位數(shù)據(jù)時(shí)置位數(shù)據(jù)時(shí)置“l(fā) l”中斷標(biāo)志中斷標(biāo)志RIRI。CPUCPU響應(yīng)響應(yīng)RIRI中斷,標(biāo)志位必須由用戶程序清中斷,標(biāo)志位必須由用戶程序清0 0。方式方式1 1:串行口被控制為串行口被控制為波特率可變的波特率可變的8 8位異步通信接口位異步通信接口。波特率波特率= =(2 2SMODSMOD/32/32)T1T1的溢出率的溢出率式中式中SMODSMOD為為PCONPCON寄存器的最高位的值寄存器的最高位的值(0(0或或1)1)。 一幀信息包含一幀信息包含1010位:位:1
31、1位起始位(低電平位起始位(低電平0 0)+8+8位數(shù)據(jù)位(低位在先)位數(shù)據(jù)位(低位在先)+1+1位停止位(高電平位停止位(高電平1 1)方式方式1 1發(fā)送:發(fā)送:TXD-TXD-發(fā)送端發(fā)送端方式方式1 1接收:接收:RXD-RXD-接收端接收端方式方式1 1發(fā)送發(fā)送 CPUCPU執(zhí)行寫入執(zhí)行寫入SBUFSBUF指令指令后,啟動串行口發(fā)送數(shù)據(jù),數(shù)據(jù)從后,啟動串行口發(fā)送數(shù)據(jù),數(shù)據(jù)從發(fā)送端發(fā)送出去,發(fā)送完成后,發(fā)送端發(fā)送出去,發(fā)送完成后,將將TITI置位置位,向,向CPUCPU申請中斷,申請中斷,再次發(fā)送之前必須由軟件清再次發(fā)送之前必須由軟件清0 0。 方式方式1 1接收接收 當(dāng)當(dāng)REN=1REN
32、=1且采樣到且采樣到RXDRXD引腳的負(fù)跳變,并且接收到有效的起引腳的負(fù)跳變,并且接收到有效的起始位時(shí),才開始接收本幀的其余信息。始位時(shí),才開始接收本幀的其余信息。當(dāng)滿足當(dāng)滿足RI=0RI=0且且SM2=0SM2=0或或接收到停止位為接收到停止位為1 1時(shí)時(shí),接收數(shù)據(jù)有效,裝入,接收數(shù)據(jù)有效,裝入SBUFSBUF,停止位裝入,停止位裝入RB8RB8中,同時(shí)中,同時(shí)置位置位RI=1RI=1,向,向CPUCPU申請中斷申請中斷。若有一個(gè)條件不滿足。若有一個(gè)條件不滿足,則信息丟失。,則信息丟失。 方式方式2 2 9 9位異步通信接口位異步通信接口( (固定波特率固定波特率) )波特率:(波特率:(2
33、 2SMODSMOD/64/64)f fOSCOSC 一幀信息一幀信息1111位位:1 1位起始位位起始位+ +8 8位數(shù)據(jù)位位數(shù)據(jù)位+1+1位可編程位可編程位位+1+1位停止位位停止位1 1位可編程位:接收時(shí)放到位可編程位:接收時(shí)放到RB8RB8中,發(fā)送時(shí)放到中,發(fā)送時(shí)放到TB8TB8中中,奇偶校驗(yàn)位可放到可編程位中作為校驗(yàn)。,奇偶校驗(yàn)位可放到可編程位中作為校驗(yàn)。方式方式2 2的發(fā)送:的發(fā)送:方式方式2 2的接收:的接收:方式方式2 2的發(fā)送的發(fā)送方式方式2 2的發(fā)送:先把可編程位放到的發(fā)送:先把可編程位放到TB8TB8中,然后中,然后CPUCPU執(zhí)執(zhí)行一條寫入發(fā)送緩沖區(qū),當(dāng)發(fā)送數(shù)據(jù)到停止位
34、時(shí),將行一條寫入發(fā)送緩沖區(qū),當(dāng)發(fā)送數(shù)據(jù)到停止位時(shí),將TITI置位,當(dāng)要送到下一幀時(shí),先將置位,當(dāng)要送到下一幀時(shí),先將TITI清清0 0。方式方式2 2的接收的接收方式方式2 2的接收:與方式的接收:與方式1 1相同,當(dāng)相同,當(dāng)REN=1REN=1且采樣到且采樣到RXDRXD引腳的負(fù)跳引腳的負(fù)跳變,并且接收到有效的起始位時(shí),才開始接收本幀的其余信息變,并且接收到有效的起始位時(shí),才開始接收本幀的其余信息。當(dāng)滿足。當(dāng)滿足RI=0RI=0且且SM2=0SM2=0或接收到的第或接收到的第9 9數(shù)據(jù)位為數(shù)據(jù)位為1 1時(shí),接收數(shù)據(jù)時(shí),接收數(shù)據(jù)有效,裝入有效,裝入SBUFSBUF,第,第9 9位數(shù)據(jù)裝入位數(shù)據(jù)
35、裝入RB8RB8中,同時(shí)置位中,同時(shí)置位RI=1RI=1,向,向CPUCPU申請中斷。若有一個(gè)條件不滿足,則信息丟失。申請中斷。若有一個(gè)條件不滿足,則信息丟失。 方式方式3 93 9位異步通信接口位異步通信接口波特率波特率= =(2 2SMODSMOD/32/32)T1T1溢出率(同方式溢出率(同方式1 1算法相同)算法相同) 一幀信息一幀信息1111位位:1 1位起始位位起始位+ +8 8位數(shù)據(jù)位位數(shù)據(jù)位+1+1位可編程位位可編程位+1+1位停止位位停止位1 1位可編程位:接收時(shí)放到位可編程位:接收時(shí)放到RB8RB8中,發(fā)送時(shí)放到中,發(fā)送時(shí)放到TB8TB8中,中,奇偶校驗(yàn)位可放到可編程位中作
36、為校驗(yàn)。奇偶校驗(yàn)位可放到可編程位中作為校驗(yàn)。除波特率不同,其它同方式除波特率不同,其它同方式2 2的發(fā)送一樣:的發(fā)送一樣:除波特率不同,其它同方式除波特率不同,其它同方式2 2的接收一樣:的接收一樣:6 6.3 .3 多機(jī)通信多機(jī)通信 串行口控制寄存器串行口控制寄存器SCONSCON中的中的SM2SM2為方式為方式2 2或方式或方式3 3的多的多機(jī)通信控制位,當(dāng)串行口以方式機(jī)通信控制位,當(dāng)串行口以方式2 2或方式或方式3 3工作時(shí),工作時(shí),若若SM2SM2程控為程控為l l,此時(shí)只有當(dāng)串行口接收到的,此時(shí)只有當(dāng)串行口接收到的第第9 9位數(shù)據(jù)位數(shù)據(jù)RB8RB81 1時(shí),才置時(shí),才置1 1中斷標(biāo)志
37、中斷標(biāo)志RIRI,若接收到的,若接收到的RB8RB80 0,則不產(chǎn)生中斷標(biāo)志,信息被丟失。應(yīng)用則不產(chǎn)生中斷標(biāo)志,信息被丟失。應(yīng)用MCS-51MCS-51串行口串行口的這個(gè)特性,便可實(shí)現(xiàn)多機(jī)通訊。的這個(gè)特性,便可實(shí)現(xiàn)多機(jī)通訊。 多機(jī)通信多機(jī)通信 設(shè)在一個(gè)多機(jī)系統(tǒng)中有一個(gè)主機(jī)設(shè)在一個(gè)多機(jī)系統(tǒng)中有一個(gè)主機(jī)(MCS-5l(MCS-5l或其它具有串行或其它具有串行接口的微機(jī)接口的微機(jī)) )和三個(gè)由和三個(gè)由80318031組成的從機(jī)系統(tǒng),從機(jī)的地址分別組成的從機(jī)系統(tǒng),從機(jī)的地址分別為為00H00H、0lH0lH和和02H02H。(地址。(地址=1=1,數(shù)據(jù),數(shù)據(jù)=0=0)。)。1 1、發(fā)送地址、發(fā)送地址T
38、B8=1TB8=1:當(dāng):當(dāng)SM2=1SM2=1且且RB8=1RB8=1,激活,激活RIRI,進(jìn)入中斷服務(wù),進(jìn)入中斷服務(wù)子程序,進(jìn)行地址比較。如地址相同,則子程序,進(jìn)行地址比較。如地址相同,則SM2=0SM2=0,否則,否則SM2=1SM2=1。2 2、發(fā)送數(shù)據(jù)、發(fā)送數(shù)據(jù)T TB8=0B8=0:當(dāng):當(dāng)SM2=1SM2=1且且RB8=0RB8=0,不能激活,不能激活RIRI。 當(dāng)當(dāng)SM2=0SM2=0且且RB8=0RB8=0,可以激活,可以激活RIRI。 可以進(jìn)入中斷服務(wù)子程序,接收數(shù)據(jù)??梢赃M(jìn)入中斷服務(wù)子程序,接收數(shù)據(jù)。波特率的制定方法波特率的制定方法波特率定義:串行口每秒鐘發(fā)送波特率定義:串行
39、口每秒鐘發(fā)送( (或接收或接收) )的位數(shù)稱為的位數(shù)稱為波特率。波特率。 當(dāng)串行口工作于方式當(dāng)串行口工作于方式1 1和方式和方式3 3時(shí),時(shí),波特率是可變波特率是可變的的,由,由SMODSMOD位和定時(shí)器的溢出率位和定時(shí)器的溢出率確定,允許用戶所取確定,允許用戶所取的波特率范圍比較大。的波特率范圍比較大。一、定時(shí)器一、定時(shí)器T1T1工作于方式工作于方式0 0 的波特率求法:的波特率求法:二、定時(shí)器二、定時(shí)器T1T1工作于方式工作于方式1 1 的波特率求法:的波特率求法:二、定時(shí)器二、定時(shí)器T1T1工作于方式工作于方式2 2 的波特率求法:的波特率求法:一、定時(shí)器一、定時(shí)器T1T1工作于工作于方
40、式方式0 0 的波特率求法:的波特率求法: 當(dāng)串行口工作于方式當(dāng)串行口工作于方式1 1和方式和方式3 3時(shí),時(shí),波特率是可變的波特率是可變的,由,由SMODSMOD位和定時(shí)器的溢出率位和定時(shí)器的溢出率確定,允許用戶所取的波特率范圍比確定,允許用戶所取的波特率范圍比較大。較大。一、定時(shí)器一、定時(shí)器T1T1工作于方式工作于方式0 0 的波特率求法:的波特率求法: 方式方式0 0相當(dāng)于定時(shí)器相當(dāng)于定時(shí)器T1T1是一個(gè)是一個(gè)1313位的定時(shí)器位的定時(shí)器/ /計(jì)數(shù)器,它采計(jì)數(shù)器,它采用用TH1TH1的八位和的八位和TL1TL1的低五位組成一個(gè)的低五位組成一個(gè)1313位計(jì)數(shù)器,它的波特率位計(jì)數(shù)器,它的波特
41、率按下式計(jì)算:按下式計(jì)算: 波特率波特率= =(2 2SMODSMOD/32/32)T1T1溢出率溢出率 T1 T1溢出率溢出率=1/(T1=1/(T1溢出時(shí)間)溢出時(shí)間) T1 T1溢出時(shí)間溢出時(shí)間= =(2 21313- a +- a +執(zhí)行置執(zhí)行置1313位定時(shí)器值的中斷處理程位定時(shí)器值的中斷處理程序的機(jī)器周期數(shù)序的機(jī)器周期數(shù))* * 12/12/晶振頻率晶振頻率 注意:注意:a a是定時(shí)器的計(jì)數(shù)初值,就是我們所要求的值。是定時(shí)器的計(jì)數(shù)初值,就是我們所要求的值。二、定時(shí)器二、定時(shí)器T1T1工作于工作于方式方式1 1 的波特率求法:的波特率求法: 當(dāng)當(dāng)串行口串行口工作于方式工作于方式1 1
42、和方式和方式3 3時(shí),時(shí),波特率是可變的波特率是可變的,由,由SMODSMOD位和定時(shí)器的溢出率位和定時(shí)器的溢出率確定,允許用戶所取的波特率范圍比確定,允許用戶所取的波特率范圍比較大。較大。一、定時(shí)器一、定時(shí)器T1T1工作于方式工作于方式1 1 的波特率求法:的波特率求法: 方式方式1 1相當(dāng)于定時(shí)器相當(dāng)于定時(shí)器T1T1是一個(gè)是一個(gè)1616位的定時(shí)器位的定時(shí)器/ /計(jì)數(shù)器,它的計(jì)數(shù)器,它的波特率按下式計(jì)算:波特率按下式計(jì)算: 波特率波特率= =(2 2SMODSMOD/32/32)T1T1溢出率溢出率 T1 T1溢出率溢出率=1/(T1=1/(T1溢出時(shí)間)溢出時(shí)間) T1 T1溢出時(shí)間溢出時(shí)
43、間= =(2 21616- a +- a +執(zhí)行置執(zhí)行置1616位定時(shí)器值的中斷處理程位定時(shí)器值的中斷處理程序的機(jī)器周期數(shù)序的機(jī)器周期數(shù))* * 12/12/晶振頻率晶振頻率 注意:注意:a a是定時(shí)器的計(jì)數(shù)初值,就是我們所要求的值。是定時(shí)器的計(jì)數(shù)初值,就是我們所要求的值。二、定時(shí)器二、定時(shí)器T1T1工作于工作于方式方式2 2 的波特率求法:的波特率求法: 當(dāng)當(dāng)串行口串行口工作于方式工作于方式1 1和方式和方式3 3時(shí),時(shí),波特率是可變的波特率是可變的,由,由SMODSMOD位和定時(shí)器的溢出率位和定時(shí)器的溢出率確定,允許用戶所取的波特率范圍比確定,允許用戶所取的波特率范圍比較大。較大。一、定時(shí)器一、定時(shí)器T1T1工作于方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)村集體土地承包合同示例
- 2025年勞動合同與勞務(wù)合同差異對比
- 2025年航空備品項(xiàng)目提案報(bào)告
- 2025年分析儀器及裝置項(xiàng)目提案報(bào)告模板
- 2025年精細(xì)藥液過濾器項(xiàng)目規(guī)劃申請報(bào)告模板
- 2025年臨時(shí)辦公租賃合同范本
- 2025年區(qū)域航空維修合作與發(fā)展協(xié)議
- 2025年合作伙伴商鋪經(jīng)營合同
- 2025年企業(yè)商業(yè)保密合同
- 2025年交通服務(wù)費(fèi)用回收協(xié)議
- 2024-2030年中國紫蘇市場深度局勢分析及未來5發(fā)展趨勢報(bào)告
- 銷售人員課件教學(xué)課件
- LED大屏技術(shù)方案(適用于簡單的項(xiàng)目)
- 城市自來水廠課程設(shè)計(jì)
- 2024智慧城市數(shù)據(jù)采集標(biāo)準(zhǔn)規(guī)范
- Lesson 6 What colour is it(教學(xué)設(shè)計(jì))-2023-2024學(xué)年接力版英語三年級下冊
- 歷年國家二級(Python)機(jī)試真題匯編(含答案)
- 第五單元任務(wù)二《準(zhǔn)備與排練》教學(xué)設(shè)計(jì) 統(tǒng)編版語文九年級下冊
- 虧損企業(yè)減虧專項(xiàng)治理方案
- 《垃圾發(fā)電廠爐渣處理技術(shù)規(guī)范》
- 設(shè)計(jì)質(zhì)量、進(jìn)度、服務(wù)保證措施
評論
0/150
提交評論