国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AT89S52單片機的定時器

這篇具有很好參考價值的文章主要介紹了AT89S52單片機的定時器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

定時器/計數(shù)器的結(jié)構(gòu)

工作方式控制寄存器TMOD和TCON

定時器/計數(shù)器T1、T0的4種工作方式

1.方式0

2.方式1

3.方式2

4.方式3

定時器/計數(shù)器T2的結(jié)構(gòu)與工作方式

1.T2的特殊功能寄存器T2MOD和T2CON

2.特殊功能寄存器T2CON

3.T2的三種工作模式

1. 捕捉方式

2.重新裝載方式

3.波特率發(fā)生器方式及可編程時鐘輸出

對外部輸入的計數(shù)信號的要求

定時器/計數(shù)器的編程和應用

T1、T0的方式1應用

T1、T0的方式2的應用

T1、T0的方式3的應用

門控制位GATEx的應用----測量脈沖寬度

實時時鐘的設計

T2實現(xiàn)1s定時


AT89S52單片機片內(nèi)有3個可編程的定時器/計數(shù)器T0、T1和T2。

定時器/計數(shù)器的結(jié)構(gòu)

定時器/計數(shù)器T1、T0結(jié)構(gòu)如圖5-1所示,T0由特殊功能寄存器TH0,TL0構(gòu)成,T1由特殊功能寄存器TH1、TL1構(gòu)成。具有定時器和計數(shù)器2種工作模式,4種工作方式 (方式0、方式1、方式2和方式3)。屬于增1計數(shù)器。
TMOD用于選擇定時器/計數(shù)器T0、T1的工作模式和工作方式。

TCON用于控制T0、T1的啟動和停止計數(shù),同時包含了T0、T1的狀態(tài)。

T0,T1不論是工作在定時器模式還是計數(shù)器模式,都是對脈沖信號進行計數(shù),只是計數(shù)信號的來源不同。
計數(shù)器模式是對加在T0(P3.4)和T1(P3.5)兩個腳上的外部脈沖進行計數(shù)。
定時器工作模式是對單片機的時鐘振蕩器信號經(jīng)片內(nèi)12分頻的內(nèi)部脈沖信號計數(shù)。由于時鐘頻率是定值,所以可根據(jù)計數(shù)值計算出定時時間。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

工作方式控制寄存器TMOD和TCON

TMOD用于選擇定時器/計數(shù)器的工作模式和工作方式,字節(jié)地址為89H,不能位尋址
TCON字節(jié)地址為88H,可位尋址,位地址為88H~8FH。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

8位分為兩組,高4位控制T1,低4位控制T0。
TMOD各位的功能:
(1) GATE-門控位

0:僅由運行控制位TRx(x=0,1)來控制定時器/計數(shù)器運行。

1:用外中斷引腳(INT0*或INT1*)上的電平與運行控制位TRx共同來控制定時器/計數(shù)器運行。

(2) M1、M0----工作方式選擇位
M1、M0共有4種編碼,對應于4種工作方式的選擇,如表所示:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(3) C/T*-----計數(shù)器模式和定時器模式選擇位

0:為定時器工作模式,對單片機的晶體振蕩器12分頻后的脈沖進行計數(shù)。

1:為計數(shù)器工作模式,計數(shù)器對外部輸入引腳T0(P3.4)或T1 (P3.5)的外部脈沖(負跳變)計數(shù)。
?

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(1) TF1、TF0一一計數(shù)溢出標志位

當計數(shù)器計數(shù)溢出時,該位置“1”。使用查詢方式時,此位作為狀態(tài)位供CPU查詢,但應注意查詢有效后,應使用軟件及時將該位清“0”。使用中斷方式時,此位作為中斷請求標志位,進入中斷服務程序后由硬件自動清“0”。
(2) TR1、TR0一一計數(shù)運行控制位

TR1位(或TR0位)=1,啟動定時器/計數(shù)器工作的必要條件。TR1位(或TR0位)=0,停止定時器/計數(shù)器工作。 該位可由軟件置“1”或清“0”

(3)IE0、IE1----外部中斷標志位

IE0是外中斷0的中斷請求標志位,IE1是外中斷1的中斷請求標志位。

(4)IT0、IT1----控制外部中斷的觸發(fā)方式

IT1控制外部中斷1的觸發(fā)方式,控制外部中斷0的觸發(fā)方式。這兩個位字段的取值為:

?00:低電平觸發(fā)(Low-Level Trigger)
?01:下降沿觸發(fā)(Falling Edge Trigger)
?10:上升沿觸發(fā)(Rising Edge Trigger)
?11:雙邊沿觸發(fā)(Dual Edge Trigger)

定時器/計數(shù)器T1、T0的4種工作方式

1.方式0

M1、M0=00時,被設置為工作方式0,邏輯結(jié)構(gòu)框圖見圖(以T1為例,TMOD.5、TMOD.4=00)

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

為13位計數(shù)器,由TLx (x=0,1) 低5位和THx高8位構(gòu)成。TLX低5位溢出則向THx進位,THx計數(shù)溢出則把TCON中的溢出標志位TFx置“1”

C/T的兩種工作模式,在上面都有體現(xiàn):

(1) C/T*=0,電子開關打在上面位置,T1(或T0)為定時器工作模式把時鐘振蕩器12分頻后的脈沖作為計數(shù)信號。
(2) C/T*=1,電子開關打在下面位置,T1(或T0)為計數(shù)器工作模式計數(shù)脈沖為P3.4(或P3.5)引腳上的外部輸入脈沖,當引腳上發(fā)生負跳變時計數(shù)器加1。
GATE位狀態(tài)決定定時器/計數(shù)器的運行控制取決TRx一個條件還是TRx和INTx*(x=0,1)引腳狀態(tài)兩個條件。

對于左下方的GATE位:

(1)GATE=0,A點?電位恒為1,B點電位僅取決于TRx狀態(tài)。

TRx=1,B點為高電平,控制端控制電子開關閉合,允許T1(或T0)對脈沖計數(shù)。TRx=0,B點為低電平,電子開關斷開,禁止T1(或T0)計數(shù)。

(2) GATE=1,B點電位由INT* (x=0,1)的輸入電平和TRx的狀態(tài)這兩個條件來確定。當TRx=1,且INT* =1時,B點才為1,控制端控制電子開關閉合,允許T1(或T0)計數(shù)。故這種情況下計數(shù)器是否計數(shù)是由TRx和INTX* 兩個條件來共同控制的。

2.方式1

當M1、M0=01時,定時器/計數(shù)器工作于方式1,這時定時器/計數(shù)器的等效電路邏輯結(jié)構(gòu)如圖所示。
方式1和方式0的差別僅僅在于計數(shù)器的位數(shù)不同,方式1為16位計數(shù)器由THx高8位和TLx低8位構(gòu)成 (x=0,1),方式0則為13位計數(shù)器,有關控制狀態(tài)位的含義(GATE、C/T*、TFX、TRx)與方式0相同。

工作原理圖如下:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

注:方式0和方式1的最大特點是計數(shù)溢出后,計數(shù)器為全0。因此在循環(huán)定時或循環(huán)計數(shù)應用時就存在用指令反復裝入計數(shù)初值的問題。這不僅影響定時精度,也給程序設計帶來麻煩。假設TL1與TH1分別代表地址00,0FH,從000FH開始計數(shù)后溢出,若想返回000FH繼續(xù)計數(shù),那么需要通過軟件編程控制將00分配給TL,將0F分配給TH,而軟件編程是需要耗費機器周期的,這樣裝初值,會使計時不準確。但是方式2不會出現(xiàn)這一問題。

3.方式2

當M1、M0為10時,定時器/計數(shù)器處于工作方式2,這時定時器/計數(shù)器的邏輯結(jié)構(gòu)如圖所示(以定時器T1為例,x=1)

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

方式2為自動恢復初值 (初值自動裝入)的8位定時器/計數(shù)器
TLx(x=0,1)作為常數(shù)緩沖器,當TLx計數(shù)溢出時,在溢出標志TFx置"1"的同時,還自動將THx中的初值送至TLx,使TLx從初值開始重新計數(shù)。
定時器/計數(shù)器的方式2工作過程如圖所示,TL=0(因為方式2最大就是8位),表示溢出,TF=1表示中斷請求標志位申請中斷,再將TH的初值賦值給TL

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

該方式可省去用戶軟件中重裝初值的指令執(zhí)行時間,簡化定時初值的計算方法,可以相當精確地確定定時時間。

4.方式3

