SlideShare una empresa de Scribd logo
1 de 17
CIRCUITOS DIGITALES II
TIMER 1 – PIC16F887
Mg. Ing. FERNANDO APARICIO URBANO MOLANO
2
MÓDULO TIMER1MÓDULO TIMER1
El TMR1 es un Temporizador/Contador con un
tamaño de 16 bits, lo que requiere el uso de dos
registros concatenados de 8 bits: TMR1H : TMR1L,
que son los encargados de guardar el valor del
conteo en cada momento. Dicho valor se
incrementa desde 0000h hasta FFFFh. Momento
en el cual se activa el señalizador TMR1IF y se
regresa al valor inicial 0000h.
3
MÓDULO TIMER1 (1)MÓDULO TIMER1 (1)
El valor contenido en TMR1H : TMR1L puede ser
leído o escrito y los impulsos de reloj que
originan el conteo ascendente pueden provenir
del exterior o de la frecuencia de funcionamiento
del microcontrolador (Fosc/4)
Tiene tres formas de operación:
1. Temporizador
2. Contador Asíncrono
3. Contador Síncrono
4
MÓDULOMÓDULO TIMER 1TIMER 1 –– REGISTRO T1CONREGISTRO T1CON
5
MÓDULO TIMER1 COMO TEMPORIZADORMÓDULO TIMER1 COMO TEMPORIZADOR
El valor concatenado TMR1H : TMR1L se
incrementa con cada ciclo de instrucción (Fosc/4).
Este modo es seleccionado limpiando el bit
TMR1CS (T1CON<1>). En este modo la entrada de
reloj al timer es Fosc/4. El bit T1SYNC (T1CON<2>)
no tiene efecto desde el reloj interno; ya que
siempre es síncrono.
6
MÓDULO TIMER1 COMO TEMPORIZADOR (1)MÓDULO TIMER1 COMO TEMPORIZADOR (1)
7
TIMER1 CONTADOR SÍNCRONOTIMER1 CONTADOR SÍNCRONO
El incremento se puede producir con los flancos
ascendentes de un reloj externo, cuya entrada se
aplica a los pines RC0 y RC1 del puerto C, o por
impulsos aplicados en el pin RC0. Este modo es
seleccionado seteando el bit TMR1CS.
8
TIMER1 CONTADOR SÍNCRONO (2)TIMER1 CONTADOR SÍNCRONO (2)
En este modo el timer incrementa cada flanco
ascendente de una entrada de reloj externo en el
pin RC1, cuando el bit T1OSCEN se pone a 1. O
cuando una entrada de reloj ingresa por el pin
RC0, cuando el bit T1OSCEN se limpia (0). Si el
T1SYNC se limpia, entonces el reloj externo es
sincronizado con la fase del reloj interno.
9
TIMER 1 Diagrama de BloquesTIMER 1 Diagrama de Bloques
10
TIMER1 CONTADOR ASÍNCRONOTIMER1 CONTADOR ASÍNCRONO
Si el bit T1SYNC (T1CON<2>) se coloca a 1, el reloj
externo no es sincronizado. El timer continua un
incremento asíncrono a la fase del reloj interno. El
timer continuará funcionando durante el modo
SLEEP y podrá generar una interrupción de
desborde; el cual podría despertar al procesador
del modo SLEEP.
11
EJERCICIO DE APLICACIÓNEJERCICIO DE APLICACIÓN
Diseñar un sistema que genere un retardo de 500
ms, usando el TMR1 del PIC16F887. Cada vez que
concluya el tiempo se activará el Puerto C de forma
escalonada.
12
DISEÑO HARDWAREDISEÑO HARDWARE
13
CONSIDERACIONES DEL PROGRAMACONSIDERACIONES DEL PROGRAMA
Se tiene un ciclo de instrucción de demanda
1 us (Cristal de 4MHZ). El retardo será de
65.536 ms. Para alcanzar el valor que
deseamos emplearemos el preescaler. Si lo
colocamos a 1:8 obtendremos el valor
deseado:
Retardo=4*Tosc*TMR1*Preescaler
Retardo=4*0.25us * 65536*8
Retardo=524,288 ms
14
CONSIDERACIONES DEL PROGRAMA (2)CONSIDERACIONES DEL PROGRAMA (2)
Nos apoyaremos en el bit de desborde del modulo
timer 1 TMR1F. Como el valor lo vamos a mostrar
en el Puerto C como una escalera que se
incrementa cada 500 ms usaremos una tabla para
decodificar el valor a mostrar en el Puerto C.
15
ALGORÍTMO DEL PROGRAMAALGORÍTMO DEL PROGRAMA
Deshabilitamos el módulo timer 0
(OPTION_REG=0x80) y habilitamos el modulo timer
1( preescaler 1:8, deshabilitamos oscilador, no hay
sincronismo, el reloj es interno, el modulo timer 1
esta apagado ).
X X T1CKPS1 T1CKPS0 T1OSCEN - T1SYNC TMR1CS
TMR1ON
0 0 1 1 0 0 0 0
16
ALGORÍTMO DEL PROGRAMA (1)ALGORÍTMO DEL PROGRAMA (1)
1. Ir banco 1
2. TRISC=0
3. OPTION_REG=b'10000000'
4. Ir banco 0
5. T1CON=b'00110000'
6. CONTA=0, PORTC =0;
7. W=CONTA (indice)
8. CALL DISPLAY
9. PORTC=W
10 CALL RETARDO
17
ALGORÍTMO DEL PROGRAMAALGORÍTMO DEL PROGRAMA (2)(2)
11. CONTA=CONTA +1
12. Si CONTA es 8, entonces CONTA =0, Ir paso 7
13. Sino CONTA =CONTA+1, Ir paso 7
Retardo
1.TMR1IF=0
2. TMR1=0
3. TMR1ON=1
4. Si TMR1IF es 1, entonces TMR1ON=1, return
5. Ir paso 4

