定时器与计数器

本文介绍了定时器和计数器的工作原理及其在计算机系统中的应用。定时器本质上是一种特殊的计数器,通过脉冲计数实现时间测量。文章详细解释了减法计数器和加法计数器在定时器中的应用,并通过实例展示了STM32单片机中的具体实现。
摘要由CSDN通过智能技术生成

       定时器和计数器在计算机系统中,尤其是工业控制系统中有着重要的作用。定时器和计数器的差别仅限于用途不同。定时器从本质上来讲其实就是一个计数器,每收到一个脉冲,计数器就会加/减1,如果脉冲的周期固定,那么脉冲数和时间成正比,这样就可以根据脉冲的固定周期将计数器作为计数器使用,比如单片机系统里的晶振产生的脉冲,就是一个脉冲周期固定的脉冲,根据脉冲的数量就可以计算时间;如果脉冲信号是无规律的,那么这个脉冲信号理想状况下可以作为一个计数器。

       1、以减法计数器为核心部件的定时器/计数器

        和大多数人喜欢使用倒计时的方法一样,大多数简单定时器/计数器的核心部件为减法计数器。减法计数器的特点是用一个计数值作为基数,然后每接收到一个脉冲就减1,当计数器的数值为0时就按事先设定的逻辑去触发事件,这就是简单定时器/计数器中断的思路。

       下图就是一个以计数器为核心部件的定时器/计数器的原理图

      预置计数基数通过总线存入预置数锁存器并送去减法器,当gate信号为“1”,时,减法计时器对脉冲信号clk进行减法计数。当减法计数器的值被减到0时,在out输出计数结束或计数时间时间到信号。

      2、以加法计数器为核心部件的定时器/计数器

      加法计数器应用更加广泛,所以在比较复杂的计数器里面一般都会使用加法计数器作为核心部件,简单的像51单片机只有一种加法计数模式,复杂点的像stm32单片机不仅有向计数,还有向下计数,还有双边计数等多种模式,都离不开加法器。下图是以加法计数器为核心部件的定时器/计数器

        为了能用一个计数器产生多个计数结果或者定时时间到信号,这种计数器/定时器通常会配置了多个预置数寄存器,但是多个锁存器中只有一个用来为计数器提供预置计数,而其他的只是对计数器的计数值进行监视,所以这些寄存器通常被叫做配置锁存器(寄存器)。在计数器收到脉冲进行计数的同时,当计数器的值与某个配置锁存器的预置数相等时,会产生一个计数到或者定时时间到的信号。由于有多个配置锁存器所以在计数过程中可能会产生多个时间节点,以使程序在这多个节点上实现多个功能。

       为了使程序可以随时捕获计数器计数过程中的数据,还可以配备若干个捕获寄存器,这些捕获寄存器可以随时捕获计数器在某个时刻的计数值。

       最后贴上一张STM32单片机的比较/捕获1的主电路帮助理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值