是為增加一個8位定時器/計數(shù)器而設,使AT89S51單片機具有3個定時器/計數(shù)器。
方式3只適用于T0,T1不能工作在方式3。T1處于方式3時相當于TR1=0,停止計數(shù)(此時T1可用來作為串行口波特率產(chǎn)生器)
1.工作方式3下的T0
TMOD的低2位為11時,T0的工作方式被選為方式3,各引腳與T0的邏輯關系如圖所示:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件
定時器/計數(shù)器T0分為兩個獨立的8位計數(shù)器TL0和TH0,TL0使用T0的狀態(tài)控制位C/T*、GATE、TR0、TF0,而TH0被固定為一個8位定時器(不能作為外部計數(shù)模式,因為外部引腳被TL使用),并使用定時器T1的狀態(tài)控制位TR1和TF1,同時占用定時器T1的中斷請求源TF1。
2.T0工作在方式3時T1的各種工作方式
一般情況下,當T1用作串行口的波特率發(fā)生器時,TO才工作在方式3.TO處于工作方式3時,T1可定為方式0、方式1和方式2,用來作為串行口的波特率發(fā)生器,或不需要中斷的場合。

當T0工作在方式3時,T1的工作方式:

(1)T1工作在方式0

T1的控制字中M1,M0=0,0時,T1工作在方式0:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(2)T1工作在方式1:

當T1的控制字中M1、M0= 0,1時,T1工作在方式1,工作示意圖如圖所示:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(3)T1工作在方式2(最常使用)

當T1的控制字中M1、M0=1,0時,T1的工作方式為方式2,工作示意圖如圖所示。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(4)T1設置在方式3

當T0設置在方式3,再把T1也設為方式3,此時T1停止計數(shù)。

定時器/計數(shù)器T2的結(jié)構(gòu)與工作方式

AT89S52單片機與AT89S51單片機相比,新增加了一個16位的定時器/計數(shù)器T2。
T2有3種工作方式: 捕捉、重新裝載(遞增或遞減計數(shù)) 和波特率發(fā)生器(若沒有T2,需要使用T1作為波特率發(fā)生器)。

這3種模式由特殊功能寄存器中的控制寄存器T2CON中的相關位進行選擇。

1.T2的特殊功能寄存器T2MOD和T2CON

?特殊功能寄存器T2MOD

特殊功能寄存器T2MOD的字節(jié)地址為C9H,8位中只有2位有效,其格式見圖。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

T2MOD寄存器的各位:
T20E (D1) :輸出允許位。T20E=1,允許定時時鐘從P1.0輸出;T20E=0,禁止定時時鐘從P1.0輸出。
DCEN (D0):計數(shù)方式選擇。DCEN=1,T2的計數(shù)方式由P1.引腳狀態(tài)決定。P1.1=1,T2減計數(shù),P1.1=0,T2加計數(shù);DCEN=0,計數(shù)方式與P1.1無關,同T1和T0一樣,采用增1計數(shù)。

2.特殊功能寄存器T2CON

T2的功能選擇由特殊功能控制寄存器T2CON來設定,T2CON字節(jié)地址為C8H,可位尋址,位地址C8H~CFH。
T2CON的格式見圖:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

T2CON寄存器各位的定義:
TF2(D7) :T2計數(shù)計滿溢出回0中斷請求標志位。當T2計數(shù)計滿溢出回0時,由內(nèi)部硬件置“1”TF2,向CPU發(fā)出中斷請求。但是當RCLK位或TCLK位為1時將不予置位。本標志位必須由軟件清0。
EXF2 (D6):T2外部中斷請求標志位。當由引腳T2EX上的負跳變引起“捕捉”或“重新裝載”且EXEN2位(外部采樣允許位)為1,則置“1”EXF2標志位,向CPU發(fā)出中斷請求。本標志位必須由軟件清0。
RCLK (D5):串行口接收時鐘標志位。

?當RC LK位為1時,串行通信端使用定時器/計數(shù)器T2的溢出回0信號作為串行通信方式1和方式3的接收時鐘;

?當RCLK位為0時,使用定時器/計數(shù)器1的溢出回0信號作為串行通信方式1和方式3的接收時鐘。
TCLK (D4):串行發(fā)送時鐘標志位。當TCLK位為1時,串行通信端使用定時器/計數(shù)器2的溢出回0信號作為串行通信方式1和方式3的發(fā)送時鐘當TCLK位為0時,串行通信端使用定時器/計數(shù)器1的溢出回0信號作為串行通信方式1和方式3的發(fā)送時鐘;
EXEN2 (D3):T2外部采樣允許標志位。當EXEN2位為1時,如果T2不是正工作在串行口的時鐘,則在T2EX引腳 (P11)的負跳變將觸發(fā)“捕捉”或“重新裝載”操作;當EXEN2位為0時,在T2EX引腳(P1.1)上的負跳變對T2不起作用。

TR2 (D2) :T2啟動/停止控制位。當軟件置“1”TR2時,即TR2=1,則啟動T2開始計數(shù),當軟件清“0”TR2時,即TR2=0,軟件置“1”TR2時則停止計數(shù)。
C/T2* (D1) :T2的定時或計數(shù)模式選擇位,當設置C/T2* =1時,選擇對外部事件計數(shù)模式;C/=0時,則選擇內(nèi)部定時模式。
CP/RL2 (D0):T2捕捉/重新裝載選擇位。

?當設置為1時,如果EXEN2為1,則在T2EX引腳(P1.1)上的負跳變將觸發(fā)“捕捉”操作;

?當設置為0時,如果EXEN2為1,則T2計數(shù)計滿回0溢出或T2EX引腳上的負跳變都將引起重新裝載操作;

當RCLK位為1或TCLK位為1,CP/RL2標志位不起作用。T2的計滿回0溢出時,將迫使T2進行重新裝載操作。

計滿回0時,將迫使T2進行重新裝載操作

計時器T2總結(jié):

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

3.T2的三種工作模式

定時器T2有3種工作方式:捕捉、重新裝載(增計數(shù)或減計數(shù))和波特率發(fā)生器3種工作方式,可對寄存器T2CON中的相關位進行軟件設置來選擇,具體見表。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

1. 捕捉方式

捕捉方式就是及時“捕捉”住輸入信號發(fā)生的跳變及有關信息。常用于精確測量輸入信號的變化如脈寬等等。捕捉方式的工作示意見圖。

根據(jù)EXEN2位的不同設置,“捕捉”方式有兩種選擇。

注:RCAP2L和RCAP2H代表陷阱寄存器,暫存數(shù)據(jù)

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(1)當EXEN2位=0,T2為16位的定時器/計數(shù)器。當設C/T2*位為1時選擇外部計數(shù)方式,對T2引腳(P1.0)上的負跳變信號進行計數(shù)。計數(shù)器計滿回0溢出置“1”中斷請求標志TF2,發(fā)出中斷請求信號。CPU響應中斷進入該中斷服務程序后,必須用軟件將標志位TF2清0。其他操作均與T0和T1的方式1相同。
(2)當EXEN2位=1,T2除上述功能外,還可增加“捕捉”功能。當外部T2EX引腳(P1.1)上的信號發(fā)生負跳變,將選通三態(tài)門制端 ,將計數(shù)器TL2和TH2中的當前計數(shù)值被分別“捕捉”進RCAP2L和RCAP2H中同時T2EX引腳(P11)上的信號負跳變將置“1”TCON寄存器的EXF2標志位,向CPU請求中斷。

圖中RCAP2L為陷阱寄存器低字節(jié),字節(jié)地址為CAH,RCAP2H為陷阱寄存器高字節(jié),字節(jié)地址為CBH。T2引腳為P1.0,T2EX引腳為P1.1,因此當選用T2時,P1.0和P1.1就不能作I/O口用了。另外這兩個中斷請求,通過一個“或門輸出。因此當CPU響應中斷后,在中斷服務程序中應該用軟件識別是哪個中斷請求,分別進行處理,該中斷請求標志位必須用軟件清“0”

2.重新裝載方式

T2的重新再裝入方式根據(jù)寄存器TCON中的EXEN2的兩種狀態(tài)來進行選擇。另外根據(jù)寄存器T2MOD中的DCEN位是“0”還是“1”來選擇加1還是減1計數(shù)方式。
當單片機復位時,T2MOD中的DCEN=0,則默認T2為增1計數(shù)方式;當把DCEN置“1”時,將由T2EX引腳(P1.1)上的邏輯電平?jīng)Q定是增1/減1計數(shù)方式

