第5章  MCS-51系列单片机的定时/计数器

第5章 MCS-51系列单片机的定时/计数器

单片机中的定时器和计数器是同一个东西,只不过计数器用来记录外界发生的事情,而定时器则是由单片机提供的一个非常稳定的计数源。定时器和计数器可编程是指其功能如工作方式、计数长度、定时时间、启动/停止等均可由指令来改变和设定,从而满足单片机控制中的准确定时、精确延时、实时检测以及计数等需要。当定时/计数器作为“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数。单片机内部操作是:在一个机器周期内检测到该引脚为高电平“1”,在相邻的下一机器周期内检测到低电平“0”时,计数器确认加1。所以,每检测一个外来脉冲信号,至少需要2个机器周期,但占空比无特别要求。显然,所能检测的最高外部脉冲信号频率为晶振频率的1/24。若晶振频率为12MHz,则所能检测的最高外部脉冲信号频率为500kHz。

当定时/计数器作为“定时器”用时,定时信号来自内部时钟发生电路,每个机器周期等于12个振荡周期,每过一个机器周期,计数器加1。当晶振频率为12MHz,则机器周期为1μs。在此情况下,若计数器中的计数为100,则定时=100×1μs=100μs。

为实现定时/计数器的各种功能,还用到SFR中的几个特殊功能寄存器,见表5-1。

表5-1 与定时/计数器有关的特殊功能寄存器

978-7-111-54295-7-Chapter05-1.jpg