單片機(jī)定時器實(shí)用方法總結(jié)
第一部分:51系列定時器
定時/計數(shù)器 0 和定時/計數(shù)器1都有4種定時模式。
16位定時器對內(nèi)部機(jī)器周期進(jìn)行技術(shù),機(jī)器周期加1,定時器值加1,1MHZ模式下,一個機(jī)器周期為1us 。
定時器工作模式寄存器TMOD,不可位尋址,需整體賦值,高4位用于定時器1,第四位用于定時器0。
C/T:為定時器功能選擇位,C/T=0對機(jī)器周期計數(shù),C/T=1,對外部脈沖計數(shù)。
GATE:門控位,GATE=0,軟件置位TRn即可啟動計時器,GATE=1需外部中斷引腳為高電平時才能軟件置位TRn啟動計時器,一般取GATE=0。
定時器控制寄存器TCON:
TFn:Tn溢出標(biāo)志位,當(dāng)定時器溢出時,硬件置位TFn,中斷使能的情況下,申請中斷,CPU響應(yīng)中斷后,硬件自動清除TFn。中斷屏蔽時,該位一般作為軟件查詢標(biāo)志,由于不進(jìn)入中斷程序,硬件不會自動清除標(biāo)志位,可軟件清除。
TRn:計時器啟動控制位,軟件置位TRn即可啟動定時器,軟件清除TRn關(guān)閉標(biāo)志位。
IEn:外部中斷請求標(biāo)志位。
ITn:外部中斷出發(fā)模式控制位,ITn=0為低電平觸發(fā),ITn=1為下降沿觸發(fā)。
中斷允許控制寄存器IE
EA(IE.7):全局中斷控制位。EA=1開全局中斷,EA=0關(guān)閉全局中斷。
IE.6無意義。
ETn:定時器中斷使能控制位。置位允許中斷,清除禁止中斷。
ES:串行接收/發(fā)送中斷控制位,置位允許中斷。
EXn:外部中斷使能控制位。置1允許,清0禁止。
中斷優(yōu)先級控制寄存器IP,復(fù)位后為00H
IP.6,IP.7保留,無意義。
PT2:定時器2中斷優(yōu)先級控制,置1設(shè)為高優(yōu)先級,清0置位低優(yōu)先級。
PS:串行中斷優(yōu)先級控制位。
PT1/0:定時器1/0優(yōu)先級控制位,置1高,清0低。
PXn:外部中斷優(yōu)先級控制位。
當(dāng)有同級中斷同時響應(yīng),按IE0->TF0->IE1->TF1-IE0->RI+TI->TF2順序依次響應(yīng)。
定時器模式0的使用 TMOD=0xf0/TMOD=0x0f
TL0高3位不用,低5位溢出時,直接向TH0進(jìn)位。
通過設(shè)置TH0和TL0初值(0~8191),使計數(shù)器從初值開始加1,溢出后申請中斷,溢出后需重新設(shè)置初值,否則將從0開始加1計數(shù)。