Escribí un sencillo programa de temporizador de vigilancia. Primero enciendo un LED, y quiero ver si el cronómetro del perro guardián reinicia el chip y el LED se apaga (no le di al perro guardián).
#include <reg51.h>
sfr WDTRST = 0xa6;
main()
{
P1 = ~0x01; //Light up the LED
//Initialize the watch dog timer
WDTRST = 0x1e;
WDTRST = 0xe1;
}
Uso Proteus para simular, pero la luz LED está encendida (y no se apagará después) después de ejecutar el programa, no puedo verificar si el perro guardián reinició el chip.
El circuito es exactamente igual que éste :
(Debido a algún error no puedo subir la imagen)
¿Me perdí algo importante? ¿O el reinicio no haría que el LED se apagara?