發布日期:2022-04-17 點擊率:98
一、基本概念
1、 89C51有兩個計數器T0和T1,89C52還有一個T2。每個計數器都是由兩個8位的RAM 單元組成的,即每個計數器都是16 位的計數器,最大的計數容量是216=65536,記住是從0-65535。
2、 提供給定時器的計數源又是從哪里來的呢?就是由單片機的晶振經過12 分頻后獲得的一個脈沖源。一個12M 的晶振,它提供給計數器的脈沖時間間隔是就是1us。
3、 預置數計數法。如果每個脈沖是1微秒,則計滿65536個脈沖需時65.536毫秒。但是如果只需要10毫秒就可以了,怎么辦?只要在計數器里預先放進55536,這樣只需要計數65536-55536=10000次,也就是10毫秒了。
二、控制字
1、特殊功能寄存器TMOD(89H)
用于T1:GATE、C/T、M1、M0
用于T0:GATE、C/T、M1、M0
GATE:0用于內部脈沖;1用于外部脈沖。
C/T:0用于定時器;1用于計數器。
M1、M0:工作方式
工作方式 | 范圍 | 特性 |
工作方式0
| 13位,8192次
| 為了和51 的前輩48系列兼容
|
工作方式1
| 16位,65536
| 16位,其他特性與工作方式0相同,比較常用
|
工作方式2
| 8位,256次
| 自動再裝入預置數,預置數放在T0(或T1)的高8位中,只有低8 位參與計數,通常用于波特率發生器
|
工作方式3
|
8位,256次
| TH0只能作為定時器用,TL0可作定時器或計數器。溢出標記:TL0 還是用原來的T0的標記,而TH0則借用T1的標記,因此只有在T1 以工作方式2 運行時,才讓T0 工作于方式3。 |
2、特殊功能寄存器TCON(88H)
用于定時/計數器:TF1、TR1、TF0、TR0
用于中斷:IE1、IT1、IE0、IT0
TR0/TR1:定時器的開關。
TF0/TF1:計數溢出后由0變為1。
3、T2定時器。89C52支持T2定時/計數器。
RCLK+TCLK | CP/RL2 | MODE |
0 | 0 | 16-bit Auto-reload,TL2增量溢出 |
0 | 1 | 16-bit Capture |
1 | X | Baud Rate Generator |
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV