看门狗经验分享

[复制链接]
1669|12
 楼主| wyjie 发表于 2013-11-3 14:58 | 显示全部楼层 |阅读模式
看门狗运行过程如图所示,看门狗的原理是在规定的时间送出喂狗信号,没有喂狗信号,则硬件看门狗将发出复位信号,单片机开始复位。


 楼主| wyjie 发表于 2013-11-3 14:58 | 显示全部楼层
C 语言程序及讲解
#define <reg52.h>
sfr WDTRST = 0xA6;
#define uchar unsigned char
Main()
    {
     WDTRST=0x1E;
     WDTRST=0xE1;                                   //初始化看门狗
    ;                                                //主程序中循环开始
    ;                                                //16ms不到
While (1)
     {
      WDTRST=0x1E;
     WDTRST=0xE1;                                  //喂狗指令
     }
    ;                                                //主程序结尾部分
    ;
    }
 楼主| wyjie 发表于 2013-11-3 15:00 | 显示全部楼层
看门狗中断好像有两种用法,楼主讲解的只是其中的一种吧,还是中断函数可以调用的!
jlyuan 发表于 2013-11-3 15:01 | 显示全部楼层
我觉得函数还是不错滴
 楼主| wyjie 发表于 2013-11-3 15:02 | 显示全部楼层
补充:汇编语言程序及讲解

AJMP MAIN

ORG  0050H
MAIN:;                                      ;初始化看门狗,启动看门狗
MOV 0A6H,#01EH ;先送1E
MOV0A6H,#0E1H ;后送E1
;                                        ;以下为主程序中循环程序
START:

ACALL WDT ;调用复位看门狗子程序        ;主程序中16ms不到,调用喂狗程序

AJMP START                             ;主程序结尾

WDT: MOV  0A6H, #01EH ;先送1E               ;喂狗子程序
MOV  0A6H, #0E1H ;后送E1
RET
yszong 发表于 2013-11-3 15:03 | 显示全部楼层
呵呵,看来主人是个细致的人,两种方法都发上了,
 楼主| wyjie 发表于 2013-11-3 15:04 | 显示全部楼层
哈哈,多谢大家鼓励
 楼主| wyjie 发表于 2013-11-3 15:05 | 显示全部楼层
结贴了,周末愉快~~~
linfeng24 发表于 2013-11-4 00:17 | 显示全部楼层
周末愉快,谢谢楼主
dirtwillfly 发表于 2013-11-4 08:46 | 显示全部楼层
谢谢分享
joing1999 发表于 2013-11-4 11:51 | 显示全部楼层
周末愉快,谢谢楼主
bluecup 发表于 2013-11-4 15:36 | 显示全部楼层
咱这么多年了,好像真没养过狗,也过来了
dong_abc 发表于 2013-11-4 19:11 | 显示全部楼层
bluecup 发表于 2013-11-4 15:36
咱这么多年了,好像真没养过狗,也过来了

:handshake,也很少用狗。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部