(1)當設置T2MOD寄存器的DCEN 位為0(或上電復位為0)時,T2為增1型重新裝載方式,此時根據(jù)T2CON寄存器中的EXEN2位的狀態(tài),可選擇兩種操作方式:

?當EXEN2標志位為0時,T2計滿回0溢出,一方面使中斷請求標志位TF2置“1”,同時又將陷阱寄存器RCAP2L、RCAP2H中預置的16位計數(shù)初值重新再裝入計數(shù)器TL2、TH2中,自動進行下一輪的計數(shù)操作,其功能與T0T1的方式2(自動裝載)相同,只是本方式是16位的,計數(shù)范圍大。RCAP2L、RCAP2H寄存器的計數(shù)初值由軟件預置。T2的重新裝載方式見圖。

?當設置EXEN2標志位為1時,T2仍具有上述操作方式的功能,并增加了新的特性。當外部輸入引腳T2EX(P1.1)產(chǎn)生負跳變時,能觸發(fā)三態(tài)門將RCAP2L、RCAP2H陷阱寄存器中的計數(shù)初值自動裝載到TH2和TL2中,重新開始計數(shù),并置“1”EXF2位,發(fā)出中斷請求。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

(2)當T2MOD的DCEN位設置為1時,可以使T2既能實現(xiàn)增1計數(shù),也可實現(xiàn)減1計數(shù),它取決于T2EX引腳上的邏輯電平,由圖可見,當設置DCEN 位為1時,可以使T2具有增1/減1計數(shù)功能

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

T2EX(P1.1)引腳為“1”時,T2執(zhí)行增1計數(shù)功能。當不斷加1計滿回0溢出時,一方面置位TF2為1,發(fā)出中斷請求,另一方面,溢出信號觸發(fā)三態(tài)門,將存放在陷阱寄存器RCAP2L、RCAP2H中的計數(shù)初值自動裝載到TL2和TH2計數(shù)器中繼續(xù)進行加1計數(shù)。
T2EX (P1.1)引腳為“0”時,T2執(zhí)行減1計數(shù)功能。當TL2和TH2計數(shù)器中的值等于陷阱寄存器RCAP2L、RCAP2H中的值時,產(chǎn)生向下溢出,一方面置位TF2為1,發(fā)出中斷請求,另一方面,下溢信號觸發(fā)三態(tài)門,將OFFFFH裝入TL2和TH2計數(shù)器中,繼續(xù)進行減1計數(shù)。
中斷請求標志位TF2和EXF2位必須用軟件清“0”

3.波特率發(fā)生器方式及可編程時鐘輸出

當特殊功能寄存器T2CON中的RCLK和TCLK位均置成1或者其中某位為1時,串行口進行接收1發(fā)送工作,T2可工作于波特率發(fā)生器方式,還可作為可編程時鐘輸出。

對外部輸入的計數(shù)信號的要求

當定時器/計數(shù)器工作在計數(shù)器模式時,計數(shù)脈沖來自外部輸入引腳TO或T1。當輸入信號產(chǎn)生負跳變時,計數(shù)器的值增1。
每個機器周期的S5P2期間,都對外部輸入引腳TO或T1進行采樣。如在第個機器周期中采得的值為1,而在下一個機器周期中采得的值為0,則在緊跟著的再下一個機器周期S3P1期間,計數(shù)器加1。由于確認一次負跳變要花2個機器周期,因此外部輸入的計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。

例如,選用6MHz頻率的晶體,允許輸入的脈沖頻率最高為250kHz。如果選用12MHz頻率的晶體,則可輸入最高頻率為500kHz的外部脈沖。
對于外部輸入信號的占空比并沒有什么限制,但為了確保某一給定電平在變化之前能被采樣一次,則這一電平至少要保持一個機器周期。故對外部輸入信號的要求如圖所示,圖中,為機器周期

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

定時器/計數(shù)器的編程和應用

4種方式,方式0與方式1基本相同,只是計數(shù)位數(shù)不同。方式0初值計算復雜,一般不用方式0,而用方式1。

T1、T0的方式1應用

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

基本思想:方波周期用T0確定,T0每隔1ms計數(shù)溢出1次,即T0每隔1ms產(chǎn)生一次中斷,CPU響應中斷后,在中斷服務子程序中對P1.0取反如圖所示。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

