Вы находитесь на странице: 1из 7

INTERRUPCIONES

CONCEPTO

• 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.
TIPOS

• 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 EN C

• En el compilador C, la directiva habitual en el manejo de las interrupciones es: #INT_xxxx


ejm: #INT_USB.
• 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
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.
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.
LAS FUNCIONES DE INTERRUPCIÓN NO PUEDEN TENER
NINGÚN PARÁMETRO. COMO ES NATURAL, NO TODAS
LAS DIRECTIVAS PUEDEN USARSE CON TODOS LOS
DISPOSITIVOS. LAS DIRECTIVAS MÁS COMUNES SON LAS
SIGUIENTES:
• #INT_EXT: Interrupción externa
• #INT_TRCC: Desbordamiento del TIMER0 (RTCC)
• #INT_RB: Cambio en los pines B4, B5, B6, B7
• #INT_AD: Conversor A/D
• #INT_TIMER1: Desbordamiento del TIMER1.
• #INT_TIMER2: Desbordamiento del TIMER2
• #INT_CP1: Modo captura de datos por
• CCP1
• #INT_CCP2: Modo captura por CCP2

Вам также может понравиться