Moderadores: 51, guest2003, Renie, gpenga
/**********************************************************
FUNCAO: WatchdogReset()
PARAMETROS: NENHUM
RETORNO: NENHUM
DESCRICAO: Resetar o Watchdog do 8051
**********************************************************/
void WatchdogReset( void )
{
WDTPRG |= 0x07;
WDTRST = 0x1E;
WDTRST = 0xE1;
}
/***********************************************************
FUNCAO: InitWatchdog()
PARAMETROS: NENHUM
RETORNO: NENHUM
DESCRICAO: Inicializa o Watchdog, chama a função WatchdogReset()
***********************************************************/
void InitWatchdog( void )
{
WatchdogReset();
}
/***********************************************************
FUNCAO: ResetaCPU()
PARAMETROS: NENHUM
RETORNO: NENHUM
DESCRICAO: Reseta a CPU
***********************************************************/
void ResetaCPU( void )
{
stop_timer0();
while(1);
}
void main(void)
{
InitWatchdog();
EA = 1;
while(1)
{
if(INT0 == 1)
{
ResetaCPU();
}
WatchdogReset();
}
}
/**********************************************************
Cria os registradores do Watchdog
**********************************************************/
sfr WDTRST = 0xA6;
sfr WDTPRG = 0xA7;
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante