Está en la página 1de 10

MICROBÓTICA

Tema: Interrupciones
Docente: Jorge Enrique Araque Isidro
Interrupciones

Las interrupciones permiten a cualquier suceso interior o exterior


interrumpir la ejecución del programa principal en cualquier momento. En
el momento de producirse la interrupción, el pic ejecuta un salto, a la
rutina de atención a la interrupción, previamente definida por el
programador, donde se atenderá a la demanda de la interrupción.
Interrupciones
Interrupciones

El microcontrolador pic 16f87x posee las siguientes fuentes de


interrupción:

Interrupción externa por RB0/INT.


Interrupción por cambio de nivel lógico en RB4 - RB7.
Interrupción por desborde del timer 0.
Interrupción del transmisor del modulo USART.
Interrupción del receptor del modulo USART.
Interrupción del modulo CPP.
Interrupción del EEPROM.
Interrupciones

INTERRUPCIONES EN C
En el compilador C, la directiva habitual en el manejo de las
interrupciones es: #INT_xxxx
ejem: #INT_USB
Interrupciones

Las posibles directivas para la familia 16F87x son las siguientes:

#INT_AD -------------- Conversión AD completa


#INT_BUSCOL --------------- Colisión de bus
#INT_CPP1 --------------- Unidad de captura 1,comparación y PWM
#INT_CPP2 --------------- Unidad de captura 1,comparación y PWM
#INT_EEPROM -------------- Escritura EEPROM finalizada
#INT_EXT --------------- Interrupción externa RB0
#INT_RB --------------- Cambio de estado en B4-B7
#INT_RDA ---------------- RS232 dato recibido
Interrupciones

Existen directivas mas que pueden ser usadas, tanto para esta familia
como para otras. Para mayor información les sugiero revisar el datasheet
del microcontrolador.
Interrupciones

INTERRUPCION EXTERNA POR RB0

La directiva usada es #INT_EXT y se debe acompañar de las siguientes


funciones.

EXT_INT_EDGE(H_TO_L); ----- Cambio de estado de alto a bajo

EXT_INT_EDGE(L_TO_H); ----- Cambio de estado de bajo a alto

ENABLE_INTERRUPTS (INT_EXT); ------ Habilita la interrupción RB0


ENABLE_INTERRUPTS (GLOBAL); ------ Habilita la interrupción de forma
global.
Interrupciones

INTERRUPCION EXTERNA POR CAMBIO DE ESTADO DE RB4-RB7

La directiva usada es #INT_RB y se debe acompañar de las siguientes


funciones.

EXT_INT_EDGE(H_TO_L); ----- Cambio de estado de alto a bajo

EXT_INT_EDGE(L_TO_H); ----- Cambio de estado de bajo a alto

ENABLE_INTERRUPTS (INT_RB); ------ Habilita la interrupción


ENABLE_INTERRUPTS (GLOBAL); ------ Habilita la interrupción de forma
global.
Formando líderes para la construcción
de un nuevo país en paz

También podría gustarte