SlideShare a Scribd company logo
1 of 18
Download to read offline
Sistemas Basados en
   Microprocesadores

Temporizadores y Contadores
Temporizador vs. Contador
 Untemporizador es un dispositivo, con frecuencia
 programable, que permite medir el tiempo.
    Normalmente, cuando transcurre el tiempo configurado
     se hace saltar una alarma.
 Uncontador asíncrono es un circuito capaz de
 realizar el cómputo de los impulsos que recibe en
 una entrada destinada a tal efecto.




 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizadores/Contadores
   Los PIC18 disponen de hasta 5 temporizadores:
       TMR0  Temporizador de 8 o 16 bits de resolución que puede
        trabajar como contador.
       TMR1 y TMR3  Temporizadores de 16 bits de resolución que
        pueden trabajar como contadores.
       TMR2 y TMR4  Temporizadores especiales de 8 bits.
   El valor de todos los temporizados es accesible por medio de
    registros (TMR0H:TMR0L, TMR1H:TMR1L, TMR2…).
   Todos los temporizadores llevan asociada una interrupción
       Por desbordamiento del temporizador/contador (TMR0, TMR1 y
        TMR3).
       Por alcanzar el valor del registro de periodo (TMR2 y TMR4).

                      El TMR3 y el TMR4 no se verán en detalle
                       porque son prácticamente iguales que el
                          TMR1 y el TMR2, respectivamente.

    http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR0
   Puede funcionar como temporizador o como contador
    asíncrono (por medio del pin RA4/T0CKI).
       Flanco activo configurable cuando trabajar como contador.
   Puede trabajar con 8 o 16 bits de precisión.
   Valor del temporizador/contador accesible por medio de los
    registros TMR0H:TMR0L.
       Cuando se trabaja con 8 bits, se usa sólo el registro TMR0L.
   Posibilidad de usar pre-divisor:
       Pre-divisor configurable de 1:2 a 1:256.
   Interrupción por desbordamiento.




    http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR0 (continuación…)
               Señal de             Aplicación del          Autoincremento
               Entrada               pre-divisor              del registro
                                                             …
                                                             0h00
                                                             0h01
                                                      1:2    …
                                                             0hFE
                                                      1:4    0hFF
Temporizador                                                        Interrupción TMR0
                                                             0h00
                                                             0h01
                                                             …




  Contador                                           1:2

                                                     1:4


     http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR0 (continuación…)
 En el modo de 16 bits, el registro TMRH no contiene
 el valor real, sino que éste está almacenado en un
 buffer interno no accesible.
    El registro TMR0H se actualiza con el valor real durante
     la lectura del registro TMR0L.
    La escritura del valor real en el buffer interno desde el
     registro TMR0H se realiza durante la escritura del registro
     TMR0L.
                                                          Se debe leer primero el
                                                        TMR0L y después el TMR0H

                                                         Se debe escribir primero el
                                                        TMR0H y después el TMR0L




 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR0 (continuación…)


                                                    Habilita el TMR0


                                                   Selecciona el modo
                                                     temporizador o
                                                     modo contador

                                                   Flanco activo para
                                                   el modo contador



                                                        Selecciona del
                                                         pre-escaler




 http://paginaspersonales.deusto.es/jonathan.garibay/
Dominios de tiempo
 Lamedida de tiempo natural es la que usamos de
 forma normal en la realidad.
    Se mide en segundos (S) y todos sus múltiplos: mS, µS…
 En  los PIC’s el tiempo de mide en ‘ticks’, siendo un
 ‘tick’ el tiempo necesario para que se genere una
 señal de incremento del reloj del sistema.
    El ‘tick’ es la unidad mínima de temporización de un
     µcontrolador.
 La   relación entre tiempo natural y ‘ticks’ es:
                      tiempo ticks Treloj   pre divisor

                                  Periodo del reloj del sistema


 http://paginaspersonales.deusto.es/jonathan.garibay/
Cálculo de temporizaciones
ticks                Timer0                          La interrupción por desbordamiento va a
  255                                                 avisar del fin de una temporización.
                              número de ‘ticks’          Por ello, no se empieza a contar desde 0,
                                                          sino desde una valor inicial que se calcula
                                                          de la siguiente forma:
                    TMR0L                                       valor _ inicial 256 número_ de _ ticks
                                                         Con este valor inicial, al cabo de ‘n’ ticks se
                                                          producirá el desbordamiento.
