基于msp430定时提醒器电路原理图(单片机MSP430入门-理论⑤--定时器模块-WDT看门狗)
单片机MSP430入门-理论⑤--定时器模块-WDT看门狗
上期大概给大家汇总介绍了,在MSP430环境下的时钟寄存器BCSCTL2,他每个位的意义以及他们的设置方法
本期将重点介绍下,定时器模块,这次先讲下看门狗定时器和他的寄存器,设置等
1.0 定义
1.1 定时器:
MSP430的定时器大概有4种,看门狗定时器,基本定时器,定时器A,定时器B,
1.2 基本定时器功能:
基本定时,支持软件和各种外围模块工作在低频率,低功耗条件下
1.3 定时器A功能:
基本定时,支持同时进行的多种时序控制,多个捕获,比较功能和多种输出波形(PWM),可以以硬件方式支持串行通信
1.4 定时器B功能:
基本定时,功能基本跟定时器A差不多,但比较定时器A更灵活,功能更强大
1.5 看门口定时器功能:
看门狗定时器是一个特殊的定时器,它的功能是当程序运行发生故障时,能使系统按一定时序重启。这个模块还有定时器功能,通过CNTCL来控制TMSET位,使WDTCNT从0开始计数,然后按照定时选定的时间周期产生中断请求,当在定时器模式时,WDTCTL中断标志位在定时间到时置位,因该模式下定时器中断源是单源的,当得到中断服务时其WDTCTL标志位复位
2.0 看门狗定时器WDT
2.1 看门狗定时器的原理是,当发生故障的时间,满足规定的定时时间后,产生一个非屏蔽的中断,这个中断会使系统复位
在实际调试中,调试程序或预计程序在某一段可能会出现瞬时的时序错误(如外部电路干扰),这时候选用看门狗定时器中断,可以避免程序进入死循环炮飞,简单点说,就是当前工序把看门狗打开,程序正常时下个工序会关闭看门狗,但是这时候如果有干扰,那下个工序就不会触发,程序跑飞,这时候看门狗的时间到了就会触发系统重启
2.2 WSTCTL是一个16位寄存器,其高字节为口令,口令为5AH,当对他写入操作时,必须写口令才能操作,否则会直接导致系统复位
看门狗的定时时间,是通过WDTCTL的低三位(SSEL,IS1,IS0)选择,当系统时钟为1MHz时,最大可设置为1秒钟,最小可设置为64微秒,
ISx(bit1-0): 用来设置看门狗的定时时间,00为看门狗时钟源/32768(01对应8192,10对应512,11对应64)
SSEL(bit2):这个简单,选择时钟源,0为SMCLK,1为ACLK,
CNTCL:当该位为1时,清除计数值,并使WDTCNT自动复位
TMSEL: 工作模式选择,0为看门狗模式,1为定时器模式
NMI : 选择RST/NMI引脚功能,在PUC后被复位,0为RST/NMI引脚为复位端,1为RST/NMI引脚为边沿触发的非屏蔽中断输入
NMIES : 选择中断的边沿触发方式,0为上升沿触发NMI中断,1为下降沿触发NMI中断
HOLD:停止看门狗定时器工作,降低功耗,0为WDT功能激活,1为时钟禁止输入,计数停止
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com