Você está na página 1de 1

/*Programa para observar el comportamiento de la interrupcion externa del puerto

RB0 del PIC 16F877*/


//FUNCION DE LA INTERRUPCION EXTERNA
void interrupt(){
if(INTCON.B1==1) //evalua la interrupcion ejecutada
{
portc=0;
delay_ms(500);
portc=255;
delay_ms(500);
portc=0;
delay_ms(500);
portc=255;
delay_ms(500);
INTCON.B1=0; //resetea la bandera de la interrupcion
}
}
/*
INTCON GPIE-Habilita la interrupcion
FEIE-Habilita las interrupciones perifericas
TOIE-Habilita el temporizador
INTE-Habilita la RB0
RBIE-Habilita interrupciones cambios puerto B
TOIF-Bandera desborde de TIMER0
INTF-Bandera de interrupciones de RB0
RBIF-Bandera de cambio en el Puerto B
*/
void main(){
int valor1, valor2;
trisc=0b00000000; //puerto c declar?7do como salida
INTCON=0b11010000; //habilitacion de las interrupciones
valor1=1;
valor2=128;
do{
portc=valor1|valor2;
delay_ms(300);
valor1=valor1<<1;
valor2=valor2>>1;
if(valor1==128) valor1=1;
if(valor2==1) valor2=128;
} while(1);
}