專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

單片機看門狗程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2008年07月16日   【字體:

/*此程序?qū)崿F(xiàn)單片機"看門狗"WDT的功能*/

#include "p18f458.h"

unsigned long i;

/*系統(tǒng)初始化子程序*/
void initial()
{
 TRISD = 0X00;    /*D口設(shè)為輸出*/
}

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

/*主程序*/
main ()
{
 initial();     /*初始化,設(shè)定看門狗的相關(guān)寄存器*/
 PORTD = 0X00;   /*D口送00H,發(fā)光二極管亮*/
 DELAY();    /*給予一定時間的延時*/
 PORTD = 0XFF;   /*D口送FFH,發(fā)光二極管滅*/
 while(1)
 {
 ;
 }      /*死循環(huán),等待看門狗溢出復(fù)位*/

 

-------------------匯編語言版本的單片機看門狗程序----------------
;此程序?qū)崿F(xiàn)"看門狗"WDT的功能
;此單片機看門狗由http://www.torrancerestoration.com獨家提供
 LIST  P=18F458
 INCLUDE  "P18F458.INC"

 DEYH  EQU  0X20
 DEYL  EQU  DEYH+1

 ORG   0X00
 GOTO  MAIN
 ORG   0X30

;*************初始化子程序*****************
INITIAL
 CLRF  TRISD    ;D口設(shè)為輸出
 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    ;系統(tǒng)初始化
 MOVLW  0X00
 MOVWF  PORTD    ;D口送00H,發(fā)光二極管亮
 CALL  DELAY
 MOVLW  0XFF
 MOVWF  PORTD    ;D口送FFH,發(fā)光二極管滅
LOOP
 GOTO  LOOP    ;死循環(huán),等待看門狗復(fù)位
 END
 

關(guān)閉窗口