51單片機定時(shí)器工作方式
一般情況處,只有在T1以工作方式2運行(當波特率發(fā)生器用)時(shí),才讓T0工作于方式3的。
定時(shí)器/計數器的定時(shí)/計數范圍
工作方式0:13位定時(shí)/計數方式,因此,最多可以計到2的13次方,也就是8192次。
工作方式1:16位定時(shí)/計數方式,因此,最多可以計到2的16次方,也就是65536次。
工作方式2和工作方式3,都是8位的定時(shí)/計數方式,因此,最多可以計到2的8次方,也說(shuō)是256次。
預置值計算:用最大計數量減去需要的計數次數即可。
例:流水線(xiàn)上一個(gè)包裝是60盒,要求每到12盒就產(chǎn)生一個(gè)動(dòng)作,用單片機的工作方式0來(lái)控制,應當預置多大的值呢?對了,就是8192-60=8132。當然設為計數時(shí),需將C/T=1。
以上是計數,明白了這個(gè)道理,定時(shí)也是一樣。
初學(xué)者應多看相關(guān)書(shū)籍中的定時(shí)/中斷部分,對個(gè)標志位的處理與應用要能理解,對你的應用開(kāi)發(fā)有很大幫助的!!!,特別是在按鍵的消抖、延時(shí)等方面。下面給出一個(gè)實(shí)驗,網(wǎng)友只要燒寫(xiě)進(jìn)89C51,放到實(shí)驗板即可看到效果,然后在想????
定時(shí)器方式0的應用:
應用定時(shí)器T1產(chǎn)生1MS的定時(shí),并使P1。0輸出周期的2MS方波,設晶震6MHZ。
首先要計算T0的初始值,以定時(shí)器方式工作時(shí),每一機器周期計數器加1,6MHZ晶震時(shí)的機器周期T=12/F=12/6*10的6次方,設初值為X,則:
2的13次方-X/2*10的負3次方 =10的負3次方 X=7692
以13位二進(jìn)制數表示為:X=1111000001100B(從前算8位為F0H;)
計算得:TH0初值為0F0H,TL0初值為0CH;
因復位以后,TMOD、TCON初值為0,因此以定時(shí)器方式0工作時(shí),初始化程序不必對TMOD重置0,我們查詢(xún)TF0的狀態(tài)來(lái)控制P1。0輸出。在P1。0端得到周期為2MS的方波。
程序清單:
START:MOV TL0,#0CH;初值寫(xiě)入T0
MOV TH0,#0F0H;
SETB TR0;啟動(dòng)T0計數
LOOP:JBC TF0,PTF0
AJMP LOOP
PTF0:MOV TL0,#0CH;計數初值重裝
MOV TH0,#0F0H;
CPL P1。0;P1。0求反
AJMPN LOOP
您可以改變定時(shí)初值來(lái)改變方波的寬度。
51單片機相關(guān)文章:51單片機教程
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
評論