一、什么是定时计数
有一个水杯,这个杯子滴入
1000
滴水刚好装满,水若溢出则会立即产生警报,假设每
1s
钟滴入
1
滴水,那么通过这个装置可以实现两个功能:
水杯计数器定时功能。因为水溢出时会产生警报,可以利用这个功能实现定时提醒功能。例如要定时1000
秒可以先在杯中装如1
滴水,然后等待产生警报即可,警报响起时是第
1000
秒(杯中一开始有
1
滴 水,再滴入999
滴杯子满,第
1000
滴水杯溢出产生警报)。如果要定时
500s
,则可以在水杯中先装 入499
滴水,警报响起时,则表明已经过了
500
秒
.
这就是定时功能
计数功能。因为水滴入的速度是固定的,所以在水杯没有溢出之前,查看当前水杯内的水量就可以
知道已经滴入了多少的水,也就知道已经过了多久。例如要统计运动员跑
50
米的时间,可以在开始
跑的时候记录当前的水杯内的水量,等运动员跑到终点的时候再次记录水杯的水量,两次水量之差
就是运动员跑50米所需的时间。
1.定时计数器的常用场合
单片机的定时器计数器常做以下方面的应用定时功能。例如要每10ms
检测一次
IO
口的电平,可以使用定时器设定
10ms
的定时并产生中断,在中断里边检测IO
口的电平。因为定时器的运行时不依赖于
CPU
的,所以这样可以大大减小
CPU
的负载。 计数功能。例如要检测某个外部脉冲的时长,则可以在检测到上升沿的时候启动定时器计数器并记 录当前值A
,在检测到下降沿的时候停止定时计数器并记录当前值
B
,这时候查
A
和
B
的差,就可以推算出外部脉冲的时长。
2.单片的定时计数器
51
单片机的定时计数器和上述的定时器计数器的原理是一样,
51
单片机一共有
2
个独立的定时计数器
T0和T1.
每个计数器是由
2
个
8
位的寄存器组成的(一共
16
位,可以表示的最大数值为
65536
,也就是这个水杯最大可以装65536
滴水),定时计数器是通过
TCON
和
TMOD
两个寄存器进行配置的,通过这两个寄存器,可以配置计数器的初值(相当于设置水杯的初始水量)、配置是否产生中断(相当于水杯溢出是否产生警报)、定时器计数器的工作模式。
3.TMOD寄存器
TMOD
寄存器用来控制
T0
和
T1
的工作模式,低
4
位控制的
T0
,高
4
位控制的是
T1.
下面逐
个讲解每个位的配置详情,因为
T0
和
T1
使用方式是一样的,这里以
T0
为例进行讲解。
定时器计数器一共有
4
种工作方式,由

最低0.47元/天 解锁文章
1906

被折叠的 条评论
为什么被折叠?



