Você está na página 1de 35

Registradores e Contadores

Nikolas Libert

Aula 10A
Eletrônica Digital ET52C
Tecnologia em Automação Industrial
Flip-Flops

Qf: Saída futura


Flip-Flops Qa: Saída anterior

J K CK Qf
PR PR T CK Qf
J Q 0 0 ↓ T Q
CK 0 1 ↓ CK 0 ↓
K Q 1 0 ↓ Q 1 ↓
CLR CLR
1 1 ↓
(Flip-flop JK) (Flip-flop T)

S R CK Qf
PR D CK Qf S Q
D Q 0 0 1
CK 0 ↓ CK 0 1 1
Q 1 ↓ R Q 1 0 1
CLR
1 1 1
(Flip-flop D) (Latch RS)

DAELT ● Nikolas Libert ● 2


Flip-Flops
Qf: Saída futura
Flip-Flops Qa: Saída anterior

J K CK Qf
PR PR T CK Qf
J Q 0 0 ↓ Qa T Q
CK 0 1 ↓ 0 CK 0 ↓ Qa
K Q 1 0 ↓ 1 Q 1 ↓ Qa
CLR CLR
1 1 ↓ Qa
(Flip-flop JK) (Flip-flop T)
(CI 74LS76)

S R CK Qf
PR D CK Qf S Q
D Q 0 0 1 Qa
CK 0 ↓ 0 CK 0 1 1 0
Q 1 ↓ 1 R Q 1 0 1 1
CLR
1 1 1 1
(CI 74LS74)
(Flip-flop D) (Latch RS)

DAELT ● Nikolas Libert ● 3


Registrador de Deslocamento

Registrador de Deslocamento (Shift


Register)
 Estrutura que permite o armazenamento de
informações de mais de um bit.
 Constituído de uma séria de flip-flops D encadeados.
QN Q2 Q1 Q0

Entrada D Q ... D Q D Q D Q
CK CK CK CK

Clock ...

DAELT ● Nikolas Libert ● 4


Registrador de Deslocamento

 Estrutura básica:
QN Q2 Q1 Q0

Entrada D Q ... D Q D Q D Q
CK CK CK CK

Clock ...

– Quando ocorre uma borda descendente de clock, Q0


assume o valor de Q1, Q1 assume o valor de Q2, e
assim sucessivamente.
– O valor de entrada é armazenado em QN.
– A cada borda descendente de clock, os dados são
deslocados para o flip-flop da direita.

DAELT ● Nikolas Libert ● 5


Registrador de Deslocamento

 Ache as saídas do registrador de deslocamento.


Q3 Q2 Q1
E D Q D Q D Q D Q Q0
CK CK CK CK

Clk CLR CLR CLR CLR

Clr
Clr
t
Clk

E t
Q3
t
Q2
t
Q1

Q0 t
DAELT ● Nikolas Libert ● 6
Registrador de Deslocamento

 Ache as saídas do registrador de deslocamento.


Q3 Q2 Q1
E D Q D Q D Q D Q Q0
CK CK CK CK

Clk CLR CLR CLR CLR

Clr
Clr
t
Clk

E 1 0 1 1 t
Q3 1 t
Q2 1
t
Q1 0
Q0 t
1
DAELT ● Nikolas Libert ● 7
Conversor Série Paralelo
1 1 0 1
D 1 0 1 1
t D
Q3
Q2 Q1 Q0
Registrador de
Clk CK Deslocamento
t

 O registrador de deslocamento opera como um


conversor série-paralelo.
 Os dados inseridos em série (por um único fio), ficam
disponíveis em N saídas.
Q3 Q2 Q1
E D Q D Q D Q D Q Q0
CK CK CK CK

Clk CLR CLR CLR CLR

Clr

DAELT ● Nikolas Libert ● 8


Conversor Série Paralelo

 CI Dedicado

– 74LS595
– Entrada serial.
– Oito saídas paralelas.
– Pino para fixar dados
na saída (RCLK).
– Pino para desligar
saídas (OE).
– Pino para
cascateamento (QH).
DAELT ● Nikolas Libert ● 9
Conversor Paralelo Série

 Conversor Paralelo Série


