- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章;5.3.1 定时器/计数器概述;16位定时器/计数器;MSP430单片机定时器A的特点:;Timer_A的结构;;5.2 Timer_A的主计数器模块结构和原理;定时器模块(Timer Block);00: /1
01: /2
10: /4
11: /8;TASSELx时钟源选择位,可选外部时钟、辅助时钟、子系统时钟或外部时钟取反的信号输入作为时钟源
快捷宏定义:TASSEL_0, TASSEL_1, TASSEL_2, TASSEL_3
IDx预分频系数,可对时钟源进行1、2、4、8分频
快捷宏定义:ID_0,ID_1,ID_2,ID_3
通过时钟源和分频系数两组控制位,可以设置定时计数时钟源。在低功耗应用以及需要长时间定时或计时的情况下,可以用ACLK作为作为时钟,加上预分频,最长的定时计时周期可达16s。在高分辨率短时间应用之中,可以选择SMCLK作为时钟源。
若选择外部时钟TACLK,定时器可以作为计数器,累积从TACLK管脚上输入的脉冲,上升沿计数。若选择TACLK取反作为时钟源,TACLK的下降沿计数。
;;定时器 A 的四种计数方式(Count Mode);Stop mode : the timer is halted
当不使用Timer时,
应将Timer配置为Stop mode ,
这样可以降低芯片的功耗;;在增计数模式下,每个时钟周期TAR加1。在TAR值超过TACCR0寄存器(捕获比较模块0模式值)时自动清零,同时将Timer_A溢出标志位TAIFG置1。如果TA中断被允许,还会引发中断。改变TACCR0寄存器可以改变定是周期,且不存在初值装载问题,非常适合产生周期定时中断,只要改变TACCR0的值即可随意调整定时周期。
定时器工作于增计数模式时,如果改变TACCR0的值,当新周期大于旧周期时,定时器会在等于旧周期之前计数到新周期;当新周期小于旧周期时,定时器的时钟相位会影响到定时器相应新周期的情况。时钟为高电平时改变TACCR0的值,则定时器会在下一个时钟上升沿回0,如果低电平时改变TACCR0,则定时器接受新周期并在回0之前,就行增加一个时钟周期。;图: 增计数模式下重置计数周期;例1.在MSP430单片机中,为Timer_A配置时钟源及工作模式,使Timer_A在无需CPU的干预下,每隔1.3125s溢出一次(假设SMCLK=MCLK=1.048576MHz,ACLK=32.768kHz)。;例2:利用定时器定时功能,实现P1.0方波输出。;Continuous Mode 最大锯齿波方式;;在连续计数模式下,利用捕获比较寄存器捕获其他外部事件发生的定??数据,可以用来生产多个独立的时序信号;也可以用过改变TACCRx的值,产生独立时间间隔,输出一定频率的信号。
例如,可以在相应的比较寄存器TACCRx上加上一个时间差,不断增加TACCRx的值,使定时器每到一定时间间隔都能与TACCRx的内容相等,从而使中断标志置位,向CPU申请中断。这个时间差是当前时刻到下一次中断发生时刻所经历的时间(即相应TACCRx 中的值)。;例3:ACLK=32768kHz,MCLK=SMCLK=DCOCLK=800kHz,定时器A工作于连续计数模式,利用CCR0中断实现P3.1端口输出方波,同时利用定时器A溢出中断在P3.2端口输出方波。;//Timer0A0 中断服务程序区
#pragma vector=TIMER0_A0_VECTOR__interrupt void Timer_A0 (void){P3OUT ^= 0x02; //P3.1取反输出
TA0CCR0 += 20000; //重新载入CCR0捕获/比较数据寄存器数据}
//Timer0A1 中断服务程序区
#pragma vector=TIMER0_A1_VECTOR__interrupt void Timer_A1 (void){switch(TAIV) {case 0: break;
case 2: break;
case 4: break;
case 6: break;
case 8: break;
case 10: break;
case 12: break;
case 14: P3OUT ^= 0x04; //溢出中断,P3.2取反输出
break;
default: break; }}
;Up/Down Mode 三角波方式;;例4:ACLK=32768kHz,MCLK=SMCLK=DCOCLK=800kHz,定时器A工作于增减计数模式,利用CCR0中断实现P3.1端口输出方波,同时利用定时器A溢出中断在P3.2端口输出方波。;//Timr0A0 中断服务程序区
#pragma v
您可能关注的文档
最近下载
- 部编版四年级语文上册期末复习1-8单元看拼音写词语(带答案).docx VIP
- T∕ZZB 1243-2019 66kV~220kV交流电缆用交联聚乙烯绝缘料.docx VIP
- 文化遗产数字化采集与数据库建设.docx VIP
- 部编版小学语文5上1-8单元(全册)看拼音写词语(巩固复习).pdf VIP
- 隔音声屏障工程设计方案(3篇).docx VIP
- 07MR403 城市道路-护坡.pdf VIP
- BCAT_0001—2018建设工程人工材料设备机械数据分类标准及编码规则 2018 207页.pdf VIP
- 食品安全事故应急处置培训.docx VIP
- (最新2025)三方抵账协议范本工程款抵房三方协议范本6篇.docx
- 老年患者营养评估与干预.pptx VIP
文档评论(0)