#include<16f886.h>
#fuses XT,NOWDT,NOPROTECT,NOPUT,NODEBUG
#use delay(clock=4000000)
int disparo=0; //Inicializo el valor de disparo
#byte TRISB=0x086
#byte PORTB=0x006
#INT_EXT
void ext_isr()
{
disparo=1;
}
void main()
{
//----------------
set_tris_B(0x01);
//----------------
bit_clear(PORTB,3); //Limpio el pin del puerto
//----------------
enable_interrupts(INT_EXT); //Habilito la interrupcion externa
ext_int_edge(H_TO_L); //Le digo que el disparo sera de alto a bajo
enable_interrupts(GLOBAL); //Y habilito las interrupciones de manera global
//----------------
while(1)
{
if(disparo==1) //Si disparo tiene el valor de true
{
bit_set(PORTB,3); //se enciende el bit 3 del puerto B
}
}
}