hola estimados amigos, pues nuevamente estoy con dudas, a pesar de que se que el wdt, se usa para resetear el pic, por si se cuelga este, pues solo lo he podido poner a resetearse cada 2304MS, y bueno la verdad es que quiero que despues de cada retardo, si se colgara, pues que de inmediato se reiniciara, pero no lo he logrado, asi que recurro austedes, para que me den ideas de como se lograria, les adjunto mi codigo, gracias de antemano y estamos en contacto.
#include <12F675.h>
#FUSES WDT //No Watch Dog Timer
//#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin enabled
#FUSES NOPUT //No Power Up Timer
#FUSES BROWNOUT //Reset when brownout detected
#use delay(clock=4000000)
int cont = 1;
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
setup_wdt(WDT_2304MS);
output_low(PIN_A0);
output_low(PIN_A1);
output_low(PIN_A2);
output_low(PIN_A4);
output_low(PIN_A5);
delay_ms(100);
// TODO: USER CODE!!
do
{
restart_wdt(); // aca se resetea el picccccccccccccccc
if (cont == 1){
if(!input(PIN_A3)){ //¿Se ha pulsado boton Configuracion?
while(!input(PIN_A3)){} //SI -> elimina rebotes pulsador...
cont = 3;
delay_ms(1000);
output_high(PIN_A0); //encendido de pantalla 1
delay_ms(10000); //?????? se supone que despues de este retardo, si se colgara el pic, se tendria que resetear por el wdt
output_high(PIN_A1); // encendido de pantalla 2
delay_ms(10000);//3000
output_high(PIN_A2); //encendido de regulador y control de pantalla
delay_ms(3000);
output_high(PIN_A4); // encendido de computadora alto
delay_ms(1000);
output_low(PIN_A4); // encendido de computadora bajo
delay_ms(15000);
output_high(PIN_A5); // encendido de bocinas (futuro)
} //fin de if
}//fin de cont = 1
else if (cont == 3){
if(!input(PIN_A3)){ //¿Se ha pulsado boton Configuracion?
while(!input(PIN_A3)){} //SI -> elimina rebotes pulsador...
cont = 1;
output_low(PIN_A5); //apagado de bocinas (futuro)
delay_ms(1000);
output_high(PIN_A4); // apagado de computadora alto
delay_ms(2000);
output_low(PIN_A4); //apagado de computadora bajo
delay_ms(20000);//3000
output_low(PIN_A2); //apagado de regulador y control de pantalla
delay_ms(10000);
output_low(PIN_A1); //apagado de pantalla 2
delay_ms(10000);
output_low(PIN_A0); //apagado de pantalla 1
} //fin de if
} //fin de ese if cont =3
}while(true);//fin de bucle infinito
}//fin de main
se aceptan sugerencias y modificaciones graciassssssssssssss