#int_ext
void ext_isr(void){
button_pressed=TRUE;
enable_interrupts(int_timer1); // deshabilitando todo lo no necesario ...
touch++; // cuenta de pulsaciones
}
#int_TIMER1
void TIMER1_isr(void){ //Función de interrupción por desbordamiento TMR1 {
flag_t++; // Contador
//!// -------- Para 4MHZ ------ //
set_timer1 (0x0); // Carga del TMR1 con 0, para desbordamiento de 525ms
// OFF CPU
if((touch==1)&&(flag_t>20)){ // 10 seg
touch=0;
flag_t=0; // Bandera para un segundo
disable_interrupts(int_timer1); // deshabilitando todo lo no necesario ...
#if defined(_debug)
fprintf(debug
, "Dispositivo OFF\r\n"); #endif
output_low(ON_CPU); // CPU OFF
}
// ON CPU
if ((touch>3)&&(flag_t<10)){
touch=0;
output_high(ON_CPU); // CPU ON
disable_interrupts(int_timer1); // deshabilitando todo lo no necesario ...
#if defined(_debug)
fprintf(debug
, "Dispositivo ON\r\n"); #endif
}
}