Página 1 de 1

Watchdog 89s52

MensagemEnviado: 07 Fev 2007 14:03
por lucflores
Boa Tarde Mestres

Alguem poderia me explicar como faço para ativar o watchdog do 89s52 sei que tem que ficar caregando o timer de vez em quando para ela não estourar, mas onde carrego este valor inicialmente? e qual o nome do registrador para ele ser carregado? isto funciona mesmo, isto é, se o programa falhar ou trancar a mcu se reseta como se fosse um reset fisico?

Obrigado

MensagemEnviado: 07 Fev 2007 15:10
por Ander_sil
Para habilitar o módulo watchdog é necessário escrever 0x1E e 0xE1 no registrador WDTRST(localizado no endereço 0xA6).

O contador do watchdog do 89s é composto de um contador de 14 bits e que quando habilitado é incrementado a cada ciclo da cpu.

Para reiniciar a contagem do watchdog deve-se escrever em periodos inferiores ao estouro da contagem os valores 0x1E e 0xE1 no registrador WDTRST.

exemplo de uma função para resetar o WDT.

caso o registrador não esteja declarado no header.h, declarar dessa maneira.
sfr WDTRST = 0xA6

// Função
reset_wdt()
{
WDTRST = 0x1E;
WDTRST = 0xE1;
}

ai no programa antes de estourar o wdt tem que chamar a função.
main
{
// seu código
reset_wdt();
}

até+

MensagemEnviado: 07 Fev 2007 15:38
por lucflores
vou dar uma testada, obrigado por enquantu....

MensagemEnviado: 09 Fev 2007 07:10
por lucflores
Pessoal, Uma dúvida, alguem saberia me dizer se o timer do watchdog estourar por algum motivo e a mcu resetar. Esse reset tem o mesmo efeito de um reset fisico, ou seja ir la e apertar o botão de reset????

Valeu...

MensagemEnviado: 09 Fev 2007 07:32
por zachary
lucflores escreveu:Pessoal, Uma dúvida, alguem saberia me dizer se o timer do watchdog estourar por algum motivo e a mcu resetar. Esse reset tem o mesmo efeito de um reset fisico, ou seja ir la e apertar o botão de reset????

Valeu...


Sim Luc, quando o WDT "estourar" vai ocorrer um RESET físico, isto é, o pino de RST vai receber um pulso com duração de 98 TOSC (TOSC= 1/freq. oscilador).

Era essa sua dúvida?

Abraço,

Zac

MensagemEnviado: 25 Fev 2007 20:50
por lucflores
É, era essa a minha dúvida sim, valeu.... não tinha respondido antes pois sabe como é né. Férias, carnaval, hehehe, mas obrigado...