valor inicial




                                                     En unidades naturales, la interrupción se
                                                      producirá al cabo de un tiempo que se
                                                      calcula con la siguiente fórmula:
                                                                             4
                                                            temporización        num _ ticks pre divisor
                                                                            Fosc
                0


                http://paginaspersonales.deusto.es/jonathan.garibay/
Cálculo de temporizaciones (continuación…)
   Para temporizar un valor concreto se necesita calcular:
       El valor del pre-divisor.
           Se calcula la temporización máxima con cada pre-divisor para
            identificar cual es el valor de pre-divisor mínimo a utilizar.
                                    4
                     temp _ max         num _ max_ tick pre divisor
                                  Fosc
       El valor inicial de temporización.
           Aplicando la siguiente formula (derivada de las anteriores).
                                            Fosc
                  valor _ inicial 256                 temporización
                                        4 pre divisor
   Como el valor inicial tiene que ser un entero, habrá que
    redondear, y por tanto existirá un error de redondeo.
       Habrá que tratar de minimizar este error realizando los cálculos
        para diferentes pre-divisores.


    http://paginaspersonales.deusto.es/jonathan.garibay/
Cálculo de temporizaciones (continuación…)
 Resumen       de la metodología:
 1.   Obtener los valores posibles de los pre-divisores.
 2.   Obtener el valor inicial del temporizador para cada uno
      de los pre-divisores posibles.
 3.   Todos los pares (pre-divisor, valor inicial) serán
      soluciones válidas. Sin embargo, debido al error de
      redondeo unas serán mejores que otras.
 4.   Calcular el error de redondeo y seleccionar como
      solución el que lo tenga más bajo
                                                 4
            temp _ real (256 valor _ inicial)        pre divisor
                                                Fosc
            error temporización temp _ real



 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR1
   Puede funcionar como temporizador, como contador
    asíncrono (RC0/T1CKI) y como contador síncrono
    (RC1/T1OSI y RC0/T1OSO).
       Cuando trabaja como contador asíncrono, se trabaja siempre
        con flanco ascendente.
 Tiene 16 bits de precisión.
 Valor del temporizador accesible por medio de los
  registros TMR1H:TMR1L.
 Permite utilizar un pre-divisor configurable de 1:1, 1:2,
  1:4 y 1:8.
 Interrupción por desbordamiento.



    http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR1 (continuación…)
 El    funcionamiento es similar al del TMR0.
   La fuente externa del                                 Esta señal se puede utilizar
      timer puede ser                                    como entrada del oscilador
   síncrona o asíncrona                                   interno del µcontrolador




El timer se puede resetear
 desde los módulos CCP




  http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR1 (continuación…)
 Para  la lectura y escritura del valor del TMR1, se
 utiliza el mismo modelo que el del TMR0 en el que el
 registro TMR1H no contiene el valor real.



                                                        Esto no quiere decir que
                                                         se configure como 1:1.

                                                          Quiere decir que se
                                                        reinicia la cuenta de los
                                                          flancos detectados.

                   El pre-escaler se borra cuando
                    se escribe el registro TMR1L


 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador/Contador TMR1 (continuación…)



                                                     Selecciona del
                                                      pre-escaler

                                                    Selecciona entre
                                                   contador síncrono o
                                                   contador asíncrono




                                                   Selecciona el modo
                                                     temporizador o
                                                     modo contador

                                      Habilita el TMR1

 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador TMR2
 Esun temporizador de 8 bits con un registro de
 periodo (PR2).
    Cuando el timer alcanza el valor del registro PR2, se
     resetea y comienza una nueva temporización.
 Valor del temporizador accesible por medio del
  registro TMR2.
 Pre-divisor configurable de 1:1, 1:4 o 1:16.
 Incluye un post-divisor configurable desde 1:1 a 1:16
  (1:2, 1:3, 1:4…).
    Se incrementa cada vez que el timer alcanza el valor del
     registro PR2.


 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador TMR2 (continuación…)
 Interrupción      especial después del post-divisor.
    Se genera cuando se haya realizado ‘n’ temporizaciones,
     siendo ‘n’ el valor del post-divisor.

                                                    La interrupción depende
                  Reset del contador                     del post-divisor




                                                                    Salida para el
                                                                    módulo PWM


 No hay entradas externas
     para contadores


 http://paginaspersonales.deusto.es/jonathan.garibay/
Temporizador TMR2 (continuación…)




                                                 Selecciona del
                                                  post-escaler


                                                Habilita el TMR1


                                                 Selecciona del
                                                  pre-escaler




 http://paginaspersonales.deusto.es/jonathan.garibay/

