您的位置 首页 产品

MSP430F149看门狗及其使用

1、概述看门狗有两个作用:1、可以防止程序跑飞,若程序跑飞可让单片机复位;2、可作为间隔时间发生器,在中断中进行定期刷新显示、读取数

1、概述

看门狗有两个效果:1、能够避免程序跑飞,若程序跑飞可让单片机复位;2、可作为距离时间发生器,在中止中进行守时改写显现、读取数据等对外设的操作。

2、设置

不需求看门狗时可用软件封闭,设置:WDTCTL = WDTPW + WDTHOLD;

为避免误触发操作WDTCTL需求先写入WDTPW。

作为距离守时器时具体操作可见MSP430F149.H文件中的宏界说。

3、相关寄存器

1、WDTCTL Watchdog Timer Register

WDTPW Bits

15-8

Watchdog timer password. Always read as 069h. Must be written as 05Ah, or

a PUC will be generated.

WDTHOLD Bit 7 Watchdog timer hold. This bit stops the watchdog timer. Setting WDTHOLD= 1 when the WDT is not in use conserves power.

0 Watchdog timer is not stopped

1 Watchdog timer is stopped

WDTTMSEL Bit 4 Watchdog timer mode select

0 Watchdog mode

1 Interval timer mode

WDTCNTCL Bit 3 Watchdog timer counter clear. Setting WDTCNTCL = 1 clears the count value

to 0000h. WDTCNTCL is automatically reset.

0 No action

1 WDTCNT = 0000h

2、IE1 Interrupt Enable Register 1

WDTIE Bit 0 Watchdog timer interrupt enable. This bit enables the WDTIFG interrupt for

interval timer mode. It is not necessary to set this bit for watchdog mode.

Because other bits in IE1 may be used for other modules, it is recommended

to set or clear this bit using BIS.B or BIC.B instructions, rather than MOV.B

or CLR.B instructions.

0 Interrupt not enabled

1 Interrupt enabled

4、规划实例

4.1 使用WDT守时形式在中止函数中守时操作外设

阐明:#define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL)

void main(void)

{

WDTCTL = WDT_MDLY_32; // Set Watchdog Timer interval to ~30ms

IE1 |= WDTIE; // Enable WDT interrupt

P2DIR |= 0x01; // Set P1.0 to output direction

_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt

}

// Watchdog Timer interrupt service routine

#pragma vector=WDT_VECTOR

__interrupt void watchdog_timer(void)

{

P2OUT ^= 0x01; // Toggle P1.0 using exclusive-OR

}

4.2 使用WDT守时形式延时

WDTCTL = WDT_ADLY_1000;//延时1000ms

//延时2s

for(i = 0; i < 3; i++)

{

IFG1 &= ~WDTIFG;

while(!(IFG1 & WDTIFG));

}

IFG1 &= ~WDTIFG;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/257277.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部