Você está na página 1de 22

ELETRÔNICA DIGITAL

Circuitos contadores

Prof. Matheus Ribeiro


CIRCUITOS CONTADORES

 São circuitos digitais que variam seus estados de acordo com uma
sequência pré-determinada, sob o comando do sinal de clock.

 São utilizados para contagens diversas, divisão de frequência, medição


de frequência e tempo, geração de formas de onda e conversão A/D.

 Podem ser divididos em 2 categorias:


Assíncronos: os flip-flops não possuem entradas de clock comuns, ou
seja, não tem sincronismo. O clock é aplicado apenas ao 1º flip-flop do
contador.
Síncronos: todos os flip-flops são controlados pelo mesmo sinal de
clock e, portanto, são atualizados simultaneamente (em sincronia).
CONTADORES ASSÍNCRONOS

1) CONTADOR DE PULSOS

Q0 Q1 Q2 Q3

S S S S
CP: clock em ativo baixo D
T Q D
T Q D
T Q D
T Q
_ _ _ _
CLK CP Q CP Q CP Q CP Q
R R R R

CLR

 Apresenta nas saídas a contagem sequencial (em binário).


 A entrada de clock é aplicada ao 1º flip-flop tipo T cuja saída Q controla
o 2º flip-flop e assim sucessivamente.
CONTADORES ASSÍNCRONOS

1) CONTADOR DE PULSOS

Funcionamento:
1. Aplica-se zero à entrada CLR dos flip-flops para que as saídas sejam iniciadas
em nível baixo. Retorna CLR=1.
2. A cada pulso do clock a saída do 1º flip-flop muda de estado.
3. A cada 2 mudanças de estado de Q0, Q1 muda de estado e assim por diante.
Q0 Q1 Q2 Q3

S S S S
D
T Q D
T Q D
T Q D
T Q
_ _ _ _
CLK CP Q CP Q CP Q CP Q
R R R R

CLR
CONTADORES ASSÍNCRONOS

1) CONTADOR DE PULSOS
CLK

Podemos verificar que o período


Q0

de Q0 é o dobro do clock, o período


Q1
de Q1 é o dobro de Q0 e assim
sucessivamente. Q2

Q3

Como f=1/T, temos um divisor de


frequência por 2 a cada flip-flop. fE fE fE
fS   
2 N 2 4 16
No caso do exemplo temos um onde :
contador com 4 flip-flops e,
N é o número de flip  flops
consequentemente, as seguintes
f S é a frequência de saída
f E é a frequência de entrada
frequências disponíveis:
CONTADORES ASSÍNCRONOS

Descida do Q0 Q1 Q2 Q3
1) CONTADOR DE PULSOS
clock 0 0 0 0 Estado inicial
1ª 1 0 0 0
Tabela verdade
2ª 0 1 0 0
3ª 1 1 0 0
4ª 0 0 1 0
5ª 1 0 1 0
6ª 0 1 1 0
7ª 1 1 1 0
8ª 0 0 0 1
9ª 1 0 0 1
10ª 0 1 0 1
11ª 1 1 0 1
12ª 0 0 1 1
13ª 1 0 1 1
14ª 0 1 1 1
15ª 1 1 1 1
Reinício da
16ª 0 0 0 0
contagem
CONTADORES ASSÍNCRONOS

2) CONTADOR DE DÉCADA

 Circuito que realiza a contagem do equivalente a 0 – 9 no sistema decimal, ou seja,


acompanha o código BCD-8421 de 0000 a 1001.
 O circuito, baseado em flip-flops tipo T é apresentado abaixo:
Q0 Q1 Q2 Q3

S S S S
T
D Q D
T Q D
T Q D
T Q
_ _ _ _
CP: clock em ativo baixo CLK CP Q CP Q CP Q CP Q
R R R R

CLR

! Deve-se resetar a saída (CLR=0) quando ocorrer o caso 1010 (2) =10(10) !
CONTADORES ASSÍNCRONOS

2) CONTADOR DE DÉCADA
Q0 Q1 Q2 Q3

S S S S
D
T Q D
T Q D
T Q D
T Q
_ _ _ _
CLK CP Q CP Q CP Q CP Q
R R R R

CLR

 Podemos simplificar o circuito de reset já que Q3 e Q1 só assumem valor ‘1’

simultaneamente
em 1010 e após este valor. Como fazer esta simplificação?

 O contador pode ser usado como um divisor por 10 para a freqüência de clock. Como?
CONTADORES ASSÍNCRONOS

2) CONTADOR DE DÉCADA Q0 Q1 Q2 Q3

