Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... ·...

26
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 Pateti Prof. Antonio Pateti

Transcript of Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... ·...

Page 1: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 2: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 3: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

Registros utilizados por TMR0

• TMR0

• OPTION_REG

• INTCON

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 4: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 5: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 6: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 7: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 8: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 9: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 10: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 11: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 12: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

Registros utilizados por TMR1

• TMR1L y TMR1H

• T1CON, T1GCON

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 13: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 14: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 15: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 16: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 17: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

TMR1 como Temporizador

10

UNEXPO – Pto. Ordaz. MICROPROCESADORES

↑00 00 1

0000h0001h0002h

FFFFh●●●

0000h TMR1IF

Prof. Antonio PatetiProf. Antonio Pateti

↑ ↑

Page 18: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

TMR1 como Contador

10

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

↑10 00 1

0000h0001h0002h

FFFFh●●●

0000h TMR1IF

↑ ↑↑0

Page 19: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

↑ ↑

Page 20: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 21: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

Registros utilizados por TMR2

• TMR2

• PR2

• T2CON

UNEXPO – Pto. Ordaz. MICROPROCESADORESProf. Antonio PatetiProf. Antonio Pateti

Page 22: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 23: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 24: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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

Page 25: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

Temporizadores/Contadores

Funcionamiento del TMR21↑

00↑

UNEXPO – Pto. Ordaz. MICROPROCESADORES

0Ah↑0000

TMR200h01h02h03h04h05h06h07h08h09h0Ah00h

PR2TMR2IF

TT2= (PR2+1)●PreDiv●PostDiv

Prof. Antonio PatetiProf. Antonio Pateti

Page 26: Temporizadores/Contadoresfiles.unexpo-microprocesadores1.webnode.es/200000047-e61bbe7878/04... · Temporizadores/Contadores Características del TMR0 TMR0 es un Temporizador/Contador

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