SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
INTERRUPCIONES Y
TEMPORIZADORES
MICROELECTRONICA
GENERALIDADES
 Las interrupciones son desviaciones del flujo de
control del programa originadas asíncronamente por
diversos sucesos que no se hallan bajo la supervisión
de las instrucciones.
 Dichos sucesos pueden ser externos al sistema,
como la generación de un flanco o nivel activo en un
pin del microcontrolador, o bien internos, como el
desbordamiento de un contador.
GENERALIDADES
 Se detiene la ejecución del programa en curso, se
salva la dirección actual del PC en la Pila y se carga
el PC con una dirección, en el caso de una
interrupción es una dirección “reservada” de la
memoria de código, llamada Vector de
interrupción, 0x04 para los microcontroladores de
la gama baja y media; mientras que en la gama alta
existen dos direcciones: 0x08 prioridad alta y 0x18
prioridad baja.
ENABLE/DISABLE_INTERRUPTS() are:
#define GLOBAL 0xF2C0
#define INT_RTCC 0xF220
#define INT_TIMER0 0xF220
#define INT_TIMER1 0x9D01
#define INT_TIMER2 0x9D02
#define INT_TIMER3 0xA002
#define INT_EXT 0xF210
#define INT_EXT1 0xF008
#define INT_EXT2 0xF010
#define INT_RB 0xFFF208
#define INT_AD 0x9D40
INTERRUPCIONES - DIRECTIVAS
ENABLE/DISABLE_INTERRUPTS() are:
#define INT_RDA 0x9D20
#define INT_TBE 0x9D10
#define INT_SSP 0x9D08
#define INT_CCP1 0x9D04
#define INT_CCP2 0xA001
#define INT_BUSCOL 0xA008
#define INT_LOWVOLT 0xA004
#define INT_COMP 0xA040
#define INT_EEPROM 0xA010
#define INT_OSCF 0xA080
#define INT_SPP 0x9D80
#define INT_USB 0xA020
INTERRUPCIONES - DIRECTIVAS
DEFAULT - GLOBAL
Luis David Narváez
VENTAJAS
INTERRUPCION EXTERNA
RB0/INT
REGISTRO INTCON
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF
DESCRIPCIÓN
 Esta fuente de interrupción es sumamente importante
para atender acontecimientos externos en tiempo real.
 Cuando ocurre alguno de ellos activa el pin RB0/INT y
se hace una petición de interrupción, en forma
automática.
 Este método es más eficaz que la técnica de sondeo ya
que el microcontrolador no perderá tiempo preguntando
a la línea de entrada para leer su estado, sino que
únicamente atenderá al periférico cuando éste se lo pida
mediante la solicitud de interrupción.
RB0/INT - PICC
 En el caso de la interrupción externa RB0/INT de los
PIC18FXXX se tiene la siguiente directiva.
#INT_EXT – flanco en el pin RB0. Se activa la bandera INTF.
 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.
RB0/INT - PICC
 Si se utilizan las directivas de interrupción, 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.
 Además, genera el código para salvar al principio y
restituir al final el contexto, y también borrará la
bandera que se activó con la interrupción. El
programador, solo debe encargarse de habilitar
las interrupciones.
RB0/INT - PICC
 Existe también otra función adicional destinada a
configurar el flanco activo que genera la interrupción
externa (en RB0).
 ext_int_edge (0, H_TO_L); - equivale a INTEDG=0.
Selecciona el flanco de bajada para activar la bandera
INTF.
 ext_int_edge (0, L_TO_H); - equivale a INTEDG=1.
Selecciona el flanco de subida para activar la bandera
INTF.
PRÁCTICA
 Enunciado: Realizar un programa que indique en
tiempo real la recepción de una señal externa recibida
por el pin INT0, INT1, INT2 del microcontrolador. La
recepción de dicha señal se lo hará a través de tres
LEDs indicadores, los cuales se apagarán mientras se
presione el pulsador correspondiente.
FLUJOGRAMA
SIMULACIÓN
RETO
 Enunciado: Realizar un contador autónomo de 0 a
9999 en cuatro displays de 7 segmentos, el
incremento se realizará con una temporización de 500
ms. Un pulsador sin interrupción (PIN_B3) posibilitará
el conteo de 1 en 1. La INT0 para un conteo de 10 en
10, la INT1 para un conteo de 100 en 100, la INT2
para un conteo de 1000 en 1000.
INTERRUPCION EXTERNA RBI
REGISTRO INTCON
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF
INTERRUPCION RBI
DESCRIPCIÓN
 Los pines <RB7:RB4> del PORTB producen una sola
