aerkate

MSP430 TimerA OutPut Unint(原创)

0
阅读(3420)

公司组织去烧烤,九溪十八滩,好清澈的水,好多茶树,当然少不了好多人。吃饱喝足开始玩纸牌,每人三张牌比较大小的那种,总得有个赢头,赌资每人十颗花生。除了需要动用些许的欺诈伎俩,主要是伺机而动了,在没有找到机会的时候还是收敛点为好。

 

昨天好晚了实在不想写了,今晚补上最后一点,关于定时器A的输出单元吧。在定时器A的每一个捕获/比较模块都包含了一个输出单元。这个输出单元主要用来配合比较、捕获模式来产生想PWM波这种输出信号。依据EQU0和EQUx信号,每个输出单元都有8种操作模式,而这些模式的选择是由控制位OUTMODx位定义的。

 

 

OUTMODx

模式

说明

000

输出

输出信号OUTx由OUTx位定义。当OUTx位更新时,OUTx信号立刻更新

001

置位

当定时器计数到TACCRx值时,输出置位,并保持置位直到定时器复位或选择了另一种输出模式

010

翻转/复位

当定时器计数到TACCRx值时,输出翻转。当定时器计数到TACCR0值时,输出复位

011

置位/复位

当定时器计数到TACCRx值时,输出置位。当定时器计数到TACCR0值时,输出复位

100

翻转

当定时器计数到TACCRx值时,输出翻转。输出信号的周期是定时器周期的两倍

101

复位

当定时器计数到TACCRx值时,输出复位。并保持复位直到选择了另一个输出模式

110

翻转/置位

当定时器计数到TACCRx值时,输出翻转。当定时器计数到TACCR0值时,输出置位

111

复位/置位

当定时器计数到TACCRx值时,输出复位。当定时器计数到TACCR0值时,输出置位

 

 

对于所有模式来说,OUTx信号随着定时器时钟的上升沿而改变。输出模式2,3,6和7对输出单元0无效,因为这些模式下EQUx=EQU0。

 

下面分别给出定时器处于增模式、连续模式和增减模式下,各种输出模式的时序图。

 

定时器处于增模式。

此模式下,当定时器计数到TACCRx的值或者从TACCR0到0时,OUTx信号根据输出模式改变。

定时器工作在连续模式下,输出信号OUTx在当定时器计数到TACCRx和TACCR0值时,根据输出模式而变动。

在增/减模式下,输出信号在定时器的值在任一计数方向上出现了等于TACCRx和TACCR0的值时,根据选择的输出模式变动。

 

 那么当在不同的输出模式之间切换时候,我们需要注意,除非是切换到模式0,不然OUTMODx的一个位必须在过度时保持置位,不然的话会因为或非门解码输出模式0而导致出现脉冲干扰。为了避免这种情况的发生,我们可以模式7作为过度状态来实现输出模式间的安全切换。