Post on 15-Oct-2018
Temporizadores/Contadores
Temporizadores/Contadores para el PIC16F1787
Temporizador/Contador 0 (TMR0)
Temporizador/Contador 1 (TMR1)
Temporizador 2 (TMR2)
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Temporizador 2 (TMR2)
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
Características del TMR0
TMR0 es un Temporizador/Contador de 8 bits Leíble y escribible Reloj interno y externo Selección de flanco activo en el reloj externo
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Selección de flanco activo en el reloj externo Predivisor de 8 bits programable Solicitud de interrupción opcional en el
desbordamiento (de FFh a 00h)
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
Registros utilizados por TMR0
• TMR0
• OPTION_REG
• INTCON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Bus Datos
T0CKI0
10
1
Divisor deFrecuencia
Síncronismocon RelojInterno
Fosc/4
TMR0 TOIF
2 ciclos
Temporizadores/Contadores
El módulo del TMR0
UNEXPO – Pto. Ordaz. MICROPROCESADORES
TMR0SETMR0CS PSA
retardoPS2, PS1, PS0
3
Registro Contadorde 8 Bits
Selecciona Temporizadoró Contador
Selecciona Divisor deFrecuencia
Seleccionaflanco delcontador
Prof. Antonio PatetiProf. Antonio Pateti
TMR0CS: Tipo de Reloj para el TMR0.0: Pulsos Internos Fosc/4 (Temporizador).1: Pulsos Introducidos a través de T0CLKI (Contador).
TMR0SE: Tipo de flanco en T0CLKI.
Temporizadores/Contadores
UNEXPO – Pto. Ordaz. MICROPROCESADORES
TMR0SE: Tipo de flanco en T0CLKI.0: Incremento de TMR0 cada flanco Ascendente.1: Incremento de TMR0 cada flanco descendente.
PSA: Asignación del Divisor de Frecuencia.0: El TMR0 con Divisor de Frecuencia.1: El TMR0 sin Divisor de Frecuencia.
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
PS2:PS0: Valor con que se programa el divisor de frecuencia.
PS2 PS1 PS0 División TMR0 División WDT
0 0 0 1:2 1:1
0 0 1 1:4 1:2
0 1 0 1:8 1:4
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0 1 0 1:8 1:4
0 1 1 1:16 1:81 0 0 1:32 1:161 0 1 1:64 1:32
1 1 0 1:128 1:64
1 1 1 1:256 1:128
Prof. Antonio PatetiProf. Antonio Pateti
Bus Datos
T0CKI0
10
1
Divisor deFrecuencia
Síncronismocon RelojInterno
Fosc/4
TMR0 TOIF
2 ciclos
Temporizadores/Contadores
TMR0 como Temporizador
00hTMR0SETMR0CS PSA
retardoPS2, PS1, PS0
3
UNEXPO – Pto. Ordaz. MICROPROCESADORES
↑0
↑1
00h01h02h03h04h●●●
FFh00h
T0IF
01h02h
Prof. Antonio PatetiProf. Antonio Pateti
Bus Datos
T0CKI0
10
1
Divisor deFrecuencia
Síncronismocon RelojInterno
Fosc/4
TMR0 TOIF
TMR0SETMR0CS PSA
2 ciclosretardo
PS2, PS1, PS03
Temporizadores/Contadores
TMR0 como Temporizador con divisor de frecuencia
↑ ↑
00h01h02h0 0 1
+4 C.I.+4 C.I.
UNEXPO – Pto. Ordaz. MICROPROCESADORES
↑0
↑0
02h03h04h●●●
FFh00h01h02h
0 0 1
÷ 4
+4 C.I.+4 C.I.+4 C.I.
+4 C.I.+4 C.I.
T0IF
+4 C.I.+4 C.I.
Temporización = 4Tosc (256)Divisor Frecuencia
Prof. Antonio PatetiProf. Antonio Pateti
Temporización = 4Tosc (256-TMR0)Divisor Frecuencia
Bus Datos
T0CKI0
10
1
Divisor deFrecuencia
Síncronismocon RelojInterno
Fosc/4
TMR0 TOIF
2 ciclosretardo
Temporizadores/Contadores
TMR0 como Contador
00hTMR0SETMR0CS PSA
retardoPS2, PS1, PS0
3
UNEXPO – Pto. Ordaz. MICROPROCESADORES
↑1
↑1
00h01h02h03h04h●●●
FFh00h
T0IF
01h02h
↑0
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
Ejemplo con el TMR0 como temporizador
RB0
RB1
RB2
RB3
PIC17F87X
Cada 256 seg encender losleds de manera secuencial
Con Fosc=4MHz
UNEXPO – Pto. Ordaz. MICROPROCESADORES
RB3
RB4
RB5
RB6
RB7
Prof. Antonio PatetiProf. Antonio Pateti
Características del TMR1
TMR1 es un Temporizador/Contador de 16 bits
Leíble y escribible
Reloj interno y externo
Temporizadores/Contadores
Reloj externo con OSC para Reloj de Tiempo Real (RTC)
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Solicitud de interrupción opcional en eldesbordamiento (de FFFFh a 0000h)
Prof. Antonio PatetiProf. Antonio Pateti
Reloj externo con OSC para Reloj de Tiempo Real (RTC)
Conteo controlado por GATE (Compuerta)
Solicitud de Interrupción por GATE
Temporizadores/Contadores
Registros utilizados por TMR1
• TMR1L y TMR1H
• T1CON, T1GCON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
El módulo del TMR1
Habilitación de TMR1
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Registro Contadorde 16 Bits
SeleccionaTemporizador/Contador
PredivisorHabilita Oscilador
SeleccionaSincronismo
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
TMR1CS1:TMR1CS0: Control para seleccionar la señal de reloj del Timer1.
11: Reservado10: Timer 1 como Contador
01: Timer 1 como Temporizador. Reloj Interno (Fosc)
T1CON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
01: Timer 1 como Temporizador. Reloj Interno (Fosc)00: Timer 1 como Temporizador. Reloj Interno (Fosc/4)
T1CKPS1:T1CKPS0: Valor con que se programa el pre-divisor de frecuencia.
11: Divisor/810: Divisor/4
01: Divisor/200: Divisor/1
T1CON
Temporizadores/Contadores
T1OSCEN: Bit de control para habilitar el Oscilador del Timer 1.
0: Oscilador deshabilitado.
1: Oscilador Habilitado
T1SYNC: Bit de control para habilitar sincronismo de señal externa.
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
T1SYNC: Bit de control para habilitar sincronismo de señal externa.0: Sincroniza señal de reloj externa.1: No Sincroniza señal de reloj externa.
TMR1ON: Bit de habilitación del Timer 1.0: Timer 1 deshabilitado.
1: Timer 1 Habilitado
Temporizadores/Contadores
TMR1GE: Bit de Habilitación del GATE del Timer 1.0: GATE del Timer 1 Deshabilitada.1: GATE del Timer 1 Habilitada.
T1GCON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
NOTA: Para que el GATE del Timer 1 sea activo en alto, T1GCON debe ser:T1GCON <- 0xC0
Temporizadores/Contadores
TMR1 como Temporizador
10
UNEXPO – Pto. Ordaz. MICROPROCESADORES
↑00 00 1
0000h0001h0002h
FFFFh●●●
0000h TMR1IF
Prof. Antonio PatetiProf. Antonio Pateti
↑ ↑
Temporizadores/Contadores
TMR1 como Contador
10
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
↑10 00 1
0000h0001h0002h
FFFFh●●●
0000h TMR1IF
↑ ↑↑0
Temporizadores/Contadores
TMR1 como Temporizador con GATE
11
101
UNEXPO – Pto. Ordaz. MICROPROCESADORES
↑00 00 1
0000h0001h0002h
FFFFh●●●
0000h TMR1IF
Prof. Antonio PatetiProf. Antonio Pateti
↑ ↑
Temporizadores/Contadores
Características del TMR2
TMR2 es un Temporizador/Contador de 8 bits Leíble y escribible
Predivisor de 2 bits programable Postdivisor de 4 bits programable
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Dispone de un registro de periodo de 8 bits (PR2)
Solicitud de interrupción opcional al incluir TMR2y PR2
Postdivisor de 4 bits programable
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
Registros utilizados por TMR2
• TMR2
• PR2
• T2CON
UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
El módulo del TMR2
Registro Contadorde 8 Bits
Habilitación TMR2
UNEXPO – Pto. Ordaz. MICROPROCESADORES
Registro Periodo 2
Predivisor de Fosc
Postdivisor
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
TOUTPS3:TOUTPS0: Post divisor de frecuencia.TOUTPS3:TOUTPS0 Postdivisor
0000 1:10001 1:20010 1:30011 1:4
T2CON
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0011 1:4● ●● ●● ●
1111 1:16
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
TMR2ON: Bit de habilitación del Timer 2.0: Timer 2 deshabilitado1: Timer 2 Habilitado
T2CKPS1:T2CKPS0: Pre divisor de frecuencia.
T2CON
UNEXPO – Pto. Ordaz. MICROPROCESADORES
T2CKPS1:T2CKPS0: Pre divisor de frecuencia.T2CKPS1:T2CKPS0 Predivisor
00 101 41X 16
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
Funcionamiento del TMR21↑
00↑
UNEXPO – Pto. Ordaz. MICROPROCESADORES
0Ah↑0000
↑
TMR200h01h02h03h04h05h06h07h08h09h0Ah00h
PR2TMR2IF
TT2= (PR2+1)●PreDiv●PostDiv
Prof. Antonio PatetiProf. Antonio Pateti
Temporizadores/Contadores
PIC17F87X
RB0RB1RB2RB3RB4
RA4/T0CKI
Ejemplo
110110
111011
UNEXPO – Pto. Ordaz. MICROPROCESADORES
RB4RB5RB6
RB70 0 1
101
1 1 0
111
Prof. Antonio PatetiProf. Antonio Pateti