MSP430——timerA

来源:互联网 发布:川岛和津实 知乎 编辑:程序博客网 时间:2024/06/09 18:39

  一、TimerA的4种工作模式

1.停止模式
用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。
2.增计数模式
捕获/比较寄存器CCR0用作Timer_A增计数模式的周期寄存器。因为CCR0为16位寄存器,所以该模式适用于定时器周期小于65536的连续计数情况。计数器TAR可以增计数到CCR0的值,当计数值与CCR0的值相等(或定时器值大于CCR0的值)时,定时器复位并从0开始重新计数。
3连续计数模式
在需要65536个时钟周期的定时应用场合常用连续计数模式。定时器从当前值计数到0FFFH后,又从0开始重新计数。
连续计数模式的典型应用:
产生多个独立的时序信号。利用捕获比较寄存器捕获各种其它外部事件发生的定时器数据。
产生多个定时信号。
4.增/减计数模式
需要生成对称波形的情况经常可以使用增/减计数模式。该模式下,定时器先增计数到CCR0的值,然后反向减计数到0。计数周期仍由CCR0定义,它是CCR0计数器值的2倍。



CLR——定时器清除。当该位为1时,定时器复位。

TAIE——定时器中断允许位。0:禁止定时器溢出中断;1:允许定时器溢出中断。

TAIFG——定时器溢出标志位。

增计数模式:当定时器由CCR0计数到0时,TAIFG置位;
连续计数模式:当定时器由0FFFFH计数到0时,TAIFG置位;

增/减计数模式:当定时器由CCR0减计数到0时,TAIFG置位。