




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022-3-6中國民航大學單片機定時器及應(yīng)用2022-3-66.1 6.1 定時器概述定時器概述6.2 6.2 定時器的控制定時器的控制 6.3 6.3 定時器的四種模式及應(yīng)用定時器的四種模式及應(yīng)用 6.4 6.4 思考題與習題思考題與習題第六章第六章 定時器及應(yīng)用定時器及應(yīng)用2022-3-6中國民航大學單片機定時器及應(yīng)用6.1 6.1 定時器概述定時器概述6.1.1 89C51定時器結(jié)構(gòu)6.1.2 89C51定時器功能2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用6.1.1 89C516.1.1 89C51定時器結(jié)構(gòu)定時器結(jié)構(gòu) 89C51定時器的結(jié)構(gòu)如 圖6-1 所示。 有
2、兩個16位的定時器/計數(shù)器,即定時器0(T0)和定時器1(T1)。都是16位加1計數(shù)器。 T0由兩個8位特殊功能寄存器TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用2022-3-6中國民航大學單片機定時器及應(yīng)用6.1.2 89C516.1.2 89C51定時器功能定時器功能 每個定時器都可由軟件設(shè)置為 定時工作方式或 計數(shù)工作方式。由特殊功能寄存器TMOD和TCON所控制。 定時器工作不占用CPU時間,除非定時器/計數(shù)器溢出,才能中斷CPU的當前操作。 定時器/計數(shù)器有四種工作模式。其中模式0-2對T0和T1是一樣的,模式3對兩者不
3、同。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用定時工作方式定時工作方式定時器計數(shù)89C51片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖,即每個機器周期使定時器(T0或T1)的數(shù)值加1直至計滿溢出。當89C51采用12MHz晶振時,一個機器周期為1s,計數(shù)頻率為1MHz。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用計數(shù)工作方式計數(shù)工作方式 通過引腳T0(P3.4)和T1(P3.5)對外部脈沖信號計數(shù)。當輸入脈沖信號產(chǎn)生由1至0的下降沿時計數(shù)器的值加1。 CPU檢測一個檢測一個1至至0的跳變需要兩個機器周期,的跳變需要兩個機器周期,故最高計數(shù)頻率為振蕩頻率的故最高計數(shù)頻率
4、為振蕩頻率的1/24。 為了確保某個電平在變化之前被采樣一次,要求電平保持時間至少是一個完整的機器周期。 對輸入脈沖信號的基本要求如 圖6-2所示。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用6.2 6.2 定時器的控制定時器的控制 6.2.1 工作模式寄存器 TMOD 6.2.2 控制器寄存器 TCON2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMODTMOD TMOD用于控制T0和T1的工作模式。 TMOD不能位尋址,只能用字節(jié)設(shè)置定時器的工作模式,低半字節(jié)設(shè)置T0,高半字節(jié)設(shè)置T1。 89C51系
5、統(tǒng)復位時,TMOD的所有位被清0。 TMOD各位的定義格式如 圖6-3 所示。 TMOD各位定義及具體的意義歸納如 圖6-4所示。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用圖圖6-3 工作模式寄存器工作模式寄存器TMOD的位定義的位定義定時器定時器T1定時器定時器T0TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0GATE C/ T M1 M02022-3-6GATE C/ T M1 M02022-3-6中國民航大學單片機定時器及應(yīng)用 M1和M0操作模式控制位。 兩位可形成四種編碼,對應(yīng)于四種模式。M1 M0工工作作模模式式功功能能描描述述0 0模模式式
6、013 位位計計數(shù)數(shù)器器0 1模模式式 116 位位計計數(shù)數(shù)器器1 0模模式式 2自自動動再再裝裝入入 8 位位計計數(shù)數(shù)器器1 1模模式式 3定定時時器器 0:分分成成二二個個 8 位位計計數(shù)數(shù)器器 定定時時器器 1:停停止止計計數(shù)數(shù)表表6-1 M1,M0控制的四種工作模式控制的四種工作模式2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 C/T計數(shù)器/定時器方式選擇位。 C/T=0,設(shè)置為定時方式。定時器計數(shù)89C51片內(nèi)脈沖,即對機器周期計數(shù)。 C/T=1,設(shè)置為計數(shù)方式。計數(shù)器的輸入來自引腳T0(P3.4)或T1(P3.5)端的外部脈沖 。 2022-3-62022-3-6
7、中國民航大學單片機定時器及應(yīng)用 GATE門控位。 GATE=0,只要用軟件使TR0(或TR1)置1就可以啟動定時器,而不管INT0(或INT1)的電平是高還是低。 GATE=1,只有INT0(或INT1)引腳為高電平且由軟件使TR0(或TR1)置1時,才能啟動定時器工作。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用2022-3-66.2.2 控制器寄存器控制器寄存器 TCON TCON除可字節(jié)尋址外,各位還可位尋址可位尋址。 89C51系統(tǒng)復位時,TCON的所有位被清0。 TCON各位的定義格式如 圖6-5所示。 TCON各位定義及具體的意義歸納如 圖6-6所示。2022-3
8、-6中國民航大學單片機定時器及應(yīng)用TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H圖圖6-5 控制寄存器控制寄存器TCON的位定義的位定義2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 TF1(TCON.7) T1溢出標志位。 當T1溢出時,由硬件自動使中斷觸發(fā)器TF1置1,并向CPU申請中斷。 當CPU響應(yīng)中斷進入中斷服務(wù)程序后,TF1被硬件自動清0。TF1也可以用軟件清0。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 TF0(TCON.5) T0溢出標志位。 其
9、功能和操作情況同TF1。 當T0溢出時,由硬件自動使中斷觸發(fā)器TF0置1,并向CPU申請中斷。 當CPU響應(yīng)中斷進入中斷服務(wù)程序后,TF1被硬件自動清0。TF1也可以用軟件清0。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 TR1(TCON.6)T1運行控制位。 可通過軟件置1(TR1=1)或清0(TR1=0)來啟動或 關(guān)閉 T1工作。 在程序中用指令“SETB TR1”使TR1位置1,定時器T1便開始計數(shù)。用“CLR TR1”使TR1清0,定時器停止工作。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 TR0(TCON.4)T0運行控制位。 其功能和操作情況
10、同TR1。 可通過軟件置1(TR0=1)或清0(TR0=0)來啟動或 關(guān)閉 T0。 在程序中用指令“SETB TR0”使TR0位置1,定時器T0便開始計數(shù)。用“CLR TR0”使TR0清0,定時器停止工作。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 IE1,IT1,IE0,IT0(TCON.3TCON.0) 外部中斷INT1,INT0請求及請求方式控制位。前一章已經(jīng)講過。 2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用2022-3-66.3 定時器的四種模式及應(yīng)用定時器的四種模式及應(yīng)用 6.3.1 模式 0 及其應(yīng)用6.3.2 模式 1 及其應(yīng)用6.3.3
11、模式 2 及其應(yīng)用6.3.4 模式 3 及其應(yīng)用6.3.5 綜合應(yīng)用舉例2022-3-6中國民航大學單片機定時器及應(yīng)用6.3.1 模式模式 0 及其應(yīng)用及其應(yīng)用一、模式一、模式 0 0 的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu)T0T0在模式在模式 0 0 的邏輯電路結(jié)構(gòu)如圖的邏輯電路結(jié)構(gòu)如圖6-76-7所示。(所示。(T1T1相同)相同)二、模式二、模式 0 0 工作特點工作特點三、模式三、模式 0 0 的應(yīng)用舉例的應(yīng)用舉例2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用二、模式二、模式 0 工作特點工作特點在這種模式下,在這種模式下,1616位寄存器(位寄存器(TH0TH0和和TL0TL0
12、)只用了)只用了。其中。其中TL0TL0的高的高3 3位未用,其余位未用,其余5 5位為整個位為整個1313位的低位的低5 5為,為,TH0TH0占高占高8 8位。當位。當TL0TL0的低的低5 5位溢位溢出時,向出時,向TH0TH0進位;進位;TH0TH0溢出時,向中斷標志溢出時,向中斷標志TF0TF0進位(硬件置位進位(硬件置位TF0TF0),),并申請中斷。并申請中斷。定時時間為:定時時間為: t=(2t=(21313T0T0初值初值) )振蕩周期振蕩周期1212用于計數(shù)工作方式時,計數(shù)長度為:用于計數(shù)工作方式時,計數(shù)長度為: L=(2L=(21313T0T0初值初值) )(個外部脈沖)
13、(個外部脈沖) TH0TL08位5位2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用三、模式三、模式 0 的應(yīng)用舉例的應(yīng)用舉例例6-1:設(shè)晶振為12MHz,試計算定時器T0工作于模式0時的最大定時時間T。解:當T0處于工作模式0時,加1計數(shù)器為13位。 因為:定時時間為:因為:定時時間為: t=(2t=(21313T0T0初值初值) )振蕩周期振蕩周期1212 最大定時時間為最大定時時間為“T0T0初值初值=0”=0”時。時。所以:所以:122T13 振振蕩蕩周周期期12101212613 ms192.81081926 2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)
14、用例6-2:設(shè)定時器T0用于定時10ms,晶振為6MHz。試確定T0初值。并編寫定時器T0初始化程序段。解:解:1 1)確定)確定T0T0初值初值 當當T0處于工作模式處于工作模式0時,加時,加1計數(shù)器為計數(shù)器為13位。位。定時時間:定時時間:120T2(T13 振振蕩蕩周周期期初初值值)所以:所以:120T2(ms1013 振振蕩蕩周周期期初初值值)12106101020T6313 初初值值T0T0初值初值=3192=C78H=3192=C78H =11000 B =11000 B即:(即:(TH0)=0110 0011 B=63H(高(高8位)位) (TL0)=1 1000 B=18H(低
15、(低5位)位)2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 TMOD的低四位為的低四位為T0的控制位的控制位 模式模式0:M1M0=00, 定時器方式:定時器方式:C/T=0, 門控位不受門控位不受INT0的影響:的影響:GATE=0, 其余位:其余位:為為 0。 模式字為模式字為 TMOD=0000 0000 B=00H定時器定時器T1定時器定時器T0GATE C/ T M1 M0 GATEM1C/ TM0TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0解:解:2 2)確定確定TMOD的初值的初值2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)
16、用解:解:3 3)編寫定時器編寫定時器T0T0的初始化程序段的初始化程序段主程序:主程序: ORG 0100H ORG 0100HMAIN: MOV SP,#60H MAIN: MOV SP,#60H ;設(shè)堆棧指針;設(shè)堆棧指針 MOV TMOD,#00H MOV TMOD,#00H ;選擇工作模式;選擇工作模式 MOV TH0,#63HMOV TH0,#63H ;送初值;送初值 MOV TL0,#18H MOV TL0,#18H SETB TR0 SETB TR0 ;啟動定時;啟動定時 2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用例6-3:設(shè)定時器T1工作于模式0,晶振為6M
17、Hz。編程實現(xiàn):每10ms時間P1.0取反的程序。解:解:1 1)確定)確定T1T1初值初值 T1處于工作模式處于工作模式0時,定時時間位時,定時時間位10ms(同例(同例2)。)。(TH1)=0110 0011 B=63H(高(高8位)位) (TL1)=1 1000 B=18H(低(低5位)位)121T2(T13 振振蕩蕩周周期期初初值值)定定時時時時間間:2 2)確定)確定TMODTMOD的初值的初值TMOD的高四位為T1的控制位 模式0:M1M0=00, 定時器方式:C/T=0, 門控位不受INT0的影響:GATE=0, 其余位:為 0。 模式字為 TMOD=0000 0000 B=00
18、H2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用解:解:3 3)編寫程序)編寫程序初始化引導程序: ORG 0000HRESET: AJMP MAIN ; 跳過中斷服務(wù)程序區(qū) ORG 001BH ;中斷服務(wù)程序入口 AJMP ITOP主程序: ORG 0100HMAIN: MOV SP,#60H ;設(shè)堆棧指針 MOV TMOD,#00H ;選擇工作模式 MOV TH1,#63H ;送初值 MOV TL1,#18H SETB P1.0 ;P1.0置1 SETB TR1 ;啟動定時 SETB ET1 ;T1開中斷 SETB EA ;CPU開中斷 HERE: AJMP HERE ;等
19、待時間到,轉(zhuǎn)入中斷服務(wù)程序2022-3-6中斷服務(wù)程序中斷服務(wù)程序 ORG 0150HITOP: MOV TL1,#18H;重新裝入初值 MOV TH1,#63H CPL P1.0 ;P1.0取反 RETI;中斷返回2022-3-6中國民航大學單片機定時器及應(yīng)用例例6-46-4:利用:利用T0T0的工作模式的工作模式0 0產(chǎn)生定時,在產(chǎn)生定時,在P1.0P1.0引腳輸出周期為引腳輸出周期為10ms10ms的方波。設(shè)晶振頻率的方波。設(shè)晶振頻率fosc=12MHzfosc=12MHz。編程實現(xiàn)其功能(。編程實現(xiàn)其功能(分別分別采用查詢方式和中斷方式采用查詢方式和中斷方式)。)。解: 要在P1.0引
20、腳輸出周期為10ms的方波,只要使P1.0每隔5ms取反一次即可。 (1)選擇工作模式 T0的模式字為TMOD=00H,即: M1M0=00,C/T=0,GATE=0,其余位為0。(2)計算5ms定時T0的初值T = (213T0初值)(1/12)10-612 = 510-3 sT0初值 = 3192 D = C78 H = 01100011 11000 BT0的低5位:11000 B=18H 即 (TL0)=18HT0的高8位:01100011 B=63H 即 (TH0)=63H 2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用(3)采用查詢方式的程序程序清單: ORG 000
21、0HLJMPMAIN ;初始化引導程序ORG0080HMAIN:MOV TMOD,#00H ;設(shè)置T0為模式0 MOV TL0,#18H ;送初值 MOV TH0,#63HSETBP1.0 SETB TR0 ;啟動定時LP:JBC TF0,NEXT ;查詢定時時間到否 SJMP LPNEXT:MOV TL0,#18H ;重裝計數(shù)初值 MOV TH0,#63H CPL P1.0 ;取反 SJMP LP ;重復循環(huán)2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用(4)采用定時器溢出中斷方式的程序 ORG 0000H ; 主程序RESET: AJMP MAIN ; 跳過中斷服務(wù)程序區(qū)
22、ORG 000BH;定時器T0中斷矢量 AJMP CTC0;轉(zhuǎn)入中斷服務(wù)程序 ORG 0030H MAIN:MOV TMOD,#00H;設(shè)置T0為模式0 MOV TL0,#18H ;送初值 MOV TH0,#63H SETB EA ;CPU開中斷 SETB ET0 ;T0中斷允許 SETB TR0 ;啟動定時 HERE:SJMP HERE ;等待中斷 ORG 0120H ;中斷服務(wù)程序 CTC0: MOV TL0,#18H ;重新裝入初值 MOV TH0,#63H CPL P1.0 ;P1.0取反 RETI;中斷返回2022-3-6模式模式 0 的應(yīng)用舉例完的應(yīng)用舉例完2022-3-6中國民航
23、大學單片機定時器及應(yīng)用6.3.2 模式模式 1 及其應(yīng)用及其應(yīng)用一、模式 1 的邏輯電路結(jié)構(gòu): T0在模式 1 的邏輯電路結(jié)構(gòu)如 圖6-8所示。(T1相同)二、模式 1 工作特點三、模式 1 的應(yīng)用舉例2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用二、模式二、模式 1 工作特點工作特點 該模式對應(yīng)的是一個16位的定時器/計數(shù)器。 用于定時工作方式時,定時時間為:用于定時工作方式時,定時時間為: t=(2t=(21616T0T0初值初值) )振蕩周期振蕩周期1212 用于計數(shù)工作方式時,計數(shù)長度為:用于計數(shù)工作方式時,計數(shù)長度為: (2(21616T0T0初值初值) )(個外部脈
24、沖)(個外部脈沖)TH0TL08位8位2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用三、模式三、模式 1 的應(yīng)用舉例的應(yīng)用舉例例例6-56-5:設(shè)定時器:設(shè)定時器T0T0選擇工作模式選擇工作模式1 1的計數(shù)器工作方式,其的計數(shù)器工作方式,其計數(shù)器初值為計數(shù)器初值為FFFFFFFFH H,問此時定時器,問此時定時器T0T0的實際用途是什的實際用途是什么?么?解:因其初值為解:因其初值為FFFFHFFFFH,只要隨機外來一脈沖即可溢出,向,只要隨機外來一脈沖即可溢出,向CPUCPU申請中斷,故這一內(nèi)部中斷源實質(zhì)上已作為外部中申請中斷,故這一內(nèi)部中斷源實質(zhì)上已作為外部中斷源使用。因此
25、此定時器斷源使用。因此此定時器T0T0并不用于定時或計數(shù)。并不用于定時或計數(shù)。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用例例6-66-6:設(shè)晶振為:設(shè)晶振為12MHz12MHz,試計算定時器,試計算定時器T0T0工作于模式工作于模式1 1時的最時的最大定時時間大定時時間T T。解:解:當當T0T0處于處于工作模式工作模式1 1時,加時,加1 1計數(shù)器為計數(shù)器為1616位位。 定時時間為: t=(216T0初值)振蕩周期12 最大定時時間為“T0初值=0”時。所以:122T16 振振蕩蕩周周期期12101212616 ms536.6510655366 2022-3-62022
26、-3-6中國民航大學單片機定時器及應(yīng)用例例6-76-7:用定時器:用定時器T1T1產(chǎn)生一個產(chǎn)生一個50Hz50Hz的方波,由的方波,由 P1.1 P1.1輸出。使用程序查輸出。使用程序查詢方式,詢方式,fosc=6MHzfosc=6MHz。解:1)確定定時器T1初值 方波周期 T = 1/50 = 0.02s = 20ms 用T1定時10ms,時間到P1.1引腳電平取反。121T2t16 振振蕩蕩周周期期初初值值)(定定時時時時間間:12t21T16 振振蕩蕩周周期期初初值值121061ms1021T616 初初值值H78EC605361T 初初值值(TH1TH1)=ECH=ECH,(,(TL
27、1TL1)=78H=78H20ms10ms 10ms2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用解:解:2 2)確定工作模式寄存器)確定工作模式寄存器TMODTMOD的值的值 定時器T1工作于模式1的定時器工作方式, 高四位:高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取,低四位:取0。 (TMODTMOD)=0001 0000 B = 10H=0001 0000 B = 10H3)編程)編程 ORG 0000H LJMP START ORG 0080H START:MOV TMOD,#10H ;T1為模式1 MOV TL1,#78H ;送初值 MOV TH
28、1,#0ECH SETB P1.1 ;P1.1置1 SETB TR1 ;啟動定時LOOP: JNB TF1,LOOP ;查詢定時時間到否 CLR TF1 ;產(chǎn)生溢出,清標志位 MOV TL1,#78H ;重新置初值 MOV TH1,#0ECH CPL P1.1 ;取反 SJMP LOOP ;重復循環(huán)2022-3-6模式 1 的應(yīng)用舉例完2022-3-6中國民航大學單片機定時器及應(yīng)用6.3.3 模式模式 2 及其應(yīng)用及其應(yīng)用一、模式一、模式 2 2 的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu)二、模式二、模式 2 2 工作特點工作特點三、模式三、模式 2 2 的應(yīng)用舉例的應(yīng)用舉例2022-3-62022-3-6
29、中國民航大學單片機定時器及應(yīng)用一、模式一、模式 2 的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu) T0T0在模式在模式 2 2 的邏輯電路結(jié)構(gòu)如的邏輯電路結(jié)構(gòu)如 圖圖6-96-9所示。(所示。(T1T1相同)相同) TL0TL0計數(shù)溢出時,不僅使溢出中斷標志位計數(shù)溢出時,不僅使溢出中斷標志位TF0TF0置置1 1,而且,而且還自動把還自動把TH0TH0中的內(nèi)容重新裝載到中的內(nèi)容重新裝載到TL0TL0中。中。 TL0TL0用作用作8 8位計數(shù)器,位計數(shù)器,TH0TH0用以保存初值。用以保存初值。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用二、模式二、模式 2 工作特點工作特點 該模式把該模式把
30、TL0(TL1)TL0(TL1)配置成一個可以自動重裝載的配置成一個可以自動重裝載的8 8位定時器位定時器/ /計數(shù)器。計數(shù)器。 在程序初始化時,在程序初始化時,TL0TL0和和TH0TH0由軟件賦予相同的初值由軟件賦予相同的初值。 用于定時工作方式時,定時時間為: t=(28TL0初值)振蕩周期12 用于計數(shù)工作方式時,計數(shù)長度為:用于計數(shù)工作方式時,計數(shù)長度為: (2(28 8TL0TL0初值初值) ) (個外部脈沖)(個外部脈沖) 該模式可省去軟件中重裝常數(shù)的語句,并可產(chǎn)生相該模式可省去軟件中重裝常數(shù)的語句,并可產(chǎn)生相當精確的定時時間,適合于作串行口波特率發(fā)生器當精確的定時時間,適合于作
31、串行口波特率發(fā)生器。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用三、模式三、模式 2 的應(yīng)用舉例的應(yīng)用舉例例6-8:當P3.4引腳(定時器T0的外部計數(shù)輸入端)上的電平發(fā)生負跳變時, 從P1.0輸出一個500s的同步脈沖。用查詢方式編程實現(xiàn)該功能,fosc=6MHz。2022-3-6解:題目要實現(xiàn)的功能如 圖6-10 所示。 (1)確定TMOD值 門控位GATE=0,高四位取0,選T0為模式2(M1M0=10), 首先為計數(shù)器工作方式(C/T=1):(TMOD)=0000 0110B=06H 當P3.4引腳上的電平發(fā)生負跳變時,T0計數(shù)器加1,溢出標志TF0置1; 然后改變T
32、0為500s定時工作方式(C/T=0):(TMOD)=02H 當上面TF0=1時使P1.0輸出由1變?yōu)?。開始T0定時,到500s產(chǎn)生溢出,使P1.0輸出恢復高電平,T0又恢復外部事件計數(shù)方式。定時器定時器T1定時器定時器T0GATE C/ T M1 M0 GATEM1C/ TM0TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D02022-3-6中國民航大學單片機定時器及應(yīng)用(2)計算T0初值 T0T0工作在外部事件計數(shù)方式工作在外部事件計數(shù)方式: 題目要求題目要求T0T0引腳出現(xiàn)一次外部事件時,引起引腳出現(xiàn)一次外部事件時,引起T0T0中斷。中斷。 所以:設(shè)計計數(shù)器初值為所以:
33、設(shè)計計數(shù)器初值為FFHFFH,當計數(shù)器再加,當計數(shù)器再加1 1就溢出了。就溢出了。 即即: T0: T0初值初值+1=2+1=28 8 T0T0初值初值 = 2= 28 8 1=11111111B=0FFH1=11111111B=0FFH 即:(TH0)=(TL0)=0FFH T0 T0工作在定時工作方式:工作在定時工作方式: 因為晶振頻率為因為晶振頻率為6MHz6MHz,定時,定時500s500s。 所以:所以:(2(28 8T0T0初值初值) )2s=500s2s=500s 得出:得出:T0T0初值初值 =6=06H=6=06H, 即:(TH0)=(TL0)=06H2022-3-62022
34、-3-6中國民航大學單片機定時器及應(yīng)用(3)程序清單:ORG0000HLJMPSTARTORG0080HSTART:MOVTMOD,#06H;設(shè)置T0為模式2,外部計數(shù)方式 MOV TL0,#0FFH ;T0計數(shù)器初值 MOV TH0,#0FFH SETB TR0 ;啟動T0計數(shù) LOOP1:JBC TF0,PTFO1 ;查詢T0溢出標志,TF0=1時轉(zhuǎn),且清TF0=0 SJMP LOOP1 ; 等待T0溢出PTFO1:CLR TR0 ;停止計數(shù) MOV TMOD,#02H ;設(shè)置T0為模式2,定時方式 MOV TL0,#06H ;送初值,定時500s MOV TH0,#06H CLR P1.
35、0 ; P1.0清0 SETB TR0 ;啟動定時500s LOOP2 :JBC TF0,PTFO2 ;查詢T0溢出標志,TF0=1時轉(zhuǎn)并清TF0=0 SJMP LOOP2 ;等待T0溢出中斷(定時時間到) PTFO2 :SETB P1.0 ; P1.0置1 CLR TR0 ;停止定時SJMP START ;轉(zhuǎn)向開始,重新等待T0引腳的脈沖2022-3-6例6-8完2022-3-6中國民航大學單片機定時器及應(yīng)用例例6-96-9:利用定時器:利用定時器T1T1的模式的模式2 2對外部信號計數(shù)。要求每計滿對外部信號計數(shù)。要求每計滿100100次,將次,將 P1.0P1.0端取反。端取反。解:(1)
36、選擇模式 外部信號由T1(P3.5)引腳輸入,每發(fā)生一次負跳變計數(shù)器加1,每輸入100個脈沖,計數(shù)器發(fā)生溢出中斷,中斷服務(wù)程序?qū)1.0取反一次。 T1計數(shù)工作方式模式2的模式字為(TMOD)=60H。 T0不用時,TMOD的低4位可任取,但不能進入模式3,一般取0。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用(2)計算T1的計數(shù)初值 X= 28 100=156=9CH 因此:TL1的初值為9CH,重裝初值寄存器TH1=9CH。(3)程序清單ORG0000HLJMPMAINORG 001BH ;中斷服務(wù)程序入口 CPL P1.0 RETI MAIN: MOV TMOD,#60
37、H ;設(shè)置T1為模式2,外部計數(shù)方式 MOV TL1,#9CH ;T1計數(shù)器初值 MOV TH1,#9CH MOV IE,#88H ; 定時器開中斷 SETB TR1 ;啟動T1計數(shù) HERE:SJMP HERE ;等待中斷2022-3-6模式 2 的應(yīng)用舉例完2022-3-6中國民航大學單片機定時器及應(yīng)用6.3.4 模式模式 3 及其應(yīng)用及其應(yīng)用一、模式一、模式 3 3 的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu)工作模式3對T0和T1大不相同。1、T0模式3的邏輯電路結(jié)構(gòu)2、T0模式3下T1的邏輯電路結(jié)構(gòu)二、模式二、模式 3 3 的應(yīng)用舉例的應(yīng)用舉例2022-3-62022-3-6中國民航大學單片機定時器
38、及應(yīng)用1 1、T0T0模式模式3 3的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu) T0模式3的邏輯電路結(jié)構(gòu)如 圖6-11所示。 T0設(shè)置為模式3,TL0和TH0被分成兩個相互獨立的8位計數(shù)器。 TL0: 用原T0的各控制位、引腳和中斷源,即C/T,GATE,TR0,TF0,T0(P3.4)引腳,INT0(P3.2)引腳。 TL0可工作在定時器方式和計數(shù)器方式。其功能和操作與模式0、模式1相同(只是8位)。 TH0: 只可用作簡單的內(nèi)部定時功能。 TH0占用了定時器T1的控制位TR1和T1的中斷標志TF1,其啟動和關(guān)閉僅受TR1的控制。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用2 2、T0T
39、0模式模式3 3下下T1T1的邏輯電路結(jié)構(gòu)的邏輯電路結(jié)構(gòu) 定時器T1無工作模式3狀態(tài)。在T0用作模式3時,T1仍可設(shè)置為模式02。 T0模式3下T1的邏輯電路結(jié)構(gòu)如 圖6-12 所示。 由于TR1和TF1被定時器T0占用,計數(shù)器開關(guān)K已被接通,此時,僅用T1控制位,C/T切換其定時或計數(shù)器工作方式就可使T1運行。當計數(shù)器溢出時,只能將輸出送入串行口或用于不需要中斷的場合。一般作波特率發(fā)生器2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用二、模式二、模式 3 的應(yīng)用舉例的應(yīng)用舉例例例6-106-10:設(shè)某用戶系統(tǒng)已使用了兩個外部中斷源,并置定時器:設(shè)某用戶系統(tǒng)已使用了兩個外部中斷源
40、,并置定時器T1T1工作在模工作在模式式2 2,作串行口波特率發(fā)生器用?,F(xiàn)要求再增加一個外部中斷源,并由,作串行口波特率發(fā)生器用?,F(xiàn)要求再增加一個外部中斷源,并由P1.0P1.0引腳輸出一個引腳輸出一個5kHz5kHz的方波。的方波。Fosc=12MHz.Fosc=12MHz.解:(1)工作模式 可設(shè)置T0工作在模式3計數(shù)器方式,把T0的引腳作附加的外部中斷輸入端,TL0的計數(shù)初值為FFH,當檢測到T0引腳電平出現(xiàn)由1至0的負跳變時,TL0產(chǎn)生溢出,申請中斷。 T0模式3下,TL0作計數(shù)用,而TH0用作8位的定時器,定時控制P1.0引腳輸出5kHz的方波信號。 2022-3-6(2)計算初值T
41、L0的計數(shù)初值為FFH。TH0的計數(shù)初值X為: P1.0方波周期T=1/(5kHz)=0.2ms=200s 用TH0作定時100s時, X=256-100 12/12=1562022-3-6中國民航大學單片機定時器及應(yīng)用(3)程序清單 MOV TMOD,#27H ;T0為模式3,計數(shù)方式, T1為模式2,定時方式 MOV TL0,#0FFH ;TL0計數(shù)初值 MOV TH0,#156 ;TH0計數(shù)初值 MOV TL1,#data ;data是根據(jù)波特率,要求設(shè)置的常數(shù)(初值) MOV TH1,#data MOV TCON,#55H ;外中斷0,外中斷1邊沿觸發(fā),啟動T0,T1 MOV IE,#
42、9FH ; 開放全部中斷TL0溢出中斷服務(wù)程序(由000BH轉(zhuǎn)來)TL0INT:MOV TL0,#0FFH ;TL0重賦初值 (中斷處理) RETITH0溢出中斷服務(wù)程序(由001BH轉(zhuǎn)來)TH0INT:MOV TH0,#156 ;TH0重賦初值 CPL P1.0 ;P1.0取反輸出 RETI串行口及外部中斷0,外部中斷1的服務(wù)程序略2022-3-6模式3 的應(yīng)用舉例完2022-3-6中國民航大學單片機定時器及應(yīng)用6.3.5 綜合應(yīng)用舉例綜合應(yīng)用舉例例6-11:設(shè)時鐘頻率為6MHz。編寫利用T0產(chǎn)生1s定時的程序。解:(1)定時器T0工作模式的確定模式0最長可定時16.384ms; 模式1最長
43、可定時131.072ms; 模式2最長可定時512s;定時1s,可選用模式1,每隔100ms中斷一 次,中斷10次從而達到1s的定時。(2)求計數(shù)器初值X (216X)12/(6 106) =10010-3 s X=15536=3CB0H 因此:(TL0)=0B0H (TH0)=3CH(3)實現(xiàn)方法: 對于中斷10次計數(shù),可使T0工作在計數(shù)方式,也可用循環(huán)程序的方法實現(xiàn)。本例采用循環(huán)程序法。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用(4)源程序清單 ORG0000H AJMP MAIN; 上電,轉(zhuǎn)向主程序 ORG 000BH ;T0的中斷服務(wù)程序入口地址 AJMP SERV
44、E ;轉(zhuǎn)向中斷服務(wù)程序 ORG 0080H ;主程序MAIN : MOV SP,#60H ;設(shè)堆棧指針 MOV B,#0AH ;設(shè)循環(huán)次數(shù) MOV TMOD,#01H;設(shè)置T0工作于模式1 MOV TL0,#0B0H;裝計數(shù)值低8位 MOV TH0,#3CH;裝計數(shù)值高8位 SETB TR0 ;啟動定時 SETB ET0;T0開中斷 SETB EA;CPU開中斷 SJMP $;等待中斷SERVE: MOV TL0,#0B0H ;重新賦初值 MOV TH0,#3CH DJNZ B,LOOP ;B-1不為0,繼續(xù)定時 CLR TR0 ;1s定時到,停止T0工作LOOP: RETI ;中斷返回 EN
45、D2022-3-6 例6-11完2022-3-6中國民航大學單片機定時器及應(yīng)用例例6-126-12:設(shè)計實時時鐘程序。時鐘:設(shè)計實時時鐘程序。時鐘 就是以秒、分、時為單位進行計時。用定就是以秒、分、時為單位進行計時。用定時器與中斷的聯(lián)合應(yīng)用時器與中斷的聯(lián)合應(yīng)用。解:(1)實現(xiàn)時鐘計時的基本方法 計算計數(shù)初值。 時鐘計時的最小單位是秒,可把定時器的定時時間定為100ms,計數(shù)溢出10次即得到1秒;10次計數(shù)可用軟件方法實現(xiàn)。 假定使用定時器T0,以工作模式1進行100ms的定時。如fosc=6MHz,則計數(shù)初值X為: X=15536=3CB0H因此 : (TL0)=0B0H (TH0)=3CH
46、采用定時方式進行溢出次數(shù)的累計,計滿10次即得到秒計時。 設(shè)置軟件計數(shù)器初值為10,每100ms定時時間到溢出中斷,使軟件計數(shù)器減1,直到減到0,則1s到。2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用 從秒到分和從分到時的計時是通過累計和數(shù)值比較實現(xiàn)的。 設(shè)置幾個累加單元分別進行對1s,1min,1h進行計數(shù)。滿1s,秒位累加;滿60s,分位累加;滿60min,時位累加;滿24h全部累加單元清02022-3-6(2)程序流程及程序清單 主程序流程如 圖所示。設(shè)設(shè)T1為模式為模式1設(shè)中斷次數(shù)設(shè)中斷次數(shù)清計時單元清計時單元開中斷開中斷啟動啟動T1調(diào)用顯示子程序調(diào)用顯示子程序圖圖6
47、-13 時鐘主程序流程時鐘主程序流程2022-3-6中國民航大學單片機定時器及應(yīng)用保護現(xiàn)場賦計數(shù)初值到1s?(32H)加1(32H)=60?(32H)清0(31H)加1(31H)=60?(31H)清0(30H)加1(30H)=24?(30H)清0恢復現(xiàn)場返回入口入口NNNNYYYY圖圖6-14 中斷服務(wù)程序流程圖中斷服務(wù)程序流程圖 中斷服務(wù)流程如 圖6-14所示。2022-3-6中國民航大學單片機定時器及應(yīng)用 源程序如下: ORG 0000H AJMP MAIN ; 上電,轉(zhuǎn)向主程序 ORG 001BH ;T1的中斷服務(wù)程序入口地址 AJMP SERVE ;轉(zhuǎn)向中斷服務(wù)程序 ORG 2000H
48、 ;主程序MAIN: MOV SP,#60H ;設(shè)堆棧指針 MOV TMOD,#10H ;設(shè)置T1工作于模式1 MOV 20H,#0AH ;設(shè)循環(huán)次數(shù) CLR A MOV 30H,A ;時單元清0 MOV 31H,A ;分單元清0 MOV 32H,A ;秒單元清0SETB ET1 ;T1開中斷 SETB EA ;CPU開中斷 MOV TL1,#0B0H ;裝計數(shù)值低8位 MOV TH1,#3CH ;裝計數(shù)值高8位 SETB TR1 ;啟動定時 SJMP $ ;等待中斷(可反復調(diào)用顯示子程序)2022-3-62022-3-6中國民航大學單片機定時器及應(yīng)用中斷服務(wù)程序: SERVE: PUSH PSW ;保護現(xiàn)場 PUSH ACC MOV TL1,#0B0H ;重新賦初值 MOV TH1,#3CH DJNZ 20H,RETUNT ;1s未到,返回 MOV 20H,#0AH ;重置中斷次數(shù)MOV A,#01H ADD A,32
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔修復技術(shù)臨床應(yīng)用
- 口腔疑難病例討論
- 吸痰技術(shù)流程并發(fā)癥管理策略
- Cilostamide-Standard-OPC3689-Standard-生命科學試劑-MCE
- 輪式裝甲車輛市場分析:預計2031年全球市場銷售額將達到249.9億美元
- 鋁合金犧牲陽極在海洋工程中的應(yīng)用實踐與成效
- 《化工儀表及控制供電系統(tǒng)設(shè)計規(guī)范》征求意見稿
- 新能源汽車二手車2025年市場流通服務(wù)模式創(chuàng)新與優(yōu)化報告
- 新能源產(chǎn)業(yè)園區(qū)建設(shè)與周邊社區(qū)環(huán)境穩(wěn)定風險分析報告
- 五金制品行業(yè)跨境電商市場布局與戰(zhàn)略研究報告
- 《2圖形的全等》教學設(shè)計(遼寧省縣級優(yōu)課)-七年級數(shù)學教案
- XXXX采石場職業(yè)病危害現(xiàn)狀評價報告
- 市政工程代建管理方案(簡版)
- 住宅專項維修資金管理系統(tǒng)方案
- 高速公路機電工程三大系統(tǒng)施工方案
- 中藥處方書寫規(guī)范與中藥處方點評
- 宮腔鏡下子宮內(nèi)膜息肉切除日間手術(shù)臨床路徑(婦科)及表單
- 橋架支吊架安裝標準圖-橋架支吊架圖集
- GB/T 699-2015優(yōu)質(zhì)碳素結(jié)構(gòu)鋼
- GB/T 25247-2010飼料添加劑糖萜素
- GB/T 13808-1992銅及銅合金擠制棒
評論
0/150
提交評論