Autor Tema: NO ME ANDA RB4 A RB7  (Leído 2596 veces)

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

Desconectado nicopassaglia

  • PIC10
  • *
  • Mensajes: 3
NO ME ANDA RB4 A RB7
« en: 02 de Junio de 2016, 11:04:11 »
HOLA, ESTOY PROGRAMANDO EL PIC16F887 EN LA VERSION DE MPLAB 8.56 EN LENGUAJE ENSAMBLADOR. NECESITO USAR LAS INTERRUPCIONES POR LOS PINES RB4 A RB7 Y EL DE RB0. TENGO TODO CONFIGURADO PERFECTO (HABILITE GIE, RBIE Y INTE) EL PULLUP BIEN PUESTO Y TODO LO DEMAS. EL PROBLEMA ES CUANDO SIMULO Y MANDO UN ESTIMULO POR RB0 FUNCIONA A LA PERFECCION PERO CUANDO ESTIMULO DE RB4 A RB7 NO PASA NADA!! LA BANDERA NUNCA SE LEVANTE, ES COMO QUE EL PROGRAMA LO INGNORA COMPLETAMENTE

AYUDA POR FAVOR

SALUDOS

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:NO ME ANDA RB4 A RB7
« Respuesta #1 en: 02 de Junio de 2016, 11:18:07 »
Deberías subir tu código para analizarlo
Configuraste esos pines como entrada? Desactivaste las entradas analógicas?

Desconectado nicopassaglia

  • PIC10
  • *
  • Mensajes: 3
Re:NO ME ANDA RB4 A RB7
« Respuesta #2 en: 02 de Junio de 2016, 11:20:09 »
Si, le hice un clrf al ANSELH y le mande '11111111' al puertoB para que sea todo entrada. Es muy largo el codigo y no tiene sentido pq nunca los pude hace andar, no se si habra que configurar desde otro lado o que.


Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:NO ME ANDA RB4 A RB7
« Respuesta #3 en: 02 de Junio de 2016, 11:28:39 »
Configuraste el registro IOCB?

Desconectado nicopassaglia

  • PIC10
  • *
  • Mensajes: 3
Re:NO ME ANDA RB4 A RB7
« Respuesta #4 en: 02 de Junio de 2016, 11:44:05 »
Justo te estaba por decir eso, busque un poco mas en el datasheet y encontre ese registro, por lo tanto setie en un 1 los bits para que de 4 a 7 se interrumpa por cambio, ahora anda el problema es que nunca sale de la rutina de interrupcion, me aseguro de bajar todas las banderas de hacer el retfie y no hay caso se queda atascado ahi.
muchisimas graccias por tu tiempo!!!

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:NO ME ANDA RB4 A RB7
« Respuesta #5 en: 02 de Junio de 2016, 11:55:55 »
Estas interrupciones son algo particulares.. No basta con bajar la bandera, también hay que hacer una lectura del puerto. A mi me funciona así:

RutinaInterrupcion
código...
código...
código...
...
FinRutinaInterrupcion
movf PORTB,1;Aquí estás haciendo una lectura del puerto y guardándola de nuevo en el mismo lugar(no cambia nada)
bcf INTCON,RBIF;Bajo bandera
retfie;Retorno

Lee el datasheet, seguramente está mejor explicado y puede haber algún ejemplo.
Saludos!



 

anything