interrupción por cambio de su estado.
 Para activar la interrupción por cambio de estado en los
pines <RB7:RB4> los bits RBIE y GIE del registro
INTCON deben estar a “1”, en estas condiciones
cuando se produce un cambio de nivel en cualquiera de
las líneas RB7 a RB4 se activa la bandera RBIF del
registro INTCON.
RBI – CCS COMPILER
 Entonces en la subrutina de interrupción se deberá hacer
el tratamiento respectivo para identificar cual de los
pines se activó.
 En Lenguaje C, la interrupción se activa con
enable_interrupts(INT_RB) y la subrutina de
tratamiento de la interrupción se llama con INT_RB.
RBI – CCS COMPILER
 En caso que se estén atendiendo varias interrupciones,
el compilador C, también tiene la directiva #priority que
sirve para fijar la prioridad de las interrupciones, así, las
interrupciones más importantes están son listadas al
principio.
 Por ejemplo:
 #priority ext, rbi; //la interrupción RB0/INT será
atendida antes de RBI.
PRÁCTICA
Enunciado: Se conectan 4 pulsadores a RB4, RB5,
RB6 y RB7 y una LCD al puerto D. Se realiza un
contador automática que dependa de la detección de
cambio de estado en cada pin RBI, de acuerdo al
siguiente detalle: +1, -1, -10, +10.
SIMULACIÓN
TIMERS
RTCC, TIMER 1,TIMER 2,TIMER 3
Luis David Narváez
TIMER 0 - RTCC
Luis David Narváez
 Una de las labores más habituales en los programas
de control de dispositivos suele ser determinar
intervalos concretos de tiempo, y recibe el nombre
de temporizador (timer) el elemento encargado de
realizar esta función.
 También suele ser frecuente contar los impulsos que
se producen en el exterior del sistema, y el elemento
destinado a este fin se llama contador.
TIMER 0 - RTCC
Luis David Narváez
 TMR0 es un contador/temporizador de 8/16 bits.
 Se puede leer y escribir.
 Puede trabajar con reloj interno o con señal de reloj
externa.
 Selección del flanco en el reloj externo.
 Predivisor de frecuencia de reloj programable por
software de 8 bits.
 Interrupción opcional en el desbordamiento.
TEMPORIZACIÓN TIMER 0
 El tiempo empleado en una temporización se puede
calcular a partir de un ciclo de instrucción (es decir una
instrucción por cada ½ microsegundo, si se trabaja con
un cristal HS de 8 MHz), también necesitamos el valor del
Divisor de Frecuencia (el que seleccionamos con los
bits PS2, PS1 y PS0), y finalmente con el complemento
del valor cargado en TMR0 (es decir 65536-TMR0), la
ecuación que nos permite realizar el cálculo es la que
sigue:
 Temporización = Ciclo de instrucción * (65536 -
TMR0) * Divisor de Frecuencia
TEMPORIZACIÓN TIMER 0
 Se desea una temporización de 100 ms (100 milisegundos), con un
HS de 8 MHz., y que además seleccionamos como Divisor de
frecuencia 256 (es decir PS2,PS1,PS0 = 1,1,1). La pregunta, sería
¿Cuál es el valor que se debe cargar enTMR0?
 Despejando
65536-TMR0 =Temporización(en microsegundos)/(1 us/cm* Div. de Frec.)
 (cm ciclos máquina) y reemplazando tendremos
 65536-TMR0 = 100000 us/(0,5 us/cm * 256)
 65536-TMR0 ~ 781 cm
TEMPORIZACIÓN TIMER 0
 Eso significa que en TMR0 deberemos cargar es:
65536-781=64755
 A partir de allí el TMR0 contará los 781 ciclos que
faltan para desbordarse y producir la interrupción, y
el tiempo que tardará en hacerlo es 100ms
aproximadamente.
TIMER 0 – PIC C
Luis David Narváez
TIMER 0 – PIC C
Luis David Narváez
 Escritura en el módulo TMR0
 Set_timer0(valor);
 Valor: Entero de 8/16 bits
 Lectura en el módulo TMR0
 Valor=get_timer0();
 Valor: Entero de 8/16 bits
TIMER 0 – PIC C
 Los distintos modos se pueden agrupar mediante el
