C51 单片机开发定时器/计数器的初识

2024-05-10 19:32:20 浏览数 (1)

本篇文章来介绍单片机上的一个新的功能,定时/延时器。本篇和接下来的几篇都是描述性的内容,可能比较枯燥!

0x01:软件延迟的问题

在前面的文章中,所有的延时是依靠软件的延时,也就是让芯片去“空转”,就是让 CPU 去数数。但是,使用这样的方式进行延时很多场景下会存在问题,当 CPU 在“空转”时,某个外部设备改变了电平信号,这时,这个信号就不会被单片机处理了,从而相当于是丢失了一个或多个信号。

其实单片机本身可以解决这个问题,因为定时/延时有专门的部件,叫做定时器。

0x02:定时器和计数器的概念

定时器和计数器使用同一个电路,通过配置寄存器,可以让该电路当作定时器或计数器来使用。

定时或者计数的本质就是让单片机某个部件数数。当该电路用作定时器的时候,靠内部震荡电路进行数数;当该电路用作计数器的时候,它会数外面的信号(负跳变,从高电平变低电平的过程),读取针脚的数据。

标准 C51 有 2 个定时器/计数器:T0 和 T1。它们的使用方法一致。

C52 相比 C51 多了一个 T2。

本篇文章就先说明这两点,第一个,软件延迟可能会丢信号;第二定时器和计时器在 C51 单片机中有专门的部件,并且通过配置寄存器来进行使用,C51 有 2 个定时器/计数器,C52 有 3 个定时器/计数器。

0 人点赞