首页 P89V51RD2_WDT

P89V51RD2_WDT

举报
开通vip

P89V51RD2_WDT P89V51RD2 单片机看门狗的使用方法 P89V51RD2具有一个可编程的看门狗定时器(WDT),可用于系统故障安全保护,防止软件死锁和自 动恢复。WDT在 CPU落入软件运行失控的情况下可作为一种恢复的方法。P89V51RD2有两个特殊功能寄 存器 WDTC(地址 0xC0)和 WDTD(地址 0x85)用于看门狗功能,有关这两个寄存器的详细注解参见 《P89V51RD2器件手册》。 WDT的溢出周期可由下式计算得出: T =(255 – WDTD)﹡344064*1/fOSC,...

P89V51RD2_WDT
P89V51RD2 单片机看门狗的使用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 P89V51RD2具有一个可编程的看门狗定时器(WDT),可用于系统故障安全保护,防止软件死锁和自 动恢复。WDT在 CPU落入软件运行失控的情况下可作为一种恢复的方法。P89V51RD2有两个特殊功能寄 存器 WDTC(地址 0xC0)和 WDTD(地址 0x85)用于看门狗功能,有关这两个寄存器的详细注解参见 《P89V51RD2器件 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 》。 WDT的溢出周期可由下式计算得出: T =(255 – WDTD)﹡344064*1/fOSC,此处WDTD为WDTD寄存器的装载值,fOSC是系统时钟。每经 过 344, 064个振荡周期,WDT寄存器加 1。 当向WDTD装载 0值时看门狗获得最大的溢出周期 7.90s;当向WDTD装载 0xFE时看门狗获得最小 的溢出周期 31.11ms;表 1 给出当 fOSC为 11.0592M时不同溢出周期对应的 WDTD装载值的简表。若使用 其它的晶振或想得到其它的溢出周期可根据公式自行计算。 表 1 P89V51RD2看门狗溢出周期取样 WDTD装载值 看门狗溢出周期 0xFE 31.11ms 0xDD 1.0s 0xBD 2.0s 0x9D 3.0s 0x7D 4.0s 0x5D 5.0s 0x3D 6.0s 0x1D 7.0s 0x01 7.90s P89V51RD2看门狗的启动和关闭通过WDTC寄存器的 SWDT位实现,该位被置位启动看门狗,该位 被清零时关闭看门狗。要使能WDT复位,用户必须将WDTC寄存器的WDRE位置 1。当看门狗使能且发 生溢出时,它将会在 RST脚产生一个复位脉冲执行复位。为避免看门狗溢出产生复位,用户需要定期执行 “喂狗”操作。执行“喂狗”操作时,在向WDTD写入重装值后,必须立即执行看门狗定时器刷新(置位 WDT)才能将数据成功写入WDTD寄存器中,否则数据不能被写入。 以下实验例程使用了 WDT 的定时和复位功能,系统在上电复位后 LED2 点亮一下即熄灭,接下来实 现 LED1闪动控制。若按下 KEY键,则启动看门狗定时器并打开看门狗复位输出使能,若屏蔽掉“喂狗子 程序”,4s 后可观察到系统复位(LED2 被点亮一下);若不屏蔽“喂狗子程序”则会看到 LED1 一直在闪 动而 LED2一直熄灭,说明程序一直在正常运行而未发生看门狗复位。 /***************************************************************** *文件名: WDT_test.c *版权: 周立功单片机研究所 *功能: P89V51RD2看门狗 C语言演示程序 *日期: 2004/6/28 ******************************************************************/ #include sfr WDTC = 0xC0; // 看门狗定时器控制寄存器 sfr WDTD = 0x85; // 看门狗定时数据/重装数据控制寄存器 - 1 - sbit KEY = P3^3; sbit LED1= P1^0; sbit LED2= P1^1; main() { int j, i; char flag = 0; LED2 = 0; // 检测程序是否重启指示灯 for(i=0;i<6000;i++); LED2 = 1; do{ LED1 = ~LED1; // 检查程序是否运行指示灯 if(KEY==0){ WDTC = 0x09; // 启动看门狗定时器,使能看门狗定时器复位 WDTD = 0x80; // 装入重装载值 WDTC = WDTC|0x02; // 执行装载指令 flag = 1; } if(flag){ // 定时喂狗操作 if(i>=5){ // 喂狗子程序 WDTD = 0x80; // 装入重载值 WDTC = WDTC|0x02; // 执行装载指令 i=0; } } for(j=0;j<4000;j++); // 延时 i++; }while(1); } /***************************************************************** *文件名: WDT_test.asm *版权: 周立功单片机研究所 *功能: P89V51RD2看门狗汇编演示程序 *日期: 2004/6/28 ******************************************************************/ $NOMOD51 $INCLUDE(REG51.INC) WDTC DATA 0C0H ;定义WDTC看门狗定时器控制寄存器的地址 WDTD DATA 085H ;定义WDTD看门狗定时器数据/重装寄存器地址 - 2 - KEY BIT P3.3 ;定义按键端口 LED1 BIT P1.0 ;定义指示灯端口 LED2 BIT P1.1 ORG 0000H AJMP MAIN ORG 0100H MAIN: CPL LED2 CALL DELAY CPL LED2 CIRCLE: CPL LED1 CALL DELAY ; JB KEY,CIRCLE ;有键按下后则等待看门狗复位,无键按下使 LED1闪烁 JB KEY,FEED ;调用喂狗子程序 AJMP WDTCON ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ; 启动看门狗定时器分支程序 ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = WDTCON: MOV A,#09H MOV WDTC,A ;启动看门狗定时器 MOV A,#80H MOV WDTD,A ;写入定时初值 ORL WDTC,#02H ;执行定时器刷新 AJMP CIRCLE ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ; WDT看门狗喂狗分支程序 ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FEED: MOV A,#80H MOV WDTD,A ;写入定时初值 ORL WDTC,#02H ;执行定时器刷新 AJMP CIRCLE ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ; 延时子程序 ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DELAY: MOV R7,#05H ;延时子程序 DELAY_1:MOV R6,#00H DELAY_2:MOV R5,#00H DJNZ R5,$ DJNZ R6,DELAY_2 DJNZ R7,DELAY_1 RET END 参考文献:《P89V51RD2器件手册》,http://www.zlgmcu.com - 3 -
本文档为【P89V51RD2_WDT】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_719745
暂无简介~
格式:pdf
大小:150KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2013-07-16
浏览量:32