版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、定時計數(shù)器和串行接口第1頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三(1) 了解定時/計數(shù)器的結(jié)構(gòu)和工作原理。(2) 熟悉定時/計數(shù)器的控制寄存器。(3) 掌握定時/計數(shù)器的應(yīng)用編程。(4) 了解串行通信接口的結(jié)構(gòu)和工作原理。(5) 熟悉串行通信接口的控制寄存器。(6) 掌握串行通信的應(yīng)用編程。 本章教學(xué)要求 第2頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三7.1 定時/計數(shù)器 在實際的控制系統(tǒng)中常要求有外部實時時鐘,以實現(xiàn)定時或延時控制;還要求有外部計數(shù)器,以實現(xiàn)對外界事件進(jìn)行計數(shù)。比如,在單片機(jī)控制的電力拖動系統(tǒng)中,控制的對象為電動機(jī),為了實現(xiàn)閉環(huán)控制,就需
2、要定時地對轉(zhuǎn)速進(jìn)行采樣。第3頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 對于定時/計數(shù)器來說,不管是獨(dú)立的定時器芯片還是單片機(jī)內(nèi)的定時器,大都有以下特點(diǎn): (1)定時/計數(shù)器有多種工作方式,可以是計數(shù)方式也可以是定時方式。(脈沖內(nèi)部提供、外部提供) (2)定時/計數(shù)器的計數(shù)值是可變的,當(dāng)然對計數(shù)的最大值有一定限制,這取決于計數(shù)器的位數(shù)。計數(shù)的最大值也就限制了定時的最大值。 (3)可以按照規(guī)定的定時或計數(shù)值,在定時時間到或者計數(shù)終止時,發(fā)出中斷申請,以便實現(xiàn)定時控制。第4頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 7.1.1 定時/計數(shù)器的結(jié)構(gòu)及工作原理 MC
3、S-51單片機(jī)的定時/計數(shù)器(以下簡稱T/C)的結(jié)構(gòu)如下圖所示。 由圖可見,T/C的核心是1個加1計數(shù)器,它的輸入脈沖有兩個來源:一個是外部脈沖源計數(shù)器,另一個是系統(tǒng)機(jī)器周期(時鐘振蕩器經(jīng)12分頻以后的脈沖信號)定時器。 第5頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖7-2 定時/計數(shù)器的結(jié)構(gòu)框圖 第6頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 當(dāng)T/C處于定時方式時,加1計數(shù)器在每個機(jī)器周期加1,因此,也可以把它看作在累計機(jī)器周期。由于一個機(jī)器周期包含12個振蕩周期,所以它的最高計數(shù)速率是振蕩頻率的1/12。 用作計數(shù)器時,由于對外部信號的識別需要一個機(jī)
4、器周期,而計數(shù)器判斷的是一次下降沿,所以計數(shù)最高速率是振蕩頻率的1/24。 第7頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 16位的加1計數(shù)器由兩個8位的特殊功能寄存器THx或TLx組成(X=0、1)。它們可被程控為不同的組合狀態(tài)。(13位、16位、兩個分開的8位等),從而形成T/C不同的4種工作方式,這只要用指令改變TMOD(工作方式控制寄存器)的相應(yīng)位即可。第8頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三第9頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 7.1.2 定時/計數(shù)器的方式和控制寄存器 MCS-51單片機(jī)有2個特殊功能寄存器TMO
5、D和TCON:TMOD用于設(shè)置T/C的工作方式;TCON用于控制定時器T0、T1的啟動與停止,并包含了定時器的狀態(tài)。 1.定時器工作方式寄存器TMOD 定時器工作方式寄存器TMOD用于選擇定時器的工作方式,它的高4位控制定時器T1,低4位控制定時器T0。TMOD中各位的定義如下:GATEC/TM1M0GATEC/TM1M0T1T0TMOD 89H 第10頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 其中: :T/C功能選擇位,當(dāng) =1時為計數(shù)方式;當(dāng) =0時為定時方式。 M1M0:T/C工作方式定義位,其具體定義方式如表所示。第11頁,共124頁,2022年,5月20日,18點(diǎn)
6、39分,星期三 GATE:門控制位,用于控制定時器的啟動是否受外部中斷源信號的影響。GATE=0時,與外部中斷無關(guān),由TCON寄存器中的TRx位控制啟動。GATE=1時,由控制位TRx和引腳 共同控制啟動,只有在沒有外部中斷請求信號的情況下(即外部中斷引腳 =1時),才允許定時器啟動。 利用這一功能可以方便地測量外部脈沖高電平的脈寬。第12頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 2.定時器控制寄存器TCON TCON控制寄存器各位的定義如下: TF1TR1TF0TR0IE1IT1IE0IT0D7 D6 D5 D4 D3 D2 D1 D0 TCON 88H 第13頁,共12
7、4頁,2022年,5月20日,18點(diǎn)39分,星期三 其中: TF0(TF1):為T0(T1)定時器溢出中斷標(biāo)志位。當(dāng)T0(T1)計數(shù)溢出時,由硬件置位,并在允許中斷的情況下,發(fā)出中斷請求信號。當(dāng)CPU響應(yīng)中斷轉(zhuǎn)向中斷服務(wù)程序時,由硬件自動將該位清0。 TR0(TR1):為T0(T1)運(yùn)行控制位。當(dāng)TR0(TR1)=1時啟動T0(T1);TR0(TR1)=0時關(guān)閉T0(T1)。該位由軟件進(jìn)行設(shè)置。第14頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 7.1.3 定時/計數(shù)器的工作方式 MCS-51單片機(jī)的T/C有4種工作方式,分別由TMOD寄存器中的M1、M0兩位的二進(jìn)制編碼所決定
8、。 1.方式0 當(dāng)M1M0=00時,T/C設(shè)定為工作方式0,構(gòu)成13位的T/C。其邏輯結(jié)構(gòu)如圖所示。在此工作方式下,T/C構(gòu)成一個13位的計數(shù)器,由THx的8位和TLx的低5位組成,TLx的高3位未用,滿計數(shù)值為213。第15頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖73 T/C方式0的邏輯結(jié)構(gòu)圖 第16頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 2. 方式1 當(dāng)M1M0=01時,T/C設(shè)定為工作方式1,構(gòu)成16位定時/計數(shù)器,其中THx作為高8位,TLx作為低8位,滿計數(shù)值為216,其余同方式0類似。其邏輯結(jié)構(gòu)如圖所示。第17頁,共124頁,2022年,
9、5月20日,18點(diǎn)39分,星期三圖74 T/C方式1的邏輯結(jié)構(gòu)圖 第18頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 3.方式2 當(dāng)M1M0=10時,T/C工作在方式2,構(gòu)成1個自動重裝載的T/C,滿計數(shù)值為28。 在方式2中THx和TLx被當(dāng)作兩個8位計數(shù)器,計數(shù)過程中,THx寄存8位初值并保持不變,由TLx進(jìn)行8位計數(shù)。計數(shù)溢出時,除產(chǎn)生溢出中斷請求外,還自動將THx中的初值重新裝到TLx中去,即重裝載。第19頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖75 T/C方式2的邏輯結(jié)構(gòu)圖 第20頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 4.
10、方式3 方式3只適用于定時器T0。當(dāng)定時器T1處于方式3時相當(dāng)于TR1=0,停止計數(shù)。 當(dāng)T0工作在方式3時,TH0和TL0被拆成2個獨(dú)立的8位計數(shù)器。這時,TL0既可作為定時器使用,也可作為計數(shù)器使用,它占用了定時器T0所使用的控制位(C/ 、GATE、TR0、TF0),其功能和操作與方式0或方式1完全相同;而TH0只能作定時器用,并且占據(jù)了定時器T1的兩個控制信號TR1和TF1。在這種情況下,定時器T1雖仍可用于方式0、1、2,但不能使用中斷方式。 第21頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖76 T/C方式3的邏輯結(jié)構(gòu)圖 第22頁,共124頁,2022年,5月20
11、日,18點(diǎn)39分,星期三 7.1.4 定時/計數(shù)器應(yīng)用舉例 由于MCS-51單片機(jī)的定時/計數(shù)器是可編程的,因此在使用之前需要進(jìn)行初始化。在編程時主要注意兩點(diǎn):第一要能正確寫入控制字;第二能進(jìn)行計數(shù)初值的計算。一般情況下,包括以下幾個步驟: (1)確定工作方式,即對TMOD寄存器進(jìn)行賦值。 (2)計算計數(shù)初值,并寫入寄存器TH0、TL0或TH1、TL1中。 (3)根據(jù)需要,置位ETx允許T/C中斷。 (4)置位EA使CPU開中斷(需要時)。 (5)置位TRx啟動計數(shù)。第23頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 計數(shù)初值的計算方法如下: 由于定時/計數(shù)器是以加1的方式計數(shù)
12、,因此同常用的減1計數(shù)器的算法不同。 在定時方式下:假定時間常數(shù)為Tc,定時時間為T,而T=TcTp,則時間常數(shù)為(71) 其中Tp為機(jī)器周期,即12/晶振頻率。應(yīng)裝入定時/計數(shù)器的初值為 X=2n-Tc (n為計數(shù)器的位數(shù))(72) 第24頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 例1:若晶振頻率為6MHz,試計算MCS-51單片機(jī)定時/計數(shù)器的最小定時時間和最大定時時間。 解:先確定機(jī)器周期: 計算最小定時時間: 對于定時器的幾種工作方式來說,最小定時時間都是一樣的,即Tmin=TcTp=12s=2s 計算最大定時時間: 當(dāng)T/C工作在方式1下的定時時間最長,則最大定時
13、時間為 Tmax=TcTp=2162s=131072s=131ms晶振頻率第25頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三例2:若單片機(jī)的晶振頻率為6MHz,要求定時/計數(shù)器T0產(chǎn)生100ms的定時,試確定計數(shù)初值以及TMOD寄存器的內(nèi)容。 解:當(dāng)晶振頻率為6MHz時,產(chǎn)生100ms的定時接近最大值(131ms),故只能采用方式1(16位定時器)。第26頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三晶振頻率時間常數(shù)為: 計數(shù)初值為: 第27頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 設(shè)置TMOD方式字: 對于T0來說:M1M0=01、 、GAT
14、E=0。 由于T1不用,可任意設(shè)置,現(xiàn)取為全0,因此,TMOD寄存器的內(nèi)容為: TMOD=00000001B=01H 試解釋對于T0的寄存器設(shè)置。第28頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 例3:利用定時/計數(shù)器T0通過P1.0引腳輸出周期為2ms的方波,設(shè)晶振頻率為12MHz。試確定計數(shù)初值、TMOD內(nèi)容及編制相應(yīng)程序。 解:若要產(chǎn)生周期為2ms的方波,只要每1ms將信號的幅值由0變到1或由1變到0即可,可采用取反指令CPL來實現(xiàn)。為了提高CPU的效率,可采用定時中斷的方式,每1ms產(chǎn)生一次中斷,在中斷服務(wù)程序中將輸出信號取反即可。 定時器T0的中斷入口地址為000B
15、H。 計算計數(shù)初值: 對于定時1ms來說,用定時器方式0(13位定時器)就可實現(xiàn)。 第29頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 機(jī)器周期為:Tp=1us時間常數(shù)為: 計數(shù)初值為: 則其高8位為E0H,低5位為18H,故TH0=E0H,TL0=18H。第30頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 確定TMOD方式字: 對于定時器T0來說,M1M0=00H、 =0、GATE=0。定時器T1不用,取為全0。于是 TMOD=00000000B=00H 程序設(shè)計: ORG 000BH ;T0中斷服務(wù)程序入口 LJMP INT ;轉(zhuǎn)至INT處 ORG 2000
16、H ;主程序 MOV TMOD,00H ;置T0為定時方式0 MOV TH0,0E0H;設(shè)置計數(shù)初值 第31頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 MOV TL0,18H SETB EA ;CPU開中斷 SETB ET0 ;允許T0中斷 SETB TR0 ;啟動T0HALT:SJMP HALT ;暫停,等待中斷INT: CPL P1.0;輸出方波 MOV TH0,0E0H ;重新裝入計數(shù)初值 MOV TL0,18H RETI ;中斷返回第32頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三例7-5 設(shè)一只發(fā)光二極管LED和8051的P1.0腳相連。當(dāng)P1.0腳
17、是高電平時,LED發(fā)亮;當(dāng)P1.0腳是低電平時,LED熄滅。編制程序用定時器來實現(xiàn)發(fā)光二極管LED的閃爍功能,設(shè)置LED每1s閃爍一次。已知單片機(jī)系統(tǒng)主頻為12MHz。-應(yīng)用實例第33頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三設(shè)計思想:定時/計數(shù)器的最長定時是65.536ms,無法實現(xiàn)1s的定時??梢圆捎密浖嫈?shù)器來進(jìn)行設(shè)計。定義一個軟件計數(shù)器單元30H,先用定時/計數(shù)器T0做一個50ms的定時器,定時時間到后將軟件計數(shù)器中的值加1,如果軟件計數(shù)器計到了20(1s),取反P1.0,并清除軟件計數(shù)器中的值,否則直接返回。則完成了20次定時中斷才取反一次P1.0,實現(xiàn)定時時間20
18、50=1000ms=1s的定時。定時/計數(shù)器T0采用工作方式1(16位定時器),其初值為:21650ms/1s=6553650000=15536=3CB0H-應(yīng)用實例第34頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三程序如下:ORG0000HAJMPSTART;轉(zhuǎn)入主程序ORG000BH;定時/計數(shù)器T0的中斷服務(wù)程序入口地址AJMPTIME0;跳轉(zhuǎn)到真正的定時器中斷服務(wù)程序處ORG0030HSTART:MOVSP, #60H;設(shè)置堆棧指針MOVP1, #00H;關(guān)發(fā)光二極管LED(使其滅)MOV30H, #00H;軟件計數(shù)器預(yù)清0MOVTMOD, #01H;定時/計數(shù)器T0工
19、作于方式1MOVTH0, #3CH;設(shè)置定時/計數(shù)器的初值MOVTL0, #0B0HSETBEA;開總中斷允許SETBET0;開定時/計數(shù)器T0中斷允許SETBTR0;啟動定時/計數(shù)器T0LOOP:JMPLOOP;循環(huán)等待-應(yīng)用實例第35頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三TIME0:INC30H;中斷程序MOVA, 30HCJNEA, #14H, RET0;與20比較,不等轉(zhuǎn)RET0MOV30H, #00HCPLP1.0RET0: MOVTH0, #3CH;重設(shè)定時初值,啟動MOVTL0, #0B0HRETI-應(yīng)用實例第36頁,共124頁,2022年,5月20日,18
20、點(diǎn)39分,星期三盡管MCS-51為用戶只提供了兩個外部中斷源,但用戶可以根據(jù)實際需求,進(jìn)行多于兩個外部中斷請求的擴(kuò)展,其中有很多擴(kuò)展方法。在此重點(diǎn)介紹利用定時器中斷作為外部中斷的擴(kuò)展。MCS-51有兩個定時/計數(shù)器T0、T1,若選擇它們以計數(shù)器方式工作,當(dāng)引腳T0或T1上發(fā)生負(fù)跳變時,T0或T1計數(shù)器則加1。利用這個特性,借用引腳T0或T1作為外部中斷請求輸入線,若設(shè)定計數(shù)初值為滿量程,計數(shù)器加1,就會產(chǎn)生溢出中斷請求,TF0或TF1變成了外部中斷請求標(biāo)志位,T0或T1的中斷入口地址被擴(kuò)展成了外部中斷源的入口地址。值得注意的是,當(dāng)使用定時器作為外部中斷時,定時器以前的功能將失效,除非用軟件對它
21、進(jìn)行復(fù)用。 3采用定時/計數(shù)器擴(kuò)展外部中斷-擴(kuò)展外部中斷第37頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 將定時器T0引腳作為外部中斷源使用的具體做法為,設(shè)定相應(yīng)定時器工作方式為方式2,計數(shù)器TH0、TL0初值為0FFH,允許計數(shù)器T0中斷,則T0的初始始化程序如下:MOV TMOD, 06H ;將計數(shù)器T0設(shè)定為;方式2外部計數(shù)MOV TL0, #0FFH;設(shè)置計數(shù)器初值MOV TH0, #0FFH;設(shè)置重裝計數(shù)器初值SETB ET0;允許T0中斷SETB EA;CPU開中斷SETB TR0;啟動T0-擴(kuò)展外部中斷第38頁,共124頁,2022年,5月20日,18點(diǎn)39分,
22、星期三#include void main(void)TMOD=0 x66;/*兩個定時/計數(shù)器都設(shè)為方式2 外部計數(shù)模式*/TH1=0 xFF;/*設(shè)定重裝值,TL1不用設(shè)置*/TH0=0 xFF;/*設(shè)定重裝值,TL0不用設(shè)置*/TCON=0 x50;/*置位TR1、TR0,開始計數(shù)*/IE=0 x9F;/*中斷使能*/-擴(kuò)展外部中斷第39頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三/*定時器0中斷服務(wù)程序*/void timer0_int(void) interrupt 1TF0=0;/*計數(shù)溢出標(biāo)志位清0*/*定時器1中斷服務(wù)程序*/void timer1_int(vo
23、id) interrupt 3TF1=0;/*計數(shù)溢出標(biāo)志位清0*/-擴(kuò)展外部中斷第40頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三定時器計數(shù)器擴(kuò)展外部中斷實際項目例子/*強(qiáng)力單片機(jī)技術(shù)項目交易網(wǎng)作者:王春林 */#include#include#include#include#define UN unsigned charvoid del05s();sbit lsledcs =P37;UN data d0=0;UN data d1=0;UN data d2=0;UN data d3=0;void delay();sbit bm7=bm7;sfr16 DPTR=0 x82;sb
24、it ACC0=ACC0;sbit ACC1=ACC1;sbit ACC2=ACC2;sbit ACC3=ACC3;sbit ACC4=ACC4;sbit ACC5=ACC5;sbit ACC6=ACC6;sbit ACC7=ACC7;unsigned char bdata bm;sbit bm0=bm0;sbit bm1=bm1;sbit bm2=bm2;sbit bm3=bm3;sbit bm4=bm4;sbit bm5=bm5;sbit bm6=bm6;第41頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三UN code ledcode=0 xc0,0 xf9,0 xa4,0
25、 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,/0-9 0 x88,0 x83,0 xa7,0 xa1,0 x86,0 x8e;void main() /*設(shè)為模式1,計數(shù)*/TMOD=0 x05;/*初值設(shè)定,當(dāng)設(shè)為TH0=0 xff;TL0=0 xff;每按C/T0(K4)一次計數(shù)加一,此方法可把計數(shù)器作為外部中斷使用;當(dāng)設(shè)為TH0=0 xff;TL0=0 xf0;每按C/T0(K4)16次計數(shù)加一,(不考慮按鍵抖動)*/TH0=0 xff;TL0=0 xff;TR0=1;ET0=1;EA=1; while(1) /*顯示計數(shù)值*/ P0=0 xff;
26、P0=ledcoded3; P1=0 xfe; delay(); P0=ledcoded2; P1=0 xfd; delay(); P0=ledcoded1; P1=0 xfb; delay(); P0=ledcoded0; P1=0 xf7; delay();第42頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三P1=0 xff;void delay()unsigned int kk=0 xff; do_nop_();kk-; while(kk!=0);void del05s()unsigned int kk=0 xefff; do_nop_();kk-; while(kk!=0
27、);/* 定時器0中斷*/void time0() interrupt 1 using 1d0+;if(d09)d0=0;d1+;if(d19)d1=0;d2+;if(d29)d2=0;d3+;if(d0=9&d1=9&d2=9&d3=9)d0=d1=d2=d3=0;TH0=0 xff;TL0=0 xff;第43頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三習(xí)題7-2、7-5、7-7、7-9、7-11第44頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三7.2 串行通信接口 7.2.1 串行通信的基本知識 1.并行通信與串行通信 在實際應(yīng)用中,不但計算機(jī)與外部設(shè)備之間
28、常常要進(jìn)行信息交換,而且計算機(jī)之間也需要交換信息,所有這些信息的交換均稱為“通信”。 通信的基本方式分為并行通信和串行通信兩種。 第45頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 并行通信是構(gòu)成1組數(shù)據(jù)的各位同時進(jìn)行傳送,例如8位數(shù)據(jù)或16位數(shù)據(jù)并行傳送。 其特點(diǎn)是傳輸速度快,但當(dāng)距離較遠(yuǎn)、位數(shù)又多時導(dǎo)致了通信線路復(fù)雜且成本高。 串行通信是數(shù)據(jù)一位接一位地順序傳送。其特點(diǎn)是通信線路簡單,只要一對傳輸線就可以實現(xiàn)通信(如電話線),從而大大地降低了成本,特別適用于遠(yuǎn)距離通信。缺點(diǎn)是傳送速度慢。第46頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 圖 通信的兩種基本方
29、式(a)并行通信; (b)串行通信第47頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 串行通信可分為異步傳送和同步傳送兩種基本方式。 1)異步傳送方式 異步傳送的特點(diǎn)是數(shù)據(jù)在線路上的傳送不連續(xù)。在傳送時,數(shù)據(jù)是以一個字符為單位進(jìn)行傳送的。它用一個起始位表示字符的開始,用停止位表示字符的結(jié)束。異步傳送的字符格式如圖所示。第48頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 一個字符由起始位、數(shù)據(jù)位、奇偶校驗位和停止位4個部分組成。起始位為0占1位;其后接著的就是數(shù)據(jù)位,它可以是5位、6位、7位或8位,傳送時低位在先、高位在后;再后面的1位為奇偶校驗位,可要也可以不要
30、;最后是停止位,它用信號1來表示字符的結(jié)束,可以是1位、1位半或2位。 第49頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 圖 串行異步傳送的字符格式(a)字符格式; (b)有空閑位的字符格式 第50頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 例如,采用串行異步通信方式傳送ASCII碼字符5,規(guī)定為7位數(shù)據(jù)位,1位偶校驗位,1位停止位,無空閑位。 由于5的ASCII碼為35H,其對應(yīng)7位數(shù)據(jù)位為0110101,如按低位在前、高位在后順序排列應(yīng)為1010110。前面加1位起始位,后面配上偶校驗位1位0,最后面加1位停止位1,因此傳送的字符格式為010101100
31、1,其對應(yīng)的波形如圖所示。第51頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖 傳送ASCII碼字符5的波形圖 第52頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 在串行異步傳送中,CPU與外設(shè)之間事先必須約定: 字符格式。 雙方要事先約定字符的編碼形式、奇偶校驗形式及起始位和停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為7位,加1個奇偶校驗位、1個起始位和1個停止位共10位。當(dāng)然停止位也可大于1位。 波特率(Baudrate)。 波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間存在如下關(guān)系: 波特率=位/字
32、符字符/秒=位/秒 要求發(fā)送端與接收端的波特率必須一致。第53頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 例如,假設(shè)字符傳送的速率為120字符/秒,而每1個字符為10位,那么傳送的波特率為 10位/字符120字符/秒=1200位/秒=1200波特 每1位二進(jìn)制位的傳送時間Td就是波特率的倒數(shù),例如上例中 Td=1/1200=0.833ms第54頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 2) 同步傳送 在異步傳送中,每1個字符都要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占用了一定的時間。為了提高傳送速度,有時就去掉這些標(biāo)志,而采用同步傳送,即1次傳送1組數(shù)
33、據(jù)。在這1組數(shù)據(jù)的開始處要用同步字符SYN來加以指示,如圖所示。 計算機(jī)網(wǎng)絡(luò)采用的就是這樣的傳送方式。第55頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 圖 同步傳送 第56頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三BSC協(xié)議的數(shù)據(jù)塊有如下四種格式(1)不帶報頭的單塊報文或分塊傳輸中的最后一塊報文: SYN SYN STX 報文 ETX BCC(2)帶報頭的單塊報文: SYN SYN SOH 報頭 STX 報文 ETX BCC(3)分塊傳輸中的第一塊報文: SYN SYN SOH 報頭 STX 報文 ETB BCC(4)分塊傳輸中的中間報文: SYN SYN
34、STX 報文 ETB BCC 第57頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 2.數(shù)據(jù)傳送方向 串行通信的數(shù)據(jù)傳送方向有3種形式。 (1)單工方式。 如圖 (a)所示,A端為發(fā)送站,B端為接收站,數(shù)據(jù)僅能從A站發(fā)至B站。 (2)半雙工方式。 如圖 (b)所示,數(shù)據(jù)既可從A站發(fā)送到B站,也可以由B站發(fā)送到A站。不過在同一時間只能作1個方向的傳送。 (3)全雙工方式。 如圖 (c)所示,每個站(A、B)既可同時發(fā)送,也可同時接收。 第58頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 圖 串行通信的三種方式(a)單工方式;(b)半雙工方式;(c)全雙工方式第59頁
35、,共124頁,2022年,5月20日,18點(diǎn)39分,星期三3、串行通信的校驗奇偶校驗和校驗CRC校驗 如16位CRC校驗碼(r=16),可以校驗32kbit的數(shù)據(jù),可以檢測突發(fā)長度不大于16的突發(fā)錯以及99.998%的突發(fā)長度大于或等于17的突發(fā)錯。 第60頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三仿真結(jié)果校驗位數(shù)(r)總的幀位長(n)檢出錯誤個數(shù)(e1)總錯誤個數(shù)(e)檢錯率410043649788810049749710016100497497100第61頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 7.2.2 MCS-51單片機(jī)的串行接口 MCS-51單
36、片機(jī)內(nèi)部有1個功能很強(qiáng)的全雙工串行口,可同時發(fā)送和接收數(shù)據(jù)。它有4種工作方式,可供不同場合使用。波特率由軟件設(shè)置,通過片內(nèi)的定時/計數(shù)器產(chǎn)生。接收、發(fā)送均可工作在查詢方式或中斷方式,使用十分靈活。MCS-51的串行口除了用于數(shù)據(jù)通信外,還可以非常方便地構(gòu)成1個或多個并行輸入/輸出口,或作串并轉(zhuǎn)換,用來驅(qū)動鍵盤與顯示器。第62頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三圖79 MCS-51串行口的原理結(jié)構(gòu)圖 MCS-51單片機(jī)串行口構(gòu)成:發(fā)送緩沖寄存器(SBUF)發(fā)送控制器發(fā)送控制門接收緩沖寄存器(SBUF)接收控制寄存器移位寄存器中斷第63頁,共124頁,2022年,5月20日
37、,18點(diǎn)39分,星期三 1.串行接口的特殊功能寄存器 與串行通信有關(guān)的控制寄存器共有4個:SBUF、SCON、PCON和IE。 1) 串行口數(shù)據(jù)緩沖器SBUF SBUF是兩個在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù)。兩個緩沖器只用一個字節(jié)地址99H,可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。CPU寫SBUF,就是修改發(fā)送緩沖器;讀SBUF,就是讀接收緩沖器。串行口對外也有兩條獨(dú)立的收發(fā)信號線RXD(P3.0)和TXD(P3.1),因此可以同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工傳送。第64頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 2) 串
38、行口控制寄存器SCON SCON寄存器用來控制串行口的工作方式和狀態(tài),它可以是位尋址。在復(fù)位時所有位被清0,字地址為98H。SCON的格式為 SM0SM1SM2RENTB8RB8TIRI D7 D6 D5 D4 D3 D2 D1 D0 第65頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 SM0、SM1:串行口工作方式選擇位。 SM2:多機(jī)通信控制位。主要用于工作方式2和方式3。在方式2和方式3中,如SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為0時不啟動接收中斷標(biāo)志RI(即RI=0),并且將接收到的前8位數(shù)據(jù)丟棄;RB8為1時,才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中
39、斷請求。當(dāng)SM2=0時,則不論第9位數(shù)據(jù)為0或1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請求。在方式0時,SM2必須為0。 第66頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三多機(jī)通信過程所有從機(jī)的SM2=1,處于只接收地址幀狀態(tài)所有同學(xué)坐著聽講主機(jī)發(fā)地址信息,以第9位TB8=1表示發(fā)送的是地址老師喊同學(xué)名字從機(jī)接收到地址幀后與本機(jī)地址比較所有同學(xué)聽到名字與自己的名字比較被尋址從機(jī)SM2=0,其余從機(jī)SM2=1不變名字相符的同學(xué)站起來主機(jī)發(fā)數(shù)據(jù)信息,對已被尋址的從機(jī)因SM2=0,可以接收主機(jī)發(fā)來的信息。其余從機(jī)因SM2=1不理睬主機(jī)。老師與站起的同學(xué)進(jìn)行提問回答課堂交流被尋址的
40、從機(jī)SM2置1.主機(jī)可另發(fā)地址幀與其它從機(jī)通信時 ?;卮饐栴}的同學(xué)坐下第67頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 REN:允許串行接收控制位。若REN=0,則禁止接收;若REN=1,則允許接收。該位由軟件置位或復(fù)位。 TB8:發(fā)送數(shù)據(jù)位8。 在方式2和方式3時,TB8為所要發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):TB8=0為數(shù)據(jù),TB8=1為地址;也可用作數(shù)據(jù)的奇偶校驗位。該位由軟件置位或復(fù)位。 RB8:接收數(shù)據(jù)位8。 TI:發(fā)送中斷標(biāo)志位。軟件清零 RI:接收中斷標(biāo)志位。軟件清零第68頁,共124頁,2022年,5月20日,18點(diǎn)
41、39分,星期三 3)電源控制寄存器PCON PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87H,不能位尋址。 在HMOS單片機(jī)中,該寄存器除最高位外,其它位都是虛設(shè)的。最高位SMOD為串行口波特率選擇位,當(dāng)SMOD=1時,方式1、2、3的波特率加倍;當(dāng)SMOD=0時,正常波特率。SMODGF1GF0PDIDL D7 D6 D5 D4 D3 D2 D1 D0 PCON 87H 4)中斷允許控制寄存器(IE) IE的地址是A8H,其內(nèi)容第6章已介紹。其中串行口允許中斷的控制位為ES,當(dāng)ES=1,允許串行口中斷;當(dāng)ES=0,禁止串行中斷。第69頁,共124頁,2022年
42、,5月20日,18點(diǎn)39分,星期三 2.串行接口的工作方式 串行口有4種工作方式,它是由SCON中的SM0、SM1來定義的,如表所示。第70頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 1)方式0 串行接口的工作方式0為同步移位寄存器方式,其波特率是固定的,為fosc(振蕩頻率)的1/12。 方式0發(fā)送 數(shù)據(jù)從RXD引腳串行輸出,TXD引腳輸出同步脈沖。當(dāng)1個數(shù)據(jù)寫入串行口發(fā)送緩沖器時,串行口將8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳輸出,從低位到高位。發(fā)送完后置中斷標(biāo)志TI為1,呈中斷請求狀態(tài),在再次發(fā)送數(shù)據(jù)之前,必須用軟件將TI清0。 第71頁,共124頁,2022
43、年,5月20日,18點(diǎn)39分,星期三 方式0接收 在滿足REN=1和RI=0的條件下,串行口處于方式0輸入。此時,RXD為數(shù)據(jù)輸入端,TXD為同步信號輸出端,接收器也以fosc/12的波特率采樣RXD引腳輸入的數(shù)據(jù)信息。當(dāng)接收器接收完8位數(shù)據(jù)后,置中斷標(biāo)志RI=1為請求中斷,在再次接收之前,必須用軟件將RI清0。第72頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 在方式0下,串行口作為同步移位寄存器使用。這時用RXD(P3.0)引腳作為數(shù)據(jù)移位的入口和出口,而由TXD(P3.1)引腳提供移位脈沖。移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,低位在前高位在后,其幀格式如
44、圖7-10所示。第73頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三 74LS164為帶清0端的串行輸入/并行輸出移位寄存器(8位), 而74LS165為并行輸入/串行輸出移位寄存器(8位)。 Q0Q7 并行輸出端。A,B串行輸入端。MR 清除端, 為0時,輸出清零。 CP 時鐘輸入端。每一個時鐘信號的上升沿加到CP端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。 第74頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三第75頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三第76頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三第77頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三HC165第78頁,共124頁,2022年,5月20日,18點(diǎn)39分,星期三第79頁,共124頁,2022年
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度網(wǎng)絡(luò)安全風(fēng)險評估與解決方案合同范本3篇
- 二零二五版股權(quán)激勵合同:某上市公司對高級管理人員股權(quán)激勵計劃3篇
- 2025年度時尚服飾店開業(yè)活動承包合同3篇
- 2025年度高端不銹鋼醫(yī)療器械制造委托合同3篇
- 二零二五版智能穿戴設(shè)備代加工合同范本2篇
- 二零二五年度環(huán)保型車間生產(chǎn)承包服務(wù)合同范本3篇
- 二零二五年高管子女教育援助與扶持合同3篇
- 2025年草場租賃與牧區(qū)基礎(chǔ)設(shè)施建設(shè)合同3篇
- 二零二五版涵洞工程勞務(wù)分包單價及工期延誤賠償合同3篇
- 二零二五版財務(wù)報表編制會計勞動合同范本3篇
- GB/T 34241-2017卷式聚酰胺復(fù)合反滲透膜元件
- GB/T 12494-1990食品機(jī)械專用白油
- 運(yùn)輸供應(yīng)商年度評價表
- 成熙高級英語聽力腳本
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級下冊數(shù)學(xué)全冊完整版課件
- 商場裝修改造施工組織設(shè)計
- 統(tǒng)編版一年級語文上冊 第5單元教材解讀 PPT
- 加減乘除混合運(yùn)算600題直接打印
- ASCO7000系列GROUP5控制盤使用手冊
評論
0/150
提交評論