empleo del símbolo |. Por ejemplo:
Setup_timer_0(RTCC_Div_256|RTCC_Ext_L_to_H);
 Nota!!! En ocasiones se emplea RTCC en lugar de
timer0, es decir, set_RTCC es lo mismo que
set_timer0.
PRÁCTICA
 Enunciado:
 Desarrollar un programa que encienda y
apague secuencialmente un LED cada 300ms.
Para la temporización se empleará la
interrupción del TMR0.
DESARROLLO
 Calcular la carga del TMR0 para 10 ms con un
divisor de frecuencia de 256 (Prescaler de 256)
 Entonces usaremos un registro auxiliar con un
contenido de 30 para obtener los 300ms.
 Carga Registro Auxiliar con 30 para obtener los
300ms de temporización.
 Bucle infinito en el programa principal.
DESARROLLO
 Para la subrutina de interrupción, tenemos:
 Recarga del TMR0 con su valor correspondiente para
obtener una temporización de 10ms.
 Disminuir (aumentar) el Contador Auxiliar hasta
obtener los 300ms.
 Verificar el estado del LED. Si está apagado lo enciende y
viceversa.
 Mantener en ese estado (prendido o pagado) durante
300ms.
 Regresar al programa principal.
SIMULACIÓN
SIMULACIÓN
PRÁCTICA
 Enunciado:
 Desarrollar un programa que encienda y
apague secuencialmente tres LEDs cada
500ms, 1 seg. y 1,5 seg. Para la temporización
se empleará la interrupción del TMR0, TMR1,
TMR3
Luis David Narváez
SIMULACIÓN
EL TMR0 COMO CONTADOR DE
EVENTOS EXTERNOS
Práctica:
 Enunciado:
 Se desea realizar un programa que cuente los pulsos
provenientes por el pin RA4 mediante el TMR0 configurado
como contador, y el TMR1 como base de tiempo de 1s.
(Frecuencímetro)
 De esta manera se visualizará la frecuencia en una LCD.
GENERADOR DE PULSOS
Luis David Narváez
( ) =
.
+
Luis David Narváez
GENERADOR DE PULSOS
SIMULACIÓN

Más contenido relacionado

La actualidad más candente

Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01Hamiltonn Casallas
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen MciLuis Zurita
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84guestf09168b
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Hamiltonn Casallas
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Hamiltonn Casallas
 
Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Hamiltonn Casallas
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesLuis Zurita
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Hamiltonn Casallas
 
Uso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi techUso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi techCarlos Buitron Quispe
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887whendygarcia
 

La actualidad más candente (20)

Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen Mci
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
Timer 0 - Pic16F877A
Timer 0 - Pic16F877ATimer 0 - Pic16F877A
Timer 0 - Pic16F877A
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04
 
Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Timer0 PIC16F84A
Timer0 PIC16F84ATimer0 PIC16F84A
Timer0 PIC16F84A
 
UNIDAD IV
UNIDAD IVUNIDAD IV
UNIDAD IV
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Uso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi techUso del timer0 para el pic 16 f877a con el compilador hi tech
Uso del timer0 para el pic 16 f877a con el compilador hi tech
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887
 

Destacado

4.2 Visualizadores LCD Arduino 2016
4.2 Visualizadores LCD Arduino 20164.2 Visualizadores LCD Arduino 2016
4.2 Visualizadores LCD Arduino 2016David Narváez
 
6. Panel RGB Arduino 2016
6. Panel RGB  Arduino 20166. Panel RGB  Arduino 2016
6. Panel RGB Arduino 2016David Narváez
 
2 Mecanismo PistóN Biela
2 Mecanismo PistóN  Biela2 Mecanismo PistóN  Biela
2 Mecanismo PistóN Bielamorasan
 
Mecánica de fluidos hidrostatica 2015
Mecánica de fluidos   hidrostatica 2015Mecánica de fluidos   hidrostatica 2015
Mecánica de fluidos hidrostatica 2015David Narváez
 
6.2. Estática - ESPACIO 3D
6.2. Estática - ESPACIO 3D6.2. Estática - ESPACIO 3D
6.2. Estática - ESPACIO 3DDavid Narváez
 
Chapter12 manufacturing-processes
Chapter12 manufacturing-processesChapter12 manufacturing-processes
Chapter12 manufacturing-processesVin Voro
 

Destacado (11)

