TL 做计数器,TH 做初值寄存器,工作前 TL1,TH1 分别预置相同的初值,TL1 计数时,产生溢出的同时,将 TH1 中的初值自动重装 TL1,TL1 继续计数。
模式 3:组合扩展模式(仅适用于 T0)
将 T0 和 T1 重新进行“拆分、组合”,将 T0 变为由 TH0,TL0 组成的两个独立的 8 位定时/计数器。
补充:四种模式比较:
3、定时器参数:
(1)、定时器的个数:网上见到的 51 单片机教程都说定时器有 2 个:定时器 0 和定时器 1,实际上有的单片机有 3 个定时器,如博主买的开发板上的单片机:STC89C54RD+,因此,编程时注意看好有几个定时器……
(2)、TL,TH:初值寄存器,分别是低 8 位,高 8 位,后边加上一个数字 0 或 1,代表定时器 0 或定时器 1
(3)、TMOD:模式控制寄存器,属于 SFR 特殊功能寄存器,地址:89H,决定定时/计数器的四种工作模式,8 位
GATE 选通门:GATE=0 时,只要 TR=1,计数器就开始工作
GATE=1 时,只有 INT=TR=1 时,计数器工作(用来测量 INT 脚高电平脉冲的宽度)
C/T:计数器输入脉冲选择开关,决定着计数器的“定时”或“计数”的两种工作方式
C/T=0:定时方式:计数器接收内部时钟信号 fosc
C/T=1:计数方式:计数器接收引脚上的外部信号
M1、M0 模式选择:确定 4 种工作模式
(4)、TCON:控制寄存器,属于 SFR 特殊功能寄存器,地址:88H,8 位
TF:定时器溢出标志,计数器溢出时硬件自动置位,即 TF=1,进入中断后再由硬件自动清除(TF=0)
TR:计数器的控制位
TR=1:计数器开始工作
TR=0:计数器停止计数
IE:外部中断 INT 的请求标志
当单片机检测到 INT 引脚上有下降沿时,IE=1 申请中断,进入中断服务程序时,硬件自动清除 IE 标志
IT:外中断触发类型控制