第6章定時計數(shù)器PPT課件_第1頁
第6章定時計數(shù)器PPT課件_第2頁
第6章定時計數(shù)器PPT課件_第3頁
第6章定時計數(shù)器PPT課件_第4頁
第6章定時計數(shù)器PPT課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021年11月21日星期日 6.1 定時器/計數(shù)器結(jié)構(gòu) 6.2 定時器/計數(shù)器的四種工作方式 6.3 定時器/計數(shù)器對輸入信號的要求 6.4 定時器/計數(shù)器編程和應用教學內(nèi)容第1頁/共68頁2021年11月21日星期日6.1.1 定時/計數(shù)器的結(jié)構(gòu)與原理 重點:定時的實質(zhì),定時與計數(shù)的關(guān)系6.1.2 定時/計數(shù)器方式寄存器TMOD6.1.3 定時/計數(shù)器控制寄存器TCON6.1.4 定時/計數(shù)器的初始化返回本章首頁6.1 6.1 定時定時/ /計數(shù)器結(jié)構(gòu)計數(shù)器結(jié)構(gòu)第2頁/共68頁2021年11月21日星期日6.1.1 6.1.1 定時定時/ /計數(shù)器結(jié)構(gòu)與原計數(shù)器結(jié)構(gòu)與原理理 定時器/計數(shù)器

2、簡稱定時器,89S51單片機內(nèi)部有2個16位的可編程定時/計數(shù)器:定時器0(T0)和定時器1(T1)??删幊淌侵钙涔δ埽ㄈ绻ぷ鞣绞健⒍〞r時間、啟動方式等)可以由指令來確定和改變。 在定時器/計數(shù)器中除了有兩個16位的計數(shù)器用來存儲計數(shù)數(shù)據(jù)之外,還有2個特殊功能寄存器(控制寄存器TCON和方式寄存器TMOD)對其進行控制。第3頁/共68頁2021年11月21日星期日這些寄存器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。定時器定時器/ /計數(shù)器的結(jié)計數(shù)器的結(jié)構(gòu)構(gòu)第4頁/共68頁2021年11月21日星期日 從結(jié)構(gòu)圖可以看出: 16位的定時器/計數(shù)器分別由兩個專用寄存器組成,即T0由TH0和TL0構(gòu)

3、成;T1由TH1和TL1構(gòu)成。這些寄存器由于存放定時和計數(shù)初值。此外,內(nèi)部還有一個8位的TMOD和一個8位的TCON。TMOD 主要用于選定定時器的工作方式;TCON主要用于控制定時器的啟動與停止。定時器定時器/ /計數(shù)器的結(jié)計數(shù)器的結(jié)構(gòu)構(gòu)第5頁/共68頁2021年11月21日星期日定時器定時器/ /計數(shù)器的原理計數(shù)器的原理 16位的定時器/計數(shù)器的實質(zhì)上是一個加1的計數(shù)器,其控制電路受軟件控制、切換。 計數(shù)的次數(shù)和時間之間是相關(guān)的。 只要計數(shù)脈沖的間隔相等,計數(shù)值就代表時間的流逝第6頁/共68頁2021年11月21日星期日 當定時器/計數(shù)器為定時工作方式時,加1信號由振蕩器的12分頻產(chǎn)生,即

4、每過一個機器周期,計數(shù)值增1,直至計滿溢出為止。顯然,定時器的定時時間與系統(tǒng)的振蕩頻率有關(guān)。由于一個機器周期等于12個振蕩周期,所以 計數(shù)頻率 fcount=1/12fosc 例:晶振為12MHZ ,則計數(shù)周期為 T=1/(12*106)Hz*1/12 =1微秒最短的定時周期第7頁/共68頁2021年11月21日星期日 當定時器/計數(shù)器為計數(shù)工作方式時,通過引腳T0和T1對外部信號計數(shù),外部脈沖的下降沿觸發(fā)計數(shù) 采樣過程: 在每個機器周期的S5P2期間采樣引腳當輸入脈沖信號從1到0的負跳變時,計數(shù)器就自動加1。 由于檢測一個由1到0的跳變需要兩個機器周期,所以 計數(shù)的最高頻率為振蕩頻率的1/2

5、4。為了確保給定電平在變化前至少被采樣一次,外部計數(shù)脈沖的高低電平均需保持一個機器周期以上。(占空比沒有限制)第8頁/共68頁2021年11月21日星期日 單片機中的定時器和計數(shù)器是一個部件,只不過計數(shù)器用來記錄外界發(fā)生的事情,而定時器則是對一個固定時間間隔(機器周期)進行計數(shù)而已。本質(zhì)都是計數(shù)。結(jié)論第9頁/共68頁2021年11月21日星期日 綜上所述,我們已知定時器/計數(shù)器是一種可編程部件,所以在其開始工作之前,必須將一些命令(控制字)寫入定時器/計數(shù)器。這個過程稱為定時器/計數(shù)器的初始化。 當給定時器設置了某種工作方式之后,定時器就會按設定的工作方式獨立運行,不再占用CPU的操作時間,除

6、非定時器計數(shù)溢出,才可能中斷CPU當前操作。結(jié)論第10頁/共68頁2021年11月21日星期日 6.1.2 定時器定時器/計數(shù)器方式寄存器計數(shù)器方式寄存器TMODGATEC/T M10MGATE C/T1M0M控 制 T 1控 制 T 089H和T 類同01M0M0 00 11 01 1方 式方式0 13位方式1 16位方式2 自動重裝方式3 適用T001定時器模式計數(shù)器模式01與INT 無關(guān)00與INT 有關(guān)M1M0:方式選擇位C/T:功能選擇位GATE: 門控位第11頁/共68頁2021年11月21日星期日GATE=1時 若TR1=1,且 INT1=1,允許T0計數(shù), 若TR1=0,或IN

7、T1=0,禁止T0計數(shù) GATE=0,若TR1=1,允許計數(shù) 若TR1=0,禁止計數(shù) 第12頁/共68頁2021年11月21日星期日 由于在不同方式下計數(shù)器位數(shù)不同,因而最大計數(shù)值(量程)也不同。 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256 方式3:定時器分成兩個8位計數(shù)器,兩個M均256第13頁/共68頁2021年11月21日星期日TR1(0):運行控制位6.1.3 定時器定時器/計數(shù)器控制寄存計數(shù)器控制寄存器器TCON(88H)定時器工作模式寄存器TCON TF1(0): 溢出標志第14頁/共68頁2021年11月21日星期日6.1.4 6.1.

8、4 定時器定時器/ /計數(shù)器的初始計數(shù)器的初始化化初始化的步驟如下:確定工作方式-對TMOD賦值置定時或計數(shù)的初值-可直接寫入TH0(1),TL0(1)根據(jù)需要開放定時器/計數(shù)器的中斷啟動定時器/計數(shù)器。 當實現(xiàn)了啟動要求之后,定時器就按規(guī)定的工作方式和初值開始計數(shù)或定時。第15頁/共68頁2021年11月21日星期日 因為定時器/計數(shù)器是作“加1”計數(shù),并在計滿溢出時產(chǎn)生中斷,初值X可以這樣計算: X = M - 計數(shù)值(計數(shù)次數(shù)) 例:在6MHZ主頻下,要求產(chǎn)生1ms的定時,計算初值 分析:因為定時器每“加1”一次所需的時間為2s,如果要產(chǎn)生1ms的定時,需加500次,500即為計數(shù)值。方

9、式1下工作。 初值 X =M-計數(shù)值=65536-500=FE0CH第16頁/共68頁2021年11月21日星期日6.2 6.2 定時器定時器/ /計數(shù)器的計數(shù)器的4 4種工作種工作方式方式 由上節(jié)可知,通過對TMOD中的M1、M0的設置,可以選擇四種工作方式。也就是每個定時器可構(gòu)成4種電路結(jié)構(gòu)模式。 在模式0、1和2,T0和T1的工作方式相同,在模式3,兩個定時器的方式不同。下面以T1為例,分述各種工作方式的特點和用法。第17頁/共68頁2021年11月21日星期日方式方式016位寄存器中只用13位,其中TL1的高三位未用。第18頁/共68頁2021年11月21日星期日16位寄存器全用方式方

10、式1第19頁/共68頁2021年11月21日星期日這種工作方式可省去用戶軟件中重裝常數(shù)的程序,并可產(chǎn)生相當精度的定時時間。方式方式2第20頁/共68頁2021年11月21日星期日該方式只適用于定時器T0,T0被拆成兩個獨立的8位計數(shù)器TH0和TL0。方式3下的T0方式方式 3第21頁/共68頁2021年11月21日星期日 T0工作在方式3時,T1可定為方式0、方式1和方式2,用來作為串行口的波特率發(fā)生器,或不需要中斷的場合.T1工作在方式0第22頁/共68頁2021年11月21日星期日T0工作在方式3時T1為方式1的工作示意圖T1工作方式1第23頁/共68頁2021年11月21日星期日T0工作

