




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 5.2 5.2 定時器定時器/ /計數(shù)器計數(shù)器 定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理 定時器的控制定時器的控制 定時器的工作模式及其應(yīng)用定時器的工作模式及其應(yīng)用 第五章第五章 MCS-51MCS-51單片機的內(nèi)部資源及應(yīng)用單片機的內(nèi)部資源及應(yīng)用實現(xiàn)定時一般有多種方法:實現(xiàn)定時一般有多種方法:1. 1. 利用軟件實現(xiàn)(延時程序)利用軟件實現(xiàn)(延時程序) 優(yōu)點:優(yōu)點:簡單,控制方便;簡單,控制方便; 缺點:缺點:CPUCPU效率低。效率低。2. 2. 外部硬件實現(xiàn):單穩(wěn)態(tài)定時器、計數(shù)定時器外部硬件實現(xiàn):單穩(wěn)態(tài)定時器、計數(shù)定時器 優(yōu)點:優(yōu)點:CPUCPU效率高;效率高; 缺點:缺點:修改參
2、數(shù)麻煩。修改參數(shù)麻煩。3. 3. 利用計數(shù)器實現(xiàn)利用計數(shù)器實現(xiàn)計數(shù)器計數(shù)器溢出溢出1us8位位256us輸入脈沖輸入脈沖預(yù)置數(shù)預(yù)置數(shù) 定時器計數(shù)器作用主要包括定時器計數(shù)器作用主要包括產(chǎn)生各種時標(biāo)間隔、記錄外產(chǎn)生各種時標(biāo)間隔、記錄外部事件部事件的數(shù)量等,是單片機中最常用、最基本的部件之一。的數(shù)量等,是單片機中最常用、最基本的部件之一。機器周期機器周期 定時器定時器/ /計數(shù)器計數(shù)器單片機單片機T0T0外來脈沖外來脈沖定時功能定時功能計數(shù)功能計數(shù)功能定時器定時器/ /計數(shù)器計數(shù)器 功能示意圖功能示意圖 5.2.1 5.2.1 定時器定時器/ /計數(shù)器的基本結(jié)構(gòu)計數(shù)器的基本結(jié)構(gòu) MCS-51MCS-
3、51單片機有二個定時器單片機有二個定時器/ /計數(shù)器,每個定時器計數(shù)器,每個定時器/ /計數(shù)器計數(shù)器由幾個專用寄存器組成。由幾個專用寄存器組成。定時器定時器T0T0定時器定時器T1T1數(shù)據(jù)寄存器數(shù)據(jù)寄存器(16(16位)位)TH0 TL0TH0 TL0TH1 TL1TH1 TL18CH 8AH8CH 8AH8DH 8BH8DH 8BH方式寄存器方式寄存器TMOD(89HTMOD(89H)低四位低四位TMOD(89HTMOD(89H)高四位高四位控制寄存器控制寄存器* *TCON(88H)TCON(88H)TCON(88H)TCON(88H)定時器定時器/ /計數(shù)器的結(jié)構(gòu)如圖所示。計數(shù)器的結(jié)構(gòu)如
4、圖所示。定時器定時器/ /計數(shù)器的基本結(jié)構(gòu)框圖計數(shù)器的基本結(jié)構(gòu)框圖5.2.2 5.2.2 定時器定時器/ /計數(shù)器的工作原理計數(shù)器的工作原理定時器定時器/ /計數(shù)器結(jié)構(gòu)原理圖計數(shù)器結(jié)構(gòu)原理圖 TRx TRx:啟動位:啟動位GATEGATE:門控制位:門控制位 :定時:定時/ /計數(shù)控制位計數(shù)控制位T TC/C/x=0,1x=0,1Y=2,3Y=2,3Z=4,5Z=4,5 一、對外部輸入信號的計數(shù)功能一、對外部輸入信號的計數(shù)功能 當(dāng)當(dāng)T0T0或或T1T1設(shè)置為計數(shù)工作方式時,計數(shù)器對來自輸入引設(shè)置為計數(shù)工作方式時,計數(shù)器對來自輸入引腳腳P3.4(T0)P3.4(T0)和和P3.5(T1)P3.5
5、(T1)的外部信號計數(shù)。的外部信號計數(shù)。 若前一個機器周期采樣值為若前一個機器周期采樣值為1 1,后一個機器周期采樣值為,后一個機器周期采樣值為0 0,則計數(shù)器加,則計數(shù)器加1 1。所以計數(shù)器計數(shù)的頻率最高為所以計數(shù)器計數(shù)的頻率最高為foscfosc的的1/241/24。計數(shù)計數(shù)計數(shù)計數(shù)計數(shù)計數(shù)T TH H11個機器周期個機器周期T TL L11個機器周期個機器周期計數(shù)信號計數(shù)信號二二. . 定時功能定時功能 定時器定時器/ /計數(shù)器的定時功能也是通過計數(shù)實現(xiàn)的,它的計計數(shù)器的定時功能也是通過計數(shù)實現(xiàn)的,它的計數(shù)脈沖是由單片機的片內(nèi)振蕩器輸出經(jīng)數(shù)脈沖是由單片機的片內(nèi)振蕩器輸出經(jīng)1212分頻后產(chǎn)
6、生的信號,分頻后產(chǎn)生的信號,即為即為對機器周期計數(shù)對機器周期計數(shù)。例如:例如:晶振頻率晶振頻率=12MHz=12MHz機器周期機器周期=1us=1us, 計數(shù)計數(shù)1 1次次=1us=1us,計數(shù)頻為計數(shù)頻為=1MHz=1MHz。計數(shù)器計數(shù)器定時器定時器計數(shù)脈沖計數(shù)脈沖外部信號下降沿外部信號下降沿T0T0對應(yīng)對應(yīng)P3.4P3.4T1T1對應(yīng)對應(yīng)P3.5P3.5內(nèi)部信號內(nèi)部信號( (片內(nèi)振蕩器片內(nèi)振蕩器) )計數(shù)頻率計數(shù)頻率f ffmax=fosc/24fmax=fosc/24f=f=機器周期機器周期定時器定時器/ /計數(shù)器的比較計數(shù)器的比較 定時器定時器/ /計數(shù)器的控制主要是通過以下幾個寄存計
7、數(shù)器的控制主要是通過以下幾個寄存器實現(xiàn)的:器實現(xiàn)的: TCONTCON - - 定時器定時器/ /計數(shù)器控制寄存器計數(shù)器控制寄存器 TMODTMOD - - 定時器定時器/ /計數(shù)器工作方式控制寄存器計數(shù)器工作方式控制寄存器 IEIE - - 中斷允許控制寄存器中斷允許控制寄存器5.2.3 5.2.3 定時器的控制定時器的控制 一、一、 定定時器時器/ /計數(shù)器的工作方式寄存器計數(shù)器的工作方式寄存器TMODTMOD 定時器定時器/ /計數(shù)器是一種可編程部件,在工作之前必須由軟件計數(shù)器是一種可編程部件,在工作之前必須由軟件設(shè)定它的工作方式,即對設(shè)定它的工作方式,即對工作方式寄存器工作方式寄存器T
8、MODTMOD中每位進(jìn)行設(shè)定。中每位進(jìn)行設(shè)定。(M1(M1、M0)M0):設(shè)置定時器設(shè)置定時器/ /計數(shù)器的工作方式;計數(shù)器的工作方式; (C/ ) (C/ ):定時器定時器/ /計數(shù)器選擇位,置計數(shù)器選擇位,置0 0時作定時器用;時作定時器用; (GATE) (GATE):設(shè)置定時器設(shè)置定時器/ /計數(shù)器的啟動方式。計數(shù)器的啟動方式。TTMOD(89H)TMOD(89H) TMOD TMOD不能位尋址。上電復(fù)位時,不能位尋址。上電復(fù)位時,TMODTMOD所有位均為零。所有位均為零。工作方式寄存器工作方式寄存器TMODTMOD的作用:的作用: 、M1M1和和M0M0工作方式控制位工作方式控制位
9、 M0M0和和M1M1為工作方式控制位,確定為工作方式控制位,確定4 4種工作方式,如表種工作方式,如表7-17-1所示。所示。M1 M0 M1 M0 方式方式說說 明明0 00 00 01313位定時器位定時器/ /計數(shù)器計數(shù)器(TH(TH的的8 8位和位和TLTL的低的低5 5位位) ) 0 10 11 11616位定時器位定時器/ /計數(shù)器計數(shù)器 1 01 02 2自動重裝入初值的自動重裝入初值的8 8位計數(shù)器位計數(shù)器 1 11 13 3T0T0分成兩個獨立的分成兩個獨立的8 8位計數(shù)器位計數(shù)器, T1, T1在在方式方式3 3時停止工作時停止工作 、定時器、定時器/ /計數(shù)器方式選擇位
10、計數(shù)器方式選擇位 1. =0 1. =0 選擇定時方式。在定時方式中,選擇定時方式。在定時方式中,以振蕩輸出時鐘脈以振蕩輸出時鐘脈沖的沖的1212分頻信號作為定時的計數(shù)信號分頻信號作為定時的計數(shù)信號,也就是每一個機器也就是每一個機器周期定時器加周期定時器加“1”1”,若晶振為,若晶振為12MHz12MHz,則定時器的計數(shù)頻,則定時器的計數(shù)頻率為率為1MHz1MHz。2. =1 2. =1 選擇計數(shù)功能。在計數(shù)方式中,選擇計數(shù)功能。在計數(shù)方式中,采用外部引腳采用外部引腳T0(P3.4)T0(P3.4)、T1(P3.5)T1(P3.5)的輸入脈沖作為計數(shù)脈沖的輸入脈沖作為計數(shù)脈沖, , 當(dāng)外部輸當(dāng)
11、外部輸入脈沖發(fā)生入脈沖發(fā)生1 1到到0 0的負(fù)跳變時,計數(shù)器加的負(fù)跳變時,計數(shù)器加1 1,最高計數(shù)頻率,最高計數(shù)頻率為時鐘頻率的為時鐘頻率的1/241/24。T TC C/ /T TC C/ /T TC C/ /計數(shù)計數(shù) C/ =0 C/ =0 定時;定時; C/ =1 C/ =1 對外計數(shù)。對外計數(shù)。定時:定時:fosc/12 =1/(12/fosc)=1/T (fosc/12 =1/(12/fosc)=1/T (機器周期機器周期) )N個方波個方波 T計數(shù):脈沖不等間隔計數(shù):脈沖不等間隔定時:定時: 波形等間隔,次數(shù)已定,時間波形等間隔,次數(shù)已定,時間確定確定, , 即對機器周期進(jìn)行計數(shù)。
12、即對機器周期進(jìn)行計數(shù)。 定時時間為定時時間為 N*T計數(shù):計數(shù): 每個下降沿計數(shù)一次每個下降沿計數(shù)一次, ,確認(rèn)一次確認(rèn)一次負(fù)跳變需兩個機器周期,所以,計負(fù)跳變需兩個機器周期,所以,計數(shù)頻率最高為數(shù)頻率最高為fosc / 24。 TT 、GATEGATE啟動門控位啟動門控位1. GATE=0 1. GATE=0 時時 只要用軟件使只要用軟件使TR0TR0(或(或TR1TR1)置)置1 1就能啟動定時器就能啟動定時器T0T0(或(或T1T1)2. GATE=1 2. GATE=1 時時 只有在只有在INT0INT0(或(或INT1INT1)引腳為高電平的情況下,且由軟件)引腳為高電平的情況下,且
13、由軟件使使TR0TR0(或(或TR1TR1)置)置1 1時,才能啟動定時器時,才能啟動定時器T0T0(或(或T1T1)工作。)工作。x=0,1x=0,1Y=2,3Y=2,3二、二、 定時器定時器/ /計數(shù)器的控制寄存器計數(shù)器的控制寄存器TCONTCON 控制寄存器控制寄存器TCONTCON的作用:的作用:1 1、通過設(shè)置、通過設(shè)置TCONTCON中的某些位來實現(xiàn)啟動或停止定時器中的某些位來實現(xiàn)啟動或停止定時器/ /計數(shù)計數(shù) 器的運行(計數(shù));器的運行(計數(shù));2 2、當(dāng)定時器、當(dāng)定時器/ /計數(shù)器計滿溢出,或有外部中斷請求時,計數(shù)器計滿溢出,或有外部中斷請求時,TCONTCON 能標(biāo)明溢出和中
14、斷情況。能標(biāo)明溢出和中斷情況。控制寄存器控制寄存器TCON(88H)TCON(88H)TF1TF1:定時器:定時器T1T1溢出標(biāo)志位溢出標(biāo)志位 當(dāng)定時器當(dāng)定時器T1T1溢出時,由硬件自動使溢出時,由硬件自動使TF1TF1置置1 1,并向,并向CPUCPU申請中斷。申請中斷。CPUCPU響應(yīng)中斷后,由硬件自動對響應(yīng)中斷后,由硬件自動對TF1TF1清清零。零。TF1TF1也可以用軟件清零。也可以用軟件清零。TR1TR1:定時器:定時器T1T1運行控制位運行控制位 可由軟件置可由軟件置1 1(或清零)來啟動(或關(guān)閉)定時(或清零)來啟動(或關(guān)閉)定時器器T1T1,使定時器,使定時器T1T1開始計數(shù)。
15、開始計數(shù)。用指令:用指令: SETB TR1SETB TR1 或或 CLR TR1 (CLR TR1 (置置1 1或清或清0 0)TF1TF1TR1TR1TF0TF0 TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0控制寄存器控制寄存器TCON(88H)TCON(88H)TF0TF0:定時器:定時器T0T0溢出標(biāo)志位。其功能與溢出標(biāo)志位。其功能與TF1TF1相同。相同。TR0TR0:定時器:定時器T0T0運行控制位。其功能與運行控制位。其功能與TR1TR1相同。相同。IE1IE1:外部中斷:外部中斷1 1請求標(biāo)志位。請求標(biāo)志位。IT1IT1:外部中斷:外部中斷1 1觸發(fā)方式控制位。
16、觸發(fā)方式控制位。IE0IE0:外部中斷:外部中斷0 0請求標(biāo)志位。請求標(biāo)志位。IT0IT0:外部中斷:外部中斷0 0觸發(fā)方式控制位。觸發(fā)方式控制位。 IE1IE1、IT1IT1、IE0IE0、IT0IT0這這4 4位已在第位已在第5 5章講述。章講述。 可以對控制寄存器進(jìn)行位尋址??梢詫刂萍拇嫫鬟M(jìn)行位尋址。TF1TF1TR1TR1TF0TF0 TR0TR0IE1IE1IT1IT1IE0IE0IT0IT05.2.4 5.2.4 定時器的工作模式及其應(yīng)用定時器的工作模式及其應(yīng)用一、一、 工作模式工作模式0 0及應(yīng)用及應(yīng)用。M0=0, M1=0 、工作原理、工作原理 1、在方式在方式0 0下,下,
17、T0T0和和T1T1工作在工作在1313位的定時位的定時/ /計數(shù)器方式,計數(shù)器方式,由由THTH的高的高8 8位位和和TLTL的低的低5 5位位組成。組成。 2 2、當(dāng)、當(dāng)T0T0的的1313位計數(shù)器加到全部為位計數(shù)器加到全部為1 1以后,再加以后,再加1 1就產(chǎn)生就產(chǎn)生溢出,這時置溢出,這時置TCONTCON的的TF0TF0為為1 1,同時把計數(shù)器全部變,同時把計數(shù)器全部變0 0,然,然后從后從0 0開始繼續(xù)計數(shù)。開始繼續(xù)計數(shù)。TH0=0FFHTH0=0FFHTL0=1FHTL0=1FHTF0=0TF0=011111111111111111111111111+1+1TH0=00HTH0=0
18、0HTL0=00HTL0=00HTF0=1TF0=1M0=0, M1=0 x=0,1x=0,1Y=2,3Y=2,3Z=4,5Z=4,5 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 000BH ORG 000BH LJMP T0INT LJMP T0INT MAIN: SETB ET0 MAIN: SETB ET0 SETB EA SETB EA SETB TR0 SETB TR0 LOOP: LOOP: LJMP LOOP LJMP LOOP T0INT: CPL P1.0 T0INT: CPL P1.0 MOV TL0,MOV TL0,0CH0CH
19、 MOV TH0, MOV TH0,0F0H0F0H RETI RETI對于對于T0T0初值非零時初值非零時2 2、當(dāng)、當(dāng) = 0 = 0 時,工作方式為定時器,時,工作方式為定時器, 定時時間定時時間 = = (2(213 13 -T0-T0初值初值)x12x)x12x時鐘周期時鐘周期 定時范圍:定時范圍:1 1工作周期工作周期 81928192工作周期工作周期 1 1、當(dāng)、當(dāng) = 1 = 1 時,工作方式為計數(shù)器,時,工作方式為計數(shù)器, 計數(shù)數(shù)值計數(shù)數(shù)值 = = (2(21313 - T0 - T0初值初值) ) 計數(shù)值范圍:計數(shù)值范圍:1 181928192(2 213 13 = 819
20、2= 8192)TH0=0FFHTH0=0FFHTL0=01FHTL0=01FH 、工作模式、工作模式0 0時計數(shù)和定時范圍時計數(shù)和定時范圍TH0=00HTH0=00HTL0=00HTL0=00H加加1 1溢出;溢出;加加81928192溢出。溢出。T TC/C/T TC/C/ 如果單片機的晶振選為如果單片機的晶振選為6.00MHz6.00MHz,則最長和最小定時,則最長和最小定時時間分別為:時間分別為:最小定時時間(最小定時時間((TH0)(TH0)0FFH0FFH,(TL0)(TL0)0FFH0FFH):): 8192-(8192-1)8192-(8192-1)1/61/61010-6-6
21、12 = 212 = 21010-6-6(s) (s) = 2(us) = 2(us)最長定時時間(最長定時時間((TH0)(TH0)00H00H,(TL0)(TL0)00H00H):): (8192-0)(8192-0)1/61/61010-6-612 = 1638412 = 163841010-6-6(s) (s) = 16384(us) = 16384(us) 例:例:設(shè)定時器設(shè)定時器T0T0選擇工作模式選擇工作模式0 0,求最長定時時間,求最長定時時間,如果要實現(xiàn)定時時間為如果要實現(xiàn)定時時間為1ms1ms,fosc=3MHzfosc=3MHz。試確定。試確定T0T0的初值。的初值。 解
22、:解:(1) (1) 求最長定時時間求最長定時時間 當(dāng)當(dāng)T0T0處于工作模式處于工作模式0 0時,加時,加1 1計數(shù)器為計數(shù)器為1313位。位。T0T0最大定最大定時時間對應(yīng)于時時間對應(yīng)于1313位計數(shù)器位計數(shù)器T0T0的各位全為的各位全為0 0,即,即: : (TH0) (TH0)00H00H,(TL0)(TL0)00H00H。 最長定時時間為:最長定時時間為: Tmax =(2Tmax =(213130)x12x(100)x12x(10-6-6/3)= 32.768ms/3)= 32.768ms(2) (2) 確定確定T0T0的初值的初值 定時時間定時時間=(2=(213 13 T0T0初
23、值初值)x12x)x12x晶振周期晶振周期 則:則:T0T0初值初值= =2 21313(1ms/4us)=8192(1ms/4us)=8192250=7942250=7942 化成二進(jìn)制化成二進(jìn)制 用除用除2 2取余數(shù)法,得到的余數(shù)即為二進(jìn)制數(shù)各位的數(shù)碼,取余數(shù)法,得到的余數(shù)即為二進(jìn)制數(shù)各位的數(shù)碼,按余數(shù)的逆序排列。按余數(shù)的逆序排列。 轉(zhuǎn)化成二進(jìn)制為:轉(zhuǎn)化成二進(jìn)制為:1111100000110B1111100000110B 按照低按照低5 5位,高位,高8 8位拆開:位拆開: T0T0的低的低5 5位:位:TL0 = 00110B = 06HTL0 = 00110B = 06H T0 T0的
24、高的高8 8位:位:TH0 = 11111000B = F8HTH0 = 11111000B = F8H 例:例:利用定時器輸出周期為利用定時器輸出周期為2ms2ms的方波的方波, , 輸出為輸出為P1.0P1.0引腳。引腳。設(shè)單片機晶振頻率為設(shè)單片機晶振頻率為3MHz3MHz。 解:解:2ms2ms的方波是由間隔的方波是由間隔1ms1ms的高低電平相間而成,因而只的高低電平相間而成,因而只要每隔要每隔1ms1ms對對P1.0P1.0取反一次即可得到所需的方波。取反一次即可得到所需的方波。 因為:因為:機器周期機器周期 = 12= 123MHz = 4us3MHz = 4us 所以,所以,1m
25、s1ms內(nèi)內(nèi)T0T0計數(shù)的次數(shù):計數(shù)的次數(shù):N=1msN=1ms4us=250 4us=250 由此可知由此可知: : 使用方式使用方式0 0時的時的1313位計數(shù)器即可。位計數(shù)器即可。1ms1ms T0T0的初值:的初值:X=2X=213 13 -250 = 7942-250 = 7942轉(zhuǎn)化成二進(jìn)制轉(zhuǎn)化成二進(jìn)制:TH0=0F8HTH0=0F8H,TL0=06HTL0=06H TMODTMOD初始化:初始化:TMOD=00000000B=00HTMOD=00000000B=00H (GATE=0GATE=0,C/T=0C/T=0,M1=0M1=0,M0=0M0=0) TCONTCON初始化初
26、始化:啟動:啟動TR0=1TR0=1 IEIE初始化初始化:開放:開放EA=1EA=1,定時器,定時器T0T0中斷允許中斷允許ET0=1ET0=1設(shè)計考慮:設(shè)計考慮:選用定時選用定時/ /計數(shù)器計數(shù)器T0T0作定時器作定時器程序清單如下程序清單如下: : ORG 0000H ORG 0000H AJMP START AJMP START ORG 000BH ORG 000BH AJMP TOINT AJMP TOINT ORG 0050H ORG 0050HSTART: MOV SP, START: MOV SP, 60H60H MOV TH0, MOV TH0, 0F8H0F8H MOV T
27、L0, MOV TL0, 06H06H MOV TMOD, MOV TMOD, 00H00H SETB TR0 ; SETB TR0 ; 啟動啟動T0 T0 SETB ET0 SETB ET0 SETB EA SETB EA MAIN: MAIN: AJMP MAIN AJMP MAIN TOINT: CPL P1.0 TOINT: CPL P1.0 MOV TL0, MOV TL0, 06H06H MOV TH0, MOV TH0, 0F8H0F8H; ; 上面兩指令賦上面兩指令賦T0T0初值初值 RETIRETI END END 、工作原理、工作原理 方式方式1 1和方式和方式0 0的工作
28、原理相同,唯一不同的是的工作原理相同,唯一不同的是T0T0和和T1T1工作在方式工作在方式1 1時是時是1616位的計數(shù)位的計數(shù)/ /定時器。定時器。 在方式在方式1 1時,時,1616位的初值分為高字節(jié)和低字節(jié),分別位的初值分為高字節(jié)和低字節(jié),分別送入送入THTH和和TLTL。二、工作模式二、工作模式1 1及應(yīng)用及應(yīng)用M0=1,M1=0M0=1,M1=0TH0=0FFHTH0=0FFHTL0=0FFHTL0=0FFHTF0=0TF0=011111111111111111111111111111111+1+1TH0=00HTH0=00HTL0=00HTL0=00HTF0=1TF0=1x=0,1
29、x=0,1Y=2,3Y=2,3Z=4,5Z=4,52 2、當(dāng)、當(dāng) =0=0時,工作方式為定時器,時,工作方式為定時器, 定時時間定時時間 = = (2(216 16 -T0-T0初值初值)x12x)x12x晶振周期晶振周期 定時范圍:定時范圍:1 1工作周期工作周期 6553665536工作周期工作周期 1 1、當(dāng)、當(dāng) =1=1時,工作方式為計數(shù)器,時,工作方式為計數(shù)器, 計數(shù)數(shù)值計數(shù)數(shù)值 = = (2(21616 -T0 -T0初值初值) ) 計數(shù)范圍:計數(shù)范圍:1 16553665536(2 216 16 = 65536= 65536)TH0=0FFHTH0=0FFHTL0=0FFHTL0
30、=0FFH 、工作模式、工作模式1 1時計數(shù)和定時范圍時計數(shù)和定時范圍TH0=00HTH0=00HTL0=00HTL0=00H加加1 1溢出;溢出;加加6553665536溢出。溢出。T TC C/ /T TC C/ / 如果單片機的晶振頻率選為如果單片機的晶振頻率選為6.00MHz6.00MHz,則,則最長和最小定最長和最小定時時間分別為:時時間分別為:最小定時時間為:最小定時時間為: 65536-(65536-1)65536-(65536-1)1/61/61010-6-612 12 = 2 = 21010-6-6(s) = 2(us)(s) = 2(us)最長定時時間為:最長定時時間為:
31、(65536-0)(65536-0)1/61/61010-6-612 = 13107212 = 1310721010-6-6(s) (s) = 131072(us) = 131072(us)。 例:例:已知某生產(chǎn)線的傳送帶上不斷地有產(chǎn)品單向傳送已知某生產(chǎn)線的傳送帶上不斷地有產(chǎn)品單向傳送, , 產(chǎn)產(chǎn)品之間有較大間隔。使用光電開關(guān)統(tǒng)計一定時間內(nèi)的產(chǎn)品個品之間有較大間隔。使用光電開關(guān)統(tǒng)計一定時間內(nèi)的產(chǎn)品個數(shù)。假定紅燈數(shù)。假定紅燈1 1滅時停止統(tǒng)計,紅燈亮滅時停止統(tǒng)計,紅燈亮1 1時才在上次統(tǒng)計結(jié)果時才在上次統(tǒng)計結(jié)果的基礎(chǔ)上繼續(xù)統(tǒng)計,試用單片機定時器的基礎(chǔ)上繼續(xù)統(tǒng)計,試用單片機定時器/ /計數(shù)器計數(shù)器
32、T1T1的方式的方式1 1完完成該項產(chǎn)品的計數(shù)任務(wù)。成該項產(chǎn)品的計數(shù)任務(wù)。 (1) (1) 初始化初始化: : TMOD=11010000B=0D0HTMOD=11010000B=0D0H (GATE=1, C/T=1, M0M1=01GATE=1, C/T=1, M0M1=01) TCON=00000000B=00HTCON=00000000B=00H(2) T1(2) T1在方式在方式1 1時,溢出產(chǎn)生中斷,且計數(shù)器回零,故在中斷時,溢出產(chǎn)生中斷,且計數(shù)器回零,故在中斷服務(wù)程序中,需用服務(wù)程序中,需用R0R0計數(shù)中斷次數(shù),以保護累積計數(shù)結(jié)果。計數(shù)中斷次數(shù),以保護累積計數(shù)結(jié)果。(3) (3)
33、 啟動啟動T1T1計數(shù),開計數(shù),開T1T1中斷。中斷。設(shè)計考慮:設(shè)計考慮:程序清單如下程序清單如下: ORG 0000H ORG 0000H AJMP STARTAJMP STARTORG 001BHORG 001BHAJMP T1INT AJMP T1INT ORG 0100HORG 0100HSTART: MOV SP,START: MOV SP,60H 60H MOV TCON, MOV TCON,00H00H MOV TMOD, MOV TMOD,0D0H0D0H MOV TH1, MOV TH1,00H;T100H;T1初值初值 MOV TL1,MOV TL1,00H00HMOV R
34、0, MOV R0, 00H00HMOV P3, MOV P3, 28H28HSETB TR1;SETB TR1;啟動啟動T1T1SETB ET1;SETB ET1;開開T1T1中斷中斷SETB EASETB EA;開總中斷;開總中斷 MAIN: ACALL DISPMAIN: ACALL DISP SJMP MAIN SJMP MAIN T1INT: INC R0 T1INT: INC R0 RETI RETI DISP: DISP: RET RET三、三、 工作模式工作模式2 2及應(yīng)用及應(yīng)用M0=0,M1=1M0=0,M1=1 、工作原理、工作原理1 1、1616位計數(shù)器拆成位計數(shù)器拆成T
35、LxTLx和和THxTHx兩個部分兩個部分 TLxTLx:作為計數(shù)器;:作為計數(shù)器; THxTHx:用來保存計數(shù)初值。:用來保存計數(shù)初值。 在程序初始化時,由軟件賦予同樣的初值。在程序初始化時,由軟件賦予同樣的初值。2 2、當(dāng)當(dāng)TLxTLx計數(shù)溢出,計數(shù)溢出,THxTHx中的初值由硬件自動裝入中的初值由硬件自動裝入TLxTLx繼續(xù)計數(shù)。繼續(xù)計數(shù)。M0=0, M1=11 1、用于計數(shù)工作方式時:、用于計數(shù)工作方式時: 計數(shù)數(shù)值計數(shù)數(shù)值 = (2= (28 8 - T0- T0初值初值) ) 計數(shù)范圍:計數(shù)范圍:1 1256256(2 28 8 = 256 = 256)2 2、用于定時工作方式時:
36、、用于定時工作方式時: 定時時間定時時間 = (2= (28 8 -T0 -T0初值初值)x12x)x12x晶振周期晶振周期 定時范圍:定時范圍:1 1工作周期工作周期 256256工作周期工作周期優(yōu)點:優(yōu)點:模式模式2 2可省去軟件重裝常數(shù)的語句,定時時間精確,特可省去軟件重裝常數(shù)的語句,定時時間精確,特 別適用于作串行口波特率發(fā)生器。別適用于作串行口波特率發(fā)生器。 、工作模式、工作模式2 2時計數(shù)和定時范圍時計數(shù)和定時范圍波特率波特率=2=2smodsmod x( x(定時器定時器/ /計數(shù)器計數(shù)器1 1溢出速率)溢出速率)/32 /32 溢出速率溢出速率= =(計數(shù)速率)(計數(shù)速率)/2
37、56(TH1)/256(TH1) 當(dāng)當(dāng)C/T = 0 C/T = 0 時,計數(shù)速率時,計數(shù)速率=fosc/12=fosc/12 例:例:利用定時器利用定時器T1T1的模式的模式2 2對外部信號計數(shù)。要求每計滿對外部信號計數(shù)。要求每計滿150150次,將次,將P1.0P1.0端取反。端取反。 解:解:(1) (1) 選擇模式:選擇模式: T1T1計數(shù)工作方式為模式計數(shù)工作方式為模式2 2時:時: TMODTMOD01100000B=60H01100000B=60H ( (不考慮不考慮T0T0的情況的情況) ) (2) (2) 計算計算T1T1的計數(shù)初值:的計數(shù)初值: X X2 28 8-150-
38、150256-150=106=6AH256-150=106=6AH 因此,因此,TL1TL1的初值為的初值為6AH6AH,重裝初值寄存器,重裝初值寄存器TH1TH1初值為初值為6AH6AH。編程分析:編程分析: 外部信號由外部信號由T1(P3.5)T1(P3.5)引腳輸入,每發(fā)生一次負(fù)跳變計數(shù)引腳輸入,每發(fā)生一次負(fù)跳變計數(shù)器加器加1 1,每輸入,每輸入150150個脈沖,計數(shù)器發(fā)生溢出中斷,中斷服務(wù)個脈沖,計數(shù)器發(fā)生溢出中斷,中斷服務(wù)程序?qū)⒊绦驅(qū)1.0P1.0取反一次。取反一次。 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 001BH ; ORG
39、001BH ; 中斷服務(wù)程序入口中斷服務(wù)程序入口 CPL P1.0CPL P1.0RETIRETI ORG 0100H ORG 0100HMAINMAIN:MOV TMODMOV TMOD,#60H ;#60H ;置置T1T1為模式為模式2 2計數(shù)工作方式計數(shù)工作方式MOV TL1MOV TL1,#6AH ; #6AH ; 賦初值賦初值MOV TH1MOV TH1,#6AH#6AH MOV IEMOV IE,#88H ; #88H ; 定時器定時器T1T1開中斷開中斷 SETB TR1 SETB TR1 ; ; 啟動計數(shù)器啟動計數(shù)器 HEREHERE:SJMP HERE SJMP HERE ;
40、 ; 等待中斷等待中斷方式方式2 2與方式與方式0 0、1 1的區(qū)別的區(qū)別方式方式 0 0、1 1方式方式 2 2計數(shù)方式計數(shù)方式THXTHX和和TLXTLX整體計數(shù)整體計數(shù)TLXTLX計數(shù)計數(shù),THX,THX保存初值保存初值計數(shù)溢出計數(shù)溢出溢出后計數(shù)器為全溢出后計數(shù)器為全0 0自動加載計數(shù)初值自動加載計數(shù)初值循環(huán)設(shè)定循環(huán)設(shè)定軟件循環(huán)設(shè)置初值軟件循環(huán)設(shè)置初值增加編增加編程難度程難度自動重裝載功能自動重裝載功能計時精度計時精度計時精度差計時精度差計時精確計時精確( (用于波特率)用于波特率)計時長度計時長度計時長度長計時長度長計時長度短計時長度短四、工作模式四、工作模式3 3及應(yīng)用及應(yīng)用M0=1
41、,M1=1M0=1,M1=1 、工作原理、工作原理1 1、T0T0的的TL0TL0使用原使用原T0T0的各控制位的各控制位(C/T(C/T,GATE, TR0)GATE, TR0),中斷,中斷源源TF0TF0和和INT0(P3.2)INT0(P3.2)引腳,其功能和操作與模式引腳,其功能和操作與模式0 0和模式和模式1 1相同相同-可以工作在定時器方式或計數(shù)器方式??梢怨ぷ髟诙〞r器方式或計數(shù)器方式。 只有只有T0T0能工作在工作模式能工作在工作模式3 3,而且分成,而且分成TL0TL0和和TH0TH0兩個獨兩個獨立的立的8 8位計數(shù)器。位計數(shù)器。M0=1,M1=1M0=1,M1=1TL0TL0
42、使用原使用原T0T0的所有資源的所有資源 2 2、T0T0的的TH0TH0只可作簡單的內(nèi)部定時功能,它占用只可作簡單的內(nèi)部定時功能,它占用T1T1的的控制位控制位TR1TR1和中斷標(biāo)志位和中斷標(biāo)志位TF1TF1,同時也占用了,同時也占用了T1T1的中斷源。的中斷源。 3 3、T1T1可定義在工作方式可定義在工作方式0 0、方式、方式1 1和方式和方式2 2。但只能用在不需。但只能用在不需要中斷控制的場合。要中斷控制的場合。 工作方式工作方式3 3特別適用于有串行通信,而又需要兩個獨立特別適用于有串行通信,而又需要兩個獨立的計數(shù)器的系統(tǒng)。的計數(shù)器的系統(tǒng)。1 1、用于計數(shù)工作方式時:、用于計數(shù)工作
43、方式時: 計數(shù)數(shù)值計數(shù)數(shù)值 = (2= (28 8 - T0- T0初值初值) ) 計數(shù)范圍:計數(shù)范圍:1 1256256(2 28 8 = 256 = 256)2 2、用于定時工作方式時:、用于定時工作方式時: 定時時間定時時間 = (2= (28 8 -T0 -T0初值初值) )x12xx12x晶振周期晶振周期 定時范圍:定時范圍:1 1工作周期工作周期 256256工作周期工作周期 、T0T0在工作模式在工作模式3 3時計數(shù)和定時范圍時計數(shù)和定時范圍在定時器在定時器T0T0用作模式用作模式3 3時,時,T1T1仍可設(shè)置為模式仍可設(shè)置為模式0 02 2。 例:例:假設(shè)在一個用戶系統(tǒng)中,已使
44、用了兩個外部中斷源,假設(shè)在一個用戶系統(tǒng)中,已使用了兩個外部中斷源,并置定時器并置定時器T1T1于方式于方式2 2,作串行口波特率發(fā)生器用,現(xiàn)要求,作串行口波特率發(fā)生器用,現(xiàn)要求再增加一個外部中斷源再增加一個外部中斷源, , 并由并由P1.0P1.0口輸出一個口輸出一個5KHz5KHz的方波的方波( (假設(shè)晶振頻率為假設(shè)晶振頻率為6MHz)6MHz)。 8051INT0INT1外部中斷源外部中斷源0外部中斷源外部中斷源1解:分析解:分析 可把可把T0T0置于工作方式置于工作方式3 3,利用外部引腳利用外部引腳T0T0端作附加的外部端作附加的外部中斷輸入端,把中斷輸入端,把TL0TL0預(yù)置為預(yù)置為0FFH0FFH,這樣在這樣在T0T0端出現(xiàn)由端出現(xiàn)由1 1至至0 0的負(fù)跳變的負(fù)跳變時,時,TL0TL0立即溢出,申請中斷,立即溢出,申請中斷,相當(dāng)于邊沿激活的外部中斷源。相當(dāng)于邊沿激活的外部中斷源。外部中斷源外部中斷源2 在方式在方式3 3下下,TH0,TH0總是作總是作8 8位定時器用位定時器用, ,可以靠它來控制由可以靠它來控制由P1.0P1.0輸出的輸出的5kHz5kHz方波。方波。 由由P1.0
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔銷售部門個人年終總結(jié)
- 窮人續(xù)寫650字(7篇)
- 基于圈結(jié)構(gòu)的重要節(jié)點識別及傳播規(guī)律研究
- 姐姐、永遠(yuǎn)、一起12篇范文
- 基于兒童情感需求的霧化器設(shè)計研究
- 有關(guān)中秋這天作文700字7篇
- 《德意志意識形態(tài)》中歷史唯物主義思想及其當(dāng)代價值研究
- 初中生化學(xué)學(xué)習(xí)過程質(zhì)量評價指標(biāo)體系構(gòu)建研究
- 2025至2030中國尼龍1010行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國家禽飼料行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2024年重慶高考化學(xué)試題卷(含答案解析)
- 人體器官講解課件
- DB3301-T 0256-2024 城市生態(tài)河道建設(shè)管理規(guī)范
- 2023年南京市衛(wèi)健委所屬部分事業(yè)單位招聘考試試題及答案
- 安徽省合肥市2023-2024學(xué)年七年級下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 《管理會計》說課及試講
- 二手農(nóng)機買賣合同協(xié)議書
- 2024年大學(xué)試題(宗教學(xué))-伊斯蘭教文化筆試考試歷年典型考題及考點含含答案
- 機床安全 壓力機 第 2 部分:機械壓力機安全要求
- 住院醫(yī)師規(guī)范化培訓(xùn)臨床小講課的設(shè)計與實施培訓(xùn)課件
- 多圖中華民族共同體概論課件第十三講先鋒隊與中華民族獨立解放(1919-1949)根據(jù)高等教育出版社教材制作
評論
0/150
提交評論