Webquest ldn
Webquest   ldnWebquest   ldn
Webquest ldn
 
4.2 Visualizadores LCD Arduino 2016
4.2 Visualizadores LCD Arduino 20164.2 Visualizadores LCD Arduino 2016
4.2 Visualizadores LCD Arduino 2016
 
RS232 PUCESI
RS232 PUCESIRS232 PUCESI
RS232 PUCESI
 
6. Panel RGB Arduino 2016
6. Panel RGB  Arduino 20166. Panel RGB  Arduino 2016
6. Panel RGB Arduino 2016
 
Vectores 3D 2016
Vectores 3D  2016Vectores 3D  2016
Vectores 3D 2016
 
tema 3 de mecanismos
tema 3 de mecanismos tema 3 de mecanismos
tema 3 de mecanismos
 
Trabajo mecanico 10
Trabajo mecanico 10Trabajo mecanico 10
Trabajo mecanico 10
 
2 Mecanismo PistóN Biela
2 Mecanismo PistóN  Biela2 Mecanismo PistóN  Biela
2 Mecanismo PistóN Biela
 
Mecánica de fluidos hidrostatica 2015
Mecánica de fluidos   hidrostatica 2015Mecánica de fluidos   hidrostatica 2015
Mecánica de fluidos hidrostatica 2015
 
6.2. Estática - ESPACIO 3D
6.2. Estática - ESPACIO 3D6.2. Estática - ESPACIO 3D
6.2. Estática - ESPACIO 3D
 
Chapter12 manufacturing-processes
Chapter12 manufacturing-processesChapter12 manufacturing-processes
Chapter12 manufacturing-processes
 

Similar a INTERRUPCIONES Y TEMPORIZADORES MICROCONTROLADORES

Introducpic2
Introducpic2Introducpic2
Introducpic2conalep
 
Introducpic
IntroducpicIntroducpic
Introducpicconalep
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"Diego Rojas Ruiz
 
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-matricialGabriel Bravo Rojas
 
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 mercanteDaniel Remondegui
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedadordy vc
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfsopitamani1
 
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 bancoAnibal Ulibarri
 

Similar a INTERRUPCIONES Y TEMPORIZADORES MICROCONTROLADORES (20)

Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"TIMERS&TEMPORIZADORES EN "C"
TIMERS&TEMPORIZADORES EN "C"
 
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
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Enunciación
EnunciaciónEnunciación
Enunciación
 
Tarea final
Tarea finalTarea final
Tarea final
 
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
 
Interrupciones y Temporizadores
Interrupciones y TemporizadoresInterrupciones y Temporizadores
Interrupciones y Temporizadores
 
Microprosedador
MicroprosedadorMicroprosedador
Microprosedador
 
Enunciación
EnunciaciónEnunciación
Enunciación
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Arquitectura interna micro
Arquitectura interna microArquitectura interna micro
Arquitectura interna micro
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_picGrabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
 
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
 

Más de David Narváez

3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdfDavid Narváez
 
1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdfDavid Narváez
 
Muestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaMuestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaDavid Narváez
 
Protocolos y Acceso a la Red
Protocolos y Acceso a la RedProtocolos y Acceso a la Red
Protocolos y Acceso a la RedDavid Narváez
 
Procedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaProcedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaDavid Narváez
 
Variables Recolección Datos
Variables Recolección DatosVariables Recolección Datos
Variables Recolección DatosDavid Narváez
 
2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdfDavid Narváez
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfDavid Narváez
 
1. Redes en la Actualidad
1. Redes en la Actualidad1. Redes en la Actualidad
1. Redes en la ActualidadDavid Narváez
 
3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidadDavid Narváez
 
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdfDavid Narváez
 
Procedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfProcedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfDavid Narváez
 
2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdfDavid Narváez
 
2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdfDavid Narváez
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfDavid Narváez
 
1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOTDavid Narváez
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la informaciónDavid Narváez
 
Virtual private network VPN e IPSec
Virtual private network VPN e IPSecVirtual private network VPN e IPSec
Virtual private network VPN e IPSecDavid Narváez
 
Listas de control de acceso - ACL
Listas de control de acceso - ACLListas de control de acceso - ACL
Listas de control de acceso - ACLDavid Narváez
 
Recomendación X.800 UIT
Recomendación X.800 UITRecomendación X.800 UIT
Recomendación X.800 UITDavid Narváez
 

Más de David Narváez (20)

