51單片機定時(shí)器/計數器
⑶ GATE —— 門(mén)控位
GATE=0,運行只受TCON中運行控制位TR0/TR1的控制。
GATE=1,運行同時(shí)受TR0/TR1和外中斷輸入信號的雙重控制。只有當INT0/INT1=1且TR0/TR1=1,T0/T1才能運行。
TMOD字節地址89H,不能位操作,設置TMOD須用字節操作指令。
(三). 定時(shí)/計數器工作方式
⒈ 工作方式0
13位計數器,由TL0低5位和TH0高 8位組成,TL0低5位計數滿(mǎn)時(shí)不向TL0第6位進(jìn)位,而是向TH0進(jìn)位,13位計滿(mǎn)溢出,TF0置“1”。最大計數值213 = 8192。
初值確定:TH0=(8192-5000)/32;TL0=(8192-5000)%32;進(jìn)行5ms的延時(shí)。12M晶振。
⒉ 工作方式1
16位計數器,最大計數值為216 = 65536。
初值確定:TH0=(65536-50000)/256;TL0=(65536-50000)%256;進(jìn)行50ms的延時(shí)。12M晶振。
⒊ 工作方式2
8位計數器,僅用TL0計數,最大計數值為28= 256,計滿(mǎn)溢出后,一方面使溢出標志TF0 = 1;另一方面,使原來(lái)裝在TH0中的初值裝入TL0。
優(yōu)點(diǎn):定時(shí)初值可自動(dòng)恢復;缺點(diǎn):計數范圍小。
適用于需要重復定時(shí),而定時(shí)范圍不大的應用場(chǎng)合。
初值確定:TH0=TL0=256-200進(jìn)行200us的延時(shí)。12M晶振。
⒋ 工作方式3
方式3僅適用于T0,T1無(wú)方式3。
⑴ T0方式3
在方式3情況下,T0被拆成二個(gè)獨立的8位計數器TH0、TL0。
① TL0使用T0原有的控制寄存器資源:TF0,TR0,GATE,C/T,INT0,組成一個(gè)8位的定時(shí)/計數器;
② TH0借用T1的中斷溢出標志TF1,運行控制開(kāi)關(guān)TR1,只能對片內機周脈沖計數,組成另一個(gè)8位定時(shí)器(不能用作計數器)。
⑵ T0方式3情況下的T1
T1由于其TF1、TR1被T0的TH0占用,計數器溢出時(shí),只能將輸出信號送至串行口,即用作串行口波特率發(fā)生器。
(四)、定時(shí)/計數器的應用
⒈ 定時(shí)器/計數器初始化的主要內容
(1) 選擇工作方式:通過(guò)對方式寄存器TMOD進(jìn)行設置
(2) 給定時(shí)器賦初值
(3) 根據需要設置中斷控制字
(4) 啟動(dòng)定時(shí)器
1. 定時(shí)器/計數器初值設定方法
(1)根據定時(shí)長(cháng)短,選擇工作方式
(2)計算定時(shí)/計數初值
80C51定時(shí)/計數初值計算公式:
其中: N與工作方式有關(guān): 方式0時(shí),N=13;方式1時(shí),N=16;方式2、3時(shí),N=8。
機周時(shí)間與主振頻率有關(guān):機周時(shí)間=12/fosc,fosc=12MHZ時(shí),1機周=1mS; fosc=6MHZ 時(shí),1機周=2mS。
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
評論