Você está na página 1de 19

1

Captulo VIII
Registradores de Deslocamento e Contadores
1 Introduo
Vimos no captulo anterior que flip-flops so dispositivos capazes de
memorizar o seu estado (SET ou RESET).
Neste captulo estudaremos dois circuitos digitais que constituem aplicaes
fundamentais de flip-flops:
(I) Registrador de Deslocamento: Circuito digital cujo objetivo
converter dados binrios entre o formato paralelo e o formato serial.
(II) Contador: Circuito digital cujo objetivo gerar uma seqncia
numrica .
2 Registradores de Deslocamento (shift register)
Figura 1: Registrador de deslocamento de 4 bits com entrada serial e sada
paralela feito com flip-flops JK.
2
Note na Figura 1 a porta NOT entre as entradas J e K do flip-flop A
( J K = ), fazendo com que o valor lgico nas entradas J e J K = seja
transferido respectivamente s sadas Q e Q no instante em que ocorre a
borda de descida do clock (comporta-se semelhantemente a um flip-flop D).
Note que as sadas Q e Q de cada flip-flop so interligadas com as
entradas J e K do flip-flop seguinte. Por causa disto, a cada borda de
descida do clock as sadas Q e Q de cada flip-flop so transferidas para a
sadas do flip-flop seguinte.
Exemplo 1: Determine a sada do shift register da Figura 1 quando a
seqncia de bits representativa do nmero 5 aplicada na entrada serial.
Soluo:
Figura 2: Formas de onda para um registrador de deslocamento de 4 bits com
entrada serial e sada paralela com seqncia de bits representativa do nmero
5 aplicada na entrada serial.
3
Figura 3: Registrador de deslocamento de 4 bits com entrada paralela e sada
serial. Note que aps a borda de descida do primeiro clock o nvel lgico 0 na
entrada J do flip-flop A transferido para sua sada, seguindo a palavra
binria de entrada que deslocada para a direita neste registrador.
4
Exemplo 2: Determine a sada do shift register da Figura 3 quando a palavra
binria representativa do nmero 10 aplicada na entrada paralela.
Soluo:
Figura 4: Formas de onda para um registrador de deslocamento de 4 bits com
entrada paralela e sada serial com a palavra binria representativa do nmero
10 aplicada na entrada paralela.
A comunicao entre dois microcomputadores atravs de suas portas seriais
baseada em registradores de deslocamento. Em cada porta serial, um
registrador de deslocamento transforma os dados do barramento interno do
microcomputador (que esto em formato paralelo) no formato serial adequado
para a transmisso atravs do cabo que interliga os dois computadores.
5
Figura 5a: Registradores de deslocamento comercialmente disponveis na
famlia TTL.
6
Figura 5b: Registradores de deslocamento comercialmente disponveis na
famlia TTL.
3 Contadores Assncronos (ripple counter)
Figura 6: Contador assncrono de 4 bits (conta at 16 = 2
4
). Note que somente
o flip-flop A recebe o sinal de clock. Todos os demais recebem o clock da
sada Q do flip-flop esquerda, e, por isso, o contador denominado
assncrono. Toda vez que ocorre a descida do clock na entrada de um flip-flop ,
o flip-flop muda de estado (toggle) e incrementa a contagem do dgito binrio
correspondente posio do flip-flop no contador.
7
Figura 7: Contador assncrono para contagem at 5. O nmero 5
10
= 101
2