11、在方式3時T1為方式2的工作示意圖 T1工作方式2第24頁/共68頁2021年11月21日星期日T1的控制字M1M0=11時,T1停止計數(shù) 注意:在T0為方式3時,T1運行的控制條件只有2個,即C/T和M1,M0。T1工作方式3第25頁/共68頁2021年11月21日星期日6.3 6.3 定時器定時器/ /計數(shù)器對輸入信號的要計數(shù)器對輸入信號的要求求當T0或T1被選定為定時工作模式時, 定時器/計數(shù)器的輸入脈沖的周期與機器周期一樣,為時鐘振蕩頻率的1/12。若 f振蕩=12MHz,則計數(shù)的時間間隔為1s。當T0或T1用作計數(shù)器時,計數(shù)脈沖來自相應的外部輸入引腳.一次負跳變要花2個機器周期,因此

12、外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩頻率的1/24.如:f振蕩=12MHz,則可輸入的最高頻率為500KHz。 注:外部輸入信號脈沖寬度至少保持1個機器周期.保證在兩個機器周期可以采樣高低電平兩個不同狀態(tài)。返回本章首頁第26頁/共68頁2021年11月21日星期日6.4 6.4 定時定時/ /計數(shù)器編程應用計數(shù)器編程應用【例6.1】設MCS-51單片機系統(tǒng)時鐘頻率CLK為6MHZ,要在P1.0引腳上輸出1個周期為1毫秒占空比為50%的方波信號。如下圖: P1.01ms1msT=2ms第27頁/共68頁2021年11月21日星期日解:(1)計算初值: 機器周期=2s=2*10-6s (216-

13、X)*2*10-6=1*10-3, 即(216-X)=500,X=65036 X=FE0CH=1111111000001100B 則TH0=0FEH,TL0=0CH第28頁/共68頁2021年11月21日星期日(2)初始化程序: 對定時器初始化和中斷初始化 即對IP,IE,TCON,TMOD的相應位設置,并將計 數(shù)初值裝入定時器.如: TMOD=01H, 定時方式1 IP=00H,IE=92H,TCON=10H即ET0=1,EA=1, TR0=1第29頁/共68頁2021年11月21日星期日 ORG 0000H RESET : AJMP MAIN ORG 000BH AJMP IT0P ORG

14、 0100H MAIN : MOV SP , #60H MOV TMOD,#01H方法一:中斷方式方法一:中斷方式第30頁/共68頁2021年11月21日星期日MOV TL0 , #0CH MOV TH0 , #0FEH SETB TR0 SETB ET0 SETB EAAJMP HEREIT0P : MOV TL0 , #0CH MOV TH0 , #0FEH CPL P1.0 RETI 第31頁/共68頁2021年11月21日星期日 ORG 0000H MOV TMOD,#01H LOOP: MOV TH0,#0FEH MOV TL0,#0CH SETB TR0LOOP1: JNB TF0

15、,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP方法二:軟件查詢方法二:軟件查詢;設定工作方式 ;設定時器初值 ;啟動定時器;軟件查看到時;停止計時;將P1.0位取反;返回 LOOP第32頁/共68頁2021年11月21日星期日 【例6.2】設MCS-51單片機系統(tǒng)時鐘頻率CLK為6MHZ,請編出利用定時/計數(shù)器T0在P1.0引腳上產(chǎn)生周期為2秒,占空比為50%的方波信號的程序(1)主程序任務: 1)T0工作方式的設定: 選擇方式1(16位方式)(最大定時131ms) 2)定時常數(shù)的設定: TC=216-100ms/2s =15536=3CB0H 每隔100ms中斷一次,中斷

16、10次為1s第33頁/共68頁2021年11月21日星期日即:TH0應裝3CH,TL0應裝B0H。3)中斷管理: 允許T0中斷,開放總中斷 即:IE應裝10000010B4)啟動定時器T0: SETBTR05)設置軟件計數(shù)器初值:(如使用R7) 即R7應裝0AH6)動態(tài)停機:SJMP $第34頁/共68頁2021年11月21日星期日MAIN: MOV TMOD,#01H ;設定T0為方式1MOV TH0 ,#3CH ;裝入定時常數(shù)高8位MOV TL0 ,#0B0H ;裝入定時常數(shù)低8位MOV IE ,#82H ;開放T0中斷SETB TR0 ;啟動T0MOV R7 ,#0AH ;設置軟件計數(shù)器

