*此程序实现单片机"看门狗"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.gdzrlj.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 |