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日
许可协议