17、SJMP $主程序主程序第35頁/共68頁2021年11月21日星期日任務:1)恢復T0常數(shù);2)軟件計數(shù)器減1; 3)判斷軟件計數(shù)器是否為0。為0時,改變P1.0狀態(tài),并恢復軟件計數(shù)器初值;不為0時中斷返回。(2)中斷服務程序第36頁/共68頁2021年11月21日星期日TOINT:MOV TL0,#0B0H ;恢復定時常數(shù)MOV TH0,#3CHDJNZ R7, NEXTCPL P1.0 MOV R7,#0AHNEXT:RETI中斷服務程序中斷服務程序第37頁/共68頁2021年11月21日星期日ORG 0000H MOV TH0,#3CH AJMP MAIN MOV TL0,#0B0HO

18、RG 000BH MOV IE,#82H AJMP TOINT SETB TR0ORG 0030H MOVR7,#0AH MAIN:MOV TMOD,#01H完整程序完整程序第38頁/共68頁2021年11月21日星期日 SJMP$TOINT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AHNEXT: RETI END第39頁/共68頁2021年11月21日星期日 【例6.3】把T0(P3.4)作為外部中斷請求輸入線即T0引腳發(fā)生負跳變時,向CPU請求中斷,當在T0產(chǎn)生一次負跳變后,使P1.0產(chǎn)生周期為1ms的方波。 方

19、式方式2 2的應用的應用 思路:T0定義方式1計數(shù),即計數(shù)輸入端T0發(fā)生一次負跳變,計數(shù)器加1即產(chǎn)生溢出標志,向CPU發(fā)中斷; 定時器T1以方式2產(chǎn)生0.5ms定時。 第40頁/共68頁2021年11月21日星期日0.5ms0.5msT=1sT0(P3.4)P1.0T1為方式2定時T0為方式1計數(shù)第41頁/共68頁2021年11月21日星期日T0的計數(shù)初值: TH0=0FFH,TL0=0FFHT1的定時初值: (28-X)*2*10-6=5*10-4 ,X=06H第42頁/共68頁2021年11月21日星期日 ORG 0000HRESET: AJMP MAIN ;復位入口轉(zhuǎn)主程序 ORG 00

20、0BH LJMP IT0P ;轉(zhuǎn)T0中斷服務程序 ORG 001BH LJMP IT1P ;轉(zhuǎn)T1中斷服務程序 方法一:(中斷方式)方法一:(中斷方式)第43頁/共68頁2021年11月21日星期日 ORG 0100HMAIN: MOV SP, #60H MOV TMOD, #26H MOV TL0 , #0FFH ;T0置初值 MOV TH0 , #0FFH SETB TR0 ;啟動T0 SETB ET0 ;允許T0中斷 MOV TL1,#06H ;T1置初值 MOV TH1,#06H CLR F0 ;PSW中為用戶做標志用 SETB EA ;CPU開放中斷 第44頁/共68頁2021年11

21、月21日星期日LOOP: JNB F0,LOOPT0產(chǎn)生中斷了嗎,產(chǎn)生過,則F0=1 SETB TR1 ;啟動T1 SETB ET1 ;允許T1中斷HERE: AJMP HERE 第45頁/共68頁2021年11月21日星期日IT0P: CLR TR0 ;停止T0計數(shù) SETB F0 ;建立產(chǎn)生中斷標志 RETIIT1P: CPL P1.0 ;P1.0位取反 RETI第46頁/共68頁2021年11月21日星期日【例6.4】用定時器T1的方式2對外部計數(shù),要求每計滿100個數(shù),將P1.0引腳信號求反. 解:P3.5引腳輸入外部信號,每發(fā)生1次負跳變計數(shù)器加1,每輸入100個脈沖,計數(shù)器溢出中斷

22、,將P1.0引腳求反. TMOD=60H 注意:此處T0不能為方式3,其它皆可。 X=28-100=156=9CH方式方式2 2應用應用計數(shù)模式計數(shù)模式第47頁/共68頁2021年11月21日星期日程序清單: ORG 0000H LJMP MAIN ORG 001BH CPL P1.0 RETI ORG 0100HMAIN: MOV TMOD,#60H MOV TL1,#9CH MOV TH1,#9CH SETB TR1SETB ET1SETB EAHERE: AJMPHERE第48頁/共68頁2021年11月21日星期日 【例6.5A】T0方式3,分別產(chǎn)生200us和400us的定時并使P1