3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf3. Procedimientos Estadística Descriptiva.pdf
3. Procedimientos Estadística Descriptiva.pdf
 
1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf1. Conceptos Datos Valores - Gamificacion.pdf
1. Conceptos Datos Valores - Gamificacion.pdf
 
Muestreo Aleatorio - Bioestadística
Muestreo Aleatorio - BioestadísticaMuestreo Aleatorio - Bioestadística
Muestreo Aleatorio - Bioestadística
 
Protocolos y Acceso a la Red
Protocolos y Acceso a la RedProtocolos y Acceso a la Red
Protocolos y Acceso a la Red
 
Procedimientos Estadística Descriptiva
Procedimientos Estadística DescriptivaProcedimientos Estadística Descriptiva
Procedimientos Estadística Descriptiva
 
Variables Recolección Datos
Variables Recolección DatosVariables Recolección Datos
Variables Recolección Datos
 
2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf2. Sistema Operativo de Red.pdf
2. Sistema Operativo de Red.pdf
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdf
 
1. Redes en la Actualidad
1. Redes en la Actualidad1. Redes en la Actualidad
1. Redes en la Actualidad
 
3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad3. Medidas de posición y variabilidad
3. Medidas de posición y variabilidad
 
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
2.2C Procedimientos Estadística Descriptiva-Tendencias Centrales.pdf
 
Procedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdfProcedimientos Estadística Descriptiva-Frecuencias.pdf
Procedimientos Estadística Descriptiva-Frecuencias.pdf
 
2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf2.2 Procedimientos Estadistica Descriptiva.pdf
2.2 Procedimientos Estadistica Descriptiva.pdf
 
2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf2.1 Variables Recoleccion Datos.pdf
2.1 Variables Recoleccion Datos.pdf
 
Conceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdfConceptos Datos Valores - Bioestadistica.pdf
Conceptos Datos Valores - Bioestadistica.pdf
 
1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT1. Perspectivas, impactos y procesos IOT
1. Perspectivas, impactos y procesos IOT
 
Seguridad de la información
Seguridad de la informaciónSeguridad de la información
Seguridad de la información
 
Virtual private network VPN e IPSec
Virtual private network VPN e IPSecVirtual private network VPN e IPSec
Virtual private network VPN e IPSec
 
Listas de control de acceso - ACL
Listas de control de acceso - ACLListas de control de acceso - ACL
Listas de control de acceso - ACL
 
Recomendación X.800 UIT
Recomendación X.800 UITRecomendación X.800 UIT
Recomendación X.800 UIT
 

Último

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 