More Related Content

What's hot

4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadoresDavid Narváez
 
Sistema de alarma Netcom 6480
Sistema de alarma Netcom 6480Sistema de alarma Netcom 6480
Sistema de alarma Netcom 6480Jomicast
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen MciLuis Zurita
 
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
 
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
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoSANTIAGO PABLO ALBERTO
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeJomicast
 
Memoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4AMemoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4AJosé Pujol Pérez
 
Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 electro_pic
 

What's hot (20)

Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887
 
Timer0 PIC16F84A
Timer0 PIC16F84ATimer0 PIC16F84A
Timer0 PIC16F84A
 
4. interrupciones y temporizadores
4. interrupciones y temporizadores4. interrupciones y temporizadores
4. interrupciones y temporizadores
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Temporizador timer0
Temporizador timer0Temporizador timer0
Temporizador timer0
 
Uso del tmr0
Uso del tmr0Uso del tmr0
Uso del tmr0
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
UNIDAD IV
UNIDAD IVUNIDAD IV
UNIDAD IV
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Sistema de alarma Netcom 6480
Sistema de alarma Netcom 6480Sistema de alarma Netcom 6480
Sistema de alarma Netcom 6480
 
Ejemplos 4to Examen Mci
Ejemplos 4to Examen MciEjemplos 4to Examen Mci
Ejemplos 4to Examen Mci
 
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
 
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
 
Taller fabricación robots-d2
Taller fabricación robots-d2Taller fabricación robots-d2
Taller fabricación robots-d2
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garaje
 
Ejercicio LOGO
Ejercicio LOGOEjercicio LOGO
Ejercicio LOGO
 
Memoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4AMemoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4A
 
El microcontrolador pic
El microcontrolador picEl microcontrolador pic
El microcontrolador pic
 
Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0
 

Viewers also liked

El Alternador
El AlternadorEl Alternador
El Alternadorcemarol
 
Regulador De Voltaje 2010[1]
Regulador De Voltaje 2010[1]Regulador De Voltaje 2010[1]
Regulador De Voltaje 2010[1]wilmer03
 
Sistema de arranque y carga
Sistema de arranque y cargaSistema de arranque y carga
Sistema de arranque y cargacildaisabel
 
Temporizadores
TemporizadoresTemporizadores
TemporizadoresAlbertoHT
 
Inyeccion de gasolina. actuadores
Inyeccion de gasolina. actuadoresInyeccion de gasolina. actuadores
Inyeccion de gasolina. actuadoresMarcos Tinoco
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltajeLavigne10
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltajerseclen_b
 
Temporizadores
TemporizadoresTemporizadores
TemporizadoresJomicast
 
Sistemas de ayuda de arranque para motores diésel
Sistemas de ayuda de arranque para motores diéselSistemas de ayuda de arranque para motores diésel
Sistemas de ayuda de arranque para motores diéseldanielburg10812
 
Alternadores y reguladores de tension
Alternadores y reguladores de tensionAlternadores y reguladores de tension
Alternadores y reguladores de tensionJuan Peredo González
 
Guia de prueba de baterias
Guia de prueba de bateriasGuia de prueba de baterias
Guia de prueba de bateriasjcosijoeza
 
Dinamo Y Motor
Dinamo Y MotorDinamo Y Motor
Dinamo Y Motorcemarol
 
Sistema de arranque
Sistema de arranqueSistema de arranque
Sistema de arranquejosechaky
 
23. alternador diagnostico
23. alternador diagnostico23. alternador diagnostico
23. alternador diagnosticoOscaro.es
 

Viewers also liked (20)

El Alternador
El AlternadorEl Alternador
El Alternador
 
Regulador De Voltaje 2010[1]
Regulador De Voltaje 2010[1]Regulador De Voltaje 2010[1]
Regulador De Voltaje 2010[1]
 
Sistema de arranque y carga
Sistema de arranque y cargaSistema de arranque y carga
Sistema de arranque y carga
 
Temporizadores
TemporizadoresTemporizadores
Temporizadores
 
Inyeccion de gasolina. actuadores
Inyeccion de gasolina. actuadoresInyeccion de gasolina. actuadores
Inyeccion de gasolina. actuadores
 
Temporizador
TemporizadorTemporizador
Temporizador
 
Informe final temporizadores
Informe final temporizadoresInforme final temporizadores
Informe final temporizadores
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltaje
 
