void main()
{
enable_interrupts(INT_RA1) ); //habilito la funcion on-change en el pin A1
enable_interrupts(global);
setup_comparator(NC_NC);
setup_vref(FALSE);
sleep(); //Hago que el Pic se duerma
despierta(); //Llamo la funcion para que despierte
}
void despierta(void)
{
if(input(PIN_A1)==1)
{
output_high(PIN_A2);
Programa();
}
void programa();
{
// Codigo de programa
}
}#include <12F629.h>
#fuses NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
#byte TRISA=0x085
#byte porta=0x05
#use delay(internal=4M)
#use fast_io(a)
#INT_RA1 // se supone que al cambiar el estado de RA1 debe despertar
void despierta()
{
output_a(1);
delay_ms(1000);
}
void main()
{
set_tris_a(0);
output_a(0);
enable_interrupts(INT_RA1); //habilito la funcion on-change en el pin A1
enable_interrupts(global);
setup_comparator(NC_NC);
setup_vref(FALSE);
sleep();
despierta();
}#include <12F629.h>
#fuses XT,NOWDT,NOPROTECT,NOCPD,NOMCLR,NOPUT,INTRC_IO,NOBROWNOUT
#use delay(internal=4M)
#use fast_io(a)
#INT_RA //interrupcion por cambio de estado en pines
despierta(){
output_high(PIN_A5);
delay_ms(1000);
}
void main()
{
set_tris_a(0); //seteo todos los pines como entrada
output_a(0);
enable_interrupts(GLOBAL); //Interrupciones Habilitadas
enable_interrupts(INT_RA1);
ext_int_edge(L_TO_H);
setup_comparator(NC_NC);
setup_vref(FALSE);
while(1){
sleep();
delay_cycles(1);
output_high(PIN_A4);
}
}
set_tris_a(0); //seteo todos los pines como entrada
output_a(0);