Autor Tema: Manejo de Interrupciones en Pic Basic Pro  (Leído 10020 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado cap_nemo

  • PIC10
  • *
  • Mensajes: 19
Manejo de Interrupciones en Pic Basic Pro
« en: 20 de Marzo de 2009, 01:24:44 »
Amigos:
Si bien he leido el manual del Pic Basic Pro y buscado informacion extra creo que podemos convenir en que la informacion sobre el manejo de interrupciones es media pobre, el ejemplo clasico es la interrupcion por rb0 o por el timer pero que valor hay que ponerle a INTCON para que maneje la interrupcion por cambio de estado en rb4 a rb7 que es la ideal para manejar un teclado matricial??

ON INTERRUPT GOTO myint   ´ el handler de interrupciones es myint
INTCON = %10010000          ´ habilita la interrupción RB0 ¿CUAL ES PARA rb4 - rb7?
. . . . . . . .
DISABLE ´ deshabilita las interrupciones en el Handler
Myint : led=1 ´ enciende el LED con una interrupción
RESUME ´ vuelve al programa principal
ENABLE ´ habilita las interrupciones después del Handler

Desconectado cap_nemo

  • PIC10
  • *
  • Mensajes: 19
Re: Manejo de Interrupciones en Pic Basic Pro
« Respuesta #1 en: 20 de Marzo de 2009, 01:33:08 »
bueno de un programa en assembler saque lo siguiente:

intcon                equ  0x000b

por lo que al pasarlo a binario seria 1011

¿alguien puede corroborar si mi deduccion es correcta?

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Manejo de Interrupciones en Pic Basic Pro
« Respuesta #2 en: 21 de Marzo de 2009, 18:00:12 »
es incorrecta, 0b es la direccion que tiene el registro intcon en el banco 0, para manejar la interrupcion por cambio de nible RB4:Rb7 cargas el registro intcon con 10001000 ó en hexadecimal 88

el registro intcon viene asi

         |GIE|EEIE|T0IE|INTE|RBIE|T0IF|INTF|RBIF|
bit        7      6      5     4        3      2      1     0



EEIE: Permiso de Interrupción por fin de la escritura en la EEPROM
  1:   Permite se origine una interrupción cuando termina la escritura de la EEPROM de datos.
  0:Prohíbe que se produzca esta interrupción.
TOIE: Permiso de Interrupción por sobrepasamiento del TMRO
  1:Permite una interrupción al desbordarse el TMR0.
  0:Prohíbe esta interrupción.
INTE: Permiso de Interrupción por activación de la patita RBOIINT
  1:Permite la interrupción al activarse RBO/INT.
  0:Prohibe esta interrupción.
RBIE: Permiso de Interrupción por cambio de estado en RB7.RB4
  1:Permite esta interrupción.
  0:Prohibe esta interrupción.
T0IF: Señalizador de sobrepasamiento del TMRO
  1:Se pone a 1 cuando ha ocurrido el sobrepasamiento.
  0:Indica que el TMRO no se ha desbordado.
INTF: Señalizador de activación de la patita RBOIINT
  1:Se pone a 1 al activarse RBO/INT, al recibir un flanco activo desde el exterior.
  0:Indica que RBO/INT no ha recibido un flanco activo.
RBIF: Señalizador de cambio de estado en las patitas RB7:RB4
  1:Pasa a 1 cuando cambia el estado de alguna de estas 4 lineas.
  0:No ha cambiado el estado de RB7:RB4.

Cuando GIE=0 no se acepta ninguna de las interrupciones. si GIE=1 solo se aceptan aquella interrupciones cuyo bit de permiso esta habilitado "1"
« Última modificación: 21 de Marzo de 2009, 18:08:32 por jhozate »
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado cap_nemo

  • PIC10
  • *
  • Mensajes: 19
Re: Manejo de Interrupciones en Pic Basic Pro
« Respuesta #3 en: 26 de Marzo de 2009, 18:20:47 »
Gracias muy buena y completa tu respuesta.

Desconectado javierdavid2006

  • PIC10
  • *
  • Mensajes: 15
Re: Manejo de Interrupciones en Pic Basic Pro
« Respuesta #4 en: 07 de Marzo de 2011, 14:40:28 »
Hola como estan, tengo una duda con Picbasic, ya he manejado las interrupciones, pero mi duda es que necesito manejar 3 interrupciones (de 2 pulsadores que van a dos subrutinas diferentes y una comunicacion serial que le llega al micro), pero no se como hacer que vaya a hacer algo diferente en cada interrupcion, como diferenciarlas en picbasic.

Espero su ayuda pronto y de por si muchas gracias.

David Nunez


 

anything