Interrupción por cambio de estado en el puerto B PIC


Compartir: Share on Facebook0Tweet about this on TwitterShare on Google+0Share on Tumblr0Share on LinkedIn0

Interrupción por cambio de estado en el puerto B PIC

Interrupción por cambio de estado en el puerto B PIC, el microcontrolador PIC se puede programar para que produzca una interrupción si alguno de los pines  RB4, RB5, RB6 y RB7 del puerto B cambia de estado, así se puede detener el programa  principal con el cual este trabajando el microcontrolador PIC, para indicarle al microcontrolador que se dedique a realizar otras tareas, al finalizar la interrupción por cambio de estado en el puerto B PIC, se seguirá con el programa principal desde donde fue interrumpido.

En esta sección que es una secuencia del tema tratado en este enlace, se tratará sobre la interrupción por cambio de estado en el puerto B PIC, para lo que se va a comentar a continuación se utilizará como base el microcontrolador PIC16F877A.

Para una mejor comprensión sobre este tipo de interrupciones en el canal de  youtube de MrElberni se han publicado 3 vídeos.

En los ejemplos se usarán las resistencias internas pull up del puerto B por lo que del registro OPTION_REG, su bit RBPU se pondrá 0, de esta manera se habilitan estas resistencias pull up del puerto B; las resistencias pull up se activan si el pin correspondiente se configura como entrada, si el pin se configura como salida su resistencia pull up no se activará.

Interrupción por cambio de estado en el puerto B PIC option_reg

Del registro INTCON se pondrá su bit7 a 1 para habilitar las interrupciones, su bit3 RBIE se pondrá a 1 para habilitar el uso de la interrupción por cambio de estado alguno de los pines RB4, RB5, RB6 y RB7 del puerto B, su bit0 RBIF se pondrá a 0 para detectar que ha ocurrido una interrupción por cambio de estado en el puerto B, este bit se pondrá automáticamente a 1 cuando ocurra la interrupción y se tendrá que poner nuevamente a 0 dentro de la rutina de atención a las interrupciones, para que siga detectando la interrupción por cambio de estado en el puerto B.

interrupciones con el pic intcon pic16f877a

Interrupción por cambio de estado en el puerto B PIC

Vídeo 1, se utiliza el PIC16F877A, en este caso se comenta como programar para que ocurra una interrupción a través de uno de los 4 pines RB4, RB5, RB6 y RB7 del puerto B, para el ejemplo se utiliza el pin RB4, puede ser cualquiera de los 4.

La programación está hecha en el XC8.

Código del programa en XC8

Interrupciones con el PIC puerto B vídeo 1a

Interrupciones con el PIC puerto B vídeo 1b

.

Vídeo 2, En el siguiente vídeo se ve como se programa el PIC16F877A, para utilizar las interrupciones por cambio de estado de los 4 pines RB4, RB5, RB6 y RB7 del puerto B, se ve una forma en la que se puede conocer por cual de los pines se produjo la interrupción, ya que cualesquiera de ellos ponen el bit0 RBIF del registro INTCON a 1 con el que se detecta que se ha producido una interrupción, pero no indica por cual de los pines ocurrió la interrupción.

Código del programa en XC8.

Interrupciones con el PIC puerto B video 2a

Interrupciones con el PIC puerto B vídeo 2b

.

Vídeo 3, en este caso se ve el uso de un teclado matricial, el que será controlado mediante las interrupciones de los pines RB4, RB5, RB6 y RB7 del puerto B, se utiliza el PIC16F877A, el programa se realiza con el XC8.

Código del programa en XC8 parte 1 y 2.

Interrupciones con el PIC puerto B vídeo 3a

Interrupciones con el PIC puerto B vídeo 3b

código parte 3

Interrupciones con el PIC puerto B vídeo 3c

Compartir: Share on Facebook0Tweet about this on TwitterShare on Google+0Share on Tumblr0Share on LinkedIn0