Está en la página 1de 23

Mdulo Timers - PIC16F877A

Jadsonlee da Silva S
Jadsonlee.sa@univasf.edu.br
www.univasf.edu.br/~jadsonlee.sa

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Introduo
O PIC16F877A possui trs mdulos timers:

Mdulo Timer 0.

Mdulo Timer 1.

Mdulo Timer 2.

Podem ser utilizados como temporizadores ou


como contadores (exceto timer 2).

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Introduo
Temporizador.
8 e 16 bits

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Introduo
Contador.

Pulsos externos (via pinos) so utilizados para


incrementar o valor do registrador.

O tempo no determinado, apenas eventos so


contados.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
Caractersticas.

Registrador de 8 bits.

Pode ser lido ou escrito.

Prescaler de 8 bits configurado via software


(compartilhado com o watchdog timer).

Seleo de clock interno ou externo.

Interrupo no overflow de FFh para 00h.

Seleo de borda do clock externo.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0

Registradores associados.

TMR0 Registrador utilizado para marcar o tempo


(temporizador) ou contar eventos (contador) Bancos 0 e 2.

INTCON Habilitar e sinalizar interrupes TMR0 Todos


os bancos.

OPTION_REG Configurao do timer0 Bancos 1 e 3.


Universidade Federal do Vale do So Francisco - UNIVASF
Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
OPTION_REG.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
INTCON.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
Interrupo TMR0.

Gerada quando ocorre um overflow de FFh para 00h


no registrador TMR0.

O overflow seta o bit TMR0IF de INTCON.

A interrupo ocorre se TRM0IE for setado.

O bit TMR0IF deve ser zerado via software.

Esta interrupo no pode acordar o processador


de um SLEEP, pois o timer desligado durante um
SLEEP.
Universidade Federal do Vale do So Francisco - UNIVASF
Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
Exemplo: Temporizador 0 - Assembly.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
Exemplo: Temporizador 0 - Assembly.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 0
Exemplo: Temporizador 0 Linguagem C.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
Temporizador/contador de 16 bits.

Dois registradores de 8 bits TMR1H E TMR1L.

Podem ser lidos e escritos.

Interrupo no overflow de FFFFh 0000h, se a


interrupo TRM1 estiver habilitada.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
Registradores associados.

Configurao de Timer1.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
T1CON.

Temporizador
ou contador

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
Exemplo temporizador 1 - Assembly.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
Exemplo temporizador 1 - Assembly.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 1
Exemplo temporizador 1 Linguagem C.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 2
Temporizador de 8 bits com prescaler e postscaler.

Pode ser lido e escrito.

Possui um registrador de perodo PR2.

TRM2 incrementa de 00h at PR2 e retorna para 00h.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 2
Registradores associados.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 2
T2CON.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 2
Exemplo temporizador 2 Linguagem C.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP

Mdulo Timer 2
Exerccio em grupo: faa um programa em assembly
equivalente ao programa em C do exemplo anterior.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia da Computao CECOMP