#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use i2c(Master,Fast,sda=PIN_C4,scl=PIN_C3)
// si se produce interrupcion hara...
#int_EXT
void EXT_isr(void){
output_low(PIN_D3); //apago led
output_high(PIN_D2); //enciendo led
delay_ms(2000);
output_low(PIN_D2); //apago led
output_high(PIN_D3); //enciendo led
}
void main()
{
set_tris_b(0b00000001); //configuramos pin_b0 como entrada
output_high(PIN_D3);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
printf("\r hola"); //por terminalvirtualnos mostrara hola
while(true){ //se metera en un bucle del que lo sacara la interupción
}
}