當單片機復位時,從程序入口0000H跳向主程序MAIN處執(zhí)行。其中調(diào)用了TO初始化子程序PTOMO。
子程序返回后,程序執(zhí)行“AJMP HERE”指令,則循環(huán)等待
當響應T0定時中斷時,則跳向T0中斷入口,再從T0中斷入口跳向IT0P標號處執(zhí)行T0中斷服務子程序。

當執(zhí)行完中斷返回的指令“RET1”后,又返回斷點處繼續(xù)執(zhí)行循環(huán)指令“AJMP HERE”。在實際的程序中,“AJMP HERE”實際上是一段主程序。當下一次定時器TO的1ms定時中斷發(fā)生時,再跳向TO中斷入口,從而重復執(zhí)行上述過程。
如CPU不做其他工作,也可用查詢方式進行控制,程序要簡單得多:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

查詢程序雖簡單,但CPU必須要不斷查詢TF0標志,工作效率低。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

基本思想:采用定時器模式。因定時時間較長,首先確定采用哪一種工作方式。時鐘為6MHz的條件下,定時器各種工作方式最長可定時時間:
方式0最長可定時16.384ms;
方式1最長可定時131.072ms;
方式2最長可定時512us。

由上可見,可選方式1,每隔100ms中斷一次,中斷10次為1s。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

T1、T0的方式2的應用

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

基本思想:T0設為方式1計數(shù),初值為FFFFH。當外部計數(shù)輸入端T0(P3.4) 發(fā)生一次負跳變時,T0加1且溢出,溢出標志TF0置“1”,向CPU發(fā)出中斷請求,此時T0相當于一個負跳沿觸發(fā)的外部中斷源。
進入T0中斷程序后,F(xiàn)0標志置“1”,說明T0引腳上已接收過負跳變信號。T1定義為方式2定時。在T0引腳產(chǎn)生一次負跳變后,啟動T1每500us產(chǎn)生一次中斷,在中斷服務子程序中對P1.0求反,使P1.0產(chǎn)生周期1ms的方波。由于省去重新裝初值指令,所以可產(chǎn)生精確的定時時間。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

程序說明:當單片機復位時,從0000H跳向主程序MAIN處執(zhí)行程序。其中調(diào)用了對T0,T1初始化子程序PTOM2。子程序返回后執(zhí)行標號LOOP處指令,循環(huán)等待T0引腳上負脈沖的到來。由于負脈沖到來的標志位FO的復位初始值為0,所以程序就在標號LOOP處循環(huán)等待。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

程序說明:由于T1的中斷服務子程序只有兩條指令,不超過8個字節(jié),所以進入T1中斷服務程序入口后,沒有選擇再跳轉(zhuǎn)。

T1、T0的方式3的應用

方式3下的TO和T1大不相同。TO工作在方式3,TLO和THO被分成兩個獨立的8位定時器/計數(shù)器。其中,TLO可作為8位的定時器/計數(shù)器,而THO只能作為8位的定時器。此時T1只能工作在方式0、1或2。
一般情況下,當T1用作串行口波特率發(fā)生器時,T0才設置為方式3。此時常把定時器T1設置為方式2,用作波特率發(fā)生器。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

基本思想:設置TL0為方式3計數(shù),TLO初值設為OFFH,當檢測到T0腳信號出現(xiàn)負跳變時,TL0溢出,同時向CPU申請中斷,這里T0腳作為一個負跳沿觸發(fā)的外部中斷請求輸入端。在中斷處理子程序中,啟動TH-,TH0事先被設置為方式3的100us定時,從而控制P1.0輸出周期為200us的方波信號,如圖所示

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

門控制位GATEx的應用----測量脈沖寬度

介紹門控制位GATE的具體應用,測量INT1* (P3.3)引腳上正脈沖的寬度

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

執(zhí)行以上程序,使INT1*引腳上出現(xiàn)的正脈沖寬度以機器周期數(shù)的形式顯示在顯示器上。

實時時鐘的設計

[例5-7]實時時鐘最小計時單位是“秒”,關鍵是如何獲得“秒”的定時時間。
基本思想
最小計時單位是,如何獲得1s的定時時間呢?定時器方式1,最大定時時間也只能131ms。可將定時器的定時時間定為100ms,中斷方式進行溢出次數(shù)的累計,計滿10次,即得秒計時。而計數(shù)10次可用循環(huán)程序的方法實現(xiàn)。初值的計算如例5-2。

