You are on page 1of 2

Interrupciones

La 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.

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.

You might also like