计数器是对外来脉冲进行计数,51芯片有T0和T1两个外来脉冲输入端,分别接P3.4和P3.5两个引脚,当出现负跳变脉冲时,计数器加1;定时器也是通过计数器的计数来实现的,但此时的计数脉冲来自单片机内部,即每个机器周期产生一个计数脉冲,计数器加1。若采用12M晶振,则计数频率为1MHz,即每过1μs,计数器加1。
单片机的定时器/计数器有4种工作方式(方式0、方式1、方式2和方式3),其控制字在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编程,我们可以选择定时器/计数器两种工作模式和0~3四种工作方式。
一、控制寄存器介绍
首先介绍两个特殊功能寄存器TMOD和TCON,TMOD用于选择定时器/计数器的工作模式和工作方式,TCON用于控制T0、T1的启动和停止计数,也包含T0和T1的状态。
(一)TMOD(Timer Mode)
选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能进行位寻址。
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|---|---|
GATE | C/T* | M1 | M0 | GATE | C/T* | M1 | M0 |
8位标志位分为两组,高4位控制T1,低4位控制T0。四个标志位含义如下:
(1)GATE:门控位。
GATE&