//************************************************************
//---------------XiAn AnaDig IC Inc.(XAD-IC)------------------
//-----------------C File Standard--------------------
//************************************************************
//#Author      :
//#Case name   : WDT
//#Function    : 上电后PC2先翻转数次，当PB1和PB2同时输入低电平时，执行喂狗指令，芯片不会复位，
//               当PB1和PB2未同时输入低电平时，不执行喂狗指令，芯片复位，PC2反复翻转
//************************************************************
#include "AD18F06A.h"
#include <stdio.h>


__CONFIG(1,_FINTOSC_DIV1_1L   & _LVREN_OFF_1L      & _LVR24V_1L                                                                                   );
__CONFIG(2,_FLASH_CP7_OFF_2L  & _FLASH_CP6_OFF_2L  & _FLASH_CP5_OFF_2L   & _FLASH_CP4_OFF_2L   & _FLASH_CP3_OFF_2L
         & _FLASH_CP2_OFF_2L  & _FLASH_CP1_OFF_2L  & _FLASH_CP0_OFF_2L   & _CRYLEN_OFF_2L      & _CRYHEN_OFF_2L
  	     & _IDIS_ON_2L        & _CKSUM_OFF_2L      & _CBP_OFF_2L         & _RESETE_OFF_2L      & _RSEL_LOW_2L     & _STV_ON_2L              	         );
__CONFIG(3,_DBG_OFF_3L        & _PSUT_8_3L         & _FCPU_4T_3L         & _WDTEN_ON_3L       & _TWDT_110_3L                                            );
__CONFIG(4,_OSCM_HIRC_16M_4L  & _ENVDDL_OFF_4L     & _EEDIS_OFF_4L       & _FLDIS_OFF_4L       & _FCMEN_OFF_4L    & _IESO_OFF_4L&  _DBGS_IOSEL_1_4L      );


void main(void)
{
	unsigned char i;

    TRISC2 = 0;              //PC2为输出模式
    TRISB1 = 1;              //PB1为输入模式
    TRISB2 = 1;              //PB2为输入模式

    PC2 = 1;                 //PC2输出高电平
    PB1PU = 0;               //PB1开启内部上拉
    PB2PU  = 0;              //PB2开启内部上拉

    for(i = 0;i<128;i++)
    {
	    PC2 = ~PC2;          //PC2翻转数次
    }

	while(1)
	{
	    PC2  = 0;          //PC2口输出低电平
        if(PINB1 == 0  && PINB2 == 0)
	    {
           CLRWDT();         //喂狗
	    }
	}
}



//高优先级中断服务函数
void interrupt ISR_h (void)
{

}


//低优先级中断服务函数
void interrupt low_priority ISR_l (void)
{

}
