SlideShare una empresa de Scribd logo
INTERRUPCIONES
Interrupciones
Introducción
En los 16F877 hay 14 fuentes posibles de interrupción.
Cuando se da un evento en un determinado módulo, el flag asociado se
pone a 1 y, si las máscaras global (GIE) y particular (y en algunos casos
la de periféricos (PEIE)) están habilitadas, se acepta la interrupción.
En ese caso, el hardware interno del PIC ejecuta varias acciones.

1. Se pone GEIE a cero para no aceptar otra interrupción.
2. Se almacena la dirección de retorno en la pila.
3. El contador de programa se carga con la dirección 0x0004 (que es
la dirección común para todas las interrupci ones).

El programador debe asegurarse de que el código se encarga de
identificar la fuente de la interrupción, guardar y recuperar el contexto
existente antes de producirse la interrupción y poner a cero el flag
asociado a la misma para permitir posteriores identificaciones.
Estas tareas quedan enormemente simplificadas usando directivas
y funciones del lenguaje C del compilador de CCS.

Interrupciones
Las directivas #INT_xxxx
Indican que la función que aparece a continuación corresponde al
tratamiento de una interrupción (no tiene ni necesita parámetros).
En el caso de los PIC 16F877 hay 14 posibles directivas.
#INT_RTCC
#INT_RB
#INT_EXT
#INT_AD
#INT_TBE
#INT_RDA
#INT_TIMER1
#INT_TIMER2
#INT_CCP1
#INT_CCP2
#INT_SSP
#INT_PSP
#INT_BUSCOL
#INT_EEPROM

Desbordamiento de TMR0.
(T0IF)
Cambio en los pines RB<4:7>.
(RBIF)
Flanco en pin RB0.
(INTF)
Fin de conversión A/D.
(ADIF)
Buffer de transmisión USART vacío.
(TXIF)
Dato recibido en USART.
(RCIF)
Desbordamiento de TMR1.
(TMR1IF)
Desbordamiento de TMR2.
(TMR2IF)
Captura / Comparación en módulo CCP1.
(CCP1IF)
Captura / Comparación en módulo CCP2. (CCP2IF)
Envío / Recepción de dato serie síncrono. (SSPIF)
Dato entrante en puerto esclavo paralelo. (PSPIF)
Colisión de bus I2C.
(BCLIF)
Escritura completa en EEPROM de datos. (EEIF)

1
Interrupciones
La directiva #INT_DEFAULT
Indica que la función que viene a continuación será llamada si se
dispara una interrupción y ninguno de los flags está activo.
La directiva #INT_GLOBAL
Indica que la función que va a continuación sustituye todas las
acciones que inserta el compilador al aceptarse una interrupción. Sólo
se ejecuta lo que vaya en dicha función.

Ventajas de usar las directivas de interrupciones
El compilador genera el código necesario para saltar a la función
que va tras esta directiva en el momento de la interrupción.
También genera código para salvar al principio y restituir al final el
contexto, y borrará el flag que se activó con la interrupción.
El programador debe seguir encargándose de habilitar las
interrupciones.

Interrupciones
Funciones para gestión de interrupciones
El compilador C de CCS incluye algunas funciones integradas
destinadas a manejar interrupciones.
enable_interrupts (nivel);
nivel es una constante definida en 16F877.h y genera el
código necesario para activar las máscaras necesarias.
Etiquetas de nivel definidas para el 16F877:
GLOBAL
INT_RTCC
INT_RB
INT_EXT
INT_AD
INT_TBE
INT_RDA
INT_TIMER1
INT_TIMER2
INT_CCP1
INT_CCP2
INT_SSP
INT_PSP
INT_BUSCOL
INT_EEPROM
La máscara global (la que hace GIE=1) debe activarse de
manera independiente. Las otras sólo activan la máscara
particular y el PEIE si es necesario.
disable_interrupts (nivel);
Hace la acción contraria a la función anterior, poniendo a
0 las máscaras relacionadas con la interrupción indicada.

2
Interrupciones
Existe también una función adicional destinada a configurar el
flanco activo que genera la interrupción externa (en RB0).
ext_int_edge (H_TO_L);
Selecciona flanco de bajada para activar el flag INTF.
ext_int_edge (L_TO_H);
Selecciona flanco de subida para activar el flag INTF.
#INT_EXT
ext_isr() {
......}

