4.定时器TA
一、时钟源
1、时钟源:ACLK/SMCLK外部TACLK/INCLK
2、分频:1/2/4/8当(注:TACLR置位时,分频器复位)
二、计数模式
通过设置MCx可以设置定时器的计数模式
学习经验总结" />
1、停止模式:停止计数
2、单调增模式:定时器循环地从0增加到TACCR0值
周期:TACCR0
CCIFG:Timer计到TACCR0值时触发
TAIFG:Timer计到0时触发
3、连续模式:定时器循环从0连续增加到0xFFFF
周期:0x10000
TAIFG:Timer计到0时触发
4、增减模式:定时器增计数到TACCR0再从TACCR0减计数到0
周期:TACCR0值的2倍
CCIFG:Timer计到TACCR0值时触发
TAIFG:Timer计到0时触发
三、定时器ATACCRx比较模式(用于输出和产生定时中断)
1、设置:CAP=0选择比较
2、输出信号:比较模式用于选择PWM输出信号或在特定的时间间隔中断。当TAR计数
到TACCRx的值时:
a、中断标志CCIFG=1;
b、内部信号EQUx=1;
c、EQUx根据输出模式来影响输出信号
d、输入信号CCI锁存到SCCI
每个捕获比较模块包含一个输出单元。输出单元用于产生如PWM这样的信号。每个输出单元可以根据
EQU0和EQUx产生8种模式的信号。
3、中断
TimerA有2个中断向量:
a、TACCR0CCIFG的TACCR0中断向量
b、所有其他CCIFG和TAIFG的TAIV中断向量
在捕获模式下,当一个定时器的值捕获到相应的TACCRx寄存器时,CCIFG标志置位。
在比较模式下,如果TAR计数到相应的TACCRx值时,CCIFG标志置位。软件可以清除或置
位任何一个CCIFG标志。当响应的CCIE和GIE置位时,CCIFG标志就会产生一个中断。
c、TACCR0CCIFG标志拥有定时器A的最高中断优先级,并有一个专用的中断向量,
当进入TACCR0中断后,TACCR0CCIFG标志自动复位。
d、TACCR1CCIFG,TACCR2CCIFG,和TAIFG标志共用一个中断向量。中断向量寄存器TAIV
用于确定它们中的哪个要求响应中断。最高优先级的中断在TAIV寄存器中产生一个数字(见
寄存器说明),这个数字是规定的数字,可以在程序中识别并自动进入相应的子程序。禁止定时
器A中断不会影响TAIV的值。
对TAIV的读写会自动复位最高优先级的挂起中断标志。如果另一个中断标志置位,在结
束原先的中断响应后会,该中断响应立即发生。例如,当中断服务子程序访问TAIV时,如果
TACCR1和TACCR2CCIFG标志位置位,TACCR1CCIFG自动复位。在中断服务子程序的RETI
命令执行后,TACCR2CCIFG标志会产生另一个中断。
四、TimerA的捕获模式
1、设置:CAP=1选择捕获,CCISx位设置捕获的信号源,CMx位选择捕获的沿,上升,下降,或上升下降都
捕获。
2、如果一个第二次捕获在第一次捕获的值被读取之前发生,捕获比较寄存器就会产生一个溢出逻辑,COV
位在此时置位,如图8-11,COV位必须软件清除。
五、寄存器
1、TACTL:TimerA控制寄存器
学习经验总结" />
TASSELx:TA时钟源选择
0:TACLK;1:ACLK;2:SMCLK;3:INCLK
IDx:输入分频,分时钟源分频再输入TimerA
0/1/2/3:1/2/4/8分频
MCx:模式控制
0:停止定时器;1:增模式,定时器计数到TACCR0;
2:连续模式,定时器计数到0xFFFF;3:增减模式,0->TACCR0->0
TACLR:定时器清零位。该位置位会复位TAR,时钟分频和计数方向。TACLR位会自动复位并读出值为0
TAIE:TA中断允许。该位允许TAIFG中断请求
0:中断禁止;1:中断允许
TAIFG:TA中断标记
0:无中断挂起;1:中断挂起
2、TAR:TimerA计数寄存器
学习经验总结" />
3、TACCTLx:捕获比较控制寄存器
学习经验总结" />
CMx:捕获模式
0:不捕获;1:上升沿捕获;2:下降沿捕获;3:上升和下降沿都捕获
CCISx:捕获比较选择,该位选择TACCRx的输入信号
0:CCIxA;1:CCIxB;2:GND;3:VCC
SCS:同步捕获源,该位用于将捕获通信和时钟同步
0:异步捕获;1:同步捕获
SCCI:同步的捕获/比较输入,所选择的CCI输入信号由EQUx信号锁存,并可通过该位读取
CAP:捕获模式
0:比较模式;1:捕获模式
OUTMODx:输出模式位。由于在模式2,3,6和7下EQUx=EQU0,因此这些模式对TACCR0无效
0:OUT位的值;1:置位;2:翻转/复位;3:置位/复位
4:翻转;5:复位;6:翻转/置位;7:复位/置位
CCIE:捕获比较中断允许位,该位允许相应的CCIFG标志中断请求
0:中断禁止;1:中断允许
CCI:捕获比较输入。所选择的输入信号可以通过该位读取
OUT:对于输出模式0,该位直接控制输出状态
0:输出低电平;1:输出高电平
COV:捕获溢出位。该位表示一个捕获溢出发生。COV必须由软件复位。
0:没有捕获溢出发生;1:有捕获溢出发生
CCIFG:捕获比较中断标志位
0:没有中断挂起;1:有中断挂起
4、TAIV:TimerA中断向量寄存器
学习经验总结" />
寄存器的值:
0:无中断挂起;
2:捕获比较1TACCR1CCIFG;
4:捕获比较2TACCR2CCIFG;
0xA:定时器溢出TAIFG