




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、定時(shí)計(jì)數(shù)器和串行接口第1頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三(1) 了解定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理。(2) 熟悉定時(shí)/計(jì)數(shù)器的控制寄存器。(3) 掌握定時(shí)/計(jì)數(shù)器的應(yīng)用編程。(4) 了解串行通信接口的結(jié)構(gòu)和工作原理。(5) 熟悉串行通信接口的控制寄存器。(6) 掌握串行通信的應(yīng)用編程。 本章教學(xué)要求 第2頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三7.1 定時(shí)/計(jì)數(shù)器 在實(shí)際的控制系統(tǒng)中常要求有外部實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)或延時(shí)控制;還要求有外部計(jì)數(shù)器,以實(shí)現(xiàn)對(duì)外界事件進(jìn)行計(jì)數(shù)。比如,在單片機(jī)控制的電力拖動(dòng)系統(tǒng)中,控制的對(duì)象為電動(dòng)機(jī),為了實(shí)現(xiàn)閉環(huán)控制,就需
2、要定時(shí)地對(duì)轉(zhuǎn)速進(jìn)行采樣。第3頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 對(duì)于定時(shí)/計(jì)數(shù)器來(lái)說(shuō),不管是獨(dú)立的定時(shí)器芯片還是單片機(jī)內(nèi)的定時(shí)器,大都有以下特點(diǎn): (1)定時(shí)/計(jì)數(shù)器有多種工作方式,可以是計(jì)數(shù)方式也可以是定時(shí)方式。(脈沖內(nèi)部提供、外部提供) (2)定時(shí)/計(jì)數(shù)器的計(jì)數(shù)值是可變的,當(dāng)然對(duì)計(jì)數(shù)的最大值有一定限制,這取決于計(jì)數(shù)器的位數(shù)。計(jì)數(shù)的最大值也就限制了定時(shí)的最大值。 (3)可以按照規(guī)定的定時(shí)或計(jì)數(shù)值,在定時(shí)時(shí)間到或者計(jì)數(shù)終止時(shí),發(fā)出中斷申請(qǐng),以便實(shí)現(xiàn)定時(shí)控制。第4頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 7.1.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及工作原理 MC
3、S-51單片機(jī)的定時(shí)/計(jì)數(shù)器(以下簡(jiǎn)稱T/C)的結(jié)構(gòu)如下圖所示。 由圖可見(jiàn),T/C的核心是1個(gè)加1計(jì)數(shù)器,它的輸入脈沖有兩個(gè)來(lái)源:一個(gè)是外部脈沖源計(jì)數(shù)器,另一個(gè)是系統(tǒng)機(jī)器周期(時(shí)鐘振蕩器經(jīng)12分頻以后的脈沖信號(hào))定時(shí)器。 第5頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖7-2 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)框圖 第6頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 當(dāng)T/C處于定時(shí)方式時(shí),加1計(jì)數(shù)器在每個(gè)機(jī)器周期加1,因此,也可以把它看作在累計(jì)機(jī)器周期。由于一個(gè)機(jī)器周期包含12個(gè)振蕩周期,所以它的最高計(jì)數(shù)速率是振蕩頻率的1/12。 用作計(jì)數(shù)器時(shí),由于對(duì)外部信號(hào)的識(shí)別需要一個(gè)機(jī)
4、器周期,而計(jì)數(shù)器判斷的是一次下降沿,所以計(jì)數(shù)最高速率是振蕩頻率的1/24。 第7頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 16位的加1計(jì)數(shù)器由兩個(gè)8位的特殊功能寄存器THx或TLx組成(X=0、1)。它們可被程控為不同的組合狀態(tài)。(13位、16位、兩個(gè)分開(kāi)的8位等),從而形成T/C不同的4種工作方式,這只要用指令改變TMOD(工作方式控制寄存器)的相應(yīng)位即可。第8頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三第9頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 7.1.2 定時(shí)/計(jì)數(shù)器的方式和控制寄存器 MCS-51單片機(jī)有2個(gè)特殊功能寄存器TMO
5、D和TCON:TMOD用于設(shè)置T/C的工作方式;TCON用于控制定時(shí)器T0、T1的啟動(dòng)與停止,并包含了定時(shí)器的狀態(tài)。 1.定時(shí)器工作方式寄存器TMOD 定時(shí)器工作方式寄存器TMOD用于選擇定時(shí)器的工作方式,它的高4位控制定時(shí)器T1,低4位控制定時(shí)器T0。TMOD中各位的定義如下:GATEC/TM1M0GATEC/TM1M0T1T0TMOD 89H 第10頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 其中: :T/C功能選擇位,當(dāng) =1時(shí)為計(jì)數(shù)方式;當(dāng) =0時(shí)為定時(shí)方式。 M1M0:T/C工作方式定義位,其具體定義方式如表所示。第11頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)
6、39分,星期三 GATE:門(mén)控制位,用于控制定時(shí)器的啟動(dòng)是否受外部中斷源信號(hào)的影響。GATE=0時(shí),與外部中斷無(wú)關(guān),由TCON寄存器中的TRx位控制啟動(dòng)。GATE=1時(shí),由控制位TRx和引腳 共同控制啟動(dòng),只有在沒(méi)有外部中斷請(qǐng)求信號(hào)的情況下(即外部中斷引腳 =1時(shí)),才允許定時(shí)器啟動(dòng)。 利用這一功能可以方便地測(cè)量外部脈沖高電平的脈寬。第12頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 2.定時(shí)器控制寄存器TCON TCON控制寄存器各位的定義如下: TF1TR1TF0TR0IE1IT1IE0IT0D7 D6 D5 D4 D3 D2 D1 D0 TCON 88H 第13頁(yè),共12
7、4頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 其中: TF0(TF1):為T(mén)0(T1)定時(shí)器溢出中斷標(biāo)志位。當(dāng)T0(T1)計(jì)數(shù)溢出時(shí),由硬件置位,并在允許中斷的情況下,發(fā)出中斷請(qǐng)求信號(hào)。當(dāng)CPU響應(yīng)中斷轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件自動(dòng)將該位清0。 TR0(TR1):為T(mén)0(T1)運(yùn)行控制位。當(dāng)TR0(TR1)=1時(shí)啟動(dòng)T0(T1);TR0(TR1)=0時(shí)關(guān)閉T0(T1)。該位由軟件進(jìn)行設(shè)置。第14頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 7.1.3 定時(shí)/計(jì)數(shù)器的工作方式 MCS-51單片機(jī)的T/C有4種工作方式,分別由TMOD寄存器中的M1、M0兩位的二進(jìn)制編碼所決定
8、。 1.方式0 當(dāng)M1M0=00時(shí),T/C設(shè)定為工作方式0,構(gòu)成13位的T/C。其邏輯結(jié)構(gòu)如圖所示。在此工作方式下,T/C構(gòu)成一個(gè)13位的計(jì)數(shù)器,由THx的8位和TLx的低5位組成,TLx的高3位未用,滿計(jì)數(shù)值為213。第15頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖73 T/C方式0的邏輯結(jié)構(gòu)圖 第16頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 2. 方式1 當(dāng)M1M0=01時(shí),T/C設(shè)定為工作方式1,構(gòu)成16位定時(shí)/計(jì)數(shù)器,其中THx作為高8位,TLx作為低8位,滿計(jì)數(shù)值為216,其余同方式0類似。其邏輯結(jié)構(gòu)如圖所示。第17頁(yè),共124頁(yè),2022年,
9、5月20日,18點(diǎn)39分,星期三圖74 T/C方式1的邏輯結(jié)構(gòu)圖 第18頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 3.方式2 當(dāng)M1M0=10時(shí),T/C工作在方式2,構(gòu)成1個(gè)自動(dòng)重裝載的T/C,滿計(jì)數(shù)值為28。 在方式2中THx和TLx被當(dāng)作兩個(gè)8位計(jì)數(shù)器,計(jì)數(shù)過(guò)程中,THx寄存8位初值并保持不變,由TLx進(jìn)行8位計(jì)數(shù)。計(jì)數(shù)溢出時(shí),除產(chǎn)生溢出中斷請(qǐng)求外,還自動(dòng)將THx中的初值重新裝到TLx中去,即重裝載。第19頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖75 T/C方式2的邏輯結(jié)構(gòu)圖 第20頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 4.
10、方式3 方式3只適用于定時(shí)器T0。當(dāng)定時(shí)器T1處于方式3時(shí)相當(dāng)于TR1=0,停止計(jì)數(shù)。 當(dāng)T0工作在方式3時(shí),TH0和TL0被拆成2個(gè)獨(dú)立的8位計(jì)數(shù)器。這時(shí),TL0既可作為定時(shí)器使用,也可作為計(jì)數(shù)器使用,它占用了定時(shí)器T0所使用的控制位(C/ 、GATE、TR0、TF0),其功能和操作與方式0或方式1完全相同;而TH0只能作定時(shí)器用,并且占據(jù)了定時(shí)器T1的兩個(gè)控制信號(hào)TR1和TF1。在這種情況下,定時(shí)器T1雖仍可用于方式0、1、2,但不能使用中斷方式。 第21頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖76 T/C方式3的邏輯結(jié)構(gòu)圖 第22頁(yè),共124頁(yè),2022年,5月20
11、日,18點(diǎn)39分,星期三 7.1.4 定時(shí)/計(jì)數(shù)器應(yīng)用舉例 由于MCS-51單片機(jī)的定時(shí)/計(jì)數(shù)器是可編程的,因此在使用之前需要進(jìn)行初始化。在編程時(shí)主要注意兩點(diǎn):第一要能正確寫(xiě)入控制字;第二能進(jìn)行計(jì)數(shù)初值的計(jì)算。一般情況下,包括以下幾個(gè)步驟: (1)確定工作方式,即對(duì)TMOD寄存器進(jìn)行賦值。 (2)計(jì)算計(jì)數(shù)初值,并寫(xiě)入寄存器TH0、TL0或TH1、TL1中。 (3)根據(jù)需要,置位ETx允許T/C中斷。 (4)置位EA使CPU開(kāi)中斷(需要時(shí))。 (5)置位TRx啟動(dòng)計(jì)數(shù)。第23頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 計(jì)數(shù)初值的計(jì)算方法如下: 由于定時(shí)/計(jì)數(shù)器是以加1的方式計(jì)數(shù)
12、,因此同常用的減1計(jì)數(shù)器的算法不同。 在定時(shí)方式下:假定時(shí)間常數(shù)為T(mén)c,定時(shí)時(shí)間為T(mén),而T=TcTp,則時(shí)間常數(shù)為(71) 其中Tp為機(jī)器周期,即12/晶振頻率。應(yīng)裝入定時(shí)/計(jì)數(shù)器的初值為 X=2n-Tc (n為計(jì)數(shù)器的位數(shù))(72) 第24頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 例1:若晶振頻率為6MHz,試計(jì)算MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器的最小定時(shí)時(shí)間和最大定時(shí)時(shí)間。 解:先確定機(jī)器周期: 計(jì)算最小定時(shí)時(shí)間: 對(duì)于定時(shí)器的幾種工作方式來(lái)說(shuō),最小定時(shí)時(shí)間都是一樣的,即Tmin=TcTp=12s=2s 計(jì)算最大定時(shí)時(shí)間: 當(dāng)T/C工作在方式1下的定時(shí)時(shí)間最長(zhǎng),則最大定時(shí)
13、時(shí)間為 Tmax=TcTp=2162s=131072s=131ms晶振頻率第25頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三例2:若單片機(jī)的晶振頻率為6MHz,要求定時(shí)/計(jì)數(shù)器T0產(chǎn)生100ms的定時(shí),試確定計(jì)數(shù)初值以及TMOD寄存器的內(nèi)容。 解:當(dāng)晶振頻率為6MHz時(shí),產(chǎn)生100ms的定時(shí)接近最大值(131ms),故只能采用方式1(16位定時(shí)器)。第26頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三晶振頻率時(shí)間常數(shù)為: 計(jì)數(shù)初值為: 第27頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 設(shè)置TMOD方式字: 對(duì)于T0來(lái)說(shuō):M1M0=01、 、GAT
14、E=0。 由于T1不用,可任意設(shè)置,現(xiàn)取為全0,因此,TMOD寄存器的內(nèi)容為: TMOD=00000001B=01H 試解釋對(duì)于T0的寄存器設(shè)置。第28頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 例3:利用定時(shí)/計(jì)數(shù)器T0通過(guò)P1.0引腳輸出周期為2ms的方波,設(shè)晶振頻率為12MHz。試確定計(jì)數(shù)初值、TMOD內(nèi)容及編制相應(yīng)程序。 解:若要產(chǎn)生周期為2ms的方波,只要每1ms將信號(hào)的幅值由0變到1或由1變到0即可,可采用取反指令CPL來(lái)實(shí)現(xiàn)。為了提高CPU的效率,可采用定時(shí)中斷的方式,每1ms產(chǎn)生一次中斷,在中斷服務(wù)程序中將輸出信號(hào)取反即可。 定時(shí)器T0的中斷入口地址為000B
15、H。 計(jì)算計(jì)數(shù)初值: 對(duì)于定時(shí)1ms來(lái)說(shuō),用定時(shí)器方式0(13位定時(shí)器)就可實(shí)現(xiàn)。 第29頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 機(jī)器周期為:Tp=1us時(shí)間常數(shù)為: 計(jì)數(shù)初值為: 則其高8位為E0H,低5位為18H,故TH0=E0H,TL0=18H。第30頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 確定TMOD方式字: 對(duì)于定時(shí)器T0來(lái)說(shuō),M1M0=00H、 =0、GATE=0。定時(shí)器T1不用,取為全0。于是 TMOD=00000000B=00H 程序設(shè)計(jì): ORG 000BH ;T0中斷服務(wù)程序入口 LJMP INT ;轉(zhuǎn)至INT處 ORG 2000
16、H ;主程序 MOV TMOD,00H ;置T0為定時(shí)方式0 MOV TH0,0E0H;設(shè)置計(jì)數(shù)初值 第31頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 MOV TL0,18H SETB EA ;CPU開(kāi)中斷 SETB ET0 ;允許T0中斷 SETB TR0 ;啟動(dòng)T0HALT:SJMP HALT ;暫停,等待中斷INT: CPL P1.0;輸出方波 MOV TH0,0E0H ;重新裝入計(jì)數(shù)初值 MOV TL0,18H RETI ;中斷返回第32頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三例7-5 設(shè)一只發(fā)光二極管LED和8051的P1.0腳相連。當(dāng)P1.0腳
17、是高電平時(shí),LED發(fā)亮;當(dāng)P1.0腳是低電平時(shí),LED熄滅。編制程序用定時(shí)器來(lái)實(shí)現(xiàn)發(fā)光二極管LED的閃爍功能,設(shè)置LED每1s閃爍一次。已知單片機(jī)系統(tǒng)主頻為12MHz。-應(yīng)用實(shí)例第33頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三設(shè)計(jì)思想:定時(shí)/計(jì)數(shù)器的最長(zhǎng)定時(shí)是65.536ms,無(wú)法實(shí)現(xiàn)1s的定時(shí)??梢圆捎密浖?jì)數(shù)器來(lái)進(jìn)行設(shè)計(jì)。定義一個(gè)軟件計(jì)數(shù)器單元30H,先用定時(shí)/計(jì)數(shù)器T0做一個(gè)50ms的定時(shí)器,定時(shí)時(shí)間到后將軟件計(jì)數(shù)器中的值加1,如果軟件計(jì)數(shù)器計(jì)到了20(1s),取反P1.0,并清除軟件計(jì)數(shù)器中的值,否則直接返回。則完成了20次定時(shí)中斷才取反一次P1.0,實(shí)現(xiàn)定時(shí)時(shí)間20
18、50=1000ms=1s的定時(shí)。定時(shí)/計(jì)數(shù)器T0采用工作方式1(16位定時(shí)器),其初值為:21650ms/1s=6553650000=15536=3CB0H-應(yīng)用實(shí)例第34頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三程序如下:ORG0000HAJMPSTART;轉(zhuǎn)入主程序ORG000BH;定時(shí)/計(jì)數(shù)器T0的中斷服務(wù)程序入口地址AJMPTIME0;跳轉(zhuǎn)到真正的定時(shí)器中斷服務(wù)程序處ORG0030HSTART:MOVSP, #60H;設(shè)置堆棧指針MOVP1, #00H;關(guān)發(fā)光二極管LED(使其滅)MOV30H, #00H;軟件計(jì)數(shù)器預(yù)清0MOVTMOD, #01H;定時(shí)/計(jì)數(shù)器T0工
19、作于方式1MOVTH0, #3CH;設(shè)置定時(shí)/計(jì)數(shù)器的初值MOVTL0, #0B0HSETBEA;開(kāi)總中斷允許SETBET0;開(kāi)定時(shí)/計(jì)數(shù)器T0中斷允許SETBTR0;啟動(dòng)定時(shí)/計(jì)數(shù)器T0LOOP:JMPLOOP;循環(huán)等待-應(yīng)用實(shí)例第35頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三TIME0:INC30H;中斷程序MOVA, 30HCJNEA, #14H, RET0;與20比較,不等轉(zhuǎn)RET0MOV30H, #00HCPLP1.0RET0: MOVTH0, #3CH;重設(shè)定時(shí)初值,啟動(dòng)MOVTL0, #0B0HRETI-應(yīng)用實(shí)例第36頁(yè),共124頁(yè),2022年,5月20日,18
20、點(diǎn)39分,星期三盡管MCS-51為用戶只提供了兩個(gè)外部中斷源,但用戶可以根據(jù)實(shí)際需求,進(jìn)行多于兩個(gè)外部中斷請(qǐng)求的擴(kuò)展,其中有很多擴(kuò)展方法。在此重點(diǎn)介紹利用定時(shí)器中斷作為外部中斷的擴(kuò)展。MCS-51有兩個(gè)定時(shí)/計(jì)數(shù)器T0、T1,若選擇它們以計(jì)數(shù)器方式工作,當(dāng)引腳T0或T1上發(fā)生負(fù)跳變時(shí),T0或T1計(jì)數(shù)器則加1。利用這個(gè)特性,借用引腳T0或T1作為外部中斷請(qǐng)求輸入線,若設(shè)定計(jì)數(shù)初值為滿量程,計(jì)數(shù)器加1,就會(huì)產(chǎn)生溢出中斷請(qǐng)求,TF0或TF1變成了外部中斷請(qǐng)求標(biāo)志位,T0或T1的中斷入口地址被擴(kuò)展成了外部中斷源的入口地址。值得注意的是,當(dāng)使用定時(shí)器作為外部中斷時(shí),定時(shí)器以前的功能將失效,除非用軟件對(duì)它
21、進(jìn)行復(fù)用。 3采用定時(shí)/計(jì)數(shù)器擴(kuò)展外部中斷-擴(kuò)展外部中斷第37頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 將定時(shí)器T0引腳作為外部中斷源使用的具體做法為,設(shè)定相應(yīng)定時(shí)器工作方式為方式2,計(jì)數(shù)器TH0、TL0初值為0FFH,允許計(jì)數(shù)器T0中斷,則T0的初始始化程序如下:MOV TMOD, 06H ;將計(jì)數(shù)器T0設(shè)定為;方式2外部計(jì)數(shù)MOV TL0, #0FFH;設(shè)置計(jì)數(shù)器初值MOV TH0, #0FFH;設(shè)置重裝計(jì)數(shù)器初值SETB ET0;允許T0中斷SETB EA;CPU開(kāi)中斷SETB TR0;啟動(dòng)T0-擴(kuò)展外部中斷第38頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,
22、星期三#include void main(void)TMOD=0 x66;/*兩個(gè)定時(shí)/計(jì)數(shù)器都設(shè)為方式2 外部計(jì)數(shù)模式*/TH1=0 xFF;/*設(shè)定重裝值,TL1不用設(shè)置*/TH0=0 xFF;/*設(shè)定重裝值,TL0不用設(shè)置*/TCON=0 x50;/*置位TR1、TR0,開(kāi)始計(jì)數(shù)*/IE=0 x9F;/*中斷使能*/-擴(kuò)展外部中斷第39頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三/*定時(shí)器0中斷服務(wù)程序*/void timer0_int(void) interrupt 1TF0=0;/*計(jì)數(shù)溢出標(biāo)志位清0*/*定時(shí)器1中斷服務(wù)程序*/void timer1_int(vo
23、id) interrupt 3TF1=0;/*計(jì)數(shù)溢出標(biāo)志位清0*/-擴(kuò)展外部中斷第40頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三定時(shí)器計(jì)數(shù)器擴(kuò)展外部中斷實(shí)際項(xiàng)目例子/*強(qiáng)力單片機(jī)技術(shù)項(xiàng)目交易網(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頁(yè),共124頁(yè),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,計(jì)數(shù)*/TMOD=0 x05;/*初值設(shè)定,當(dāng)設(shè)為T(mén)H0=0 xff;TL0=0 xff;每按C/T0(K4)一次計(jì)數(shù)加一,此方法可把計(jì)數(shù)器作為外部中斷使用;當(dāng)設(shè)為T(mén)H0=0 xff;TL0=0 xf0;每按C/T0(K4)16次計(jì)數(shù)加一,(不考慮按鍵抖動(dòng))*/TH0=0 xff;TL0=0 xff;TR0=1;ET0=1;EA=1; while(1) /*顯示計(jì)數(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頁(yè),共124頁(yè),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、);/* 定時(shí)器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頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三習(xí)題7-2、7-5、7-7、7-9、7-11第44頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三7.2 串行通信接口 7.2.1 串行通信的基本知識(shí) 1.并行通信與串行通信 在實(shí)際應(yīng)用中,不但計(jì)算機(jī)與外部設(shè)備之間
28、常常要進(jìn)行信息交換,而且計(jì)算機(jī)之間也需要交換信息,所有這些信息的交換均稱為“通信”。 通信的基本方式分為并行通信和串行通信兩種。 第45頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 并行通信是構(gòu)成1組數(shù)據(jù)的各位同時(shí)進(jìn)行傳送,例如8位數(shù)據(jù)或16位數(shù)據(jù)并行傳送。 其特點(diǎn)是傳輸速度快,但當(dāng)距離較遠(yuǎn)、位數(shù)又多時(shí)導(dǎo)致了通信線路復(fù)雜且成本高。 串行通信是數(shù)據(jù)一位接一位地順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)通信(如電話線),從而大大地降低了成本,特別適用于遠(yuǎn)距離通信。缺點(diǎn)是傳送速度慢。第46頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 圖 通信的兩種基本方
29、式(a)并行通信; (b)串行通信第47頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 串行通信可分為異步傳送和同步傳送兩種基本方式。 1)異步傳送方式 異步傳送的特點(diǎn)是數(shù)據(jù)在線路上的傳送不連續(xù)。在傳送時(shí),數(shù)據(jù)是以一個(gè)字符為單位進(jìn)行傳送的。它用一個(gè)起始位表示字符的開(kāi)始,用停止位表示字符的結(jié)束。異步傳送的字符格式如圖所示。第48頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 一個(gè)字符由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位4個(gè)部分組成。起始位為0占1位;其后接著的就是數(shù)據(jù)位,它可以是5位、6位、7位或8位,傳送時(shí)低位在先、高位在后;再后面的1位為奇偶校驗(yàn)位,可要也可以不要
30、;最后是停止位,它用信號(hào)1來(lái)表示字符的結(jié)束,可以是1位、1位半或2位。 第49頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 圖 串行異步傳送的字符格式(a)字符格式; (b)有空閑位的字符格式 第50頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 例如,采用串行異步通信方式傳送ASCII碼字符5,規(guī)定為7位數(shù)據(jù)位,1位偶校驗(yàn)位,1位停止位,無(wú)空閑位。 由于5的ASCII碼為35H,其對(duì)應(yīng)7位數(shù)據(jù)位為0110101,如按低位在前、高位在后順序排列應(yīng)為1010110。前面加1位起始位,后面配上偶校驗(yàn)位1位0,最后面加1位停止位1,因此傳送的字符格式為010101100
31、1,其對(duì)應(yīng)的波形如圖所示。第51頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖 傳送ASCII碼字符5的波形圖 第52頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 在串行異步傳送中,CPU與外設(shè)之間事先必須約定: 字符格式。 雙方要事先約定字符的編碼形式、奇偶校驗(yàn)形式及起始位和停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為7位,加1個(gè)奇偶校驗(yàn)位、1個(gè)起始位和1個(gè)停止位共10位。當(dāng)然停止位也可大于1位。 波特率(Baudrate)。 波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間存在如下關(guān)系: 波特率=位/字
32、符字符/秒=位/秒 要求發(fā)送端與接收端的波特率必須一致。第53頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 例如,假設(shè)字符傳送的速率為120字符/秒,而每1個(gè)字符為10位,那么傳送的波特率為 10位/字符120字符/秒=1200位/秒=1200波特 每1位二進(jìn)制位的傳送時(shí)間Td就是波特率的倒數(shù),例如上例中 Td=1/1200=0.833ms第54頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 2) 同步傳送 在異步傳送中,每1個(gè)字符都要用起始位和停止位作為字符開(kāi)始和結(jié)束的標(biāo)志,占用了一定的時(shí)間。為了提高傳送速度,有時(shí)就去掉這些標(biāo)志,而采用同步傳送,即1次傳送1組數(shù)
33、據(jù)。在這1組數(shù)據(jù)的開(kāi)始處要用同步字符SYN來(lái)加以指示,如圖所示。 計(jì)算機(jī)網(wǎng)絡(luò)采用的就是這樣的傳送方式。第55頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 圖 同步傳送 第56頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三BSC協(xié)議的數(shù)據(jù)塊有如下四種格式(1)不帶報(bào)頭的單塊報(bào)文或分塊傳輸中的最后一塊報(bào)文: SYN SYN STX 報(bào)文 ETX BCC(2)帶報(bào)頭的單塊報(bào)文: SYN SYN SOH 報(bào)頭 STX 報(bào)文 ETX BCC(3)分塊傳輸中的第一塊報(bào)文: SYN SYN SOH 報(bào)頭 STX 報(bào)文 ETB BCC(4)分塊傳輸中的中間報(bào)文: SYN SYN
34、STX 報(bào)文 ETB BCC 第57頁(yè),共124頁(yè),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站。不過(guò)在同一時(shí)間只能作1個(gè)方向的傳送。 (3)全雙工方式。 如圖 (c)所示,每個(gè)站(A、B)既可同時(shí)發(fā)送,也可同時(shí)接收。 第58頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 圖 串行通信的三種方式(a)單工方式;(b)半雙工方式;(c)全雙工方式第59頁(yè)
35、,共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三3、串行通信的校驗(yàn)奇偶校驗(yàn)和校驗(yàn)CRC校驗(yàn) 如16位CRC校驗(yàn)碼(r=16),可以校驗(yàn)32kbit的數(shù)據(jù),可以檢測(cè)突發(fā)長(zhǎng)度不大于16的突發(fā)錯(cuò)以及99.998%的突發(fā)長(zhǎng)度大于或等于17的突發(fā)錯(cuò)。 第60頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三仿真結(jié)果校驗(yàn)位數(shù)(r)總的幀位長(zhǎng)(n)檢出錯(cuò)誤個(gè)數(shù)(e1)總錯(cuò)誤個(gè)數(shù)(e)檢錯(cuò)率410043649788810049749710016100497497100第61頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 7.2.2 MCS-51單片機(jī)的串行接口 MCS-51單
36、片機(jī)內(nèi)部有1個(gè)功能很強(qiáng)的全雙工串行口,可同時(shí)發(fā)送和接收數(shù)據(jù)。它有4種工作方式,可供不同場(chǎng)合使用。波特率由軟件設(shè)置,通過(guò)片內(nèi)的定時(shí)/計(jì)數(shù)器產(chǎn)生。接收、發(fā)送均可工作在查詢方式或中斷方式,使用十分靈活。MCS-51的串行口除了用于數(shù)據(jù)通信外,還可以非常方便地構(gòu)成1個(gè)或多個(gè)并行輸入/輸出口,或作串并轉(zhuǎn)換,用來(lái)驅(qū)動(dòng)鍵盤(pán)與顯示器。第62頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三圖79 MCS-51串行口的原理結(jié)構(gòu)圖 MCS-51單片機(jī)串行口構(gòu)成:發(fā)送緩沖寄存器(SBUF)發(fā)送控制器發(fā)送控制門(mén)接收緩沖寄存器(SBUF)接收控制寄存器移位寄存器中斷第63頁(yè),共124頁(yè),2022年,5月20日
37、,18點(diǎn)39分,星期三 1.串行接口的特殊功能寄存器 與串行通信有關(guān)的控制寄存器共有4個(gè):SBUF、SCON、PCON和IE。 1) 串行口數(shù)據(jù)緩沖器SBUF SBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù)。兩個(gè)緩沖器只用一個(gè)字節(jié)地址99H,可通過(guò)指令對(duì)SBUF的讀寫(xiě)來(lái)區(qū)別是對(duì)接收緩沖器的操作還是對(duì)發(fā)送緩沖器的操作。CPU寫(xiě)SBUF,就是修改發(fā)送緩沖器;讀SBUF,就是讀接收緩沖器。串行口對(duì)外也有兩條獨(dú)立的收發(fā)信號(hào)線RXD(P3.0)和TXD(P3.1),因此可以同時(shí)發(fā)送、接收數(shù)據(jù),實(shí)現(xiàn)全雙工傳送。第64頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 2) 串
38、行口控制寄存器SCON SCON寄存器用來(lái)控制串行口的工作方式和狀態(tài),它可以是位尋址。在復(fù)位時(shí)所有位被清0,字地址為98H。SCON的格式為 SM0SM1SM2RENTB8RB8TIRI D7 D6 D5 D4 D3 D2 D1 D0 第65頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 SM0、SM1:串行口工作方式選擇位。 SM2:多機(jī)通信控制位。主要用于工作方式2和方式3。在方式2和方式3中,如SM2=1,則接收到的第9位數(shù)據(jù)(RB8)為0時(shí)不啟動(dòng)接收中斷標(biāo)志RI(即RI=0),并且將接收到的前8位數(shù)據(jù)丟棄;RB8為1時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中
39、斷請(qǐng)求。當(dāng)SM2=0時(shí),則不論第9位數(shù)據(jù)為0或1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請(qǐng)求。在方式0時(shí),SM2必須為0。 第66頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三多機(jī)通信過(guò)程所有從機(jī)的SM2=1,處于只接收地址幀狀態(tài)所有同學(xué)坐著聽(tīng)講主機(jī)發(fā)地址信息,以第9位TB8=1表示發(fā)送的是地址老師喊同學(xué)名字從機(jī)接收到地址幀后與本機(jī)地址比較所有同學(xué)聽(tīng)到名字與自己的名字比較被尋址從機(jī)SM2=0,其余從機(jī)SM2=1不變名字相符的同學(xué)站起來(lái)主機(jī)發(fā)數(shù)據(jù)信息,對(duì)已被尋址的從機(jī)因SM2=0,可以接收主機(jī)發(fā)來(lái)的信息。其余從機(jī)因SM2=1不理睬主機(jī)。老師與站起的同學(xué)進(jìn)行提問(wèn)回答課堂交流被尋址的
40、從機(jī)SM2置1.主機(jī)可另發(fā)地址幀與其它從機(jī)通信時(shí) ?;卮饐?wèn)題的同學(xué)坐下第67頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 REN:允許串行接收控制位。若REN=0,則禁止接收;若REN=1,則允許接收。該位由軟件置位或復(fù)位。 TB8:發(fā)送數(shù)據(jù)位8。 在方式2和方式3時(shí),TB8為所要發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示主機(jī)發(fā)送的是地址還是數(shù)據(jù):TB8=0為數(shù)據(jù),TB8=1為地址;也可用作數(shù)據(jù)的奇偶校驗(yàn)位。該位由軟件置位或復(fù)位。 RB8:接收數(shù)據(jù)位8。 TI:發(fā)送中斷標(biāo)志位。軟件清零 RI:接收中斷標(biāo)志位。軟件清零第68頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)
41、39分,星期三 3)電源控制寄存器PCON PCON主要是為CHMOS型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87H,不能位尋址。 在HMOS單片機(jī)中,該寄存器除最高位外,其它位都是虛設(shè)的。最高位SMOD為串行口波特率選擇位,當(dāng)SMOD=1時(shí),方式1、2、3的波特率加倍;當(dāng)SMOD=0時(shí),正常波特率。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頁(yè),共124頁(yè),2022年
42、,5月20日,18點(diǎn)39分,星期三 2.串行接口的工作方式 串行口有4種工作方式,它是由SCON中的SM0、SM1來(lái)定義的,如表所示。第70頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 1)方式0 串行接口的工作方式0為同步移位寄存器方式,其波特率是固定的,為fosc(振蕩頻率)的1/12。 方式0發(fā)送 數(shù)據(jù)從RXD引腳串行輸出,TXD引腳輸出同步脈沖。當(dāng)1個(gè)數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器時(shí),串行口將8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳輸出,從低位到高位。發(fā)送完后置中斷標(biāo)志TI為1,呈中斷請(qǐng)求狀態(tài),在再次發(fā)送數(shù)據(jù)之前,必須用軟件將TI清0。 第71頁(yè),共124頁(yè),2022
43、年,5月20日,18點(diǎn)39分,星期三 方式0接收 在滿足REN=1和RI=0的條件下,串行口處于方式0輸入。此時(shí),RXD為數(shù)據(jù)輸入端,TXD為同步信號(hào)輸出端,接收器也以fosc/12的波特率采樣RXD引腳輸入的數(shù)據(jù)信息。當(dāng)接收器接收完8位數(shù)據(jù)后,置中斷標(biāo)志RI=1為請(qǐng)求中斷,在再次接收之前,必須用軟件將RI清0。第72頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 在方式0下,串行口作為同步移位寄存器使用。這時(shí)用RXD(P3.0)引腳作為數(shù)據(jù)移位的入口和出口,而由TXD(P3.1)引腳提供移位脈沖。移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,低位在前高位在后,其幀格式如
44、圖7-10所示。第73頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三 74LS164為帶清0端的串行輸入/并行輸出移位寄存器(8位), 而74LS165為并行輸入/串行輸出移位寄存器(8位)。 Q0Q7 并行輸出端。A,B串行輸入端。MR 清除端, 為0時(shí),輸出清零。 CP 時(shí)鐘輸入端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到CP端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數(shù)全部移入74LS164中。 第74頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三第75頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三第76頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三第77頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三HC165第78頁(yè),共124頁(yè),2022年,5月20日,18點(diǎn)39分,星期三第79頁(yè),共124頁(yè),2022年
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場(chǎng)猜燈謎活動(dòng)方案
- 國(guó)慶婦聯(lián)活動(dòng)方案
- 國(guó)慶活動(dòng)推廣策劃方案
- 國(guó)外元旦活動(dòng)方案
- 國(guó)企示范性團(tuán)日活動(dòng)方案
- 商場(chǎng)聯(lián)盟活動(dòng)方案
- 哲學(xué)跨學(xué)科學(xué)習(xí)活動(dòng)方案
- 商場(chǎng)冬日溫暖活動(dòng)方案
- 哪些地理活動(dòng)方案
- 國(guó)慶校園巡禮活動(dòng)方案
- 2023年瀘州市文化和旅游系統(tǒng)事業(yè)單位招聘筆試模擬試題及答案
- 醫(yī)療器械行業(yè)市場(chǎng)部人員崗位職責(zé)
- (中醫(yī)內(nèi)科)高級(jí)、副高級(jí)職稱考試模擬試題及答案
- 跌倒墜床原因分析預(yù)防措施
- 部編版小學(xué)道德與法治三年級(jí)下冊(cè)期末質(zhì)量檢測(cè)試卷【含答案】5套
- 弱電施工安全技術(shù)交底
- DB21T 3354-2020 遼寧省綠色建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 安全生產(chǎn)知識(shí)應(yīng)知應(yīng)會(huì)
- 08S305-小型潛水泵選用及安裝圖集
- 體育器材采購(gòu)設(shè)備清單
- 二手車(chē)鑒定評(píng)估報(bào)告書(shū)最終
評(píng)論
0/150
提交評(píng)論