Más contenido relacionado

La actualidad más candente

Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreLuis Zurita
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno SANTIAGO PABLO ALBERTO
 
Sistemas de primer orden
Sistemas de primer ordenSistemas de primer orden
Sistemas de primer ordenHenry Alvarado
 
DiseñO De Un Contador Con Flip Flops Tipo Jk
DiseñO De Un Contador Con Flip Flops Tipo JkDiseñO De Un Contador Con Flip Flops Tipo Jk
DiseñO De Un Contador Con Flip Flops Tipo Jkguestff0bcb9e
 
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS MarioSanabria98
 
Manual de programación con Win-FST en PLC Festo
Manual de programación con Win-FST en PLC Festo Manual de programación con Win-FST en PLC Festo
Manual de programación con Win-FST en PLC Festo SANTIAGO PABLO ALBERTO
 
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
 
Comunicación serial PIC16F877A
Comunicación serial PIC16F877AComunicación serial PIC16F877A
Comunicación serial PIC16F877ALiliana Rodríguez
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Alejandro Garcia
 

La actualidad más candente (20)

Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladore
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno
 
Sistemas de primer orden
Sistemas de primer ordenSistemas de primer orden
Sistemas de primer orden
 
DiseñO De Un Contador Con Flip Flops Tipo Jk
DiseñO De Un Contador Con Flip Flops Tipo JkDiseñO De Un Contador Con Flip Flops Tipo Jk
DiseñO De Un Contador Con Flip Flops Tipo Jk
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS
FAMILIAS LÓGICAS DE CIRCUITOS INTEGRADOS
 
Ccpx
CcpxCcpx
Ccpx
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Manual de programación con Win-FST en PLC Festo
Manual de programación con Win-FST en PLC Festo Manual de programación con Win-FST en PLC Festo
Manual de programación con Win-FST en PLC Festo
 
Programación PIC16F84A
Programación PIC16F84AProgramación PIC16F84A
Programación PIC16F84A
 
Usart
UsartUsart
Usart
 
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
 
Manual pld´s
Manual pld´sManual pld´s
Manual pld´s
 
