- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MSPF的定时器计数器..ppt
MCLK可以通过编程选择3个振荡器(LFXT1、XT2、DCO)之一,或它们1/2/4/8分频后作为其信号源;SMCLK可以选择2个振荡器(XT2、DCO),或它们1/2/4/8分频后作为其信号源;ACLK只能由LFXT1时钟信号或1/2/4/8分频后作为其信号源。在 MSP430F249单片机的大部分内部设备中,都能选择上述3种时钟信号MCLK、SMCLK和ACLK作为时钟源并对上述时钟信号再进行1/2/4/8分频,应用极其灵活。 5.1 看门狗定时器 看门狗定时器WDT实际上是一个特殊的定时器,其主要功能是当单片机软件出现故障(例如外部干扰引起单片机程序跑飞或陷入死循环)时,能使系统重新启动。看门狗定时器的工作原理就是发生故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统复位。当不使用看门狗功能时,看门狗定时器可以作为内部定时器使用。 为了说明看门狗模式的工作原理,我们来分析下列程序片段: void main(void) { WDTCTL=WDTPW+WDTHOLD;//停止看门狗 初始化部分 while(1) { WDTCTL=WDT_ARST_250;//看门狗模式,定时250ms 程序主体 …… } } 程序说明:在while循环中,设置看门狗时间间隔为250ms(时钟源为ACLK),同时计数器清零,然后执行程序主体,如此反复执行。如果程序主体执行时间加上所有中断程序执行时间之和小于设定的看门狗时间间隔250ms,那么程序总是正常进行的;如果系统受到干扰,程序跑飞或陷入死循环,这时在250ms时间内执行不到WDTCTL=WDT_ARST_250指令,从而看门狗计数器没有被清零,看门狗计数器溢出WDTIFG标志置位,产生PUC复位信号,系统重新启动,这样系统就脱离了死循环状态。 PUC复位后WDTCTL=0x6900 WDTPW 看门狗定时器访问安全口令,读取时总为0x69,写入时必须为0x5A,否则产生一个PUC信号。 WDTHOLD 看门狗暂停位,0 看门狗定时器正常工作;1 看门狗定时器停止 WDTNMIES NMI边沿选择,0上升沿触发NMI中断;1下降沿触发NMI中断 WDTNMIE 复位引脚和NMI选择,0 RST/NMI引脚为复位端;1 RST/NMI引脚为边沿触发的非屏蔽中断输入。 WDTTMSEL 看门狗定时器模式选择,0看门狗模式;1 定时器模式 WDTCNTCL 计数器清零控制位,0 无作用;1 计数器清零,即WDTCNT=0 WDTSSEL 时钟源选择位,0 SMCLK; 1 ACLK WDTISx 时间间隔选择位,x=0、1 实例5-1 看门狗定时器的应用 任务要求:利用看门狗定时器产生设定的时间间隔中断,在中断服务程序中切换LED灯亮1s灭1s。 分析说明:看门狗定时器的时钟源只有SMCLK和ACLK两种,4种分频值,只能实现几种简单的定时间隔中断。 #include msp430f249.h void main(void) { WDTCTL = WDT_ADLY_1000; // 看门狗定时时间间隔为1s IE1 |= WDTIE; // 允许WDT中断 P1DIR |= 0x01; // P1.0输出 _BIS_SR(LPM3_bits + GIE); // 进入LPM3低功耗模式,总中断允许 } #pragma vector=WDT_VECTOR __interrupt void watchdog_timer(void) //看门狗中断服务程序 { P1OUT ^= 0x01; // P1.0 取反 } 5.2 定时器A Msp430f249单片机的定时器A是具有3个捕获/比较寄存器的16位定时器/计数器。定时器A可以用来实现计数、延时、信号频率测量、信号触发检测、脉冲脉宽信号测量。定时器A还可以实现下列功能: (1)PWM信号输出功能:通过设置TA的工作模式,结合CCR0、CCR1或CCR2计数,直接从CCR0、CCR1或CCR2中子模块的OUT.x端输出。 (2)Slope AD转换功能:利用定时器A与比较器A结合设计成斜边数模转换器。 (3)实现软USART功能:利用CCR0子模块中的捕获输入功能,结合TAR实现通用串行异步通讯功能(USART)。 (4)ADC12模块的采样信号:利用定时器的TAR或CCR0实现OUT.x输出得到ADC12模块所需要的采样触发信号。 TACLR 定时器A清除位,该位置位将计数器TAR清零、分频系数清零、计数模式置为增计数模式。TACLR 由硬件自动复位,其读出始终为 0。定时器在
文档评论(0)