纯金属的笔记 https://bbs.21ic.com/?390439 [收藏] [复制] [RSS]

日志

【原创】51单片机看门狗实验,是否真的有效

已有 879 次阅读2010-3-8 04:35 |系统分类:单片机| 51

今天在AT  80S52板子上做了看门狗实验。


我这个板子在群脉冲2.6KV下会被打死机,而不会复位。自然想到了51内部自带的WDT功能。在


main函数中初始化调用


void  watchdog_ini(void)
{
WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗。
}


在T0定时器2ms中断中清狗


void CLR_WDT()
{
 WDTRST=0x1E;
WDTRST=0xE1;//喂狗
 }


====================================


先验证了下看门狗是否起作用。初始化后而不在中断中喂狗。------程序死机。


而在中断中喂狗的程序能正常工作。说明WDT已经按我的意愿工作了。


在群脉冲上调到2.6KV,跟以前同样的实验条件,我的板子还是被打死机,并且没有复位。看门狗形同虚设。


我分析:WDT用的是晶振12分频后的CPU频率,群脉冲把分频电路也打死了引起WDT不能计数。也有可能是晶振起振电路死机引起。



 


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)