- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430F149的定时器A操作
MSP430F149的定时器A定时操作
定时器A的图解
图1 定时器A图解
定时器A的四种计数模式。
停止模式。
增计数模式。(产生两个中断标志)
也就是当计数到跟TACCR0一样的时候,就返回0,重新计数。当计数到TACCR0的同时产生一个中断标志CCIFG,而当计数器溢出返回零的同时又同时产生一个中断标志TAIFG。如图:
图2 增计数模式的波形图
连续计数模式。(产生一个中断标志)
也就是计数器将直接计数到计数器所能计数的最大值0FFFFH之后重新返回零,再次计数。返回零的同时产生一个TAIFG中断标志。如图:
增减计数模式。(产生两个中断标志)
也就是当计数器计数到跟TACCR0一样的之后,然后从TACCR0开始又减少,直到为零,然后又开始增。当计数跟TACCT0一样的时候产生一个中断标志CCIFG,当减到为零的时候又产生一个中断标志TAIFG。如图:
注意:当重新写入TACCR0数值的时候,当新的数据大于原来的数值的时候,计数器将计数到新的数值才重新返回零;当新的数据小于原来的数值的时候,计数器将直接返回零重新计数。
定时器A的寄存器。
TACTL
TASSELx:计时器A的时钟来源选择。
IDx:计时器A时钟的分频选择。
MCx:计时器A四种计数模式选择。
TACLR:计数器A的TAR计数清零,同时也可以清楚时钟分频器和计数方向。
TAIE:TAIFG中断标志使能。在捕获模式下可以打开所有CCIFG的中断使能。
TAIFG:中断标志位。
TAR
计数器的计数寄存器。
TACCTLx
CMx:捕获模式选择。00:关闭;01:上升沿捕获;10:下降沿捕获;11:上升下降沿捕获。
CCISx:捕获引脚选择。
SCS:选择捕获电平方式。0异步时钟;1同步时钟。
SCCI:锁存同步时钟输入端。也就是锁存EQUx的值,以供CPU读取。
CAP:捕获模式和比较模式选择。0比较;1捕获。
OUTMODx:输出模式选择。
CCIE:CCIFG中断标志使能。
CCI:捕获当时输入信号的值。以供CPU读取。
OUT:当前输出的镜像,以供CPU读取。
COV:捕获溢出位,当第一次捕获的时候没有将寄存器里面的数据读走,就又发生了一次捕获,所有溢出。(必须由软件清零)
CCIFG:中断标志位。
定时器A定时操作。
设置定时器A的时钟来源和分频比。
清零计数器。
设置TACCR0的初始值。
打开中断使能。(CCIFG的中断使能)
打开总中断使能。
设置计时器A的计数模式。
#include
#define uint unsigned int
void main WDTCTL WDTPW+WDTHOLD;//关闭看门狗 TACTL TASSEL1+TACLR;
//设置计时器A使用子系统时钟,并清零计数器。 CCR0 16324; //设置计时器A的初始值 CCTL0| CCIE; //设置计时器中断使能 TACTL| CM0; //设置计时器A为增计数模式,并开始计数 _EINT ;//打开总中断使能; while 1 LPM3;//进入低功耗模式3 #pragma vector TIMERA0_VECTOR //CCIFG的中断入口地址是TIMERA0_VECTOR。
//TAIFG的中断入口地址是TIMERA1_VECTOR。同时也是TACCR1和//TACCTR2的CCIFG的入口地址。
__interrupt void Timer_A void //中断服务程序
文档评论(0)