单片机MSP430入门-理论⑤--定时器模块-WDT看门狗

上期大概给大家汇总介绍了,在MSP430环境下的时钟寄存器BCSCTL2,他每个位的意义以及他们的设置方法

基于msp430定时提醒器电路原理图(单片机MSP430入门-理论⑤--定时器模块-WDT看门狗)(1)

本期将重点介绍下,定时器模块,这次先讲下看门狗定时器和他的寄存器,设置等

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

基于msp430定时提醒器电路原理图(单片机MSP430入门-理论⑤--定时器模块-WDT看门狗)(2)

2.1 看门狗定时器的原理是,当发生故障的时间,满足规定的定时时间后,产生一个非屏蔽的中断,这个中断会使系统复位

在实际调试中,调试程序或预计程序在某一段可能会出现瞬时的时序错误(如外部电路干扰),这时候选用看门狗定时器中断,可以避免程序进入死循环炮飞,简单点说,就是当前工序把看门狗打开,程序正常时下个工序会关闭看门狗,但是这时候如果有干扰,那下个工序就不会触发,程序跑飞,这时候看门狗的时间到了就会触发系统重启

2.2 WSTCTL是一个16位寄存器,其高字节为口令,口令为5AH,当对他写入操作时,必须写口令才能操作,否则会直接导致系统复位

看门狗的定时时间,是通过WDTCTL的低三位(SSEL,IS1,IS0)选择,当系统时钟为1MHz时,最大可设置为1秒钟,最小可设置为64微秒,

基于msp430定时提醒器电路原理图(单片机MSP430入门-理论⑤--定时器模块-WDT看门狗)(3)

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为时钟禁止输入,计数停止

,