Comunicación serial PIC16F877A
Comunicación serial PIC16F877AComunicación serial PIC16F877A
Comunicación serial PIC16F877A
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2
 
Guia osciladores pic18f4550
Guia osciladores pic18f4550Guia osciladores pic18f4550
Guia osciladores pic18f4550
 
Registro status PIC16F84A
Registro status PIC16F84ARegistro status PIC16F84A
Registro status PIC16F84A
 
Ejercicio de PLC y GRAFCET numero 9
Ejercicio de PLC y GRAFCET numero 9Ejercicio de PLC y GRAFCET numero 9
Ejercicio de PLC y GRAFCET numero 9
 

Destacado

Destacado (16)

Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887Módulo EUSART del PIC16F887
Módulo EUSART del PIC16F887
 
Módulo ADC del PIC16F887
Módulo ADC del PIC16F887Módulo ADC del PIC16F887
Módulo ADC del PIC16F887
 
Clase historia
Clase historiaClase historia
Clase historia
 
Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887Modulo Timer 0 del PIC16F887
Modulo Timer 0 del PIC16F887
 
Conexiones del PIC16F887
Conexiones del PIC16F887Conexiones del PIC16F887
Conexiones del PIC16F887
 
Clase Latch y FFs
Clase Latch y FFsClase Latch y FFs
Clase Latch y FFs
 
Latch y Flip-Flops
Latch y Flip-FlopsLatch y Flip-Flops
Latch y Flip-Flops
 
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de DecisiónLenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
 
Máquinas de Estado
Máquinas de EstadoMáquinas de Estado
Máquinas de Estado
 
Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887Arquitectura Microcontrolador PIC16F887
Arquitectura Microcontrolador PIC16F887
 
Máquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDLMáquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDL
 
Clase Diagramas de Karnaugh
Clase Diagramas de KarnaughClase Diagramas de Karnaugh
Clase Diagramas de Karnaugh
 
Clase USART
Clase USARTClase USART
Clase USART
 
Flip-Flops y aplicaciones de los Latch
Flip-Flops y aplicaciones de los LatchFlip-Flops y aplicaciones de los Latch
Flip-Flops y aplicaciones de los Latch
 
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-FlopsMultivibradores, Temporizadores y aplicaciones de los Flip-Flops
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
 

Similar a Módulo Timer 1 del PIC16F887

Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Hamiltonn Casallas
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Hamiltonn Casallas
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfsopitamani1
 
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
 
Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)alascaperu
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4Luis Zurita
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesiDavid Narváez
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...SANTIAGO PABLO ALBERTO
 
Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 electro_pic
 

Similar a Módulo Timer 1 del PIC16F887 (20)

Ccp2009170309
Ccp2009170309Ccp2009170309
Ccp2009170309
 
Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06Curso de microcontroladores capitulo 06
Curso de microcontroladores capitulo 06
 
Timers
TimersTimers
Timers
 
UNIDAD IV
UNIDAD IVUNIDAD IV
UNIDAD IV
 
Micro2 tema 3
Micro2 tema 3Micro2 tema 3
Micro2 tema 3
 
Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05Curso de microcontroladores capitulo 05
Curso de microcontroladores capitulo 05
 
Ejercicio 07 Timers
Ejercicio 07 TimersEjercicio 07 Timers
Ejercicio 07 Timers
 
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
 
Lab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdfLab# 2 - Temporizador.pdf
Lab# 2 - Temporizador.pdf
 
Timer0
Timer0Timer0
Timer0
 
Caso timers
Caso timersCaso timers
Caso timers
 
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
 
In terrupciones pic
In terrupciones picIn terrupciones pic
In terrupciones pic
 
Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)Tarjeta integradora de aplicaciones (06)
Tarjeta integradora de aplicaciones (06)
 
Temporizador timer0
Temporizador timer0Temporizador timer0
Temporizador timer0
 
Curso Micro Tema 4
Curso Micro Tema 4Curso Micro Tema 4
Curso Micro Tema 4
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
 
Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0 Microcontroladores Registro Timer_0
Microcontroladores Registro Timer_0
 
TEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDFTEMPORIZADORES Y CONTADORES.PDF
TEMPORIZADORES Y CONTADORES.PDF
 

Más de Fernando Aparicio Urbano Molano (13)

Ciclos de Control en Shell
Ciclos de Control en ShellCiclos de Control en Shell
Ciclos de Control en Shell
 
Introducción al Shell Linux
Introducción al Shell LinuxIntroducción al Shell Linux
Introducción al Shell Linux
 
Introducción al Linux Embebido
Introducción al Linux EmbebidoIntroducción al Linux Embebido
Introducción al Linux Embebido
 
Introducción al Lenguaje C para microcontroladores PIC
Introducción al Lenguaje C para microcontroladores PICIntroducción al Lenguaje C para microcontroladores PIC
Introducción al Lenguaje C para microcontroladores PIC
 
Node.JS para Intel Galileo
Node.JS para Intel GalileoNode.JS para Intel Galileo
Node.JS para Intel Galileo
 
Linux Yocto y GPIO
Linux Yocto y GPIOLinux Yocto y GPIO
Linux Yocto y GPIO
 
Arquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel GalileoArquitectura Computacional - Intel Galileo
Arquitectura Computacional - Intel Galileo
 
Introducción al PIC16 f887
Introducción al PIC16 f887Introducción al PIC16 f887
Introducción al PIC16 f887
 
Memorias
MemoriasMemorias
Memorias
 
Estados Indiferentes - Diagramas de Karnaugh
Estados Indiferentes - Diagramas de KarnaughEstados Indiferentes - Diagramas de Karnaugh
Estados Indiferentes - Diagramas de Karnaugh
 
Conversor ADC
Conversor ADCConversor ADC
Conversor ADC
 
Introducción al VHDL
Introducción al VHDLIntroducción al VHDL
Introducción al VHDL
 
