一、软件延时
软件延时就是让CPU数数,占用的是CPU的时间。
容易在数数的过程中,捕获不到其他地方传来的信号(场景:当我蜂鸣器延时5秒,但是5秒内,有其他信号进来需要停止蜂鸣器响,CPU可能会捕抓不到,有一定的弊端)
二、定时器
1.
简介
C51中的定时器和计数器是同一个硬件电路支持的,通过寄存器配置不同,就可以将他当做定时器
或者计数器使用。 确切的说,定时器和计数器区别是致使他们背后的计数存储器加1
的信号不同。当配置为定时器使
用时,每经过
1
个机器周期,计数存储器的值就加
1
。而当配置为计数器时,每来一个负跳变信号
(
信号从
P3.4
或者
P3.5
引脚输入
)
,就加
1
,以此达到计数的目的。
标准
C51
有
2
个定时器
/
计数器:
T0
和
T1
。他们的使用方法一致。
C52
相比
C51
多了一个
T2
1.1
概念解读
- 定时器和计数器,电路一样
- 定时或者计数的本质就是让单片机某个部件数数
- 当定时器用的时候,靠内部震荡电路数数
- 当计数器用的时候,数外面的信号,读取针脚的数据
1.2
定时器怎么定时
定时器的本质原理: 每经过一个机器周期,就加1 :
寄存器
思考:
- 什么是晶振
晶振(晶体震荡器
)
,又称数字电路的
“
心脏
”
,是各种电子产品里面必不可少的频率元器件。数字电
路的所有工作都离不开时钟,晶振的好坏、晶振电路设计的好坏,会影响到整个系统的稳定性。
- 什么是时钟周期
时钟周期也称为
振荡周期
,定义为
时钟频率
的
倒数
。时钟周期是计算机中最基本的、最小的
时间单 位
。在一个时钟周期内,
CPU
仅完成一个最基本的动作。时钟周期是一个时间的量。更小的时钟周 期就意味着更高的工作频率
- 什么是机器周期
机器周期也称为CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶 段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为 机器周期。一般情况下,一个机器周期由若干个时钟周期组成

- 加1经过多长时间
当晶振频率是11.0592MHz的时候,等于11059.2KHz = 11059200Hz
跳一次等于一个机器周期
一个机器周期等于12个时钟周期
一个时钟周期等于晶振的倒数:1/11059200 秒
那么跳一次就是:12/11059200秒 = 12 000 000 / 11059200 微秒 = 1.085 微秒
- 在哪里加1,最大计数时间,也就是爆表了能计算多长
- 如何算出20ms定时器的初值