单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情,而定时器则是由单片机自身提供的一个非常稳定的计数器。

1.单片机定时器工作原理

MCS-51单片机定时器提供一个稳定的计数,由晶振经过12分频之后给单片机提供1MHZ的稳定脉冲。因为晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒。

 

MCS-51单片机外接12MHZ的晶振,所以MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHz/12=1MHZ=1000000 次/秒=1000000条指令/秒=1000000 次/1000000微秒=1次/微秒=1条指令/微秒。也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒。此时,CPU会执行一条指令,经历一个机器周期,即:1个时钟脉冲=1个机器周期=1微秒=1条指令。MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的。

 

单片机定时器工作原理

(图片来源于互联网)

 

2.单片机定时器作用

单片机定时器的作用:计数概念的引入、定时和溢出。主要用于产生固定时间(比较精确),也可以作为UART等外设的频率发生器。 

 

单片机的定时器其实是个计数装置,用于对单片机的机器周期或者外部输入的时钟信号进行计数。当对单片机的机器周期进行计数叫定时器,对外部输入的时钟信号进行计数叫计数器。

 

每计一个机器周期,定时器+1,当计到最大数时计数完毕通知单片机。每计一次外部输入时钟信号,计数器+1,当计到最大数时计数完毕通知单片机。

 

单片机提供内部定时和外部计数的功能,功能都是定时和计数达到终点时,产生中断,而CPU则暂时放下目前所执行的程序区处理中断。

 

单片机定时器作用

(图片来源于互联网)

 

3.单片机定时器工作方式

(1)工作方式0——13位定时器/计数器工作模式,最多可计数2的13次方次,即:8192次,[0,8191];

 

(2)工作方式1——16位定时器/计数器工作模式,最多可计数2的16次方次,即:65536次,[0,65535];

 

(3)工作方式2—―8位定时器/计数器工作模式,计算次数最多为2^8,即256,[0,255];

 

(4)工作方式3―—8位定时器/计数器工作模式﹐计算次数最多为2^8,即256,[0,255];

 

预置数的计算公式:预置数=最大值-需要计数的次数。

 

单片机定时器工作方式

(图片来源于互联网)