看门狗的使用及妙用

看门狗的使用及妙用

ID:37664511

大小:204.36 KB

页数:14页

时间:2019-05-28

看门狗的使用及妙用_第1页
看门狗的使用及妙用_第2页
看门狗的使用及妙用_第3页
看门狗的使用及妙用_第4页
看门狗的使用及妙用_第5页
资源描述:

《看门狗的使用及妙用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、广州周立功单片机发展有限公司Tel:(020)3873097638730977Fax:38730925Http://www.zlgmcu.comP87LPC76X内部WDT的妙用摘要本文讲述了WDT分别为3种不同用途的的实现方法(1)用看门狗复位防止程序非正常运行(2)用看门狗中断定时将CPU从Powerdown模式中唤醒(3)用看门狗作为一个定时器(CPU时钟)1.概述P87LPC76X的看门狗定时器由一个完全独立的振荡器来控制我们可在软件中控制其溢出时间一旦它被启动可以定时清除定时装置以防止其

2、溢出当不作为看门狗定时器时它可作为一个内部的定时器来使用这时可以选择它的时钟源是MCU时钟还是RC振荡器时钟它的溢出还可产生中断2.用看门狗复位防止程序跑飞此时WDTE位为1看门狗定时器溢出时产生复位复位后WDCON寄存器中WDRUN位和WDCLK位被自动地分别设置为1和0且不可更改程序运行中WDCON.2-0不能被更改即每次复位后只能对WDCON操作一次本演示板沿用76Xdemo板应用了76Xdemo板中的4个按键和5个LEDP87LPC76X演示板中LED及按键的连接原理如图1LED_WDRU

3、N灯闪烁时表示程序运行正常且可以通过按键来控制程序的运行点亮不闪烁时表示进入了死循环只有复位才能退出熄灭时为进入低功耗模式LED_WDCLK灯点亮时表示选择CPU时钟作为看门狗时钟熄灭时为选择看门狗内部RC振荡器此时它被强行设为内部RC振荡器时钟所以为熄灭状态LED_WDS2-0为看门狗溢出周期指示灯全亮时表示WDCON.2-0为111即溢出时间为2.1s全灭时WDCON.2-0为000依次类推第一次复位后WDCON.2-0为111KEY_DIVM键分频系数初值为0每按一次分频系数增1为4时被重置

4、为0KEY_LPD键按此键进入低功耗KEY_CLK键按此键进入死循环此死循环中安排有喂狗子程序在死循环中分频系数每循环1次增1即CPU时钟频率越来越低每喂一次狗所执行的指令就越来越少最终由看门狗溢出复位并初始化看门狗溢出周期为2.1sKEY_WDT键按此键进入死循环看门狗溢出复位复位后看门狗溢出周期WDCON.2-0减1图1-1-广州周立功单片机发展有限公司Tel:(020)3873097638730977Fax:38730925Http://www.zlgmcu.com3.看门狗作为一个定时器此

5、时WDTE位为0看门狗定时器溢出时产生中断WDCON寄存器可以修改这时可以通过WDRUN位控制它的运行和停止WDCLK可以选择它的时钟源程序运行中WDCON.2-0可以被不断更改此时4个按键和5个LED如图1所示功能说明如下LED_WDRUN灯闪烁时表示程序运行正常且可以通过按键来控制程序的运行熄灭时为进入低功耗模式LED_WDCLK灯点亮时表示选择CPU时钟作为看门狗时钟熄灭时为选择看门狗内部RC振荡器此时它可以被KEY_CLK键切换LED_WDS2-0为看门狗作为定时器时的溢出周期指示灯全闪烁

6、时表示WDCON.2-0为111全不闪时WDCON.2-0为000依次类推第一次复位后WDCON.2-0为111当看门狗运行时它们不断地闪烁且闪烁的的周期为看门狗溢出周期的2倍当看门狗停止时不闪烁可以通过KEY_WDT键修改其溢出周期值从而改变其闪烁的个数和快慢KEY_DIVM键分频系数初值为0每按一次分频系数增1为2时清零WDRUN位看门狗定时器停止运行LED_WDS2-0不再闪烁为4时被重置为0并置位WDRUN位看门狗继续运行KEY_LPD键按此键进入低功耗这时WDCLK被设为看门狗内部RC振

7、荡器时钟使能看门狗中断和键盘中断当看门狗中断时定时将CPU从Power-down模式中唤醒当看门狗WDCON的WDRUN位被清0时看门狗停止运行所以不能产生中断来唤醒CPU或者当看门狗WDCON的WDCLK位为1时为CPU时钟低功耗时停振亦不能唤醒CPU此时只可以按此键来唤醒之KEY_CLK键按此键将取反看门狗的时钟选择并通过LED_WDCLK灯显示之KEY_WDT键按此键将循环递减选择看门狗的溢出周期并通过LED_WDS2-0灯指示4.演示操作说明及现象WDTE位为1时即允许看门狗复位首先程序运

8、行后可以看到LED循环点亮3次进行自检然后LED_WDRUN灯闪烁LED_WDS2-0全部点亮LED_WDCLK熄灭这说明此时WDCON的WDRUN位被强拉为1WDCLK被强制选择为0即看门狗内部RC振荡器时钟溢出周期初始为111我们通过按4个功能键来进入不同的演示按下KEY_WDT后LED_WDRUN灯立即点亮而不闪烁持续大约2.1s后复位与上次复位后相比LED_WDS2-0变为110再按此键可以看到到复位之前的持续时间缩短这是由于溢出周期变短了的缘故继续按键情形类似当按了几次后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。