片內(nèi)RAM規(guī)定3個單元為秒、分、時單元:
42H:“秒”單元;????????41H:“分”單元;????????40H:”時“單元

從秒到分,從分到時是通過軟件累加并比較來實現(xiàn)。要求每滿1秒,則“秒”單元42H中的內(nèi)容加1;“秒”單元滿60,則“分”單元41H中的內(nèi)容加1;“分”單元滿60,則“時”單元40H中的內(nèi)容加1;“時”單元滿24,則將42H、41H、40H的內(nèi)容全部清“0”

程序設計
(1) 主程序設計
進行定時器T0初始化,并啟動T0,然后反復調(diào)用顯示子程序,等待100ms中斷到來。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件
(2) 中斷服務程序的設計實現(xiàn)秒、分、時的計時處理。流程如圖所示。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

參考程序:

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

T2實現(xiàn)1s定時

下面的的例子,是利用T2的16位自動重新裝載方式實現(xiàn)1秒定時。

單片機的P1.0腳接一個發(fā)光二極管LED,進入T2中斷服務子程序后,對P1.0求反從而控制LED閃爍。晶振采用12MHz,因此計數(shù)器增1的定時時間為1us。
1秒定時時間與計數(shù)初值計算如下:
1秒時間采用16次中斷來實現(xiàn),每次的中斷時間所需的計數(shù)為1s/16=62500
因此計數(shù)初值的十進制數(shù)為:216-62500=3036,3036轉(zhuǎn)換為16進制數(shù)為OBDCH。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

由本例可見,定時器T2的16位自動重新裝載方式,其功能與T0T1的方式2(8位計數(shù)初值自動裝載)相同,只是該方式是16位的,計數(shù)范圍大。當T2計數(shù)溢出時,又將陷阱寄存器RCAP2L、RCAP2H中預置的16位計數(shù)初值重新再裝入計數(shù)器TL2、TH2中,自動進行下一輪的計數(shù)操作。

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

.設at89s52單片機晶振頻率為6mhz,定時器作計數(shù)器使用時,其最高的輸入計數(shù)頻率,計算機網(wǎng)絡,學習日常(考研向),單片機,單片機,嵌入式硬件

注意,由于引起T2中斷的可能是EXF2,也可能是TF2,所以要在中斷服務程序進行判斷,對TF2的中斷不處理,只處理EXF2引起的中斷。文章來源地址http://www.zghlxwxcb.cn/news/detail-827428.html