S S S S
T
D Q D
T Q D
T Q D
T Q
_ _ _ _
CLK CP Q CP Q CP Q CP Q
R R R R

CLR

! Podemos usar uma porta AND de 2 entradas e monitorar quando ocorre a condição 1X1X.

! A) Usando um flip-flop tipo T na saída da porta NAND temos a frequência do clock reduzida em

10 vezes. O duty cycle neste caso é de 50%.


B) Usando a própria saída da NAND. No entanto, neste caso, temos apenas um pulso a cada 10
contagens.
CONTADORES ASSÍNCRONOS

3) CONTADOR SEQUENCIAL DE ‘0’ A ‘N’

 Usando o mesmo processo visto anteriormente, podemos obter um contador de 0


(zero) até um número qualquer ‘N’. Basta fazermos com que o estado posterior a ‘N’
acione o terminal de clear de todos os flip-flops.
 A seguir é apresentado o contador de 0 a 5. Neste caso, o contador deve ser
reiniciado (recomeçar a contagem a partir do zero) quando passar para o estado ‘6’.
Q0 Q1 Q2

S S S
CP: clock em ativo baixo T
D Q T
D Q T
D Q
_ _ _
CLK CP Q CP Q CP Q
R R R

CLR

! Para contar até 5 usamos apenas 3 flip-flops já que 2 3=8 (contador de 0 a 7). !
CONTADORES ASSÍNCRONOS

4) CONTADOR DECRESCENTE

 Os circuitos são os mesmos dos contadores crescentes, com a diferença de


utilizarmos as saídas complementares Q0 , Q1 , Q2 ,..., QN, sendo Q0 o LSB.

 Portanto, a contagem decrescente é o complemento da contagem crescente.


OBS.: o clock continua sendo fornecido pelas saídas “normais” Q0 , Q1 , Q2 ,..., QN .
Q0 Q1 Q2 Q3

S S S S
CP: clock em ativo baixo D
T Q D
T Q D
T Q D
T Q
_ _ _ _
CLK CP Q CP Q CP Q CP Q
R R R R

CLR

 Quando CLR=0, Q0 , Q1 , Q2 , Q3  0 e, portanto, Q0 , Q1 , Q2 , Q3  1. (Inicialização cheia)


CONTADORES ASSÍNCRONOS

4) CONTADOR DECRESCENTE

 Outra maneira de se obter o contador decrescente é usando PRESET para


inicialização e o clock a partir das saídas complementares dos flip-flops. Neste
caso, as saídas são obtidas nos terminais Q0 , Q1 , Q2.

Q0 Q1 Q2

1
PR
S S S
CP: clock em ativo baixo D
T Q D
T Q D
T Q
_ _ _
CLK CP Q CP Q CP Q
R R R
CONTADORES ASSÍNCRONOS

5) CONTADOR UP/DOWN

 Podemos, também, alternar entre contagem crescente e decrescente num mesmo


circuito. Para isso, é inserida uma variável de controle ‘MODO’.
Q0 Q1 Q2

S S S
D
T Q D
T Q D
T Q
CLK _ _ _
CP Q CP Q CP Q
R R R

MODO

Contador crescente Contador decrescente


Quando MODO=1, Q0 , Q1 , Q2 Quando MODO=0, Q0 , Q1 , Q2
fornecem o clock do circuito. fornecem o clock do circuito.
CONTADORES ASSÍNCRONOS

5) CONTADOR UP/DOWN
Q0 Q1 Q2

S S S
D
T Q D
T Q D
T Q
CLK _ _ _
CP Q CP Q CP Q
R R R

MODO

Q0 , Q1 , Q2 Q0 , Q1 , Q2
0 0 0 1 1 1
1 0 0 0 1 1 MODO=1  clock: Q0 ,Q1
0 1 0 1 0 1
MODO=0  clock: Q0 ,Q1
1 0 0 0 1 1
0 0 0 1 1 1
1 1 1 0 0 0 MODO=0

0 1 1 1 0 0
1 0 1 0 1 0
MODO=1  clock: Q0 ,Q1
0 1 1 1 0 0
CONTADORES SÍNCRONOS

 Neste tipo de contador o clock é conectado a todos os flip-flops, fazendo com


que eles atuem em sincronismo. Portanto, deve-se verificar o comportamento
das entradas dos flip-flops JK para garantir o funcionamento do circuito.

Relembrando: podemos ter 4 casos para a saída do FF-JK


1) QA=0  QF=0, quando J=0; K=X.

2) QA=0  QF=1, quando J=1; K=X.

3) QA=1  QF=0, quando J=X; K=1.

