Como usar interrupciones en mikroc (PIC16f877A)

#1
Hola quiero usar interrupciones en mi proyecto pero no estoy consiguiendo.. utilizo el programa mikroC. A partir de un valor positivo en el pin 4 del port B quiero interrumpa el programa y sume una unidad a un contador.
Este es pequeño programa de prueba que trate de hacer a partir del datasheet del pic.. no me arroja error pero no me funciona.. agradeceria mucho a quien me pueda ayudar!..
Saludos!

unsigned char cont;

void interrupt (){
if(INTCON.RBIF){
cont++;
PORTA= ~PORTA;
INTCON.RBIF=0;
}
}
void main() {
cont=0;
PORTB=0;
TRISA=0;
PORTA=0;
PORTC=0;
TRISC=0;
TRISB=0xFF;
INTCON=10001001;
while(1){
PORTC= ~PORTC;
delay_ms(2000);

}
}
 
#2
Nunca trabajé con el. Pero normalmente, se puede sacar mucho partido a los códigos de ejemplo que trae el compilador.
 
#3
Hola @maedu, aqui una pequeña correccion al programa


unsigned char cont,ww;

void interrupt (){
if(INTCON.RBIF){
cont++;
ww=~ww;
porta=ww;

if(portb); //****************
INTCON.RBIF=0;
}
}
void main() {
cont=0;
PORTB=0;
TRISA=0;
PORTA=0;
PORTC=0;
TRISC=0;
TRISB=0xFF;
ww=0;
INTCON=0b10001001; //***************
while(1){
PORTC=~PORTC;
delay_ms(2000);
}
}
 

Temas similares

Arriba