51 单片机定时器

51 单片机定时器

目录

  • 51 单片机定时器
    • 定时器作用
    • 定时器的工作模式
    • 模式1(常用)
      • 定时器时钟源
      • 中断系统
      • 定时器寄存器
    • 补充
    • 实际使用

声明:本文以 STC89C52 单片机为例

定时器作用

主要有三个作用

1、用于计时系统,可实现软件计时,使程序每隔一段时间完成一项操作

2、替代长时间的delay,提到CPU的运行效率和处理速度

3、实现多个任务的切换执行

定时器的工作模式

51单片机的定时器工作模式有四种

模式0:13位定时器/计数器

模式1:16位定时器/计数器(常用)

模式2:8位自动重装模式

模式3:两个八位计数器

模式1(常用)

定时器有三个部分构成:时钟、计数单元、中断

以下为51单片机 定时器的模式1的内部电路图
51 单片机定时器_第1张图片

如图所示,红色部分分别是他的时钟源和中断,剩下部分则是他的计数单元。

原理:可以看到图中的TL0和TL1各占8个bit,时钟源每来一个脉冲,TL0则+1,当TL0计满,则溢出给TH0,两个计数器一共16个bit,则可以计数2的16次方个数,即0~65535,当加到最大值时,就将TF0(TimerFlag)置为1,就申请中断,TL0和TH0置为0。

定时器时钟源

时钟有两种,一种为系统时钟,一种是外部时钟(T0 Pin)。

SYSclk:系统时钟,也就是晶振周期。不同芯片的晶振频率不同,51单片机的晶振频率为12MHz,那他的时钟周期就是晶振频率的倒数,也就是1/12 us;

晶振:通电后会产生固定频率的内部元件;

外部时钟:芯片的 T0 引脚连接到的外部晶振单元;

C/T:C为counter(计数器),T为Timer(定时器),字母头上一横指的是,低电平生效,简单地说,此处是一个寄存器,当给这个寄存器配置为 1 时,实现计数器功能,配置为 0 ,实现定时器功能。

从上图可以看到,系统时钟有两种模式,一种是➗12,一种➗6,也就是分频,可以粗浅地理解为降低它的晶振频率,➗12则频率变为1MHz,每产生一个脉冲就是1 us,同理➗6则是2 us,每来一个脉冲就计一个数。

中断系统

CPU能够对外界紧急事件的实时处理的系统。

当触发紧急事件时,CPU暂停当前工作去处理这个紧急事件,处理完之后再回到原本被中断的地方继续工作。

同时发生多个中断请求时,所以中断会有优先级,不同的CPU优先级个数不同,高优先级的中断能中断低优先级的中断,这个过程也叫中断嵌套。

定时器寄存器

51 单片机定时器_第2张图片

图中为51单片机的相关寄存器,每个寄存器详细配置暂时按下不表,详细请看芯片手册。

补充

此处补充一点模电知识,还是以定时器模式1的电路图为例:
51 单片机定时器_第3张图片

可以看到我图中使用了三个颜色的框圈出了三个不同东西。

红色框为 非门

蓝色框为 或门

绿色框为 与门

实际使用

我们都知道,寄存器是连接软硬件的媒介,具体使用时,对照相应芯片手册配置寄存器就好了。

你可能感兴趣的:(C51单片机,单片机,嵌入式硬件)