#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
全站搜索