enable_interrupts (INT_EXT); // Activa máscara INTE
ext_int_edge (H_TO_L);
// Flag INTF si flanco de bajada.
enable_interrupts (GLOBAL);
// Habilita máscara global de int.
/* Si entra una interrupción por flanco de bajada en RB0, se irá a la
función que aparece tras la directiva #INT_EXT
*/
disable_interrupts (INT_EXT); // Desactiva interrupciones en RB0.
disable_interrupts (GLOBAL); // Desactiva todas las interrupciones.

3

Más contenido relacionado

La actualidad más candente

El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
Jose Alva
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
Luis Zurita
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CLuis Zurita
 
Curso Micro Tema 5
Curso Micro Tema 5Curso Micro Tema 5
Curso Micro Tema 5
Luis Zurita
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
guestf09168b
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
Luis Zurita
 
Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
Sohar Carr
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
Francisco Acevedo Hernandez
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2Luis Zurita
 
EJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMENEJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMENLuis Zurita
 
C++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación prácticaC++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación práctica
Gerardo C
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorLuis Zurita
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLABBlackD10
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
David Narváez
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"
Diego Rojas Ruiz
 

La actualidad más candente (20)

El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Curso Micro Tema 1
Curso Micro Tema 1Curso Micro Tema 1
Curso Micro Tema 1
 
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN CEJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
Curso Micro Tema 5
Curso Micro Tema 5Curso Micro Tema 5
Curso Micro Tema 5
 
05.Manejo de interrupciones
05.Manejo de interrupciones05.Manejo de interrupciones
05.Manejo de interrupciones
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Microcontroladores PIC
Microcontroladores PICMicrocontroladores PIC
Microcontroladores PIC
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2MICROCONTROLADORES II EN C. TEMA 2
MICROCONTROLADORES II EN C. TEMA 2
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
EJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMENEJERCICIO ADICIONAL 1ER EXAMEN
EJERCICIO ADICIONAL 1ER EXAMEN
 
Ejemplos pic c
Ejemplos pic cEjemplos pic c
Ejemplos pic c
 
C++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación prácticaC++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación práctica
 
Uso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensambladorUso de las tablas en lenguaje ensamblador
Uso de las tablas en lenguaje ensamblador
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"
 

Similar a Interrupciones

Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
lambda4444
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
Romi Walter Miranda
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
Juan Guillermo Escobar Uribe
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
Victor Asanza
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1rexmersxa7
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
SANTIAGO PABLO ALBERTO
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
Hamiltonn Casallas
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
juan1993are
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
Efrain Ruiz Fernandez
 
Tarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandezTarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandez
Efrain Ruiz Fernandez
 
efrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuajeefrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuaje
Efrain Ruiz Fernandez
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
almidon_pcb
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
SANTIAGO PABLO ALBERTO
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
irana piñero
 

Similar a Interrupciones (20)

Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Introduccion al assembler
Introduccion al assemblerIntroduccion al assembler
Introduccion al assembler
 
Introduccion al assembler[1]
Introduccion al assembler[1]Introduccion al assembler[1]
Introduccion al assembler[1]
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Practica1
Practica1Practica1
Practica1
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1
 
Practica1
Practica1Practica1
Practica1
 
Curso basico de pic 16 f877
Curso basico de pic 16 f877Curso basico de pic 16 f877
Curso basico de pic 16 f877
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Tarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandezTarea de efrain ruiz fernandez
Tarea de efrain ruiz fernandez
 
efrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuajeefrain ruiz fernandez lenjuaje
efrain ruiz fernandez lenjuaje
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
 
Lenguaje Ensamblador
Lenguaje Ensamblador Lenguaje Ensamblador
Lenguaje Ensamblador
 

Último

herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
SandroNava1
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 

Último (20)

herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 