23、.0和P1.1分別產(chǎn)生400us和800us的方法, fosc=6MHZ 解:TL0用于定時200us,TH0用于定時400us (28-X)*2*10-6=200*10-6, X=156 即X=9CH (28-X)*2*10-6=400*10-6, X=56 即X=38H 方式方式3 3的應用的應用第49頁/共68頁2021年11月21日星期日 ORG 0000H START: AJMP MAIN ORG 000BH AJMP P1TO ORG 001BH AJMP PIT1 第50頁/共68頁2021年11月21日星期日MAIN : MOV SP , #60H MOV TMOD , #03

24、H MOV TL0 , #9CH MOV TH0 , #38H MOV TCON , #50H MOV IE , #8AHHERE : AJMP HEREPIT0 : MOV TL0 , #9CH CPL P1.0 RETIPIT1: MOV TH0,#38H CPL P1.1 RETI 第51頁/共68頁2021年11月21日星期日【例6.5B】假設某MCS-51應用系統(tǒng)的2個外部中斷源已被占用,設置定時器T1工作在方式2,作波特率發(fā)生器用.現(xiàn)要求增加1個外部中斷源,并控制P1.0引腳輸出1個5KHz的方波. fosc=6MHZ.T0(P3.4)TL0為方式3計數(shù)100s100sTH0為方式

25、3定時P1.0第52頁/共68頁2021年11月21日星期日(1)初值計算: TL0=0FFH (28-X)2*10-8=110-4 ,X=156=9CH即TH0=9CH ORG 0000H LJMP MAIN ORG 000BH LJMP TL0INT 第53頁/共68頁2021年11月21日星期日 ORG 001BH LJMP TH0INT ORG0100HMAIN : MOV TMOD , #27H ;00100111 MOV TL0 , #0FFH MOV TH0 , #9CH 第54頁/共68頁2021年11月21日星期日 MOV TL1,#data1 ;data據(jù)波特率常數(shù)定 MO

26、V TH1,#data1 MOV TCON , #55H ;邊沿觸發(fā),啟動定時 MOV IE , #9FH ;中斷允許 TL0INT:MOV TL0, #0FFH RETITH0INT: MOVTH0,#9CH CPL P1.0 RETI第55頁/共68頁2021年11月21日星期日門控位門控位 GATEGATE的應用的應用【例6.6】門控GATE1使定時/計數(shù)器T1啟動計數(shù)受INT1的控制。當GATE1為1,TR為1時,只有INT1引腳輸入高電平,T1才被允許計數(shù),故可測引腳P3.3上正脈沖寬度(機器周期數(shù))。 解: 門控位為1,定時器啟動計數(shù)受外部中斷引腳輸入電平的影響,可測外部輸入脈沖寬

27、度。 被測脈沖輸入P3.3 (INT1 ) , T1為定時方式。第56頁/共68頁2021年11月21日星期日第57頁/共68頁2021年11月21日星期日 ORG0000H RESET: AJMP MAIN ORG0100HMAIN : MOV TMOD , #90H; 門控定時,T1為方式1 MOV SP , #60H MOV TL1 , #00H MOV TH1 , #00H;定時器初值LOOP1 : JB P3.3 LOOP1 ; 等待P3.3到低電平 SETB TR1 ;將TR1置1LOOP2 : JNB P3.3 LOOP2; 等待P3.3為1LOOP3 : JB P3.3 LOO

28、P3;定時器已經(jīng)開始定時第58頁/共68頁2021年11月21日星期日 CLR TR1;定時結(jié)束LOOP3: SJMPLOOP3 讀定時器中的時間值第59頁/共68頁2021年11月21日星期日 【例6.7】 P3.4 輸入低頻負脈沖,要求P3.4每次發(fā)生負跳變時,P1.0輸出一個400us的同步脈沖。第60頁/共68頁2021年11月21日星期日START : MOV TMOD , #06H ; T0為方式2外部計數(shù) MOV TH0 , #0FFH MOV TL0 , #0FFH SETB TR0 ;允許計數(shù)LOOP1 : JBC TF0, PTF01 ; 溢出后 AJMP LOOP1方法一方法一: : 軟件查詢方軟件查詢方式式 第61頁/共68頁2021年11月21日星期日PTF01 : CLR TR0 MOV TMOD , #02H ; T0為方式2定時 MOV TH0 , #0AH ; 500

溫馨提示

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

最新文檔

評論

0/150

提交評論