看门狗溢出实验

/*-----------------------------------------------

  内容:通过按键模拟看门狗溢出
------------------------------------------------*/
#include

sfr  WDTRST  =   0xA6;                 

sbit key = P3^1;         

/*------------------------------------------------
                    喂狗
------------------------------------------------*/
void Rst_Watchdog( void )
{
    WDTRST  = 0x1E; //先赋值1E 然后赋值E1
    WDTRST  = 0xE1;
}

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main( void )
{
    int i;
                                // 设置看门狗时间为1个时钟循环后
    Rst_Watchdog();
                                 //关看门狗一个时钟循环
    for( i = 0; i < 500; i++)
    {
        Rst_Watchdog();                
    }
    P1=0x00;
    while(!key)                 //按下按键不松开,表示程序一直在按键处循环,
                                //并用LED显示0x55
    {
     P1=0x55;                     //模拟出错 正常情况应该一直显示LED,
                                //但是加看门狗之后不间断复位,倒是LED闪烁
    }
}
 

 

你可能感兴趣的:(单片机)