『壹』 單片機定時器 計數器的工作原理,及如何實現定時 計數功能
原理: 16位的定時器/計數器實質上就是一個加1計數器,其控制電路受軟體控制、切換。 當定時器/計數器為定時工作方式時,計數器的加1信號由振盪器的12分頻信號產生,即每過一個機器周期,計數器加1,直至計滿溢出為止。
顯然,定時器的定時時間與系統的振盪頻率有關。因一個機器周期等於12個振盪周期,所以計數頻率fcount=1/12osc。
兩個位元組最大數據為65536(十進制),或者0FFFFH(十六進制)
高位元組為TH0=(65536-X)/256,就是除以256後的整數部分;
低位元組為TL0=(65536-X)%256,減去高位元組後餘下的部分;
定時/計數器
定時/計數器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數器T0由TH0和TL0組成,T1由TH1和TL1組成。此外,其內部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負責控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數,同時包含定時/計數器的狀態。
以上內容參考:網路-定時器中斷
『貳』 51單片機定時/計數器的定時功能和計數功能有何不同
1、產生的脈沖不同
計數功能:單片機外部觸發的脈沖。
定時功能:單片機內部在晶振的觸發下產生的脈沖。
2、工作方式不同
計數功能:當定時/計數器設置為計數工作方式時,計數器對來自輸入引腳T0(P3.4)和T1(P3.5)的外部信號計數,外部脈沖的下降沿將觸發計數,檢測一個由1到0的負跳變需要兩個機器周期。
定時功能:計數器對內部機器周期計數,每過一個機器周期,計數器增1,直至計滿溢出。
3、應用范圍不同
計數功能:對一些外部事件計數時則採用。
定時功能:需要准確計算時間時採用。
『叄』 單片機80c51中定時/計數器的工作方式中怎麼計數范圍怎麼算的為什麼這樣算
定時器有一個16位的計數寄存器,這個16位被分成兩個8位的寄存器,分別是THx和TLx,有4種工作方式:
方式0:用了THx的8位,用了TLx中的低5位,這樣,加起來一共是13位,所以,最大計數范圍就是0-8191,一共8192個時鍾
方式1:用了THx的8位,用了TLx中的全部8位,這樣,加起來一共是16位,所以,最大計數范圍就是0-65535,一共65536個時鍾,也是定時器用的最大的范圍
方式2:只用了THx用來計數,當THx的計數用完了之後,硬體自動把TLx賦值給THx,所以方式2相當於只是8位,所以最大計數到 0-255,共256個
方式3:用於串口波特率的計算,不討論.
方式0是為了向上兼容老式單片機,一般很少用,現在基本上用方式1最多.
『肆』 單片機中 定時器/計數器 的計數初值是怎麼計算得出的(計數和定時計算方式是否不同)--初學單片機
計數初值的計算:
定時或計數方式下計數初值如何確定:定時器選擇不同的工作方式,不同的操作模式其計數值均不相同。若設最大計數值為M,各操作模式下的M值為:
模式0:M=2^13=8192
模式1:M=2^16=65536
模式2:M=2^8=256
模式3:M=256,定時器T0分成2個獨立的8位計數器,所以THO、TLO的M均為256。
因為MCS-51的兩個定時器均為加1計數器,當初值到最大值(00H或0000H)時產生溢出,將TF位置1,可發出溢出中斷,因此計數器初值X的計算式為:X=M-計數值。
式中的M由操作模式確定,不同的操作模式計數器的長不相同,故M值也不相同。而式中的計數值與定時器的工作方式有關。
1、計數工作方式時
計數工作方式時,計數脈沖由外部引入,是對外部沖進行計數,因此計數值根據要求確定。其計數初值:X=M-計數值。
2、定時工作方式時
定時工作方式時,計數脈沖由內部供給,對機器周期進行計數,計數脈沖頻率fcont=fosc*1/12、計數周期T=1/fcont=12/fosc定時工作方式的計數初值X等於:
X=M-計數值=M-t/T=M-(fosc*t)/12
式中:fosc為振盪器的振盪頻率,t為要求定_的時間。
(4)單片機中計數擴展閱讀:
定時器工作方式的設定:
定時器有兩種工作方式:定時和計數。由TMOD的D6位和D2位決定,其中D6位決定T1的工作方式,D2位決定T0的工作方式。值為0時工作在定時方式,值為1時工作在計數方式。並且有四種操作模式:
1、模式0:13位計數器,TLi只用低5位。
2、模式1:16位計數器。
3、模式2:8位自動重裝計數器,THi的值在計數中不變, TLi 溢出時,THi中的值自動裝入TLi中。
4、模式3:T0分成2個獨立的8位計數器,T1停止計數。