En
PR3 PR2 PR1 PR0

PR Q3 PR Q2 PR Q1 PR Q0
E D Q D Q D Q D Q
Clk CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

Quando o pino En estiver em nível lógico baixo, todos os pinos de preset


(PR) estarão em nível lógico alto e o registrador de deslocamento funcionará
normalmente.
DAELT ● Nikolas Libert ● 10
Conversor Paralelo Série
 Pino de clear (Clr) é ativado (saídas zeradas).
 Pino de enable (En) é colocado em nível alto.
 Valor paralelo é inserido nos pinos de preset (PR3 a PR0).
 Pino de enable (En) é colocado em nível baixo.
 A sequência de dados série é gerada em Q0 aplicando-se pulsos de clock (Clk).
En
PR3 PR2 PR1 PR0

PR Q3 PR Q2 PR Q1 PR Q0
E D Q D Q D Q D Q
Clk CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr
DAELT ● Nikolas Libert ● 11
Registrador de Deslocamento
D Q D J Q
CK = CK CK
Q K Q

 Registrador de deslocamento com flip-flops JK.


QN QN-1
D J Q J Q J Q
CK CK CK CK
...
K K K

QN QN-1
D J Q J Q J Q
CK CK CK CK ...
K Q K Q K Q

DAELT ● Nikolas Libert ● 12


Contadores

Contadores

 Assíncronos (sinal de clock apenas em um flip-flop)


– Contador de Pulsos.
– Contador de Década.
– Contador Sequencial de 0 a N.
– Contador Crescente/Descrescente.
 Síncronos (sinal de clock comum a todos flip-flops)
– Contador Sequencial de 0 a N.

DAELT ● Nikolas Libert ● 13


Contador de Pulsos Assíncrono

Contador de Pulsos Assíncrono

 Conta o número de transições de um dado pulso.


 Apresenta em suas saídas o sistema binário em
sequência.

1
PR Q0 PR Q1 PR Q2 PR Q3
T Q T Q T Q T Q
E CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

DAELT ● Nikolas Libert ● 14


Contador de Pulsos Assíncrono

 As entradas T estão sempre habilitadas.


 O sinal de pulso é ligado na entrada de clock do
primeiro flip-flop.
 O contador é zerado pelo sinal Clr
 A cada pulso, a saída Q0 é comutada.
 A cada 2 pulsos, a saída Q1 é comutada...
1
PR Q0 PR Q1 PR Q2 PR Q3
T Q T Q T Q T Q
E CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

DAELT ● Nikolas Libert ● 15


Contador de Pulsos Assíncrono
1
PR Q0 PR Q1 PR Q2 PR Q3
T Q T Q T Q T Q
E CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

Clr
t
E
t
Q0
t
Q1
t
Q2
t
Q3
t

DAELT ● Nikolas Libert ● 16


Contador de Pulsos Assíncrono
1
PR Q0 PR Q1 PR Q2 PR Q3
T Q T Q T Q T Q
E CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

Clr
t
E
t
Q0
t
Q1
t
Q2
t
Q3
t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DAELT ● Nikolas Libert ● 17
Contador de Década Assíncrono

Contador de Década Assíncrono

 Realiza a contagem binária de 0 a 9 (gera o código


BCD8421 de 0000 a 1001).
 Formado por contador de pulsos com lógica adicional
para reset.
 A entrada clear do contador de pulsos deverá ser
ativada quando a saída for maior que 9 (1010).

DAELT ● Nikolas Libert ● 18


Contador de Década Assíncrono
1
PR Q0 PR Q1 PR Q2 PR Q3
T Q T Q T Q T Q
E CK CK CK CK
Q Q Q Q
CLR CLR CLR CLR

Clr

Clr
t
E
t
Q0
t
Q1
t
Q2
t
Q3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
t
DAELT ● Nikolas Libert ● 19
Contador de 0 a N Assíncrono

Contador de 0 a N Assíncrono

 Alterando a lógica de reset do contador de década,