INTERRUPCIONES Y TEMPORIZADORES MICROCONTROLADORES

  • 2. GENERALIDADES  Las interrupciones son desviaciones del flujo de control del programa originadas asíncronamente por diversos sucesos que no se hallan bajo la supervisión de las instrucciones.  Dichos sucesos pueden ser externos al sistema, como la generación de un flanco o nivel activo en un pin del microcontrolador, o bien internos, como el desbordamiento de un contador.
  • 3. GENERALIDADES  Se detiene la ejecución del programa en curso, se salva la dirección actual del PC en la Pila y se carga el PC con una dirección, en el caso de una interrupción es una dirección “reservada” de la memoria de código, llamada Vector de interrupción, 0x04 para los microcontroladores de la gama baja y media; mientras que en la gama alta existen dos direcciones: 0x08 prioridad alta y 0x18 prioridad baja.
  • 4. ENABLE/DISABLE_INTERRUPTS() are: #define GLOBAL 0xF2C0 #define INT_RTCC 0xF220 #define INT_TIMER0 0xF220 #define INT_TIMER1 0x9D01 #define INT_TIMER2 0x9D02 #define INT_TIMER3 0xA002 #define INT_EXT 0xF210 #define INT_EXT1 0xF008 #define INT_EXT2 0xF010 #define INT_RB 0xFFF208 #define INT_AD 0x9D40 INTERRUPCIONES - DIRECTIVAS
  • 5. ENABLE/DISABLE_INTERRUPTS() are: #define INT_RDA 0x9D20 #define INT_TBE 0x9D10 #define INT_SSP 0x9D08 #define INT_CCP1 0x9D04 #define INT_CCP2 0xA001 #define INT_BUSCOL 0xA008 #define INT_LOWVOLT 0xA004 #define INT_COMP 0xA040 #define INT_EEPROM 0xA010 #define INT_OSCF 0xA080 #define INT_SPP 0x9D80 #define INT_USB 0xA020 INTERRUPCIONES - DIRECTIVAS
  • 6. DEFAULT - GLOBAL Luis David Narváez
  • 8. INTERRUPCION EXTERNA RB0/INT REGISTRO INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF
  • 9. DESCRIPCIÓN  Esta fuente de interrupción es sumamente importante para atender acontecimientos externos en tiempo real.  Cuando ocurre alguno de ellos activa el pin RB0/INT y se hace una petición de interrupción, en forma automática.  Este método es más eficaz que la técnica de sondeo ya que el microcontrolador no perderá tiempo preguntando a la línea de entrada para leer su estado, sino que únicamente atenderá al periférico cuando éste se lo pida mediante la solicitud de interrupción.
  • 10. RB0/INT - PICC  En el caso de la interrupción externa RB0/INT de los PIC18FXXX se tiene la siguiente directiva. #INT_EXT – flanco en el pin RB0. Se activa la bandera INTF.  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.
  • 11. RB0/INT - PICC  Si se utilizan las directivas de interrupción, 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.  Además, genera el código para salvar al principio y restituir al final el contexto, y también borrará la bandera que se activó con la interrupción. El programador, solo debe encargarse de habilitar las interrupciones.
  • 12. RB0/INT - PICC  Existe también otra función adicional destinada a configurar el flanco activo que genera la interrupción externa (en RB0).  ext_int_edge (0, H_TO_L); - equivale a INTEDG=0. Selecciona el flanco de bajada para activar la bandera INTF.  ext_int_edge (0, L_TO_H); - equivale a INTEDG=1. Selecciona el flanco de subida para activar la bandera INTF.
  • 13. PRÁCTICA  Enunciado: Realizar un programa que indique en tiempo real la recepción de una señal externa recibida por el pin INT0, INT1, INT2 del microcontrolador. La recepción de dicha señal se lo hará a través de tres LEDs indicadores, los cuales se apagarán mientras se presione el pulsador correspondiente.
  • 16. RETO  Enunciado: Realizar un contador autónomo de 0 a 9999 en cuatro displays de 7 segmentos, el incremento se realizará con una temporización de 500 ms. Un pulsador sin interrupción (PIN_B3) posibilitará el conteo de 1 en 1. La INT0 para un conteo de 10 en 10, la INT1 para un conteo de 100 en 100, la INT2 para un conteo de 1000 en 1000.
  • 17. INTERRUPCION EXTERNA RBI REGISTRO INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF INTERRUPCION RBI
  • 18. DESCRIPCIÓN  Los pines <RB7:RB4> del PORTB producen una sola interrupción por cambio de su estado.  Para activar la interrupción por cambio de estado en los pines <RB7:RB4> los bits RBIE y GIE del registro INTCON deben estar a “1”, en estas condiciones cuando se produce un cambio de nivel en cualquiera de las líneas RB7 a RB4 se activa la bandera RBIF del registro INTCON.
  • 19. RBI – CCS COMPILER  Entonces en la subrutina de interrupción se deberá hacer el tratamiento respectivo para identificar cual de los pines se activó.  En Lenguaje C, la interrupción se activa con enable_interrupts(INT_RB) y la subrutina de tratamiento de la interrupción se llama con INT_RB.
  • 20. RBI – CCS COMPILER  En caso que se estén atendiendo varias interrupciones, el compilador C, también tiene la directiva #priority que sirve para fijar la prioridad de las interrupciones, así, las interrupciones más importantes están son listadas al principio.  Por ejemplo:  #priority ext, rbi; //la interrupción RB0/INT será atendida antes de RBI.
  • 21. PRÁCTICA Enunciado: Se conectan 4 pulsadores a RB4, RB5, RB6 y RB7 y una LCD al puerto D. Se realiza un contador automática que dependa de la detección de cambio de estado en cada pin RBI, de acuerdo al siguiente detalle: +1, -1, -10, +10.
  • 23. TIMERS RTCC, TIMER 1,TIMER 2,TIMER 3 Luis David Narváez
  • 24. TIMER 0 - RTCC Luis David Narváez  Una de las labores más habituales en los programas de control de dispositivos suele ser determinar intervalos concretos de tiempo, y recibe el nombre de temporizador (timer) el elemento encargado de realizar esta función.  También suele ser frecuente contar los impulsos que se producen en el exterior del sistema, y el elemento destinado a este fin se llama contador.
  • 25. TIMER 0 - RTCC Luis David Narváez  TMR0 es un contador/temporizador de 8/16 bits.  Se puede leer y escribir.  Puede trabajar con reloj interno o con señal de reloj externa.  Selección del flanco en el reloj externo.  Predivisor de frecuencia de reloj programable por software de 8 bits.  Interrupción opcional en el desbordamiento.
  • 26. TEMPORIZACIÓN TIMER 0  El tiempo empleado en una temporización se puede calcular a partir de un ciclo de instrucción (es decir una instrucción por cada ½ microsegundo, si se trabaja con un cristal HS de 8 MHz), también necesitamos el valor del Divisor de Frecuencia (el que seleccionamos con los bits PS2, PS1 y PS0), y finalmente con el complemento del valor cargado en TMR0 (es decir 65536-TMR0), la ecuación que nos permite realizar el cálculo es la que sigue:  Temporización = Ciclo de instrucción * (65536 - TMR0) * Divisor de Frecuencia
  • 27. TEMPORIZACIÓN TIMER 0  Se desea una temporización de 100 ms (100 milisegundos), con un HS de 8 MHz., y que además seleccionamos como Divisor de frecuencia 256 (es decir PS2,PS1,PS0 = 1,1,1). La pregunta, sería ¿Cuál es el valor que se debe cargar enTMR0?  Despejando 65536-TMR0 =Temporización(en microsegundos)/(1 us/cm* Div. de Frec.)  (cm ciclos máquina) y reemplazando tendremos  65536-TMR0 = 100000 us/(0,5 us/cm * 256)  65536-TMR0 ~ 781 cm
  • 28. TEMPORIZACIÓN TIMER 0  Eso significa que en TMR0 deberemos cargar es: 65536-781=64755  A partir de allí el TMR0 contará los 781 ciclos que faltan para desbordarse y producir la interrupción, y el tiempo que tardará en hacerlo es 100ms aproximadamente.
  • 29. TIMER 0 – PIC C Luis David Narváez
  • 30. TIMER 0 – PIC C Luis David Narváez  Escritura en el módulo TMR0  Set_timer0(valor);  Valor: Entero de 8/16 bits  Lectura en el módulo TMR0  Valor=get_timer0();  Valor: Entero de 8/16 bits
  • 31. TIMER 0 – PIC C  Los distintos modos se pueden agrupar mediante el empleo del símbolo |. Por ejemplo: Setup_timer_0(RTCC_Div_256|RTCC_Ext_L_to_H);  Nota!!! En ocasiones se emplea RTCC en lugar de timer0, es decir, set_RTCC es lo mismo que set_timer0.
  • 32. PRÁCTICA  Enunciado:  Desarrollar un programa que encienda y apague secuencialmente un LED cada 300ms. Para la temporización se empleará la interrupción del TMR0.
  • 33. DESARROLLO  Calcular la carga del TMR0 para 10 ms con un divisor de frecuencia de 256 (Prescaler de 256)  Entonces usaremos un registro auxiliar con un contenido de 30 para obtener los 300ms.  Carga Registro Auxiliar con 30 para obtener los 300ms de temporización.  Bucle infinito en el programa principal.
  • 34. DESARROLLO  Para la subrutina de interrupción, tenemos:  Recarga del TMR0 con su valor correspondiente para obtener una temporización de 10ms.  Disminuir (aumentar) el Contador Auxiliar hasta obtener los 300ms.  Verificar el estado del LED. Si está apagado lo enciende y viceversa.  Mantener en ese estado (prendido o pagado) durante 300ms.  Regresar al programa principal.
  • 35.
  • 38. PRÁCTICA  Enunciado:  Desarrollar un programa que encienda y apague secuencialmente tres LEDs cada 500ms, 1 seg. y 1,5 seg. Para la temporización se empleará la interrupción del TMR0, TMR1, TMR3
  • 40. EL TMR0 COMO CONTADOR DE EVENTOS EXTERNOS Práctica:  Enunciado:  Se desea realizar un programa que cuente los pulsos provenientes por el pin RA4 mediante el TMR0 configurado como contador, y el TMR1 como base de tiempo de 1s. (Frecuencímetro)  De esta manera se visualizará la frecuencia en una LCD.
  • 41. GENERADOR DE PULSOS Luis David Narváez ( ) = . +