版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章定時(shí)器計(jì)數(shù)器2本講課程主要內(nèi)容(1)定時(shí)/計(jì)數(shù)器的基本概念(2)定時(shí)/計(jì)數(shù)器的編程方法(3)定時(shí)/計(jì)數(shù)器編程舉例3定時(shí)器/計(jì)數(shù)器兩個(gè)16位定時(shí)/計(jì)數(shù)器存放初值的SFRT0: TH0、TL0T1: TH1、TL1其它相關(guān)的SFR:TMOD(工作方式控制寄存器)TCON(控制寄存器)定時(shí)功能時(shí),每個(gè)機(jī)器周期定時(shí)器加1計(jì)數(shù)功能時(shí),在外部相應(yīng)輸入腳(T0和T1)產(chǎn)生下降沿,計(jì)數(shù)器加1。46.1 定時(shí)計(jì)數(shù)器的結(jié)構(gòu)框圖6.2 定時(shí)器的控制字工作方式控制寄存器TMOD(89H)GATEC/TM1 M0 GATE C/T M1 M0注意:TMOD不能位尋址控制寄存器TCON (88H) TF1 TR1
2、TF0 TR0 IE1 IT1 IE0 IT0復(fù)位后兩個(gè)寄存器的狀態(tài)均為00H。566.2.1 TMOD:工作方式控制寄存器GATE:門控位GATE1,T0、T1是否工作受外部引腳輸入電平的控制,INT0引腳控制T0運(yùn)行,INT1引腳控制T1運(yùn)行??捎糜跍y(cè)量在INT0或INT1引腳出現(xiàn)的正脈沖的寬度。GATE=0,定時(shí)/計(jì)數(shù)器的運(yùn)行不受外部引腳INT0或INT1的控制。C/T位:計(jì)數(shù)器模式和定時(shí)器模式的選擇位C/T=0,為定時(shí)器模式。內(nèi)部計(jì)數(shù)器對(duì)晶振頻率12分頻后的脈沖計(jì)數(shù)(該脈沖的周期等于機(jī)器周期),每個(gè)周期計(jì)數(shù)值加1。若選擇12MHz晶振,則計(jì)數(shù)頻率為1MHz。從計(jì)數(shù)值便可求得計(jì)數(shù)的時(shí)間,
3、所以稱為定時(shí)器模式;C/T=1,設(shè)置為計(jì)數(shù)器模式,計(jì)數(shù)器對(duì)由引腳T0(P3.4腳)或T1(P3.5腳)輸入的外部脈沖(負(fù)跳變)計(jì)數(shù),允許最高計(jì)數(shù)頻率為晶振頻率的1/24。7工作方式控制寄存器TMODM1、M0工作方式選擇位86.2.2 定時(shí)/計(jì)數(shù)器控制寄存器TCONTF1位:T1計(jì)數(shù)溢出標(biāo)志位。當(dāng)T1計(jì)數(shù)溢出時(shí),由硬件置1,申請(qǐng)中斷。進(jìn)入中斷服務(wù)程序后被硬件自動(dòng)清0。TR1位:T1計(jì)數(shù)運(yùn)行控制位。由軟件置1或清0。當(dāng)GATE位(TMOD.7)0時(shí),若TR1=1,允許T1計(jì)數(shù);TR1=0時(shí),禁止T1計(jì)數(shù)。當(dāng)GATE位=1時(shí),TR11且INT1=1時(shí),允許T1計(jì)數(shù)。TF0位:T0計(jì)數(shù)溢出標(biāo)志位,功
4、能同TF1。TR0位:T0計(jì)數(shù)運(yùn)行控制位,由軟件置1或清0。當(dāng)GATE位(TMOD.3)0時(shí),若TR0=1,允許T0計(jì)數(shù);TR0=0時(shí),禁止T0計(jì)數(shù)。當(dāng)GATE位=1時(shí),TR01且INT0=1時(shí),允許T0計(jì)數(shù)。96.3 定時(shí)/計(jì)數(shù)器的4種工作方式方式0、方式1(13位、16位定時(shí)計(jì)數(shù)方式)T1工作于方式0的等效框圖(M1M0=00、01)GATE=0、A=1、TR1=1GATE=1、INT1=1、TR1=1。注意定時(shí)器初值與定時(shí)時(shí)間的不同106.3.1 方式0、方式1的說明定時(shí)/計(jì)數(shù)器T1工作在方式0時(shí),為13位的計(jì)數(shù)器,由TL1的低5位和TH1的8位所構(gòu)成。TL1低5位溢出向TH1進(jìn)位,TH
5、1計(jì)數(shù)溢出置位TCON中的溢出標(biāo)志位TF1。GATE位的狀態(tài)決定定時(shí)/計(jì)數(shù)器運(yùn)行控制取決于TR1一個(gè)條件還是TR1和INT1引腳這兩個(gè)條件。當(dāng)GATE=0時(shí),A點(diǎn)電位恒為1,則只要TR1被置為1,B點(diǎn)電位即為1,定時(shí)/計(jì)數(shù)器被控制為允許計(jì)數(shù)(定時(shí)/計(jì)數(shù)器的計(jì)數(shù)控制僅由TR1的狀態(tài)確定,TR1=1計(jì)數(shù),TR1=0停止計(jì)數(shù))。當(dāng)GATE=1時(shí),B點(diǎn)電位由INT1輸入的電平和TR1的狀態(tài)確定,當(dāng)TR1=1,且INT1=1時(shí),B點(diǎn)電平才為1,才允許定時(shí)器/計(jì)數(shù)器計(jì)數(shù)(計(jì)數(shù)控制由TR1和INT1二個(gè)條件控制)。方式1時(shí),TL1的8位都參與計(jì)數(shù),因而屬于16位定時(shí)/計(jì)數(shù)器。其控制方式,等效電路與方式0完全
6、相同。116.3.2 方式2(常數(shù)自動(dòng)重裝入)T1工作于方式2的等效圖12方式2的說明TL1作為計(jì)數(shù)器,當(dāng)TL1計(jì)數(shù)溢出時(shí),在置1溢出標(biāo)志TF1的同時(shí),還自動(dòng)的將TH1中的常數(shù)送至TL1,使TL1從初值開始重新計(jì)數(shù)。13這種工作方式可以省去用戶軟件中重裝常數(shù)的程序,簡(jiǎn)化定時(shí)常數(shù)的計(jì)算方法(確定計(jì)數(shù)初值),可以相當(dāng)精確的確定定時(shí)時(shí)間。例如:波特率發(fā)生器146.3.3 方式3(T0具有)T0工作于方式3時(shí),分為2個(gè)獨(dú)立的8位計(jì)數(shù)器:TL0、TH0。TL0使用T0的狀態(tài)控制位C/T, GATE,TR0, INT0,而TH0被固定為一個(gè)8位定時(shí)器(不能作外部計(jì)數(shù)方式),并使用定時(shí)器T1的狀態(tài)控制位TR
7、1和TF1,同時(shí)占用定時(shí)器T1的中斷源。此時(shí),定時(shí)/計(jì)數(shù)器T1可為方式0、方式1和方式2,作為串行口的波特率發(fā)生器。15工作于方式3的T016T0工作于方式3時(shí)的T117定時(shí)器的工作方式(總結(jié))方式0:13位定時(shí)計(jì)數(shù)器 注意:TLx的低5位和THx共同組成方式1: 16位定時(shí)計(jì)數(shù)器方式2: 自動(dòng)重裝入的8位定時(shí)計(jì)數(shù)器 溢出后TFx=1,同時(shí)由THxTLx方式3:T0成為兩個(gè)獨(dú)立的8位計(jì)數(shù)器 TL0作為定時(shí)計(jì)數(shù)器;TH0僅作定時(shí)器用 TL0的控制用原T0的,TH0占用原T1的控制位TR1和TF1,同時(shí)占用定時(shí)器T1的中斷源 此時(shí),T1可工作于方式02,溢出時(shí)送串行口,經(jīng)常作為串行口波特率發(fā)生器1
8、86.4 定時(shí)/計(jì)數(shù)器的輸入信號(hào)工作于定時(shí)器方式:對(duì)內(nèi)部時(shí)鐘信號(hào)計(jì)數(shù),內(nèi)部時(shí)鐘信號(hào)的頻率為時(shí)鐘振蕩頻率的1/12,即每個(gè)機(jī)器周期計(jì)數(shù)值加1。例:采用12MHz頻率的晶體時(shí),每1微秒計(jì)數(shù)值將加1。由于定時(shí)的精度決定于輸入脈沖的周期,因此當(dāng)需要高分辨率的定時(shí)時(shí),應(yīng)盡量選用頻率較高的晶體(MCS51最高為12MHz)。19定時(shí)/計(jì)數(shù)器的輸入信號(hào)工作于計(jì)數(shù)器方式:當(dāng)定時(shí)/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來(lái)自外部輸入引腳T0或T1。當(dāng)輸入信號(hào)產(chǎn)生由1至0的跳變(即下跳變)時(shí),計(jì)數(shù)器的值增1。需要注意:每個(gè)機(jī)器周期的S5P2期間,對(duì)外部輸入進(jìn)行采樣。如在第一個(gè)周期中采得的值為1,而在下一個(gè)周期中采得的值為0,
9、則計(jì)數(shù)器加1。由于確認(rèn)一次下跳變至少要用兩個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24,同時(shí)輸入信號(hào)的高、低電平保持一個(gè)機(jī)器周期以上。例如:選用6MHz頻率的晶體,允許輸入的脈沖頻率為250kHz;如果選用12MHz頻率的晶體,則可輸入500kHz的外部脈沖。20定時(shí)/計(jì)數(shù)器的輸入信號(hào)理想的計(jì)數(shù)器輸入信號(hào):脈沖信號(hào)的高、低電平至少要各保持一個(gè)機(jī)器周期以上,確保電平在變化之前能被采樣一次。216.5 定時(shí)器/計(jì)數(shù)器的編程初始化1 根據(jù)要求給方式寄存器TMOD送一個(gè)方式控制字,以設(shè)定定時(shí)器的工作方式;2 根據(jù)需要給TH和TL選送初值,以確定需要的定時(shí)時(shí)間或計(jì)
10、數(shù)的初值;3 根據(jù)需要給中斷允許寄存器IE送中斷控制字,以開放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級(jí);也可用查詢方式來(lái)響應(yīng)定時(shí)器。4 給TCON送命令字以啟動(dòng)或禁止定時(shí)/計(jì)數(shù)器的運(yùn)行。22定時(shí)器/計(jì)數(shù)器的編程6.5.1 初值的計(jì)算計(jì)數(shù)器初值:設(shè)計(jì)數(shù)模值為M,所需的計(jì)數(shù)值為C,計(jì)數(shù)初值設(shè)定為TC,則:TC = M -C (M=213,216,28)定時(shí)器初值:定時(shí)器的模值為M,需要的定時(shí)時(shí)間為T, 定時(shí)器的初值TC為:TC=M-T/t機(jī)器周期23幾種工作方式的最大定時(shí)時(shí)間若定時(shí)器初值為0,則定時(shí)時(shí)間為最大,設(shè)fOSC=12MHz,幾種工作方式下的最大定時(shí)時(shí)間為:方式0: TMAX=8.192ms;方式1:
11、TMAX=65.536ms;方式2、3: TMAX=0.256ms;24初值的計(jì)算:fOSC=12MHz,試計(jì)算定時(shí)時(shí)間2ms所需的定時(shí)器的初值.方式2、方式3 Tmax=0.256ms,所以必須將工作方式設(shè)在方式0或方式1:方式0:TC=213-2ms/1us=6192=1830HTH0=C1H , TL0=10H方式1:TC=216-2ms/1us =63536=F830HTH0=F8H , TL0=30H256.5.2 編程方式采用查詢方式:程序一直檢測(cè)TF0(TF1),若TF01(TF1=1),說明定時(shí)時(shí)間到或計(jì)滿數(shù),需要軟件清除溢出標(biāo)志位TFx。采用中斷方式:程序初始化時(shí),設(shè)置定時(shí)器
12、溢出中斷允許后,內(nèi)部硬件自動(dòng)檢測(cè)到TF01(TF1=1)時(shí),自動(dòng)響應(yīng)中斷,進(jìn)入中斷服務(wù)程序。由硬件自動(dòng)清除TFx。266.6 定時(shí)計(jì)數(shù)器的應(yīng)用舉例例1 選用T1方式0產(chǎn)生500us的定時(shí),在P1.1輸出周期為1ms的方波; FOSC=6MHz注意:T0不用時(shí)的處理,一般設(shè)為方式0,禁止進(jìn)入方式3.初值計(jì)算: TC = 213 - 500us /2us,TC=7942TC=7942D=1F06H13位方式下,計(jì)數(shù)初值為F806H6.6.1:方式0的應(yīng)用27主程序Begin:MOVTMOD,#0MOVMOVSETBTL1,#06HTH1,#0F8HTR1Loop: JBCTF1,PF0SJMPLO
13、OPPF0: MOVTL1,#06HMOVCPLAJMPTH1,#0F8HP1.1LOOP6.6.2 T0計(jì)數(shù)、T1定時(shí)工作于方式2從P3.4 T0輸入低頻脈沖,要求該脈沖每發(fā)生一次跳變時(shí)由P1.0輸出一個(gè)500us的負(fù)脈沖,與此同時(shí)由P1.1輸出一個(gè)寬為1ms的正脈沖(6MHz晶振)。先設(shè)T0為計(jì)數(shù)方式,工作于方式2,初值設(shè)為0FFH,即加1即刻產(chǎn)生溢出。當(dāng)外部輸入一個(gè)負(fù)跳變脈沖時(shí),計(jì)數(shù)加1,并產(chǎn)生溢出,TF0=1;引起CPU的T0中斷。中斷服務(wù)程序內(nèi),對(duì)定時(shí)器T1設(shè)定初值,T1也工作于方式2。28296.6.3 含中斷的定時(shí)/計(jì)數(shù)器響應(yīng)程ORG 0HSJMP BEGINORG 000BHA
14、JMP TT1ORG 0030HBEGIN:MOV TMOD,#26HMOV TH0,#0FFHMOVTL0,#0FFHCLR P1.1Setb ET0 ;允許T0中斷Setb EA ;CPU開中斷SETB P1.0SETB TR0SJMP $序工作于方式2的定時(shí)/計(jì)數(shù)器中斷服務(wù)程序ORG300HTT1:MOVMOVSETBCLRSETBTH1,#06HTL1,#06HP1.1P1.0TR1DEL2:JBC TF1,RP1SJMP DEL230RP1:SETB P1.0DEL3:RP2:JBC TF1,RP2SJMP DEL3CLR P1.1CLR TR1RETI例假設(shè)系統(tǒng)時(shí)鐘為6MHz,編寫
15、定時(shí)器T0產(chǎn)生1秒定時(shí)的程序。(1)T0工作方式的確定定時(shí)時(shí)間較長(zhǎng),采用哪一種工作方式?由各種工作方式的特性,可計(jì)算出:方式0最長(zhǎng)可定時(shí)16.384ms;方式1最長(zhǎng)可定時(shí)131.072ms;方式2最長(zhǎng)可定時(shí)512s。選方式1,每隔100ms中斷一次,中斷10次為1s。316.6.4 長(zhǎng)定時(shí)時(shí)間的產(chǎn)生32(2)計(jì)算計(jì)數(shù)初值因?yàn)椋?216-X)210-6 = 10-1所以:X=15536=3CB0H因此:TH0=3CH,TL0=B0H(3)10次計(jì)數(shù)的實(shí)現(xiàn)采用循環(huán)程序法。(4)程序設(shè)計(jì)參考程序 :33ORG0000HRESET: LJMPORGLJMPORGMAIN: MOVMOVMOVMOVMO
16、VSETBMAIN000BHIT0P1000HSP,#60HB,#0AHTMOD,#01HTL0,#0B0HTH0,#3CHTR0;上電,轉(zhuǎn)主程序入口MAIN;T0的中斷入口;轉(zhuǎn)T0中斷處理程序IT0P;設(shè)堆棧指針;設(shè)循環(huán)次數(shù)10次;設(shè)T0工作在方式1;給T0設(shè)初值;啟動(dòng)T0SETB ET0 ;允許T0中斷SETB EA ;CPU開放中斷HERE: SJMP HERE ;等待中斷ITOP: MOV TL0,#0B0H ;T0中斷子程序,重裝初值MOV TH0,#3CH ;DJNZ B,LOOPCLR TR0 ;1s定時(shí)時(shí)間到,停止T0工作LOOP: RETI346.6.5 門控位的應(yīng)用利用GA
17、TE位可實(shí)現(xiàn):外部輸入正脈沖對(duì)定時(shí)計(jì)數(shù)器控制。利用這個(gè)特性,可測(cè)量輸入脈沖的寬度。如:利用T1門控位測(cè)試INT1引腳上出現(xiàn)的正脈沖的寬度,并以周期數(shù)顯示。35測(cè)量原理程序清單ST:MOV TMOD, #90HMOV TL1,#00HMOV TH1,#00HWAIT1:JB P3.3,WAIT1;等待INT1為0SETB TR1WAIT2:JNB P3.3, WAIT2;等待INT1為1WAIT3:JB P3.3 ,WAIT3;等待INT1為0CLR TR1MOV 20H,TL1MOV 21H,TH1366.6.6實(shí)時(shí)時(shí)鐘的設(shè)計(jì)1實(shí)時(shí)時(shí)鐘實(shí)現(xiàn)的基本思想如何獲得1秒的定時(shí),可把定時(shí)時(shí)間定為100m
18、s,采用中斷方式進(jìn)行溢出次數(shù)的累計(jì),計(jì)滿10次,即得到秒計(jì)時(shí)。片內(nèi)RAM中規(guī)定3個(gè)單元作為秒、分、時(shí)單元,具體安排如下:42H:“秒”單元 ;41H:“分”單元;40H:“時(shí)”單元從秒到分,從分到時(shí)是通過軟件累加并進(jìn)行比較的方法來(lái)實(shí)現(xiàn)的。37382程序設(shè)計(jì)(1)主程序的設(shè)計(jì)39(2)中斷服務(wù)程序的設(shè)計(jì)中斷服務(wù)程序的主要功能是實(shí)現(xiàn)秒、分、時(shí)的計(jì)時(shí)處理。參考程序略。6.6.7 運(yùn)行中讀定時(shí)器/計(jì)數(shù)器在讀取運(yùn)行中的定時(shí)器/計(jì)數(shù)器時(shí),需注意:若恰好出現(xiàn)TLX溢出向THX進(jìn)位的情況,則讀得的(TLX)值就完全不對(duì)。同樣,先讀(THX)再讀(TLX)也可能出錯(cuò)。方法:先讀(THX),后讀(TLX),再讀(
19、THX)。若兩次讀得(THX)相同,則讀的內(nèi)容正確。若前后兩次讀的(THX)有變化,則再重復(fù)上述過程,這次重復(fù)讀得的內(nèi)容就應(yīng)是正確的。下面是有關(guān)的程序,讀得的(TH0)和(TL0)放置在R1和R0內(nèi)。40RDTIME:MOVMOVCJNEMOVA,TH0 ;讀(TH0)R0,TL0 ;讀(TL0)A,TH0,RDTIME;比較2次讀得的(TH0);不相等則重復(fù)讀R1,A ;(TH0)送入R1中RET4142習(xí)題1. 如果采用的晶振的頻率為3MHz,定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大的定時(shí)時(shí)間各為多少?答:方式0下,其最大的定時(shí)時(shí)間為32.768ms;方式1下,其最大的定時(shí)時(shí)間為262.1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《落落的微笑》課件
- 廣東碧桂園職業(yè)學(xué)院《電視節(jié)目播音主持》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣安職業(yè)技術(shù)學(xué)院《設(shè)計(jì)基礎(chǔ)理論》2023-2024學(xué)年第一學(xué)期期末試卷
- 共青科技職業(yè)學(xué)院《城市社區(qū)景觀設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南衛(wèi)生健康職業(yè)學(xué)院《軟件測(cè)試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南醫(yī)學(xué)院《新型土木水利工程材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南衛(wèi)生健康職業(yè)學(xué)院《科技論文寫作專題電氣》2023-2024學(xué)年第一學(xué)期期末試卷
- 《風(fēng)險(xiǎn)價(jià)值var》課件
- 醫(yī)院流感培訓(xùn)課件
- 安全活動(dòng)不搞惡作劇課件
- 礦業(yè)公司規(guī)章制度匯編
- 《高低壓配電室施工工藝標(biāo)準(zhǔn)》
- 介入導(dǎo)管室護(hù)士長(zhǎng)職責(zé)
- 2024年太陽(yáng)能光伏組件高空清洗作業(yè)人員安全保障合同3篇
- 大學(xué)學(xué)業(yè)規(guī)劃講座
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 歷史 含解析
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期期中英語(yǔ)試題及答案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期1月期末數(shù)學(xué)試題 含解析
- 【課件】Unit+5+Fun+Clubs+Section+B+1a-2b課件人教版(2024)七年級(jí)英語(yǔ)上冊(cè)++
- 江蘇省南通市海門區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期期末語(yǔ)文試題
- 大學(xué)老師工作述職報(bào)告
評(píng)論
0/150
提交評(píng)論