Autor Tema: Problema con interrupciones PIC16F886  (Leído 1954 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bluum

  • PIC10
  • *
  • Mensajes: 2
Problema con interrupciones PIC16F886
« en: 12 de Abril de 2013, 14:11:02 »
Hola. Soy nuevo y estoy aprendiendo a programar PIC's en MikroC y hoy estaba probando a hacer una interrupción pero no hay manera de conseguirlo ¿Alguien me puede decir dónde está el fallo?  :x

El programa es muy sencillo y solo son dos LED.





void interrupt(void){

if (INTCON.INTF==1){
PORTA.RA1=0;
PORTA.RA0=1;                      //Encender LED de RA0 durante 3000ms
delay_ms(3000);
PORTA.RA0=0;
}
INTCON.INTF = 0;                  //Borra el flag de interrupción

}


void main() {

INTCON.GIE=1;
INTCON.INTE=1;                  // Habilitar interrupcion RB0

  TRISA = 0x00;                  // Puerto A salidas.
  TRISB = 0xFF;                  // Puerto B entradas

while (1) {
PORTA.RA1=1;                    //LED de RA1 encendido bucle infinito.
delay_ms(500);
PORTA.RA1=0;                     //LED de RA1 apagado
delay_ms(500);

}
  }

Gracias!
« Última modificación: 12 de Abril de 2013, 14:13:59 por bluum »

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Problema con interrupciones PIC16F886
« Respuesta #1 en: 12 de Abril de 2013, 15:28:14 »
  Debes tener en cuenta que en dicho PIC, luego de un PowerOnReset, los puertos quedan configurados como entradas y varios quedan como entradas analógicas.

  Busca en el datasheet del PIC, debes cambiar los registros ANSEL y ANSELH, para configurar los pines como entradas digitales.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado bluum

  • PIC10
  • *
  • Mensajes: 2
Re: Problema con interrupciones PIC16F886
« Respuesta #2 en: 12 de Abril de 2013, 17:16:57 »
  Debes tener en cuenta que en dicho PIC, luego de un PowerOnReset, los puertos quedan configurados como entradas y varios quedan como entradas analógicas.

  Busca en el datasheet del PIC, debes cambiar los registros ANSEL y ANSELH, para configurar los pines como entradas digitales.

Muchas gracias compañero ahí estaba el problema  :D


 

anything