AT89C51定时器/计数器
1.定时和计数功能:
AT89C51有两个可编程的定时器和计数器:T0和T1。它们可以工作在定时状态也可以工作在计数状态。做定时
器时不能用作计数,反之亦然。
2.计数器:
当定时器/计数器作“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数,每当引脚发生从“1”到“0”的负跳变时,计数器加1.
3.定时器:
当定时器/计数器作“定时器”用时,定时信号来自内部的时钟发生电路,每个机器周期等于十二个震荡周期,每过一个机器周期,计数器加1.当晶振频率为12MHz时,则机器周期为1微秒;在此情况下,若计数器为100, 则所定时的时间为:100
x 1 =100微秒。
4.与定时器/计数器有关的特殊功能寄存器
为实现定时器/计数器的各个功能,还用到了SFR中的几个特殊功能寄存器 定时器/计数器的SFR TCON TMOD TL0 TL1 TH0 TH1
5.定时器/计数器的控制
用途 控制寄存器 方式寄存器 定时器T0低字节 定时器T1低字节 定时器T0高字节 定时器T1高字节 地址 88H 89H 8AH 8BH 8CH 8DH 有无寻址 有 无 无 无 无 无 AT89C51单片机定时器/计数器的工作由两个特殊的寄存器TMOD和TCON的相关位来控制, TMOD用于设置它的工作方式,TCON用于控制其启动和中断的请求。
1).TMOD用于设置定时器/计数器的工作方式,其字节地址为89H。低四位用于T0,高四位用于T1。虽有位名称,
但无位地址,不可进行位操作。
TMOD中的结构和各位名称 位名称 GATE C/T T1 M1 M0 GATE C/T T0 M1 M0 1M1,M0:工作方式选择位。M1、M0为两位二进制数,可表示四种工作方式,见下表: ○
M1M0 00 01 10 11 工作方式 0 1 2 3 功能 13位计数器,N = 13 16位计数器,N = 16 两个8位计数器,初值自动装入,N = 8 两个8位计数器,仅适用于T0,N = 8 容量 213 = 8192 216 = 65536 28 = 256 28 = 256 2C/T:计数/定时方式选择位。 ○
C/T = 1,为计数工作方式,对输入到单片机T0、T1引用的外部信号脉冲计数,负跳变脉冲有效,用作计数器。 C/T = 0,为定时工作方式,对片内机器周期(1个机器周期等于12晶振周期)信号计数,用作定时器。
3GATE:门控位。 ○
GATE = 0,定时器/计数器的运行只受TCON中的运行控制位TR0/TR1的控制。
GATE = 1,定时器/计数器的运行同时受TR0/TR1和外中断输入信号(INT0和INT1)的双重控制。 GATE对TR0/TR1的制约
GATE 0 0 1 1 1 1 2).控制寄存器TCON
TCON是可位寻址的特殊功能寄存器,其字节地址为88H,位地址由低到高顺序分别为88H~8FH,
INT0,INT1 无关 无关 1/1 1/1 0/1 1/0 TR0/TR1 0/0 1/1 1/1 0/0 1/1 1/1 功能 T0/T1停止 T0/T1运行 T0/T1运行 T0/T1不运行 T0不运行,T1运行 T0运行,T1不运行 TCON的低四位只与外中断有关,其高四位与定时器/计数器有关。
TCON结构及各个名称、地址 位号 位名 位地址 TCON.7 TF1 8FH TCON.6 TR1 8EH TCON.5 TF0 8DH TCON.4 TR0 8CH TCON.3 IE1 8BH TCON.2 IT1 8AH TCON.1 IE0 89H TCON.0 IT0 88H 1TF1:定时器/计数器T1的溢出标志。若T1被允许计数后,T1从初值开始加1计数,至最高位产生溢出时,TF1○
被自动置“1”,即表示计数溢出,同时提出中断请求。若允许中断,CPU响应中断后,由硬件自动对TF1自动清零。也可以在程序中用指令查询TF1或将TF1清零。
2TR0:定时器/计数器T0的溢出标志,其意义与功能与TF1相似。 ○
3TR1:定时器/计数器T1的启动控制位,由软件置位/清零来开启/关闭。 ○
4TR0:定时器/计数器T0的启动控制位,由软件置位/清零来开启/关闭。 ○
定时时间 = (2N – 初值) X 机器周期