我们将由晶体振荡器等时钟发生器产生的具有固定周期的信号称为系统时钟,而外设功能定时器(计数器)是将系统时钟任意分频得到的时钟信号与计数器的组合。
英锐恩单片机开发工程师介绍,分频指的是是将1kHz时钟降低,例如1MHz时钟在时钟频率高至1/1000的情况下。
时钟(时钟脉冲)只是一个以固定间隔重复H(高)电平和L(低)电平的数字信号。单片机的定时器(计数器)功能是自动对时钟进行计数并在设定的经过时间后通知它的功能。
在下文中,英锐恩单片机开发工程师将介绍定时器(计数器)的信号输出示例。此示例使用一个时钟除以1kHz的时间作为定时器,以任意固定间隔产生输出。
在本案例中,一个向上计数器用于对时钟进行计数。递增计数器沿增加输入时钟(脉冲)的方向从0计数到设定值,当达到设定值时返回0并重复计数。
下图是在达到设定值时作为通知反转输出状态(此处为切换H电平和L电平)的示例:
时钟周期为1ms,因此如果将计数器设置为50,则计数值将每50ms达到一次,然后反复复位。英锐恩单片机开发工程师介绍,每次计数器复位时输出状态反转,因此脉冲输出为100ms。
在本文中,是以使用定时器计数器输出信号为例,但是在要创建的应用程序中所有与时间相关的处理都可以通过定时器计数器来实现。
值得注意的是,定时器(计数器)功能的硬件电路是独立于CPU的。在定时器功能中,还有一个带有PWM的单片机,其应用范围很广。