看门狗在大程序中的使用中的使用还是非常有必要的
文章图片
【PIC 1508 WDT使用】
文章图片
文章图片
#pragma config WDTE = ON// Watchdog Timer Enable (WDT enabled)
#define _XTAL_FREQ 16000000 //16M
void main()
{
OSCCON = 0x78;
//16M
__delay_ms(20);
ANSELCbits.ANSC6 = 0;
TRISCbits.TRISC6 = 0;
PORTCbits.RC6 = 1;
//输出端口
ANSELAbits.ANSA4 = 0;
TRISAbits.TRISA4 = 1;
//输入端口
PORTCbits.RC6 = 0;
__delay_ms(200);
PORTCbits.RC6 = 1;
__delay_ms(200);
PORTCbits.RC6 = 0;
__delay_ms(200);
PORTCbits.RC6 = 1;
__delay_ms(200);
PORTCbits.RC6 = 0;
WDTCONbits.WDTPS = 12;
//4s
WDTCONbits.SWDTEN = 1;
while(1)
{
if(RA4 == 0)
{
__delay_ms(10);
if(RA4 == 0)
{
CLRWDT();
}
}
}
}
若在4s内没有对看门狗进行喂狗,则程序复位,RC6连接LED以提示
推荐阅读
- pic
- PIC定时器中断
- PIC 1508 TIM2的定时器使用
- 浅析PIC单片机定时器
- PIC 1508 TIM1的定时器门控的理解
- PIC 1508 EEPROM
- PIC 1508 TIM0的定时器使用
- PIC 1508 DAC使用
- PIC 1508 TIM1的定时器中断使用