51单片机定时器初步学习

51单片机定时器

1.介绍

定时器属于内部资源,其电路与运转都在单片机内部。(也是一种计数器) ### 1.2定时器作用 - 用于计时系统,软件计时,以及隔一段时间完成一项操作。 - 替代长时间的Delay。 - 多个任务同时执行,提高CPU的运行效率和处理速度。 ## 2.STC89C52的定时器资源 - 数量:3个(其他定时器不一定为此数量) ## 3.原理 根据时钟信号,经过一段时间来对寄存器操作(加一),我们通过中断来设定何时进行什么任务。 ## 4.定时器的工作模式 - 模式0:13位定时器/计数器(少用) - 模式1:16位定时器/计数器(常用) - 模式2:8位自动重装模式(少用) - 模式3:两个8位计数器

以下只讲解模式1

定时器分为3个部分:

  • 时钟
  • 计数器
  • 中断

4.1如何计数?

模式一中计数器由两个8位寄存器组成(最大数即为65535),时钟信号每一个脉冲加1,当加到65535(准确说是65536)时溢出,变为0(此时将申请中断)。

4.2时钟

本开发板的晶振为11.0592MHz,但是时钟信号可以由外部引脚(如T0),此时可以作为计数器(一个脉冲+1),若由芯片内部时钟,此时即为计数器。

时钟信号进入单片机之后,会进行分频(除以12或是除以6?,如果是12Mhz除以12,那么一个周期就是1us)

4.3中断系统

  • 中断系统是为cpu具有紧急事件的实时处理能力而设置的。
  • 当cpu在执行任务时有紧急任务需要处理时,cpu可以暂停转而去处理这个紧急事件,然后再返回到原来被中断的地方,这就是中断系统。
  • cpu可以有多个中断源,我们可以为不同中断源设置优先级,cpu总是会首先处理优先级最高的任务(若已经在优先级较低的中断处理中,会停止处理,转而优先级高的中断源(即中断嵌套)。) #### 中断系统的资源 不同系统具有不同的中断资源如:中断源个数不同、中断源优先级不同等。

89C52单片机中断资源如下: - 中断源个数:8个 - 中断优先级个数:4个 - 中断号如下表 |序号|中断源| |:--:|--| |0|外部中断0| |1|定时器0| |2|外部中断1| |3|定时器1| |4|串口中断| |5|定时器2| |6|外部中断2| |7|外部中断3|

中断函数写法:

1
void Int0_Routine(void) interrupt 0;

中断优先级,查看手册,或者以此图为参考(51单片机向下兼容,此图也计时器与中断系统的结合)

5.配置

了解完基本原理,剩下的即为配置寄存器。 此图为定时器的寄存器


51单片机定时器初步学习
http://jiangno.com/2024/09/03/24_9_3_timer/
作者
江の
发布于
2024年9月3日
许可协议