pode ser obtido um contador de 0 até um número N
qualquer.
 Ex.: Contador de 0 a 5.
– Serão necessários 3 bits (3 flip-flops).
– A entrada clear deverá ser ativada quando a saída for
maior que 5 (110).

DAELT ● Nikolas Libert ● 20


Contador de 0 a N Assíncrono
1
Q0 Q1 Q2
PR PR PR
T Q T Q T Q
E CK CK CK
Q Q Q
CLR CLR CLR

Clr

Exemplo: Contador de 0 a 5

Clr
t
E
t
Q0
t
Q1
t
Q2
t
0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3

DAELT ● Nikolas Libert ● 21


Contador Assíncrono Decrescente

Contadores Assíncronos Decrescentes

 O circuito é exatamente igual ao de um contador


crescente.
 A única diferença é que a contagem é lida nas saídas
complementares QN a Q0.
 Ex.: Contador Descendente de 7 a 0.
– Serão necessários 3 bits (3 flip-flops).

DAELT ● Nikolas Libert ● 22


Contador Assíncrono Decrescente

 Contador Assíncrono de 7 a 0.
1
PR Q0 PR Q1 PR Q2
T Q T Q T Q
E CK CK CK
Q0 Q1 Q2
Q Q Q
CLR CLR CLR

Clr

Clr
t
E
t
Q0 Q0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
t
Q1 Q1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
t
Q2 Q2 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
t
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

DAELT ● Nikolas Libert ● 23


Contador Assíncrono Decrescente

 Outra topologia de contador descendente:


– A saída complementar de cada flip-flop é ligada à
entrada de clock do flip-flop seguinte.
– O valor da contagem é lida nas saídas não negadas.

Exemplo: Contador de 7 a 0
1
PR Q0 PR Q1 PR Q2
T Q T Q T Q
E CK CK CK
Q0 Q1 Q2
Q Q Q
CLR CLR CLR

Clr

DAELT ● Nikolas Libert ● 24


Contador Assíncrono Crescente/Decrescente

Contador Assíncrono
Crescente/Decrescente
 Adição de circuitos multiplexadores nas saídas.
 Variável de controle permite que valor do contador seja
lido das saídas complementares (contador
decrescente) ou normais (contador crescente).

DAELT ● Nikolas Libert ● 25


Contador Assíncrono Crescente/Decrescente

 Contador Assíncrono Crescente/Decrescente.


1
PR PR PR
T Q T Q T Q
E CK CK CK
Q Q Q
CLR CLR CLR

Clr

Inv

Se Inv estiver em nível


alto, os valores de
saída aparecerão em
ordem decrescente.

S0 S1 S2
DAELT ● Nikolas Libert ● 26
Contadores Síncronos

Contadores Síncronos

 A entrada de clock é comum a todos os flip-flops.


 Necessários quando a frequência de clock é muito alta,
devido ao atraso de propagação dos sinais pelo
conjunto de flip-flops.
Contador Assíncrono

Clk Tclk
Para uso do contador assíncrono, t
o período de clock deve ser maior Q0
que a soma dos atrasos de t
propagação em todos flip-flops. Q1
T clk ≥N⋅t a
t
Q2 ta
t
DAELT ● Nikolas Libert ● 27
Contadores Síncronos

 Um circuito combinacional deve atuar nos pinos de


controle dos flip-flops para alteração dos estados do
contador, com base no estado atual.

J Q J Q J Q J Q
CK CK CK CK
K K K K

Circuito
Combinacional

DAELT ● Nikolas Libert ● 28


Contadores Síncronos

 Exemplo: Contador de 3 bits


– Supondo que o contador inicie em zero:
Estado Q2 Q1 Q0 Próximo Q2 Q1 Q0
inicial: 0 0 0 estado: 0 0 1

– Para que o estado do contador mude de 0 para 1 na


próxima borda de clock, as entradas dos flip-flops
devem estar em: J2 K2 J1 K1 J0 K0
0 X 0 X 1 X

J2 J Q Q2 J1 J Q Q1 J0 J Q Q0
CK CK CK
K2 K K1 K K0 K

– Esta análise pode ser repetida para todos estados.


DAELT ● Nikolas Libert ● 29
Contadores Síncronos

 Exemplo: Contador de 3 bits


J2 J Q Q2 J1 J Q Q1 J0 J Q Q0
CK CK CK
K2 K K1 K K0 K

Borda Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
de clock
1ª 0 0 0 0 X 0 X 1 X
2ª 0 0 1
3ª 0 1 0
4ª 0 1 1
5ª 1 0 0
6ª 1 0 1
7ª 1 1 0
8ª 1 1 1

DAELT ● Nikolas Libert ● 30


Contadores Síncronos

 Exemplo: Contador de 3 bits


J2 J Q Q2 J1 J Q Q1 J0 J Q Q0
CK CK CK
K2 K K1 K K0 K

Borda Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
de clock
1ª 0 0 0 0 X 0 X 1 X
2ª 0 0 1 0 X 1 X X 1
3ª 0 1 0 0 X X 0 1 X
4ª 0 1 1 1 X X 1 X 1
5ª 1 0 0 X 0 0 X 1 X
6ª 1 0 1 X 0 1 X X 1
7ª 1 1 0 X 0 X 0 1 X
8ª 1 1 1 X 1 X 1 X 1

DAELT ● Nikolas Libert ● 31


Contadores Síncronos

 Exemplo: Contador de 3 bits


Saída J2:
Borda Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
Q1 Q1
de clock
Q2 0 0 1 0
1ª 0 0 0 0 X 0 X 1 X
Q2 X X X X
2ª 0 0 1 0 X 1 X X 1 Q0 Q0 Q0
3ª 0 1 0 0 X X 0 1 X
J2=Q1Q0
4ª 0 1 1 1 X X 1 X 1
5ª 1 0 0 X 0 0 X 1 X
6ª 1 0 1 X 0 1 X X 1 Saída K2:
7ª 1 1 0 X 0 X 0 1 X Q1 Q1
8ª 1 1 1 X 1 X 1 X 1 Q2 X X X X
Q2 0 0 1 0
Saída J1: Saída K1:
Q0 Q0 Q0
Q1 Q1 Q1 Q1
Q2 0 1 X X Q2 X X 1 0 K2=Q1Q0
J1=Q0 K1=Q0
Q2 0 1 X X Q2 X X 1 0
Q0 Q0 Q0 Q0 Q0 Q0
DAELT ● Nikolas Libert ● 32
Contadores Síncronos

 Exemplo: Contador de 3 bits


Borda Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
de clock
1ª 0 0 0 0 X 0 X 1 X
2ª 0 0 1 0 X 1 X X 1
3ª 0 1 0 0 X X 0 1 X
J2=K2=Q1Q0
4ª 0 1 1 1 X X 1 X 1
5ª 1 0 0 X 0 0 X 1 X
J1=K1=Q0
6ª 1 0 1 X 0 1 X X 1 J0=K0=1
7ª 1 1 0 X 0 X 0 1 X
8ª 1 1 1 X 1 X 1 X 1
Saída J0: Saída K0:
Q1 Q1 Q1 Q1
Q2 1 X X 1 Q2 X 1 1 X
J0=1 K0=1
Q2 1 X X 1 Q2 X 1 1 X
Q0 Q0 Q0 Q0 Q0 Q0
DAELT ● Nikolas Libert ● 33
Contadores Síncronos

 Exemplo: Contador de 3 bits J2=K2=Q1Q0


J1=K1=Q0
J0=K0=1

1
Q2 Q1 Q0
J Q J Q J Q
CK CK CK
E
K K K

 Utilizando a mesma metodologia, pode ser montado


um contador que siga qualquer sequência.

DAELT ● Nikolas Libert ● 34


Referências

 IDOETA, I. V., CAPUANO, F. G. Elementos de


Eletrônica Digital, 41ª Edição, Érica, São Paulo, 2013.
 PEDRONI, Volnei. Eletrônica Digital Moderna e VHDL,
Campus, Rio de Janeiro, 2010.

DAELT ● Nikolas Libert ● 35

Você também pode gostar