4) QA=1  QF=1, quando J=X; K=0.

 Para implementar um contador síncrono, devemos obter uma tabela com a


sequência desejada e os estados das entradas para cada valor da sequência.
Tendo a tabela, realiza-se a obtenção de expressões simplificadas para
determinar o cirrcuito combinacional que controla as entradas dos flip-flops.
CONTADORES SÍNCRONOS

 A forma genérica de um contador síncrono é apresentada a seguir:

Q3 Q2 Q1 Q0

S S S S
J Q J Q J Q J Q
CP _ CP _ CP _ CP _
K Q K Q K Q K Q
R R R R

CLK

CIRCUITO
COMBINACIONAL
CONTADORES SÍNCRONOS

1) CONTADOR GERADOR DE UMA SEQUÊNCIA QUALQUER

 Deve-se proceder da mesma forma que no exemplo anterior, porém s estados


que não fazem parte da contagem devem ser considerados irrelevantes ou
encadeados até o início da sequência.

1 2
Diagrama de estados com uso do reset
0 3
13 10

Diagrama de estados para inicialização aleatória

4 5 6 7 8 1 2
0 3
9 11 12 14 15 13 10

! Na pior das hipóteses, o circuito inicia em 4 e demora 10 ciclos de clock para entrar no contador. !
CONTADORES SÍNCRONOS

2) CONTADOR EM ANEL (RING COUNTER)

 Possui uma saída em nível lógico alto a cada ciclo de clock.


Q 3 Q 2 Q 1 Q0 J 3 K3 J 2 K2 J 1 K1 J 0 K0

0 0 0 1 0 X 0 X 1 X X 1 2
0 0 1 0 0 X 1 X X 1 0 X 5
1
0 1 0 0 1 X X 1 0 X 0 X
1 0 0 0 X 1 0 X 0 X 1 X
8

Q0 Q1 Q2 Q4

S S S S
J Q J Q J Q J Q
CP _ CP _ CP _ CP _
K Q K Q K Q K Q
R R R R

CLK
CONTADORES SÍNCRONOS
Clock Q4 Q3 Q2 Q1 Q0
3) CONTADOR JOHNSON
1º 0 0 0 0 0
2º 0 0 0 0 1
 Usado para gerar a sequência do código Johnson, 3º 0 0 0 1 1

conforme a tabela. 4º 0 0 1 1 1
5º 0 1 1 1 1
6º 1 1 1 1 1
7º 1 1 1 1 0
8º 1 1 1 0 0
9º 1 1 0 0 0
10º 1 0 0 0 0
11º 0 0 0 0 0

Q0 Q1 Q2 Q3 Q4

S S S S S
J Q J Q J Q J Q J Q
CP _ CP _ CP _ CP _ CP _
K Q K Q K Q K Q K Q
R R R R R

CLK
CONTADORES PARA TEMPORIZAÇÃO

 A função básica destes circuitos é sinalizar quando um determinado


período de tempo foi transcorrido. Neste tipo de circuito, além do cuidado
para a construção do contador, deve-se utilizar como gerador de clock um
circuito bastante estável.

 Como exemplo, é apresentado o temporizador de segundos de um


relógio. Para tanto, temos que realizar uma contagem de 0 a 59 com
intervalo entre as mudanças de estado de 1 segundo. Sendo assim, conclui-
se que o clock aplicado ao contador deve ser igual a 1Hz.
CONTADORES PARA TEMPORIZAÇÃO

EXEMPLO: RELÓGIO DIGITAL

Pode-se realizar este contador de diversas maneiras:

a) Utilizando 1 contador assíncrono de 0 a n, onde .

b) Utilizando 2 contadores assíncronos: 1 contador de década e um


contador de 0 a 5. Nessa configuração, o clock controla o contador
de década que aciona o contador de 0 a 5 após a contagem de 10
ciclos de clock.

c) Utilizando 1 contador síncrono de 0 a 59.

d) Utilizando 2 contadores síncronos: 1 contador de década e um


contador de 0 a 5, conectados conforme exposto na opção (b).
CONTADORES PARA TEMPORIZAÇÃO

EXEMPLO: RELÓGIO DIGITAL

Contador de Contador de minutos Contador de horas


 No clock posterior à segundos

situação 23:59:59, todos os clock


Contador Contador Contador
0-9 0-9 0-9
contadores devem ser
reiniciados.
Contador Contador
0-5 0-5 Contador
0-2

O circuito do relógio como


um todo é assíncrono. No
entanto, os blocos em Decodificadores
BCD-8421  7 segmentos
separado podem ser obtidos
por meio de contadores
síncronos. Displays 7-segmentos

Você também pode gostar