decodificado pela porta NAND, efetuando um CLEAR em todos os flip-flops,
reiniciando a contagem. Note que o nmero 7
10
= 111
2
tambm detectado
pela porta NAND, mas a contagem reiniciada antes de atingir este valor. Note
que a durao ! em que o nmero 101 est presente nas sadas Q muito
pequeno (um spike da ordem do tempo de propagao de uma porta), e isto
pode gerar problema se o sinal nas sadas for utilizado como clock para algum
outro circuito.
Figura 8: Contador assncrono para contagem at 10. O nmero 10
10
= 1010
2
decodificado pela porta NAND, efetuando um CLEAR em todos os flip-flops,
reiniciando a contagem. Note que os nmeros, 11
10
= 1011
2
, 14
10
= 1110
2
e
15
10
= 1111
2
tambm so detectados pela porta NAND, mas a contagem
reiniciada antes de atingir este valor.
8
Figura 9: Contador assncrono presetvel de 4 bits (conta at 8 = 2
3
). As
entradas PR recebem a palavra binria na qual se deseja inicializar a
contagem. Durante a inicializao o CONTROLE_PR deve receber o nvel
lgico 1.
9
Figura 10: Contador assncrono presetvel para contagem em mdulo 3. A
seqncia gerada ! 5 7 6 5 , , , .
10
Figura 11: Contador assncrono decrescente. Para contagem decrescente
liga-se a entrada de clock de cada flip-flop (exceto o 1) sada a Q do
flip-flop esquerda.
4 Contadores Sncronos
Em um contador sncrono, todos os flip-flops compartilham o mesmo sinal
de clock e, portanto, todos os flip-flops ficam habilitados no mesmo instante
para que ocorra a troca de estado.
A vantagem do contador sncrono sobre o contador assncrono reside na
inexistncia de atraso de propagao entre os pulsos clock dos flip-flops ,
evitando spikes e glitches (pulsos de curta durao resultantes de atrasos de
propagao distintos).
11
Figura 12: Contador assncrono de 4 bits (conta at 16 = 2
4
). Note que todos
os flip-flops recebem o mesmo sinal de clock. As portas AND determinam a
seqncia numrica gerada, que, no caso, a seqncia de contagem 0000
2
,
0001
2
,
...
, 1111
2
. Note que qualquer seqncia numrica pode ser gerada com
um contador sncrono.
A melhor maneira de compreender a operao de um contador sncrono
projetando o contador para uma seqncia numrica desejada.
Os exemplos de projeto de contadores que seguem sero baseados em
flip-flops JK disparados pela borda de descida do clock, cuja Tabela-Verdade :
12
Figura 13: (a) Tabela-Verdade de um flip-flop JK disparado pela borda de
descida do clock . (b) Tabela de Transio de Estado do flip-flop JK.
Exemplo 3: Projete um contador sncrono que gere a seqncia numrica
CBA = 000, 001, 010, 011, 100, 000
...
.
Soluo:
Primeiramente, vamos construir a Tabela de Estados do contador, com base
na seqncia desejada e na Tabela de Transio de Estado do flip-flop JK
(Figura 13b). Sejam C, B e A as sadas Q dos flip-flops responsveis
respectivamente pela representao dos bits
2
2 (MSB) ,
1
2 e
0
2 (LSB) da
seqncia CBA:
Tabela de Estados do Contador
Q antes do clock Q depois do clock
C B A
C B A C B A
J K J K J K
0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 0 0 0 X 1 0 X 0 X
13
A seguir, determina-se os Mapas de Karnaugh das variveis J e K dos
flip-flops C, B e A em funo dos valores das variveis C, B e A na coluna Q
antes do clock na Tabela de Estados do Contador:
Figura 14:
AB J
C
=
.
Figura 15:
1 =
C
K
.
Figura 16: A J
B
=
.
Figura 17: A K
B
=
.
14
Figura 18: C J
A
=
.
Figura 19:
1 =
A
K .
Portanto, das figuras 14 a 19, o circuito resultante :
Figura 20: Contador sncrono gerador da seqncia numrica 000, 001, 010,
011, 100, 000
...
.
Exemplo 4: Projete um contador sncrono que gere a seqncia numrica
CBA = 000, 001, 010, 011, 100, 101, 000
...
.
Soluo:
15
Primeiramente, obtm-se a Tabela de Estados do contador, com base na
seqncia desejada e na Tabela de Transio de Estado do flip-flop JK (Figura
13b). Sejam C, B e A as sadas Q dos flip-flops responsveis respectivamente
pela representao dos bits
2
2 (MSB) ,
1
2 e
0
2 (LSB) da seqncia CBA:
Tabela de Estados do Contador
Q antes do clock Q depois do clock
C B A
C B A C B A
J K J K J K
0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 1 0 1 X 0 0 X 1 X
1 0 1 0 0 0 X 1 0 X X 1
A seguir, determina-se os Mapas de Karnaugh das variveis J e K dos
flip-flops C, B e A em funo dos valores das variveis C, B e A na coluna Q
antes do clock na Tabela de Estados do Contador:
Figura 21:
AB J
C
=
.
Figura 22:
A K
C
=
.
16
Figura 23: C A J
B
=
.
Figura 24: A K
B
=
.
Figura 25:
1 =
A
J .
Figura 26:
1 =
A
K .
Portanto, das figuras 21 a 26, o circuito resultante :
17
Figura 27: Contador sncrono gerador da seqncia numrica 000, 001, 010,
011, 100, 101, 000
...
.
A Figura 28 mostra contadores comercialmente disponveis na famlia TTL.
18
Figura 28a: Alguns contadores sncronos comercialmente disponveis em CIs
da famlia TTL.
19
Figura 28b: Alguns contadores sncronos comercialmente disponveis em CIs
da famlia TTL.