看门狗程序流程

[复制链接]
2788|5
 楼主| tianli1980 发表于 2012-4-1 00:20 | 显示全部楼层 |阅读模式
本帖最后由 tianli1980 于 2012-4-1 00:21 编辑

看门狗运行过程如图所示,看门狗的原理是在规定的时间送出喂狗信号,没有喂狗信号,则硬件看门狗将发出复位信号,单片机开始复位。

C 语言程序及讲解
#define <reg52.h>
sfr WDTRST = 0xA6;
#define uchar unsigned char
Main()
   {
    WDTRST=0x1E;
    WDTRST=0xE1;                                   //初始化看门狗
   ;                                                //主程序中循环开始
   ;                                                //16ms不到
While (1)
    {
     WDTRST=0x1E;
     WDTRST=0xE1;                                  //喂狗指令
    }
   ;                                                //主程序结尾部分
   ;
   }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
梅花望青竹 发表于 2012-4-1 10:06 | 显示全部楼层
看门狗中断好像有两种用法,楼主讲解的只是其中的一种吧,还是中断函数可以调用的!
tianyu01 发表于 2012-4-1 18:36 | 显示全部楼层
我觉得函数还是不错滴
tianyu01 发表于 2012-4-1 18:36 | 显示全部楼层
个人观点哦
 楼主| tianli1980 发表于 2012-4-1 22:28 | 显示全部楼层
补充:汇编语言程序及讲解

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
拿起书本 发表于 2012-4-2 22:15 | 显示全部楼层
呵呵,看来主人是个细致的人,两种方法都发上了,:handshake
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

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