SlideShare una empresa de Scribd logo
1 de 21
INTERRUPCIONES Y 
TEMPORIZADORES 
Programación en C para electrónica
2 Interrupciones 
Programación en C para electrónica 
Interrupciones y temporizadores- Programación en C para 
electrónica
Interrupciones del PIC 16F876A 
 Las interrupciones permiten la interrupción del 
programa a cualquier suceso (interno o 
externo). 
 Al producirse una interrupción el PIC salta a la 
dirección del vector (0004h) de interrupción y 
ejecuta la rutina. 
 Cuando la rutina de manejo de la interrupción 
finaliza (RETFIE) el programa retorna al punto 
donde se interrumpió el programa. 
3 
Interrupciones y temporizadores- Programación en C para 
electrónica
Interrupciones del PIC 16F876A 
 El PIC 16F876A tiene un único vector de 
interrupción y todas las interrupciones 
provocan un salto a ese vector. (0004h) 
 La rutina de manejo de la interrupción debe 
identificar qué evento interrumpió el programa 
para ejecutar la rutina correspondiente. 
 El PIC posee registros con “flags” de 
interrupción que permiten identificar el evento. 
4 
Interrupciones y temporizadores- Programación en C para 
electrónica
Registros de interrupción 
5 
Interrupciones y temporizadores- Programación en C para 
electrónica
Registros de interrupción 
6 
Interrupciones y temporizadores- Programación en C para 
electrónica
Registros de interrupción 
7 
Interrupciones y temporizadores- Programación en C para 
electrónica
Interrupciones en CCS 
 CCS dispone de 
directivas para el 
manejo de 
interrupciones. 
 #int_XXXX. 
 La directiva 
especifica que la 
función que la sigue 
es la función de 
interrupción 
correspondiente. 
 Ejemplo: 
//interrupción timer 1 
#int_TIMER1 
void TIMER1_isr (void) 
{ 
switch (ciclo) 
{ 
case 0: 
.... 
8 
Interrupciones y temporizadores- Programación en C para 
electrónica
Interrupciones en CCS 
9 
Interrupciones y temporizadores- Programación en C para 
electrónica
Funciones para interrupciones 
 El compilador incluye funciones para facilitar 
el manejo de interrupciones en C. 
 enable_interrupts(level) 
 Activa las interrupciones indicadas por 
level. 
 disable_interrupts(level) 
 desactiva las interrupciones indicadas por 
level. 
 clear_interrupts(level) 
 Borra el flag de interrupción indicado. 
10 
Interrupciones y temporizadores- Programación en C para 
electrónica
level 
 Level es una constante definida en el fichero 
de cabecera (#include <16F876A.h>). 
 Genera el código necesario para activar las 
interrupciones correspondientes modificando 
los registros ITCON, PIE1 y PIE2. 
 Cuando se activa alguna interrupción es 
necesario activar “globalmente” las 
interrupciones. 
11 
Interrupciones y temporizadores- Programación en C para 
electrónica
level 
12 
Interrupciones y temporizadores- Programación en C para 
electrónica
Ejemplos: 
 enable_interrupts(INT_TIMER1); 
 enable_interrupts(GLOBAL); 
 disable_interrupts(GLOBAL); 
 clear_interrupts(INT_RTCC); 
 enable_interrupts(GLOBAL | INT_RTCC); 
Nota: Esta ultima solo se puede hacer con interrupciones del mismo registro. 
13 
Interrupciones y temporizadores- Programación en C para 
electrónica
14 Temporizadores 
Programación en C para electrónica 
Interrupciones y temporizadores- Programación en C para 
electrónica
Temporizadores: 
 El PIC 16F876A dispone de tres 
temporizadores/contadores: 
 Timer 0: 8 bits. 
 Timer 1: 16 bits. 
 Timer 2: 16 bits. 
 Pueden funcionar como contadores de 
flancos externos o como temporizador 
(contador de ciclos máquina). 
 Disponen de “prescaler” para ampliar el 
tamaño de la cuenta (hasta x256). 
15 
Interrupciones y temporizadores- Programación en C para 
electrónica
Timer 1: 
 Cuenta de 16 bits en dos registros de 8 bits: TMR1H 
(parte alta) y TMR1L (parte baja) 
 Los registros de cuenta se pueden leer y escribir. 
 Interrupción por desboradmiento de FFFFh a 0000h. 
 Controlado por el registro T1CON. 
 Funcionamiento como: 
 Temporizador (incrementa cada ciclo máquina). 
 Contador síncrono. 
 Contador asíncrono. 
16 
Interrupciones y temporizadores- Programación en C para 
electrónica
Timer 1: 17 
Interrupciones y temporizadores- Programación en C para 
electrónica
T1CON: 18 
Interrupciones y temporizadores- Programación en C para 
electrónica
Timer 1 en C: 
 CCS provee funciones de configuración de los 
teporizadores: 
 setup_timer_X (modo) 
 Programa el modo de funcionamiento del 
timer X 
 get_timerX () 
 Lee el valor de la cuenta. 
 set_timerX (valor) 
 Escribe “valor” en los registros de cuenta. 
19 
Interrupciones y temporizadores- Programación en C para 
electrónica
setup_timer_1(mode) 
 Configura el timer 1. 
 El modo de funcionamiento (mode)es una 
constante definida en el archivo de cabecera. 
 Los modos se pueden agrupar con |. 
20 
Interrupciones y temporizadores- Programación en C para 
electrónica
set_timer1(value) y get_timer1 
 set_timer1 escribe “value” (entero de 16 bits) 
en los registros de cuenta del timer 1 (TMR1H 
yTMR1L). 
 get_timer1() devuelve (16 bits) el valor de 
los registros TMR1H yTMR1L. 
 value=get_timer1(); 
21 
Interrupciones y temporizadores- Programación en C para 
electrónica

Más contenido relacionado

La actualidad más candente

151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador
Ever Omar Nolasco
 

La actualidad más candente (20)

8086 Microprocessor powerpoint
8086  Microprocessor  powerpoint8086  Microprocessor  powerpoint
8086 Microprocessor powerpoint
 
Registro de desplazamiento
Registro de desplazamientoRegistro de desplazamiento
Registro de desplazamiento
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111
 
ejercicios control de procesos
ejercicios control de procesosejercicios control de procesos
ejercicios control de procesos
 
Curso Programación TPE ROBOT FANUC nivel B EMERSON EDUARDO RODRIGUES
Curso Programación TPE ROBOT FANUC nivel B EMERSON EDUARDO RODRIGUESCurso Programación TPE ROBOT FANUC nivel B EMERSON EDUARDO RODRIGUES
Curso Programación TPE ROBOT FANUC nivel B EMERSON EDUARDO RODRIGUES
 
Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador pic
 
Electrónica digital: Sumadores y restadores
Electrónica digital: Sumadores y restadores Electrónica digital: Sumadores y restadores
Electrónica digital: Sumadores y restadores
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Convertidores dc-dc (Colección apuntes UJA 96/97)
Convertidores dc-dc (Colección apuntes UJA 96/97)Convertidores dc-dc (Colección apuntes UJA 96/97)
Convertidores dc-dc (Colección apuntes UJA 96/97)
 
INTEL 8086 MICROPROCESSOR
INTEL 8086 MICROPROCESSORINTEL 8086 MICROPROCESSOR
INTEL 8086 MICROPROCESSOR
 
DIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPODIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPO
 
151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador
 
Contadores a y s síncronos
Contadores a y s síncronosContadores a y s síncronos
Contadores a y s síncronos
 
1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROL1.2 control pid INGENIERIA DEL CONTROL
1.2 control pid INGENIERIA DEL CONTROL
 
Montaje de control de tonos y volumen
Montaje de control de tonos y volumenMontaje de control de tonos y volumen
Montaje de control de tonos y volumen
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
PLC: Autómatas programables avanzado.pdf
PLC: Autómatas programables avanzado.pdfPLC: Autómatas programables avanzado.pdf
PLC: Autómatas programables avanzado.pdf
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessor
 
direccionamiento microcontroladores pic
direccionamiento microcontroladores picdireccionamiento microcontroladores pic
direccionamiento microcontroladores pic
 
Circuitos msi
Circuitos msiCircuitos msi
Circuitos msi
 

Destacado

C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
ezequiel
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
georgeguitar
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
Alejandra Ruiz
 

Destacado (20)

Tema 7: Temporizadores y Relojes.
Tema 7: Temporizadores y Relojes.Tema 7: Temporizadores y Relojes.
Tema 7: Temporizadores y Relojes.
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Clase1 c
Clase1 cClase1 c
Clase1 c
 
Juego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xJuego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87x
 
Diapositivas pic 18f452 microprocesadores
Diapositivas pic 18f452  microprocesadoresDiapositivas pic 18f452  microprocesadores
Diapositivas pic 18f452 microprocesadores
 
Presentacion
PresentacionPresentacion
Presentacion
 
Programador usb 2011_pickit2 modificado
Programador usb 2011_pickit2 modificadoProgramador usb 2011_pickit2 modificado
Programador usb 2011_pickit2 modificado
 
Comunicación via bluetooth
Comunicación via bluetoothComunicación via bluetooth
Comunicación via bluetooth
 
Gea fuente de_voltaje
Gea fuente de_voltajeGea fuente de_voltaje
Gea fuente de_voltaje
 
PEP Comida - Jasone
PEP Comida - JasonePEP Comida - Jasone
PEP Comida - Jasone
 
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
 
Tutorial de diseño de circuitos impresos por técnica de termotransferible
Tutorial de diseño de circuitos impresos por técnica de termotransferibleTutorial de diseño de circuitos impresos por técnica de termotransferible
Tutorial de diseño de circuitos impresos por técnica de termotransferible
 
Tutorial ii proyectos en basic proton
Tutorial ii   proyectos en basic protonTutorial ii   proyectos en basic proton
Tutorial ii proyectos en basic proton
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
 
pic 18f4550
pic 18f4550 pic 18f4550
pic 18f4550
 
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikxTutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Contadores y visualización por display 2
Contadores y visualización por display 2Contadores y visualización por display 2
Contadores y visualización por display 2
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 

Similar a Interrupciones y Temporizadores

Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
Daniel Remondegui
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
Gabriel Bravo Rojas
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdfinfoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
FelipeandresLizanaBa
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
georgemanson69
 

Similar a Interrupciones y Temporizadores (20)

Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Práctica #2 parcial #2 registros del banco
Práctica #2 parcial #2  registros del bancoPráctica #2 parcial #2  registros del banco
Práctica #2 parcial #2 registros del banco
 
Introduccion_a_los_Microcontroladores_v2.ppt
Introduccion_a_los_Microcontroladores_v2.pptIntroduccion_a_los_Microcontroladores_v2.ppt
Introduccion_a_los_Microcontroladores_v2.ppt
 
Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Taller cruce por cero
Taller cruce por ceroTaller cruce por cero
Taller cruce por cero
 
Introducción pic 16 f 84 universidad de la marina mercante
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
 
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
26176947 tutorial-v-escritura-en-lcd-usando-teclado-matricial
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Conceptos plc
Conceptos plcConceptos plc
Conceptos plc
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdfinfoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
infoplc_net_dvp_es2_ex2_ss2_sa2_sx2_program_o_sp_20110630_ (1).pdf
 
Arquitectura interna micro
Arquitectura interna microArquitectura interna micro
Arquitectura interna micro
 
PROCESADOR
PROCESADORPROCESADOR
PROCESADOR
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Interrupciones: Sistemas Operativos
Interrupciones: Sistemas OperativosInterrupciones: Sistemas Operativos
Interrupciones: Sistemas Operativos
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51
 

Último

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 

Interrupciones y Temporizadores

  • 1. INTERRUPCIONES Y TEMPORIZADORES Programación en C para electrónica
  • 2. 2 Interrupciones Programación en C para electrónica Interrupciones y temporizadores- Programación en C para electrónica
  • 3. Interrupciones del PIC 16F876A  Las interrupciones permiten la interrupción del programa a cualquier suceso (interno o externo).  Al producirse una interrupción el PIC salta a la dirección del vector (0004h) de interrupción y ejecuta la rutina.  Cuando la rutina de manejo de la interrupción finaliza (RETFIE) el programa retorna al punto donde se interrumpió el programa. 3 Interrupciones y temporizadores- Programación en C para electrónica
  • 4. Interrupciones del PIC 16F876A  El PIC 16F876A tiene un único vector de interrupción y todas las interrupciones provocan un salto a ese vector. (0004h)  La rutina de manejo de la interrupción debe identificar qué evento interrumpió el programa para ejecutar la rutina correspondiente.  El PIC posee registros con “flags” de interrupción que permiten identificar el evento. 4 Interrupciones y temporizadores- Programación en C para electrónica
  • 5. Registros de interrupción 5 Interrupciones y temporizadores- Programación en C para electrónica
  • 6. Registros de interrupción 6 Interrupciones y temporizadores- Programación en C para electrónica
  • 7. Registros de interrupción 7 Interrupciones y temporizadores- Programación en C para electrónica
  • 8. Interrupciones en CCS  CCS dispone de directivas para el manejo de interrupciones.  #int_XXXX.  La directiva especifica que la función que la sigue es la función de interrupción correspondiente.  Ejemplo: //interrupción timer 1 #int_TIMER1 void TIMER1_isr (void) { switch (ciclo) { case 0: .... 8 Interrupciones y temporizadores- Programación en C para electrónica
  • 9. Interrupciones en CCS 9 Interrupciones y temporizadores- Programación en C para electrónica
  • 10. Funciones para interrupciones  El compilador incluye funciones para facilitar el manejo de interrupciones en C.  enable_interrupts(level)  Activa las interrupciones indicadas por level.  disable_interrupts(level)  desactiva las interrupciones indicadas por level.  clear_interrupts(level)  Borra el flag de interrupción indicado. 10 Interrupciones y temporizadores- Programación en C para electrónica
  • 11. level  Level es una constante definida en el fichero de cabecera (#include <16F876A.h>).  Genera el código necesario para activar las interrupciones correspondientes modificando los registros ITCON, PIE1 y PIE2.  Cuando se activa alguna interrupción es necesario activar “globalmente” las interrupciones. 11 Interrupciones y temporizadores- Programación en C para electrónica
  • 12. level 12 Interrupciones y temporizadores- Programación en C para electrónica
  • 13. Ejemplos:  enable_interrupts(INT_TIMER1);  enable_interrupts(GLOBAL);  disable_interrupts(GLOBAL);  clear_interrupts(INT_RTCC);  enable_interrupts(GLOBAL | INT_RTCC); Nota: Esta ultima solo se puede hacer con interrupciones del mismo registro. 13 Interrupciones y temporizadores- Programación en C para electrónica
  • 14. 14 Temporizadores Programación en C para electrónica Interrupciones y temporizadores- Programación en C para electrónica
  • 15. Temporizadores:  El PIC 16F876A dispone de tres temporizadores/contadores:  Timer 0: 8 bits.  Timer 1: 16 bits.  Timer 2: 16 bits.  Pueden funcionar como contadores de flancos externos o como temporizador (contador de ciclos máquina).  Disponen de “prescaler” para ampliar el tamaño de la cuenta (hasta x256). 15 Interrupciones y temporizadores- Programación en C para electrónica
  • 16. Timer 1:  Cuenta de 16 bits en dos registros de 8 bits: TMR1H (parte alta) y TMR1L (parte baja)  Los registros de cuenta se pueden leer y escribir.  Interrupción por desboradmiento de FFFFh a 0000h.  Controlado por el registro T1CON.  Funcionamiento como:  Temporizador (incrementa cada ciclo máquina).  Contador síncrono.  Contador asíncrono. 16 Interrupciones y temporizadores- Programación en C para electrónica
  • 17. Timer 1: 17 Interrupciones y temporizadores- Programación en C para electrónica
  • 18. T1CON: 18 Interrupciones y temporizadores- Programación en C para electrónica
  • 19. Timer 1 en C:  CCS provee funciones de configuración de los teporizadores:  setup_timer_X (modo)  Programa el modo de funcionamiento del timer X  get_timerX ()  Lee el valor de la cuenta.  set_timerX (valor)  Escribe “valor” en los registros de cuenta. 19 Interrupciones y temporizadores- Programación en C para electrónica
  • 20. setup_timer_1(mode)  Configura el timer 1.  El modo de funcionamiento (mode)es una constante definida en el archivo de cabecera.  Los modos se pueden agrupar con |. 20 Interrupciones y temporizadores- Programación en C para electrónica
  • 21. set_timer1(value) y get_timer1  set_timer1 escribe “value” (entero de 16 bits) en los registros de cuenta del timer 1 (TMR1H yTMR1L).  get_timer1() devuelve (16 bits) el valor de los registros TMR1H yTMR1L.  value=get_timer1(); 21 Interrupciones y temporizadores- Programación en C para electrónica