[资料分享] 关于MSP430的定时器A

Aguilera   2018-6-11 22:17 楼主
16位TIMER_A的主要功能模块包括:  。一个可连续增计数至预定值并返回0的计数器,也可是其停止.。软件可选择的时钟源.


。 选定的时钟源可作1,2,4和8分频.


。5个捕获/比较寄存器.每个都有独立的捕获事件,即硬件和软件控制的2个捕获信号.


。5个输出模块,支持脉宽调制需要.


    定时器操作:  模式控制          模式                具体操作


    MC1   MC0        (TATCL寄存器4~5位)


    0        0          停止              定时器暂停


    0        1          增计数           定时器增计数到等于比较寄存器0的值


    1        0          连续              定时器连续增计数


    1        1          增/减计数        定时器增计数到等于比较寄存器0的值,然后减计数到0


  输入分频控制位(TACTL6~7)


      ID1   ID2         分频              说明  


      0     0           PASS            输入信号直通定时器


      0     1             /2              输入信号2分频


      1     0             /4              输入信号8分频


  定时器的时钟源:


     SSEL2 SSEL1 SSEL0 输入信号      说明


      0       0       0       TACLK      用特定的外部引脚信号


      0       0       1        ACL        用辅助时钟ACLK


      0        1      0        MCLK      用系统时钟MCLK


      0        1      1        INCLK     见器件说明


      1       X       X        ----       保留


     捕获模式:    位于控制字CCTLX中的模式位CAPX的置位将选择捕获模式。 捕获模式用于时间时间的精确定位,她可以用在速度计算或时间测量中.若在选定的输入引脚上发生选定脉冲触发沿.则定时器计数的值将被复制到捕获寄存器CCRX中.完成捕获后。控制字CCTLX中的中断标志CCIFGX置位;。如果通用中断允许位GIE和相应的中断标志位CCIEX置位,则产生中断请求.复位表示在下一次捕获完成前捕获数据已被读取.如果捕获数据还未读取时第二次捕获数据已锁存,则寄存器CCTLX中的溢出位COVX置位,检查这一位可以使程序从失去同步状态中恢复.需要用软件来复位COVX.


CCRX_Int_hand     ...                  ;中断处理


     ...


     ...


MOV   &CCRX,RAM_Buffer


BIT    #COV,&CCTLX             ;BIT指令对各标志位的影响:N最高位为时置位,Z结果为0时置位,


          ;C结果非零时置位;V复位


JNZ  Overflow_Hand              ;JNZ非0跳转,溢出出错处理,否则正常处理


     ....


     ....


    RETI


Overflow_Hand                BIC    #COV,&CCTLX
;复位捕捉溢出标志,恢复同步


     ....


     ....


    RETI


       定时器暂停时捕获应该停止.顺序应是先停止捕获功能,再停止定时器计数.捕获功能重新开始时,顺序应先开始捕获功能,再开始定时器计数.         


     比较模式: 如果控制字CCTLX中CAPX复位,则选择比较模式.这时所有的捕获硬件停止工作.如果定时器计数值等于比较寄存器X中的值,那么。位于控制字CCTLX中的中断标志CCIFX置位.。如果GIE和CCIEX置位,则产生中断请求.。EQUX信号输出到输出单元OUTX中.根据选定输出模式,信号可以是置位、复位、或将输出OUTX翻转(如果OUTMODX>0)当定时器值大于或者等于CCR0的值时,EUQ0信号为真;当定时器值等于相应的CCR1~CCR4的值时,EQU1~EQU4信号为真.


     输出单元:输出单元支持PWM或者DAC应用


  OUTMODX    模式        说明


   000       输出模式    OUTX位的数据即OUTX信号


   001       置位        比较信号EQUX使OUTX信号置位


   010    PWM翻转/置位   比较信号EQUX使OUTX信号翻转,EQU0使OUTX信号复位


   011   PWM置位/复位    比较信号EQUX使OUTX信号置位,EQU0使OUTX信号复位


   100       翻转        比较信号EQUX使OUTX翻转


   101       复位        比较信号EQUX使OUTX复位


   110     PWM翻转/复位  比较信号EQUX使OUTX信号翻转,EQU0使OUTX信号置位


   111     PWM复位/置位  比较信号EQUX使OUTX信号复位,EQU0使OUTX信号置位


   输出从现有的电平开始,而与选定的模式无关.1.增计数模式:当定时器增计数到CCRX以及由CCR0计数到0时,OUTX信号根据选定的输出模式发生变化.2.连续计数模式:当定时器计数到CCRX和计数到CCR0时,OUTX信号根据选定的输出模式发生变化.3.增/减计数模式:当定时器增计数到CCRX和减计数到CCRX时,OUTX信号根据选定的输出模式发生改变.

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复