Interrupciones

  • 2. Interrupciones Introducción En los 16F877 hay 14 fuentes posibles de interrupción. Cuando se da un evento en un determinado módulo, el flag asociado se pone a 1 y, si las máscaras global (GIE) y particular (y en algunos casos la de periféricos (PEIE)) están habilitadas, se acepta la interrupción. En ese caso, el hardware interno del PIC ejecuta varias acciones. 1. Se pone GEIE a cero para no aceptar otra interrupción. 2. Se almacena la dirección de retorno en la pila. 3. El contador de programa se carga con la dirección 0x0004 (que es la dirección común para todas las interrupci ones). El programador debe asegurarse de que el código se encarga de identificar la fuente de la interrupción, guardar y recuperar el contexto existente antes de producirse la interrupción y poner a cero el flag asociado a la misma para permitir posteriores identificaciones. Estas tareas quedan enormemente simplificadas usando directivas y funciones del lenguaje C del compilador de CCS. Interrupciones Las directivas #INT_xxxx Indican que la función que aparece a continuación corresponde al tratamiento de una interrupción (no tiene ni necesita parámetros). En el caso de los PIC 16F877 hay 14 posibles directivas. #INT_RTCC #INT_RB #INT_EXT #INT_AD #INT_TBE #INT_RDA #INT_TIMER1 #INT_TIMER2 #INT_CCP1 #INT_CCP2 #INT_SSP #INT_PSP #INT_BUSCOL #INT_EEPROM Desbordamiento de TMR0. (T0IF) Cambio en los pines RB<4:7>. (RBIF) Flanco en pin RB0. (INTF) Fin de conversión A/D. (ADIF) Buffer de transmisión USART vacío. (TXIF) Dato recibido en USART. (RCIF) Desbordamiento de TMR1. (TMR1IF) Desbordamiento de TMR2. (TMR2IF) Captura / Comparación en módulo CCP1. (CCP1IF) Captura / Comparación en módulo CCP2. (CCP2IF) Envío / Recepción de dato serie síncrono. (SSPIF) Dato entrante en puerto esclavo paralelo. (PSPIF) Colisión de bus I2C. (BCLIF) Escritura completa en EEPROM de datos. (EEIF) 1
  • 3. Interrupciones La directiva #INT_DEFAULT Indica que la función que viene a continuación será llamada si se dispara una interrupción y ninguno de los flags está activo. La directiva #INT_GLOBAL Indica que la función que va a continuación sustituye todas las acciones que inserta el compilador al aceptarse una interrupción. Sólo se ejecuta lo que vaya en dicha función. Ventajas de usar las directivas de interrupciones El compilador genera el código necesario para saltar a la función que va tras esta directiva en el momento de la interrupción. También genera código para salvar al principio y restituir al final el contexto, y borrará el flag que se activó con la interrupción. El programador debe seguir encargándose de habilitar las interrupciones. Interrupciones Funciones para gestión de interrupciones El compilador C de CCS incluye algunas funciones integradas destinadas a manejar interrupciones. enable_interrupts (nivel); nivel es una constante definida en 16F877.h y genera el código necesario para activar las máscaras necesarias. Etiquetas de nivel definidas para el 16F877: GLOBAL INT_RTCC INT_RB INT_EXT INT_AD INT_TBE INT_RDA INT_TIMER1 INT_TIMER2 INT_CCP1 INT_CCP2 INT_SSP INT_PSP INT_BUSCOL INT_EEPROM La máscara global (la que hace GIE=1) debe activarse de manera independiente. Las otras sólo activan la máscara particular y el PEIE si es necesario. disable_interrupts (nivel); Hace la acción contraria a la función anterior, poniendo a 0 las máscaras relacionadas con la interrupción indicada. 2
  • 4. Interrupciones Existe también una función adicional destinada a configurar el flanco activo que genera la interrupción externa (en RB0). ext_int_edge (H_TO_L); Selecciona flanco de bajada para activar el flag INTF. ext_int_edge (L_TO_H); Selecciona flanco de subida para activar el flag INTF. #INT_EXT ext_isr() { ......} enable_interrupts (INT_EXT); // Activa máscara INTE ext_int_edge (H_TO_L); // Flag INTF si flanco de bajada. enable_interrupts (GLOBAL); // Habilita máscara global de int. /* Si entra una interrupción por flanco de bajada en RB0, se irá a la función que aparece tras la directiva #INT_EXT */ disable_interrupts (INT_EXT); // Desactiva interrupciones en RB0. disable_interrupts (GLOBAL); // Desactiva todas las interrupciones. 3