1. 51单片机有2个16位定时/计数器
定时器 | 位置 | 简称 |
定时器0 | P3.4 | T0 |
定时器1 | P3.5 | T1 |
16位:是指 定时/计数器 内部分别有16位的计数寄存器;
当单片机工作在定时模式时,每经过一个机器周期,内部的16位计数寄存器的值就会加1,当这个寄存器装满时溢出;
定时器的作用:定时/计数器可用于精确事件定时,PWM脉宽调制,波形发生,信号时序测量等。
2.通过TCON寄存器的TR0/TR1位控制定时器的启动
通过TMOD寄存器设置定时/计数器的工作模式(下面详细说)
通过TCON寄存器的TF0/TF1位判断定时/计数器是否溢出
3.定时/计数器0、1的相关寄存器每一位的名称
复位值都是0000 0000B
4.TCON寄存器
可位寻址:即可以通过位的名称直接进行操作,比如“ TR1 = 0 ”可用来禁止T1计数器计数,而不需要给TCON赋十六进制数;
前四位:TF0/TF1、TR0/TR1作用如下,用来检查定时器是否溢出和控制T0/T1是否进行工作;
后四位:管理外部中断,见上一篇博客;
5.TMOD寄存器
不可位寻址,需要给TMOD赋十六进制数,比如:
想要让定时器1以模式1工作,需要先把每一位的值表示成二进制数:0001 0000(定时器1的M0位置1,其余所有位都为0),然后计算该二进制数对应的十六进制数0x10H,把它赋给TMOD即可;