Interrupción Externa PIC


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

interrupción externa PICLa interrupción externa PIC se produce cuando en un pin preparado especialmente para este fin se produce algún evento, como por ejemplo ocurra algún cambio de estado en el pin como por ejemplo pasar de un bajo(0) a un alto(1); la interrupción externa PIC se comentará para el caso del PIC16F84A pero si se quiere utilizar algún otro PIC el procedimiento es muy similar, solo hay que guiarse de la hoja de datos del microcontrolador PIC utilizado.

La interrupción externa PIC es útil para el manejo de pulsadores, detectores de cruce por 0, y mucho mas; en la imagen se tiene la  representación de los pines del PIC16F84A, el pin 6 o RB0 o INT es el pin preparado para producir una interrupción externa, otros microcontroladores PIC tienen mas de estos pines y son llamados como INT0, INT1, INT2 como en el PIC18F4550.

En el  caso del PIC16F84A, la interrupción externa puede ser programada para que cuando una señal digital que esté llegando al pin INT cambie de estado, se tienen 2 opciones:

  • La interrupción externa ocurrirá por flanco de subida de la señal, esto es cuando la señal pase de 0 a 1, o de un bajo a un alto.
  • La interrupción externa ocurrirá por flanco de bajada de la señal, esto es cuando la señal pase de 1 a 0, o de un alto a un bajo.

Interrupción externa PIC

Del registro OPTION_REG al poner su bit6 llamado INTEDG a 0 la interrupción ocurrirá cuando el cambio de estado del pin INT sea de 1 a 0 o por flanco de bajada, al ponerlo a 1 la interrupción ocurrirá cuando el cambio de estado del pin INT sea de 0 a 1 o por flanco de subida.

interrupciones con el pic option_reg

Del registro INTCON se pondrá su bit7 GIE a 1 para habilitar el uso de las interrupciones, su bit4 INTE se pondrá a 1 para habilitar el uso de la interrupción externa por el pin INT, su bit1 INTF es la bandera que detecta que se ha producido la interrupción externa y se tendrá que poner a 0 para que haga la detección, cuando ocurre la interrupción este bit se pone automáticamente a 1, y para seguir detectando mas interrupciones externas en al rutina de atención a las interrupciones se tendrá que poner nuevamente a 0.

interrupciones con el pic intcon pic16f877a

En el siguiente vídeo publicado en el canal de youtube de MrElberni se ve la forma de programar el microcontrolador PIC para provocar una interrupción externa por el pin INT, en este caso para el ejemplo se utiliza el PIC16F84A, el programa se realiza con el XC8, la interrupción se provoca cuando el PIC detecta un cambio de estado en el pin INT.

El código del programa utilizado en este caso es el siguiente:

Si he logrado ayudarte en cuanto a la interrupción externa con el microcontrolador PIC, comparte este enlace para poder ayudar a muchas personas mas. Muchas Gracias.

Atte: MrElberni.

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