Clase arquitectura
Clase arquitecturaClase arquitectura
Clase arquitectura
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (10)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Módulo Timer 1 del PIC16F887

  • 1. CIRCUITOS DIGITALES II TIMER 1 – PIC16F887 Mg. Ing. FERNANDO APARICIO URBANO MOLANO
  • 2. 2 MÓDULO TIMER1MÓDULO TIMER1 El TMR1 es un Temporizador/Contador con un tamaño de 16 bits, lo que requiere el uso de dos registros concatenados de 8 bits: TMR1H : TMR1L, que son los encargados de guardar el valor del conteo en cada momento. Dicho valor se incrementa desde 0000h hasta FFFFh. Momento en el cual se activa el señalizador TMR1IF y se regresa al valor inicial 0000h.
  • 3. 3 MÓDULO TIMER1 (1)MÓDULO TIMER1 (1) El valor contenido en TMR1H : TMR1L puede ser leído o escrito y los impulsos de reloj que originan el conteo ascendente pueden provenir del exterior o de la frecuencia de funcionamiento del microcontrolador (Fosc/4) Tiene tres formas de operación: 1. Temporizador 2. Contador Asíncrono 3. Contador Síncrono
  • 4. 4 MÓDULOMÓDULO TIMER 1TIMER 1 –– REGISTRO T1CONREGISTRO T1CON
  • 5. 5 MÓDULO TIMER1 COMO TEMPORIZADORMÓDULO TIMER1 COMO TEMPORIZADOR El valor concatenado TMR1H : TMR1L se incrementa con cada ciclo de instrucción (Fosc/4). Este modo es seleccionado limpiando el bit TMR1CS (T1CON<1>). En este modo la entrada de reloj al timer es Fosc/4. El bit T1SYNC (T1CON<2>) no tiene efecto desde el reloj interno; ya que siempre es síncrono.
  • 6. 6 MÓDULO TIMER1 COMO TEMPORIZADOR (1)MÓDULO TIMER1 COMO TEMPORIZADOR (1)
  • 7. 7 TIMER1 CONTADOR SÍNCRONOTIMER1 CONTADOR SÍNCRONO El incremento se puede producir con los flancos ascendentes de un reloj externo, cuya entrada se aplica a los pines RC0 y RC1 del puerto C, o por impulsos aplicados en el pin RC0. Este modo es seleccionado seteando el bit TMR1CS.
  • 8. 8 TIMER1 CONTADOR SÍNCRONO (2)TIMER1 CONTADOR SÍNCRONO (2) En este modo el timer incrementa cada flanco ascendente de una entrada de reloj externo en el pin RC1, cuando el bit T1OSCEN se pone a 1. O cuando una entrada de reloj ingresa por el pin RC0, cuando el bit T1OSCEN se limpia (0). Si el T1SYNC se limpia, entonces el reloj externo es sincronizado con la fase del reloj interno.
  • 9. 9 TIMER 1 Diagrama de BloquesTIMER 1 Diagrama de Bloques
  • 10. 10 TIMER1 CONTADOR ASÍNCRONOTIMER1 CONTADOR ASÍNCRONO Si el bit T1SYNC (T1CON<2>) se coloca a 1, el reloj externo no es sincronizado. El timer continua un incremento asíncrono a la fase del reloj interno. El timer continuará funcionando durante el modo SLEEP y podrá generar una interrupción de desborde; el cual podría despertar al procesador del modo SLEEP.
  • 11. 11 EJERCICIO DE APLICACIÓNEJERCICIO DE APLICACIÓN Diseñar un sistema que genere un retardo de 500 ms, usando el TMR1 del PIC16F887. Cada vez que concluya el tiempo se activará el Puerto C de forma escalonada.
  • 13. 13 CONSIDERACIONES DEL PROGRAMACONSIDERACIONES DEL PROGRAMA Se tiene un ciclo de instrucción de demanda 1 us (Cristal de 4MHZ). El retardo será de 65.536 ms. Para alcanzar el valor que deseamos emplearemos el preescaler. Si lo colocamos a 1:8 obtendremos el valor deseado: Retardo=4*Tosc*TMR1*Preescaler Retardo=4*0.25us * 65536*8 Retardo=524,288 ms
  • 14. 14 CONSIDERACIONES DEL PROGRAMA (2)CONSIDERACIONES DEL PROGRAMA (2) Nos apoyaremos en el bit de desborde del modulo timer 1 TMR1F. Como el valor lo vamos a mostrar en el Puerto C como una escalera que se incrementa cada 500 ms usaremos una tabla para decodificar el valor a mostrar en el Puerto C.
  • 15. 15 ALGORÍTMO DEL PROGRAMAALGORÍTMO DEL PROGRAMA Deshabilitamos el módulo timer 0 (OPTION_REG=0x80) y habilitamos el modulo timer 1( preescaler 1:8, deshabilitamos oscilador, no hay sincronismo, el reloj es interno, el modulo timer 1 esta apagado ). X X T1CKPS1 T1CKPS0 T1OSCEN - T1SYNC TMR1CS TMR1ON 0 0 1 1 0 0 0 0
  • 16. 16 ALGORÍTMO DEL PROGRAMA (1)ALGORÍTMO DEL PROGRAMA (1) 1. Ir banco 1 2. TRISC=0 3. OPTION_REG=b'10000000' 4. Ir banco 0 5. T1CON=b'00110000' 6. CONTA=0, PORTC =0; 7. W=CONTA (indice) 8. CALL DISPLAY 9. PORTC=W 10 CALL RETARDO
  • 17. 17 ALGORÍTMO DEL PROGRAMAALGORÍTMO DEL PROGRAMA (2)(2) 11. CONTA=CONTA +1 12. Si CONTA es 8, entonces CONTA =0, Ir paso 7 13. Sino CONTA =CONTA+1, Ir paso 7 Retardo 1.TMR1IF=0 2. TMR1=0 3. TMR1ON=1 4. Si TMR1IF es 1, entonces TMR1ON=1, return 5. Ir paso 4