你的位置: 首页> 家电弱电> 单片机

单片机看门狗程序

2016-10-30 15:13:18 |人围观 | 评论:

*此程序实现单片机"看门狗"WDT的功能*/

#include "p18f458.h"

unsigned long i;

/*系统初始化子程序*/
void initial()
{
TRISD = 0X00; /*D口设为输出*/
}

/*延时子程序*/
void DELAY()
{
for (i=19999;--i;)
continue;
}

/*主程序*/
main ()
{
initial(); /*初始化,设定看门狗的相关寄存器*/
PORTD = 0X00; /*D口送00H,发光二极管亮*/
DELAY(); /*给予一定时间的延时*/
PORTD = 0XFF; /*D口送FFH,发光二极管灭*/
while(1)
{
;
} /*死循环,等待看门狗溢出复位*/
}

-------------------汇编语言版本的单片机看门狗程序----------------
;此程序实现"看门狗"WDT的功能
;此单片机看门狗由http://www.diangon.com独家提供
LIST P=18F458
INCLUDE "P18F458.INC"

DEYH EQU 0X20
DEYL EQU DEYH+1

ORG 0X00
GOTO MAIN
ORG 0X30

;*************初始化子程序*****************
INITIAL
CLRF TRISD ;D口设为输出
RETURN

;**************延时子程序**************************
DELAY
MOVLW 0XFF
MOVWF DEYH
AGAIN1
MOVLW 0XFF
MOVWF DEYL
AGAIN2
DECFSZ DEYL
GOTO AGAIN2
DECFSZ DEYH
GOTO AGAIN1
NOP
RETURN

;************单片机看门狗主程序****************************
MAIN NOP
CALL INITIAL ;系统初始化
MOVLW 0X00
MOVWF PORTD ;D口送00H,发光二极管亮
CALL DELAY
MOVLW 0XFF
MOVWF PORTD ;D口送FFH,发光二极管灭
LOOP
GOTO LOOP ;死循环,等待看门狗复位
END





标签: