6.2.1  概述

6.2.1 概述

MCS-51系列单片机有两个16位二进制加1定时器/计数器,当计数器计满回零时能自动产生溢出中断请求,表示定时时间已到或计数值已到,其工作原理如图6-22所示。

1.工作模式

(1)定时器模式 对内部时钟脉冲进行计数,直至到达预置值。

(2)计数器模式 对外部(P3.4、P3.5)进行计数,直至到达预置值。

T0/T1都具有定时和计数功能。所谓计数,就是对T0或T1引脚输入的脉冲个数进行计数。在计数方式下,单片机在每个机器周期的S5P2(图2-13)时刻对T0/T1进行采样。如果在连续的两个机器周期里,前一次采样到高电平,后一次采样到低电平,即在T0/T1引脚检测到一个下降沿,则计数器加1一次。显然,输入到T0/T1的计数脉冲不能超过振荡脉冲频率的1/24。

T0/T1的定时功能也是通过计数实现的。此时计数脉冲不再取自T0/T1引脚,而是取自单片机内部,即记录的是机器周期的个数。由于一个机器周期等于12个振荡脉冲周期,因此在定时方式下,其计数的频率是振荡脉冲的1/12。

MCS-51系列单片机内部定时器/计数器工作方式见表6-3。在两种工作模式下,又可单独设定为方式0、方式1、方式2和方式3工作。

978-7-111-46831-8-Chapter06-81.jpg

图6-22 定时器/计数器工作原理图

表6-3 MCS-51系列单片机内部定时器/计数器工作方式

978-7-111-46831-8-Chapter06-82.jpg

2.定时时间

定时器模式下的定时时间或计数器模式下的计数值均可由CPU通过程序设定,但都不能超过各自的最大值。最大定时时间或最大计数值和定时器/计数器位数的设定有关,而位数设定又取决于工作方式的设定。例如:若定时器/计数器在定时器模式的方式0下工作,则它按二进制13位计数,因此最大定时时间为

Tmax=213×T计数

式中 T计数——定时器/计数器的计数脉冲周期时间,由单片机主脉冲经12分频而来。