MSP430定时器A的计数模式的简单介绍(会中文就能看懂)

首先明白一个概念:定时器A == Timer_A == TA

之后的大部分定时器内容如TACCR0,TACTL等,都指的是定时器A的寄存器

然后,TIMER_A有四种计数模式,下面将一一解释

(为了方便理解,模式顺序与中文手册有些许不同,请谅解)

目录

一、停止模式

二、连续计数模式

 三、增计数模式

四、 增减计数模式

一、停止模式

  直白点就是个暂停,定时器A之前工作于什么模式,进入停止模式后只是计数暂停了,退出这个模式后会继续按照之前的工作模式工作,举个例子,你要从1数到100,数到50时暂停(进入停止模式),计数在50保持不变,然后继续(退出停止模式),你就继续按照之前的计划数数,从50再开始数。没什么特别的,用到的场景也不多。

二、连续计数模式

此模式是增计数模式的一种,即从0数到0XFFFF(65535),然后数到0XFFFF后,重新归零,再进行计数

ea35586fb5c947c2ab26b977b6961773.png

 在这个模式里面,我们需要认识一个置位标志:TAIFG

  这个标志在计数到0XFFFF后重置到0的过程中会产生。

cd557e9287664d33b7b726b6170e1cab.png

  如图,可以看见,0XFFFF->0时,TAIFG置位(变1),所以这个标志位可以用来告诉你已经计数65535了,比如说,循环检测TAIFG的值,如果检测到了TAIFG的值变1,就进行巴拉巴拉之类的操作。

 三、增计数模式

dcffc87538434d8cb9adad69cebfc004.png

  增计数可以说是定时器A四种计数模式中最重要的一种了,它与上文所说的连续计数很相像,唯一的区别是连续计数会计数到65535,而增计数模式会计数到CCR0,而CCR0的值是可以自己设定的,要注意的是CCR0必须要小于65535。当计数值等于TACCR0(或者大于的时候),定时器计数复位并重新从零开始计数。

 97e27c9fba20493f8d6c89b31fc59ef8.png

  与连续计数模式不同,增计数有两个标志位,分别是TAIFG与CCIFG。他们的置位操作并不相同。图中很明确说明了TAIFG与CCIFG的置位条件,这里就不多费笔墨了。

  需要注意的一点是,TAIFG置位指的是从0数到CCR0(CCR0是你自己设置的数),这时候的实际计数次数是CCR0+1次,如CCR0=3999,那么计数4000次是TAIFG才会置位。同样的,CCIFG是数3999次置位(0--CCR0-1)。

下面是一些关于重置计数周期的相关说明:(所以为什么不直接设置其他定时器的增计数呢?)

 9456d9b167664522b8838ec800831efd.png

四、 增减计数模式

此模式与三中讲的增计数很相似,唯一的区别就是数到CCRO会往下数而不是置0

e735c9fa552b4f89862af126852c9fa2.png

 置位如下:

718cbd4c644144ef8255d1bc52a759eb.png

   以上就是全部的内容了,可能看起来很简单(实际上就是很简单),看明白了就会了,当然,对初学者可能有些难以理解,建议多看些相关的文章,想明白了你就会发现这其实很简单。

最后,本文如有错误欢迎指正。

参考文献:《MSP430中文手册(参考版)》

                                                         ---真的是参考版,内容不能说乱吧,只能说是一塌糊涂

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值