到了這里,關于AT89S52單片機的定時器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 51單片機定時器。實驗(六):定時器實驗:使用AT89S51單片機的定時器/計數(shù)器T1控制LED每隔3秒點亮一次(即亮3秒,滅3秒,如此反復)

    51單片機定時器。實驗(六):定時器實驗:使用AT89S51單片機的定時器/計數(shù)器T1控制LED每隔3秒點亮一次(即亮3秒,滅3秒,如此反復)

    目錄 題目: proteus仿真: 代碼: 分析題目: 定時器: 工作方式寄存器TMOD設置: 控制寄存器TCON設置: 設定計數(shù)初值: ?定時器四種工作方式: 實驗過程講解: 配置定時器:設置TMOD寄存器 設定定時器初值:THx和TLx(x=0,1) 設置IE寄存器: 啟動定時器: 中斷檢測: 使用

    2023年04月20日
    瀏覽(26)
  • 單片機原理與應用設計第二章(AT89S51)

    單片機原理與應用設計第二章(AT89S51)

    目錄 目錄 一、硬件組成 AT89S51單片機片內(nèi)結(jié)構(gòu) AT89S51引腳功能 3.并行I/O口引腳 P0口 P0口:地址/數(shù)據(jù)總線 數(shù)據(jù)輸出 數(shù)據(jù)輸入 P0口:通用輸入輸出功能 P1口 ?P2組I/O引腳?編輯 用作地址線 數(shù)據(jù)輸出 數(shù)據(jù)輸入, 用作通用I/O口 數(shù)據(jù)輸出 數(shù)據(jù)輸入(讀取引腳電平狀態(tài)) P3口 ?第一

    2024年02月03日
    瀏覽(1540)
  • 基于AT89C52單片機的交通信號燈設計

    基于AT89C52單片機的交通信號燈設計

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87772657 源碼獲取 主要內(nèi)容: 本次設計所提出的一種基于單片機技術的簡易計算器的方案,能更好的解決計算機計算的問題,隨著數(shù)字生活的到來,單片機在生活中越來越重要,它能將大量的邏輯功

    2024年02月10日
    瀏覽(99)
  • 基于AT89C52單片機的溫度檢測報警設計

    基于AT89C52單片機的溫度檢測報警設計

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87708680?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 本系統(tǒng)的設計主要是了解了單片機微型計算機,根據(jù)現(xiàn)實生活的需要以及已掌握的理論知識,制定出單片微型計算機實時控制的溫度報警系統(tǒng)設計方

    2024年02月09日
    瀏覽(25)
  • 【AT89C52單片機項目】數(shù)字密碼鎖設計

    【AT89C52單片機項目】數(shù)字密碼鎖設計

    實驗目的 使用單片機設計數(shù)字密碼鎖。 實驗儀器 一套STC89C52RC開發(fā)板套件,包括STC89C52RC開發(fā)板,以及USB燒錄線。 設計要求 1、有設置密碼、開鎖工作模式; 2、可以每次都設置密碼,也可以設置一次密碼多次使用。 實驗原理 本實驗所需要的主要硬件電路介紹 1)、矩陣按鍵

    2024年02月07日
    瀏覽(20)
  • 【期末不掛科-單片機考前速過系列P8】(第八章:21題速過AT89S51單片機的內(nèi)部硬件結(jié)構(gòu))經(jīng)典例題盤點(帶圖解析)

    【期末不掛科-單片機考前速過系列P8】(第八章:21題速過AT89S51單片機的內(nèi)部硬件結(jié)構(gòu))經(jīng)典例題盤點(帶圖解析)

    前言 大家好吖,歡迎來到 YY 滴C++系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過C++的老鐵 主要內(nèi)容含: 歡迎訂閱 YY 滴C++專欄!更多干貨持續(xù)更新!以下是傳送門! YY的《C++》專欄 YY的《C++11》專欄 YY的《Linux》專欄 YY的《數(shù)據(jù)結(jié)構(gòu)》專欄 YY的《C語言基礎》專欄 YY的《初學者易

    2024年01月19日
    瀏覽(115)
  • 【AT89C52單片機項目】音樂播放器的設計

    【AT89C52單片機項目】音樂播放器的設計

    實驗目的 用51系列單片機設計一個可以切歌的音樂播放器。 實驗儀器 AT89C52單片機。 音樂播放模塊。 設計要求 采用重裝定時器計數(shù)方式1的初值來實現(xiàn)發(fā)出不同頻率的聲音,通過控制延時長度來實現(xiàn)不同的節(jié)拍,之后將音樂數(shù)據(jù)表填入,即可實現(xiàn)音樂播放。 可通過功能按鍵

    2024年02月16日
    瀏覽(68)
  • 基于AT89C52單片機的電子秒表設計與仿真

    基于AT89C52單片機的電子秒表設計與仿真

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87755619?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: 本設計以AT89C52單片機為核心,采用常用電子器件設計,包括電源開關、按鍵、數(shù)碼管顯示、LCD1602液晶。將軟、硬件有機的結(jié)合起來,使得系統(tǒng)能夠

    2024年02月02日
    瀏覽(110)
  • 基于AT89C52單片機的溫濕度檢測設計

    基于AT89C52單片機的溫濕度檢測設計

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87704704 源碼獲取 主要內(nèi)容: 設計一套基于51單片機的溫濕度Protus仿真監(jiān)控系統(tǒng),采用SHT11、DHT11或DS189B20等傳感器模塊,用LCD液晶實時顯示當前環(huán)境溫濕度值。 基本要求: 1、設計報警單元,實現(xiàn)

    2024年02月08日
    瀏覽(22)
  • 基于AT89C52單片機的計算器設計與仿真

    基于AT89C52單片機的計算器設計與仿真

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/88637995?spm=1001.2014.3001.5503 源碼獲取 B 源碼+仿真圖+課程設計+51 摘 要 計算器一般是指“電子計算器”,能進行數(shù)學運算的手持機器,擁有集成電路芯片,結(jié)構(gòu)簡單,功能較弱,但由于它使用方便、操

    2024年01月16日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包