Temporizadores
TemporizadoresTemporizadores
Temporizadores
 
Regulador de voltaje
Regulador de voltajeRegulador de voltaje
Regulador de voltaje
 
Temporizadores
TemporizadoresTemporizadores
Temporizadores
 
Sistemas de ayuda de arranque para motores diésel
Sistemas de ayuda de arranque para motores diéselSistemas de ayuda de arranque para motores diésel
Sistemas de ayuda de arranque para motores diésel
 
Alternadores y reguladores de tension
Alternadores y reguladores de tensionAlternadores y reguladores de tension
Alternadores y reguladores de tension
 
Guia de prueba de baterias
Guia de prueba de bateriasGuia de prueba de baterias
Guia de prueba de baterias
 
Dinamo Y Motor
Dinamo Y MotorDinamo Y Motor
Dinamo Y Motor
 
Sistema de arranque
Sistema de arranqueSistema de arranque
Sistema de arranque
 
23. alternador diagnostico
23. alternador diagnostico23. alternador diagnostico
23. alternador diagnostico
 
Alternador
AlternadorAlternador
Alternador
 
Temporizador
TemporizadorTemporizador
Temporizador
 
Diagnostico de batería
Diagnostico de bateríaDiagnostico de batería
Diagnostico de batería
 

Similar to 06.Temporizadores

Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4Luis Zurita
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorDaniel Pardo
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfsopitamani1
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Hamiltonn Casallas
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Hamiltonn Casallas
 
Introducpic2
Introducpic2Introducpic2
Introducpic2conalep
 
Introducpic
IntroducpicIntroducpic
Introducpicconalep
 
Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)alascaperu
 
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
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionLuis Zurita
 

Similar to 06.Temporizadores (20)

Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHOPRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
 
TEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDFTEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDF
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
In terrupciones pic
In terrupciones picIn terrupciones pic
In terrupciones pic
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Timers
TimersTimers
Timers
 
Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)
 
Timers
TimersTimers
Timers
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
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
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E Interrupcion
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Caso timers
Caso timersCaso timers
Caso timers
 

More from Jonathan Ruiz de Garibay

Codesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentCodesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentJonathan Ruiz de Garibay
 
Introducción a la planificación de proyectos
Introducción a la planificación de proyectosIntroducción a la planificación de proyectos
Introducción a la planificación de proyectosJonathan Ruiz de Garibay
 

More from Jonathan Ruiz de Garibay (20)

Vocaciones STEM
Vocaciones STEMVocaciones STEM
Vocaciones STEM
 
Configuraciones con transistores BJT
Configuraciones con transistores BJTConfiguraciones con transistores BJT
Configuraciones con transistores BJT
 
Amplificadores Multietapa
Amplificadores MultietapaAmplificadores Multietapa
Amplificadores Multietapa
 
Amplificación de señal con BJT
Amplificación de señal con BJTAmplificación de señal con BJT
Amplificación de señal con BJT
 
Recta de carga para señal
Recta de carga para señalRecta de carga para señal
Recta de carga para señal
 
Práctica09.Librerías
Práctica09.LibreríasPráctica09.Librerías
Práctica09.Librerías
 
Práctica08.Comunicaciones
Práctica08.ComunicacionesPráctica08.Comunicaciones
Práctica08.Comunicaciones
 
Práctica06.Controlando Motores
Práctica06.Controlando MotoresPráctica06.Controlando Motores
Práctica06.Controlando Motores
 
Práctica05.Interrupciones en Arduino
Práctica05.Interrupciones en ArduinoPráctica05.Interrupciones en Arduino
Práctica05.Interrupciones en Arduino
 
Práctica04.Programando Arduino
Práctica04.Programando ArduinoPráctica04.Programando Arduino
Práctica04.Programando Arduino
 
Práctica01.Sistemas de Entrada Salida
Práctica01.Sistemas de Entrada SalidaPráctica01.Sistemas de Entrada Salida
Práctica01.Sistemas de Entrada Salida
 
Programación Basada en Autómatas
Programación Basada en AutómatasProgramación Basada en Autómatas
Programación Basada en Autómatas
 
Introduccion a la Programación
Introduccion a la ProgramaciónIntroduccion a la Programación
Introduccion a la Programación
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Polarización de los Transistores
Polarización de los TransistoresPolarización de los Transistores
Polarización de los Transistores
 
Programación en Arduino
Programación en ArduinoProgramación en Arduino
Programación en Arduino
 
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype DevelopmentCodesign-Oriented Platform for Agile Internet of Things Prototype Development
Codesign-Oriented Platform for Agile Internet of Things Prototype Development
 
