51單片機的定時器(一)


一、結構

51單片機有2個16位的定時器/計數器,它們有四種工作方式。定時器系統的結構如下:

 

 

 

定時器的工作方式由寄存器TMOD選擇,TMOD如下:

 

 

 

 

定時器的四種工作方式由M1,M0選擇,對應如下:

M1                   M0

0                        0      方式0

0                         1     方式1

1                         0     方式2

1                         1     方式3

C/T(非)則選擇定時器/計數器是工作在計數方式還是定時方式。1:counter 0:timer

GATE為1時選擇定時/計數器工作在門控方式

定時器的的工作由寄存器TCON控制,TCON如下:

 

 

 

TCON的高四位與定時/計數器有關,低四位與外部中斷有關,TRX=1時開啟定時/計數器,THX+TLX開始計數,當THX 和TLX溢出時,TFX被置1.

THX(X=0,1)和TLX(X=0,1)兩個8位的寄存器共同組成16位的寄存器,一起記錄定時/計數器的計數值。

二、四種工作方式:

1.工作方式0

當TMOD中的M0=0,M1=0時,定時/計數器工作在方式0.

 定時/計數器0(t0)在工作方式0時的結構圖如下(t1與t0完全一樣):

 

 

暫時不管下半部分。從圖中可以看出,計數寄存器TH0的8位和TL0的低5位位組成13位計數器,TR0=1時(打開計數器----也和GATE有關,此時GATE=0),當C/T(非)=0時,計數時鍾源接通晶振的的12分頻,晶振每12個周期產生一個計數脈沖,計數寄存器+1,這時t0作定時器用;當C/T(非)=1時,計數時鍾源接通外部引腳P3.4,外部輸入一個脈沖,計數寄存器+1,這時t0作計數器。

當13位的計數寄存器溢出時,會把TF0位置1,如果設置了中斷,則會產生定時中斷。

書接上回,下面是定時器的其他工作方式。

一、工作方式1:(還是拿t0做說明)

定時/ 計數器的工作方式1是用的比較多的,它的結構圖如下:

 

 (圖片遺失,轉移的時候找不到鏈接了。。。。。)

 

 

TH0的八位和TL0的八位構成一個16位定時/計數器,可以定時時間最長

   在工作方式1下,計數器的計數值范圍是:

          1—65536(216

    當為定時工作方式1時,定時時間的計算公式為:

         (216—計數初值)╳晶振周期╳12

    或   (216—計數初值)╳機器周期

    其時間單位與晶振周期或機器周期相同。

    如果單片機的晶振選為6.000MHz,則最小定時時間為:

        [213—(216—1)]╳1/6╳10-6╳12=2╳10-6(s)=2(us)

        (216—0)╳1/6╳10-6╳12=131072╳10-6(s)=131072(us)。

 

下面說GATE:

“GATE”顧名思意既門,它通過一個反相器與INT0(非)引腳,又叫T0引腳相或(圖是在網上截的,估計有錯),如果GATE=1,或門由INT0引腳控制,INT0=1時,或門打開,與TR0相與,事先打開TR=1,那么在INT0=1的這段時間內,內部計數器就可以計數,等INT0=0時,此時計數器的計數值(TH0<<8|TL0)*(12/osc)就是外部輸入的脈沖高電平的持續時間,這種門控方式可以用來計算外部引腳輸入的脈沖頻率等。

定時器0應用舉例:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM