使用定时器实现秒表功能

一、什么是定时计数

有一个水杯,这个杯子滴入 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 种工作方式,由
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值