2173|0

9

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MSP430--Timer A [复制链接]

1.TIMER A的寄存器

TIMER A的控制寄存器:TACTL

操作注意:一般要停止定时器,才进行修改TACTL的操作。

SSEL1,SSEL0:选择时钟源。

ID1,ID0:选择分频比。

MC1,MC0:选择计数模式。00:停止模式。01:增计数模式。10:连续计数模式。11:增减计数模式。

CLR:定时器清除位。

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

TAIFG:定时器溢出标志位。计数到0时置位。


TAR 计数器:这个单元是执行计数的单元,是计数器的主题。内容可读可写。

CCTLx 捕获比较控制寄存器。在POR信号后全部复位。

CAPTMOD1-0选择捕获模式。00:禁止捕获。01:上升沿捕获。10:下降沿捕获。11:上升下降均捕获。

CCIS1-0:定义捕获时间的输入源。00:CCIxA,01:CCIxB, 10:GNE,11:VCC。

SCS:选择补货信号与定时时钟的同步异步关系。0:异步捕获。1:同步捕获。

SCCIx:比较相等信号EQUx将选中的捕获比较输入信号CCIx进行锁存,然后可以从SCCIx读出。

CAP:选择比较模式。0:比较模式。1:捕获模式。

OUTMODx选择输出模式。

CCIEx:捕获比较模块中断允许位。

CCIx:捕获比较模块的输入信号。由CCIS1-0选择的输入信号可以通过该位读出。

OUT:输出信号。

COV:捕获溢出标志。

CCIFGx:捕获比较中断标志。


CCRx 捕获比较寄存器。在捕获方式时,当满足捕获条件,硬件将自动把TAR计数器中的数据写入该寄存器。在比较模式时,定时器TAR的值等于寄存器CCRx时就发生中断,即把CCIFGx置位。


TAIV:中断向量寄存器。TIMER A模块有两个中断向量,一个单独分配给捕获比较寄存器CCR0,另一个座位公用中断向量用于定时器与其他的捕获比较寄存器。之所以使CCR0中断具有最高的优先级,是因为CCR0可以用于定义增计数和增减计数模式的周期,因此他需要最快速的服务。CCIFG0在中断服务之后可以自动复位。

其他捕获比较单元和定时器公用一个中断向量,因此是多源中断,对应的中断标志CCIFG1-CCIFG2,TAIFG1在读中断向量字TAIV后,自动复位。如果不访问TAIV寄存器则不能自动复位要软件清除。


TAIV定义了不同的值分别对应不同的中断源。

  1. void main(void)  
  2. {  
  3. WDTCTL = WDTPW + WDTHOLD;  
  4. FLL_CTL0 |= XCAP14PF;  
  5. TACTL = TASSEL1 + TACLR +TAIE;//SMCLK,清除TAR,允许定时器溢出中断。  
  6. P5DIR |= 0X02;  
  7. TACTL |= MC1;//TIMER A连续计数模式  
  8. _EINT();  
  9. for(;;)  
  10. {  
  11.   _BIS_SR(CPUOFF);  
  12.   _NOP();  
  13. }  
  14. }  
  15. #pragma vector=TIMERA1_VECTOR  
  16. _interrupt void Timer_A(void)  
  17. {  
  18.   switch(TAIV)  
  19.   {  
  20.     case 2: break;  
  21.     case 4: break;  
  22.     case 10: P5OUT ^=0X02;//定时溢出发生时取反P5.1.产生PWM方波。  
  23.              break;
复制代码

2.定时器的工作模式

停止模式:只是用来让定时器暂停,并不是发生复位。恢复后会回到之前的工作模式和对应的值。

增计数模式:捕获比较寄存器CCR0用作TIMER A增计数模式的周期寄存器。当TAR增计数到CCR0的值时,定时器复位并从0开始重新计数。CCR0为16位寄存器,所以该模式适用于定时周期小于0FFFFH的连续计数情况。当定时器的值到达CCRO,即设置CCIFG0表示捕获比较中断发生。而当定时器从CCR0计数回到0时,设置定时溢出标志位TAIFG为1.


 
点赞 关注
个人签名

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表