Introducción a la planificación de proyectos
Introducción a la planificación de proyectosIntroducción a la planificación de proyectos
Introducción a la planificación de proyectos
 
01.Puntos Clave de una Presentación Oral
01.Puntos Clave de una Presentación Oral01.Puntos Clave de una Presentación Oral
01.Puntos Clave de una Presentación Oral
 
02.El Soporte Visual
02.El Soporte Visual02.El Soporte Visual
02.El Soporte Visual
 

06.Temporizadores

  • 1. Sistemas Basados en Microprocesadores Temporizadores y Contadores
  • 2. Temporizador vs. Contador  Untemporizador es un dispositivo, con frecuencia programable, que permite medir el tiempo.  Normalmente, cuando transcurre el tiempo configurado se hace saltar una alarma.  Uncontador asíncrono es un circuito capaz de realizar el cómputo de los impulsos que recibe en una entrada destinada a tal efecto. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 3. Temporizadores/Contadores  Los PIC18 disponen de hasta 5 temporizadores:  TMR0  Temporizador de 8 o 16 bits de resolución que puede trabajar como contador.  TMR1 y TMR3  Temporizadores de 16 bits de resolución que pueden trabajar como contadores.  TMR2 y TMR4  Temporizadores especiales de 8 bits.  El valor de todos los temporizados es accesible por medio de registros (TMR0H:TMR0L, TMR1H:TMR1L, TMR2…).  Todos los temporizadores llevan asociada una interrupción  Por desbordamiento del temporizador/contador (TMR0, TMR1 y TMR3).  Por alcanzar el valor del registro de periodo (TMR2 y TMR4). El TMR3 y el TMR4 no se verán en detalle porque son prácticamente iguales que el TMR1 y el TMR2, respectivamente. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 4. Temporizador/Contador TMR0  Puede funcionar como temporizador o como contador asíncrono (por medio del pin RA4/T0CKI).  Flanco activo configurable cuando trabajar como contador.  Puede trabajar con 8 o 16 bits de precisión.  Valor del temporizador/contador accesible por medio de los registros TMR0H:TMR0L.  Cuando se trabaja con 8 bits, se usa sólo el registro TMR0L.  Posibilidad de usar pre-divisor:  Pre-divisor configurable de 1:2 a 1:256.  Interrupción por desbordamiento. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 5. Temporizador/Contador TMR0 (continuación…) Señal de Aplicación del Autoincremento Entrada pre-divisor del registro … 0h00 0h01 1:2 … 0hFE 1:4 0hFF Temporizador Interrupción TMR0 0h00 0h01 … Contador 1:2 1:4 http://paginaspersonales.deusto.es/jonathan.garibay/
  • 6. Temporizador/Contador TMR0 (continuación…)  En el modo de 16 bits, el registro TMRH no contiene el valor real, sino que éste está almacenado en un buffer interno no accesible.  El registro TMR0H se actualiza con el valor real durante la lectura del registro TMR0L.  La escritura del valor real en el buffer interno desde el registro TMR0H se realiza durante la escritura del registro TMR0L. Se debe leer primero el TMR0L y después el TMR0H Se debe escribir primero el TMR0H y después el TMR0L http://paginaspersonales.deusto.es/jonathan.garibay/
  • 7. Temporizador/Contador TMR0 (continuación…) Habilita el TMR0 Selecciona el modo temporizador o modo contador Flanco activo para el modo contador Selecciona del pre-escaler http://paginaspersonales.deusto.es/jonathan.garibay/
  • 8. Dominios de tiempo  Lamedida de tiempo natural es la que usamos de forma normal en la realidad.  Se mide en segundos (S) y todos sus múltiplos: mS, µS…  En los PIC’s el tiempo de mide en ‘ticks’, siendo un ‘tick’ el tiempo necesario para que se genere una señal de incremento del reloj del sistema.  El ‘tick’ es la unidad mínima de temporización de un µcontrolador.  La relación entre tiempo natural y ‘ticks’ es: tiempo ticks Treloj pre divisor Periodo del reloj del sistema http://paginaspersonales.deusto.es/jonathan.garibay/
  • 9. Cálculo de temporizaciones ticks Timer0  La interrupción por desbordamiento va a 255 avisar del fin de una temporización. número de ‘ticks’  Por ello, no se empieza a contar desde 0, sino desde una valor inicial que se calcula de la siguiente forma: TMR0L valor _ inicial 256 número_ de _ ticks  Con este valor inicial, al cabo de ‘n’ ticks se producirá el desbordamiento. valor inicial  En unidades naturales, la interrupción se producirá al cabo de un tiempo que se calcula con la siguiente fórmula: 4 temporización num _ ticks pre divisor Fosc 0 http://paginaspersonales.deusto.es/jonathan.garibay/
  • 10. Cálculo de temporizaciones (continuación…)  Para temporizar un valor concreto se necesita calcular:  El valor del pre-divisor.  Se calcula la temporización máxima con cada pre-divisor para identificar cual es el valor de pre-divisor mínimo a utilizar. 4 temp _ max num _ max_ tick pre divisor Fosc  El valor inicial de temporización.  Aplicando la siguiente formula (derivada de las anteriores). Fosc valor _ inicial 256 temporización 4 pre divisor  Como el valor inicial tiene que ser un entero, habrá que redondear, y por tanto existirá un error de redondeo.  Habrá que tratar de minimizar este error realizando los cálculos para diferentes pre-divisores. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 11. Cálculo de temporizaciones (continuación…)  Resumen de la metodología: 1. Obtener los valores posibles de los pre-divisores. 2. Obtener el valor inicial del temporizador para cada uno de los pre-divisores posibles. 3. Todos los pares (pre-divisor, valor inicial) serán soluciones válidas. Sin embargo, debido al error de redondeo unas serán mejores que otras. 4. Calcular el error de redondeo y seleccionar como solución el que lo tenga más bajo 4 temp _ real (256 valor _ inicial) pre divisor Fosc error temporización temp _ real http://paginaspersonales.deusto.es/jonathan.garibay/
  • 12. Temporizador/Contador TMR1  Puede funcionar como temporizador, como contador asíncrono (RC0/T1CKI) y como contador síncrono (RC1/T1OSI y RC0/T1OSO).  Cuando trabaja como contador asíncrono, se trabaja siempre con flanco ascendente.  Tiene 16 bits de precisión.  Valor del temporizador accesible por medio de los registros TMR1H:TMR1L.  Permite utilizar un pre-divisor configurable de 1:1, 1:2, 1:4 y 1:8.  Interrupción por desbordamiento. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 13. Temporizador/Contador TMR1 (continuación…)  El funcionamiento es similar al del TMR0. La fuente externa del Esta señal se puede utilizar timer puede ser como entrada del oscilador síncrona o asíncrona interno del µcontrolador El timer se puede resetear desde los módulos CCP http://paginaspersonales.deusto.es/jonathan.garibay/
  • 14. Temporizador/Contador TMR1 (continuación…)  Para la lectura y escritura del valor del TMR1, se utiliza el mismo modelo que el del TMR0 en el que el registro TMR1H no contiene el valor real. Esto no quiere decir que se configure como 1:1. Quiere decir que se reinicia la cuenta de los flancos detectados. El pre-escaler se borra cuando se escribe el registro TMR1L http://paginaspersonales.deusto.es/jonathan.garibay/
  • 15. Temporizador/Contador TMR1 (continuación…) Selecciona del pre-escaler Selecciona entre contador síncrono o contador asíncrono Selecciona el modo temporizador o modo contador Habilita el TMR1 http://paginaspersonales.deusto.es/jonathan.garibay/
  • 16. Temporizador TMR2  Esun temporizador de 8 bits con un registro de periodo (PR2).  Cuando el timer alcanza el valor del registro PR2, se resetea y comienza una nueva temporización.  Valor del temporizador accesible por medio del registro TMR2.  Pre-divisor configurable de 1:1, 1:4 o 1:16.  Incluye un post-divisor configurable desde 1:1 a 1:16 (1:2, 1:3, 1:4…).  Se incrementa cada vez que el timer alcanza el valor del registro PR2. http://paginaspersonales.deusto.es/jonathan.garibay/
  • 17. Temporizador TMR2 (continuación…)  Interrupción especial después del post-divisor.  Se genera cuando se haya realizado ‘n’ temporizaciones, siendo ‘n’ el valor del post-divisor. La interrupción depende Reset del contador del post-divisor Salida para el módulo PWM No hay entradas externas para contadores http://paginaspersonales.deusto.es/jonathan.garibay/
  • 18. Temporizador TMR2 (continuación…) Selecciona del post-escaler Habilita el TMR1 Selecciona del pre-escaler http://paginaspersonales.deusto.es/jonathan.garibay/