/*此程序实现单片机”看门狗”WDT的功能*/
#include”p18f458.h”
unsignedlongi;
/*系统初始化子程序*/
voidinitial()
{
TRISD = 0X00;/*D口设为输出*/
}
/*延时子程序*/
voidDELAY()
{
for(i=19999;–i;)
continue;
}
/*主程序*/
main ()
{
initial();/*初始化,设定看门狗的相关寄存器*/
PORTD = 0X00;/*D口送00H,发光二极管亮*/
DELAY();/*给予一定时间的延时*/
PORTD = 0XFF;/*D口送FFH,发光二极管灭*/
while(1)
{
;
}/*死循环,等待看门狗溢出复位*/
}
——————-汇编语言版本的单片机看门狗程序—————-
;此程序实现”看门狗”WDT的功能
;此单片机看门狗由http://www.51hei.com独家提供
LISTP=18F458
INCLUDE”P18F458.INC”
DEYHEQU0X20
DEYLEQUDEYH+1
ORG0X00
GOTOMAIN
ORG0X30
;*************初始化子程序*****************
INITIAL
CLRFTRISD;D口设为输出
RETURN
;**************延时子程序**************************
DELAY
MOVLW0XFF
MOVWFDEYH
AGAIN1
MOVLW0XFF
MOVWFDEYL
AGAIN2
DECFSZDEYL
GOTOAGAIN2
DECFSZDEYH
GOTOAGAIN1
NOP
RETURN
;************单片机看门狗主程序****************************
MAINNOP
CALLINITIAL;系统初始化
MOVLW0X00
MOVWFPORTD;D口送00H,发光二极管亮
CALLDELAY
MOVLW0XFF
MOVWFPORTD;D口送FFH,发光二极管灭
LOOP
GOTOLOOP;死循环,等待看门狗复位
END
最新评论