Altana Tubes > Blog > PIC16F627A/628A/648A > Módulo Timer2

8.0 Módulo Timer2 dos microcontroladores PIC16F627A, PIC16F628A e PIC16F648A

Tradução: Maria Elisa - Assessoria em Inglês e Alemão 

Revisão: Renato Kodaira

O Timer2 dos microcontroladores PIC16F627APIC16F628A e PIC16F648A é um temporizador de 8 bits com um pré-scaler e um pós-scaler. Ele pode ser utilizado como a base de tempo da Modulação por Largura de Pulso (Pulse Width Modulation = PWM) para o modo PWM do módulo CCP. O registrador TMR2 é acessível para leitura e escrita, e é apagado em qualquer Reinicialização do dispositivo.

O clock de entrada (Fosc/4) oferece opções de pré-escala de 1:1, 1:4 ou 1:16, selecionadas pelos bits de controle T2CKPS<1:0> (T2CON<1:0>).

O módulo Timer2 possui um registrador de período de 8 bits PR2. O valor do registrador TMR2 incrementa de 00h até equivaler (match) ao valor do registrador PR2, e então reinicializa para 00h no próximo ciclo de incrementação. O registrador PR2 é acessível para leitura e escrita. O registrador PR2 é inicializado para FFh na Reinicialização.

A saída de match (equivalência) do Timer2 passa por um pós-scaler de 4 bits (que fornece proporções de 1:1 até 1:16, inclusive) para gerar uma interrupção do Timer2 (armazenada no bit de sinalização TMR2IF, (PIR<1>)).

O Timer2 pode ser desligado apagando-se o bit de controle TMR2ON (T2CON<2>) a fim de minimizar o consumo de energia.

O Registrador 8.1 apresenta o registrador de controle Timer2.

8.1 Pré-scaler e Pós-scaler do Timer2

Os contadores pré-scaler e pós-scaler são apagados quando ocorre uma das seguintes condições:

  • uma escrita no registrador TMR2
  • uma escrita no registrador T2CON
  • qualquer reinicialização do dispositivo (Reinicialização de Power-on, Reinicialização do MCLR, Reinicialização do Temporizador Cão-de-Guarda ou Reinicialização de Brown-out)

O registrador TMR2 não é apagado quando o T2CON é escrito.

8.2 Saída do TMR2

A saída do TMR2 (antes do pós-scaler) é disponibilizada ao módulo Porta Serial Síncrona, o qual a utiliza opcionalmente para gerar o clock de deslocamento (shift)

FIGURA 8.1: DIAGRAMA DE BLOCOS DO TIMER2

REGISTRADOR 8.1: T2CON - REGISTRADOR DE CONTROLE DO TIMER2 (ENDEREÇO:12h)

 
U-0 RW-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
--- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0
bit 7             bit 0
bit 7
 
Não Implementado: Lido como '0'
 
bit 6-3 TOUTPS<3:0>: Bits de Seleção da Pós-escala da Saída do Timer2
  0000 = valor da pós-escala 1:1
  0001 = valor da pós-escala 1:2
 
 
 
  1111 = valor da pós-escala 1:16
 
bit 2 TMR2ON: Bit de Acionamento do Timer2
  1 = Timer2 é ligado
  0 = Timer2 é desligado
 
bit 1-0 T2CKPS<1:0>: Bits de Seleção da Pré-escala do Clock do Timer2
  00 = valor da pré-escala 1:1
  01 = valor da pré-escala 1:4
  1x = valor da pré-escala 1:16

 
  Legenda:
R = bit de leitura
W = bit de escrita
U = bit não implementado (unimplemented), lido como '0'
-n = valor na POR
'1' = bit está ativado
'0' = bit está apagado
x = bit é desconhecido

TABELA 8.1: REGISTRADORES ASSOCIADOS AO TIMER2 COMO TEMPORIZADOR/ CONTADOR

Endereço Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valor na POR Valor em Todas as Outras Reinicializações
0Bh, 8Bh, 10Bh, 18Bh INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
0Ch PIR1 EEIF CMIF RCIF TXIF --- CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8Ch PIE1 EEIE CMIE RCIE TXIE --- CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
11h TMR2 Registrador do Módulo Timer2 0000 0000 0000 0000
12h T2CON --- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
92h PR2 Registrador de Período do Timer2 1111 1111 1111 1111

Legenda:
x = desconhecido
u = inalterado
- = não implementado, lido como '0'
células sombreadas = não utilizadas pelo módulo Timer2

<-Anterior Índice Próximo->