Académique Documents
Professionnel Documents
Culture Documents
Contadores digitais são circuitos que avançam com pulsos externos aplicados à entrada de
“relógio”(clock input em inglês). O avanço ocorre ao longo de uma sequência pré-definida;
tipicamente, a sequência vai de zero até 2n −1 em contadores de n bits. Porém, existem conta-
dores programáveis para realizar contagens regressivas, ou com avanços em “BCD”(Binary-
Coded Decimal ), ou ainda com avanços com passo maior que 1; estes casos estão além do
interesse deste curso.
1
Figura 2: Evolução das saı́das do contador de 4 bits, indicando que um bit de saı́da Qi é comple-
mentado sempre que todos os bits anteriores valem 1 e ocorre uma transição positiva do pulso de
clock. (Fonte: Electronics-tutorials em www.electronics-tutorials.ws/counter/count 3.html).
3. no caso do flip-flop com saı́da QC , a porta lógica “E” (&) implica em mudança na
saı́da quando QA e QB forem 1; e assim por diante.
Um efeito muito importante que decorre da operação dos circuitos contadores consiste na
divisão por 2 da frequência de uma saı́da Qi em relação à saı́da anterior Qi−1 . Para ilustrar
o efeito, a Fig. 3 mostra um contador de 2 bits e as respectivas formas de onda de saı́da em
relação a um sinal de clock. No exemplo da figura, há 16 perı́odos do clock em 1 s de tempo,
ou seja, a frequência é de 16 Hz. A contagem de perı́odos de onda em 1 s para QA e QB
resulta em 8 Hz e 4 Hz, respectivamente, mostrando a divisão por 2 a cada saı́da sucessiva
do contador.
2
Figura 3: Evolução das saı́das em contador de 2 bits em um intevalo de 1 s. Note que na saı́da QA
tem frequência dividida por 2 em relação à frequência dos pulsos de clock, e QB tem frequência
fP /4.
Figura 4: Diagrama do esquema básico dos três contadores do ATmega 3280, com a letra n nos
sı́mbolos podendo ser lida como 0, 1 ou 2; o registrador TCNTn representa os contadores em si
e mantém o valor da contagem; “Count” provoca o avanço da contagem, “Clear” zera o valor
de contagem, e “Direction” comanda contagem progressiva ou regressiva. “TOVn” sinaliza que a
contagem atingiu o valor máximo (Timer Overflow ) e “clkTn ” é o sinal de clock.
3
direção de contagem, se progressiva ou regressiva. “TOVn” sinaliza que a contagem atingiu
o valor máximo (Timer OVerflow ) e “clkTn ” é o sinal de clock. A figura indica, ainda, que
o sinal “TOVn” está associado a um evento de interrupção (Int. Req.), a serem abordados
mais adiante.
3.1 Caracterı́sticas
O timer 1 disponibiliza vários recursos ao programador, dos quais interessam neste capı́tulo
aquelas relacionadas às temporizações periódicas. Ainda assim, apresentam-se abaixo todas
as funcionalidades do periférico, algumas das quais serão abordadas em capı́tulos posteriores.
São elas:
• Contagem em módulo 216 , isto é, o “vai-um” da contagem ocorre na passagem de 216 −1
(65535) para 0. Este evento é sinalizado pelo bit TOV1 (ver canto superior direito da
Fig. 5).
• Bloco Clock Select, o qual define se o avanço da contagem se dá por pulso externo
no pino “T1” (modo de contagem de pulsos) ou de acordo com “clock” interno pré-
escalonado (From Prescaler ).
• Pré-escalonador (“prescaler”), que permite efetuar divisão de frequência do sinal de
clock do processador. No caso do Arduino Uno, o clock é de 16 MHz; se for usado sem
nenhuma divisão, serão geradas ocorrências de “vai-um” de TCNT1 após cada intervalo
de
1 1
Tov1 = = 216 ≈ 4.1ms, (1)
fCLK IO 16 MHz
na qual fCLK IO é a frequência de clock do kit Arduino Uno. Os valores admissı́veis de
divisão de frequência serão abordados na seção 3.2.
4
Figura 5: Diagrama temporizador/contador 1, de 16 bits; registradores e funcionalidades associadas
são descritos na Seção 3.
Como o nome do periférico indica, as duas funções básicas que desempenha são a contagem
de pulsos e a temporização. No primeiro caso, os pulsos são assı́ncronos (em relação ao
5
Tabela 1: Valores de divisão de frequência do ATmega 328p, indicando os valores respectivos dos
bits de configuração (localizados no registrador TCCR1B); notar que CS12 = CS11 = CS10 = 0
implica em temporizador desligado.
relógio do sistema, CLKIO ) e não-periódicos, sendo gerados por eventos externos tais como
os giros de uma catraca de controle de acesso, a passagem de pacotes por sensor de presença
em linha de manufatura, etc.
6
PRSC Nc
1 1.600.000
8 200.000
64 25.000
256 6.250
1024 1.562,5