Buscar

CL_CAP_7

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 110 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 110 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 110 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CAPÍTULO 7
1
CONTADORES E REGISTRADORES
7.1- Contadores assíncronos (ondulantes)
Contadores assíncronos: 
• Sinal de Clock aplicado apenas na entrada CLK para flip-flop A (LSB).
• J e K são altos em todos os flip-flops.
• A saída do flip-flop A é o clock do flip-flop B.
• As saídas dos flip-flops D, C, B e A são um número binário de 4 bits,
sendo o D o MSB.
MSB LSB
Contador binário assíncrono crescente 
2
Figura 7.1 – Contador binário assíncrono (ondulante) de quatro bits
MSB LSB
Contador binário assíncrono crescente 
↘
↙↙↙
↘↘
sinal de clock
↙
• Após a borda de descida do 15º pulso do clock, os flip-flops do contador estão
na condição 1111.
↓
LSB
3
Figura 7.1 – Formas do contador binário assíncrono de 4 bits, crescente.
MSB
• O Módulo (MOD) de um contador binário básico é igual ao número de
estados pelos quais o contador passa antes da reciclagem.
Módulo 
Módulo = 2N , onde N = número de FFs
Divisão de frequência 
4
• Cada FF terá uma frequência de saída igual à metade da entrada.
• A frequência de saída do último FF será a frequência do clock dividida pelo
módulo (MOD) do contador.
MOD
f
f CLKMSB ====
Contador módulo 16 pode ser chamado de contador divisor por 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
5
16
CLKCLK
D
f
MOD
f
f ==
Ciclo de trabalho - CT
Ciclo de trabalho (duty cycle) → é a razão entre a amplitude do pulso alto (tH ) e
o período (T) e é expressa como uma porcentagem. 
ttT +=
ou 
ou 
%100x
T
t
CT
Q
HQ
====
6
Contador com MOD = 2N , sempre terão CT = 50%
Contador com MOD < 2N , alguns sinais de saída não terão CT = 50%
%x
T
t
CT H 100=
HL ttT +=
T
1
f =
CT → ciclo de trabalho
↑ amplitude do pulso 
↙
Para determinar o valor da contagem final (CF) de um contador de módulo M após N
pulsos de clock que começa com um contagem inicial (CI):
Determinando a contagem de um contador
N → pulsos de clock
M → módulo do contador
CI → contagem inicial 
7
CP = R + CI 
Se CP <<<< M → CF = CP → é a resposta em decimal da contagem final
Se CP ≥≥≥≥ M → CF = CP - M → é a resposta em decimal da contagem final
CI → contagem inicial 
CP → contagem parcial
CF → contagem final
Contador assíncronos decrescente de 3 bits
MSB LSB
8
↗ ↗
↙ ↙ ↙
sinal de clock
Exemplo 7.3
O primeiro passo envolvido na construção de um relógio digital é obter um sinal de 60 Hz
e colocá-lo na entrada de um Schmitt-trigger, um circuito conformador de pulsos, para
gerar uma onda quadrada conforme ilustrado na Figura 7.3. A onda quadrada de 60 Hz é
então colocada na entrada de um contador de módulo 60, usado para dividir a
frequência de 60 Hz exatamente por 60, gerando uma forma de onda de 1 Hz. Esta forma
de onda entra em uma série de contadores, que contam os segundos, minutos, horas etc.
Quantos FFs são necessários para implementar uma contador de módulo 60?
9
Resposta:
O mais próximo é 26 = 64, mas funciona como um contador de módulo 64. Na seção 7.4
veremos como projetar um contador com módulo <<<< 2N .
7.2- Atraso de propagação em contadores assíncronos
• Contadores ondulantes ou assíncrono são o tipo mais simples de contadores binários,
visto que requerem poucos componentes para que uma determinada operação seja
produzida. Eles apresentam uma grande desvantagem causada pelo príncipio básico
de funcionamento, cada FF é disparado pela transição de saída do precedente. Devido
o tpd dos FFs , tempo de atraso de propagação, o segundo FF atrasará tpd após o
primeiro FF receber a transição ativa do clock, o terceiro atrasará 2xtpd após a
transição ativa do clock, e assim por diante.
• O atraso de propagação cumulativo pode causar problemas em altas frequências se o
período entre os pulsos de clock de entrada (T ) é menor do que o atraso deperíodo entre os pulsos de clock de entrada (TCLK) é menor do que o atraso de
propagação total do contador (Ntpd), onde N é o número de FFs.
• Os problemas podem ser evitados se: Tclock ≥≥≥≥ N x tpd →
Frequência máxima do clock:
• Os contadores assíncronos não são muito úteis em altas frequências, especialmente
para os contadores com grande número de bits.
10
pd
CLK
tN
f
×
≤
1
pd
CLKmax
tN
f
×
=
1
FF Q0 é o LSBFF Q2 é o MSB
↓ ↓
Contador assíncronos de 3 bits 
11
Os problemas podem ser evitados se: Tclock ≥≥≥≥ N x tpd →
Frequência máxima do clock:
pd
CLK
tN
f
×
≤
1
pd
CLKmax
tN
f
×
=
1
Formas de onda de um contador assíncronos de 3 bits mostrando os efeitos dos 
atraso de propagação, tpd .
tpd = 50 ns
N = 3 FFs
fclock = 1 MHz 
Tclock = 1000 ns
Os problemas podem ser evitados se: Tclock ≥≥≥≥ N x tpd →
pd
CLK
tN
f
×
≤
1
12
Tclock > N x tpd
N x tpd = 150 ns
tpd = 50 ns
MHz,
ns
f CLKmax 676
503
1
=
×
=
Figura 7.4(a)- Formas de onda de um contador ondulante de três bit ilustrando os efeitos 
dos atrasos de propagação dos FFs para diferentes frequências de pulsos de entrada. 
fclock < N x tpd
│
│
│
t = 50 ns
N = 3 FFs
fclock = 10 MHz 
Tclock = 100 ns
Formas de onda de um contador assíncronos de 3 bits mostrando os efeitos dos 
atraso de propagação, tpd .
Os problemas podem ser evitados se: Tclock ≥≥≥≥ N x tpd →
pd
CLK
tN
f
×
≤
1
13
100 ns
│
│
│
│
│ │
000 001 000 010 011 010 000 101 pulou 100 
Tclock < N x tpd
N x tpd = 150 ns
tpd = 50 ns
MHz,
ns
f CLKmax 676
503
1
=
×
= A contagem 100 nunca ocorrerá.
Figura 7.4 (b)- Formas de onda de um contador ondulante de três bit ilustrando os efeitos dos atrasos 
de propagação dos FFs para diferentes frequências de pulsos de entrada. 
fclock > N x tpd
7.3- Contadores síncronos (Paralelos) 
• Em contadores síncronos ou paralelo, todos os FFs são disparados simultaneamente
(em paralelo) pelos pulsos de clock da entrada.
• Cada FF tem suas entradas J e K que são ALTAS apenas quando as saídas de todos os
FFs de ordem inferior forem ALTAS.
• O atraso de propagação total será o mesmo para qualquer número de FFs.
Atraso total = tpd FF + tpd AND → é o tempo de resposta de um FF comutar
mais o tempo para os novos níveis lógicos se propagarem por uma única porta
AND para alcançar as entradas J e K.
14Figura 7.5 (a) - contador síncrono de módulo 16
AND para alcançar as entradas J e K.
Tabela de estados do contador síncrono de módulo 16
15
O contador básico síncrono mostrado é limitado
aos números de módulo iguais a potências de 2.
Módulo = 2N , onde N = número de FFs
Projeto de um contador síncrono crescente de 3 bits
C B A
0 0 0 FF A →muda a cada descida do clock → JA= KA = 1
0 0 1 FF B →muda quando A=1 e ↓CLK → JB= KB = A
0 1 0
0 1 1 FF C →muda quando B=A=1 e ↓CLK → JC= KC =B.A
1 0 0
1 0 1
1 1 0
1 1 1
16
Problemas podem ser evitados se: Tclock ≥≥≥≥ tpd FF + tpd AND
Frequência máxima do clock:
Vantagem dos contadores síncronos sobre os assíncronos
Atraso total = tpd FF + tpd AND
pdANDpdFF
CLK
tt
f
+
≤
1
f =
1
17
Frequência máxima do clock:
Esse atraso total não depende do número de FFs do contador e geralmente é
muito menor que o atraso de um contador assíncrono com o mesmo número
de FFs. Assim, um contador síncrono pode operar com frequência de
entrada muito maior.
pdANDpdFF
CLKmax
tt
f
+
=
1
O contador básico pode ser modificado para produzir módulo menor que 2N,
fazendo com que o contador pule estados que normalmente são parte da
sequência de contagem.
7.4- Contadores de Módulo < 2N
Procedimento geral para projetar um contador síncrono de módulo < 2N - pag. 317
Para construir um contador que inicie a contagem a partir de todos os bits
em nível BAIXO e que tenha um módulo X :
18
em nível BAIXO e que tenha um módulo X :
1. Determine o menor número de FFs, de modo que X ≤ 2N , e conecte-os
como contador . Se X = 2N , dispense os passos 2 e 3.
2. Conecte a saída de uma porta NAND às entradas assíncronas CLEAR de
todos os FFs.
3. Determine quais são os FFs em nível ALTO na contagem = X, então, conecte
as saídas normais desses FFs às entradasda porta NAND.
Projeto de um contador síncrono de Módulo < 2N 
Contador síncrono módulo 6 
Para construir um contador que inicie na contagem zero e tenha módulo X :
1- Determine o menor número de FFs, de modo que X ≤ 2N .
X = 6 → N = 3 FFs → 6 ≤ 23 Conecte os 3 FFs como contador síncrono.
2- Conecte a saída de uma porta NAND às entradas assíncronas CLEAR de todos os FFs.
3- Determine quais são os FFs em nível ALTO na contagem = X.
contagem = 6 → C B A = 1 1 0
Conecte as saídas normais (Q) dos FFs C e B às entradas da porta NAND.
19
C B A 
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0 (estado temporário) 
6módulo
clockclock fffC ==
Figura 7.5 – Contador síncrono de módulo 6 (110) 
↘
↗
Formas de ondas do contador módulo 6 
O contador chega ao estado 110, mas ele se mantém nesse estado por apenas alguns
nanossegundos, por isso que este estado é temporário, antes de retornar para 000.
Portanto, esse contador conta de 000 a 101 e então recicla para 000.
1
0 0
1
20
A forma de onda de C não é simetricamente quadrada (não tem ciclo de trabalho 50% )
↖glitch ←Spike ou glitch→
1
1
↖ ocorre na contagem 110
%100x
T
t
CT H= %33,33100
6
2
== xCT
1
1
(MSB)
Diagrama de estados para o contador de MOD-6
Figura 7.7
↘
↘
Não há seta para o estado 111 pois o contador não avança para esse estado.
O estado 111 pode ocorrer quando o circuito é energizado, situação na qual os
FFs pode cair em qualquer estado. Se isso ocorrer, a condição 111 gera um nível
BAIXO na saída da porta NAND e imediatamente leva o contador para 000.
Assim o estado 111 também é uma condição temporária que termina em 000.
Cada círculo representa um dos possíveis estados do contador . As setas
indicam uma mudança de estado para outro, em resposta a um pulso de clock de
entrada. 21
A exibição dos estados do contador são muitas vezes realizados com um LED.
Mostrando os estados do contador
22
Figura 7.7 – Os LEDs são frequentemente usados para mostrar os estados de um contador.
Exemplo 7.6 – Determine o módulo do contador na Figura 7.8(a) e a frequência na saída D.
Figura 7.8 (a)- Contador síncrono de módulo 14 - pag. 317
23
Entrada da NAND → DCB = 111 → 1110 → módulo 14 , conta de 0000 a 1101.
Como a frequência de entrada é 30kHz , a frequência na saída D será 
Solução:
kHz
kHz
MOD
f
f CLKD 14,2
14
30
===
• Contador de módulo 10 também é conhecido como contador decádico.
• Um contador de década é qualquer contador com 10 estados distintos,
independentemente da sequência.
• Um contador BCD é um contador decádico que conta em binário de 0000 a
1001.
Contadores decádicos / Contadores BCD
Exemplo 7.7 – Construa um contador síncrono de módulo 10 que conte de 0000 a 1001
24
Figura 7.8 (b) – contador síncrono módulo 10 (decádico)
DCBA = 1010
contagem = módulo
No Exemplo 7.3, um contador de módulo 60 foi necessário para dividir uma
frequência da rede elétrica, 60 Hz, para obter 1 Hz. Construa o contador de
módulo 60 apropriado.
Exemplo 7.8
25 = 32 e 26 = 64 Necessita de 6 FFsSolução: 
6010 = 1111002 → Q5Q4Q3Q2 = 1111 Hz
Hz
MOD
f
f CLKQ 1
60
60
5 ============
25
7.5- Contadores síncronos decrescentes e crescentes/decrescentes
Um contador síncrono decrescente é construído de forma semelhante a um
contador crescente.
Ele usa as saídas invertidas dos FFs para controlar as entradas J e K de ordem
mais alta.
D C B A
1 1 1 1 FF A muda a cada descida do clock → JA= KA = 1
1 1 1 0
Projeto de um contador síncrono decrescente de 4 bits 
26
Fig. 7.10 - Contador síncrono decrescente de 
MOD-16 e ondas de saída.
1 1 1 0
1 1 0 1 FF B muda quando A = 0 e ↓CLK→ JB= KB = 
1 1 0 0
1 0 1 1 FF C muda quando B = A = 0 e ↓CLK → JC= KC =
1 0 1 0
1 0 0 1
1 0 0 0 
0 1 1 1 FF D muda quando C=B=A=0 e ↓CLK → JD= KD =
0 1 1 0
0 1 0 1
0 1 0 0 
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0 
A
AB.
ABC ..
Contador paralelo crescente/decrescente
↗
↘ ↘
↗ ↙
27
A entrada de controle (Up/ ) controla se as entradas J e K dos FFs serão acionadas 
pelas saídas normais ou pelas saídas invertidas dos FFs.
Down
Diagrama de tempo 
↓
1 2 3 4 5 6 7 8 9 10
28
Nos primeiros cinco pulsos de clock o contador conta Up → Up / = 1 (crescente)
Nos últimos cinco pulsos o contador conta Down → Up/ = 0 (decrescente)
Down
Down
As setas representam transições de estado que ocorrem na borda de descida do
sinal de clock. Há duas setas partindo de cada círculo de estado.
O próximo estado para esse contador depende do nível lógico aplicado na
entrada de controle.
Diagrama de estados
Up/Down
↓
29(c) Diagrama de transição de estados
Up/Down
7.6- Contadores com Carga Paralela
Entradas paralelas de dados 
↙ ↓ ↘
Contadores com carga paralela (pré-configurável) podem ser inicializados com qualquer
contagem inicial desejada assincronamente ou sincronamente. Essa operação de
inicialização do contador é denominada carga paralela.
Figura 7.12 - Contador síncrono com carga paralela assíncrona. 30
LOAD
7.7- CIRCUITOS INTEGRADOS DE CONTADORES SÍNCRONOS 
As séries 74ALS160-163/74HC160-163
Clear assíncrono
Clear assíncrono
O contador contém quatro FFs. Os FFs são disparados por uma borda de subida na
entrada CLK.
Função CLEAR (CLR) - entrada ativa em nível BAIXO pode ser assíncrona ou síncrona.
Função LOAD – entrada ativa nível BAIXO síncrono - carga paralela síncrona.
31
Clear síncrono
Clear síncrono
Clear assíncrono
Esses contadores tem o pino de saída RCO ativo nível
ALTO, cuja função é detectar o estado terminal do
contador.
O estado terminal de um contador BCD é 1001, o de
módulo 16 é 1111.
A entrada ENT também controla a operação de RCO.
RCO vai para seu nível ativo ALTO quando ENT estiverRCO vai para seu nível ativo ALTO quando ENT estiver
nível ALTO e o contador estiver no estado terminal
(último estado). Esse recurso é muito útil na ligação
entre dois ou mais CIs de contadores em um arranjo
de múltiplos estágios para criar contadores maiores.
32
74ALS160 - 74ALS163 Tabela de funções
33
Exemplo 7.10 – Determine as formas de onda das saídas do contador.
Tabela de função do 74ALS160 a 74ALS163
Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador aOngir o seu 
último estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
CLR LOAD ENP ENT CLK
74HC163 módulo 16
Solução 
Entrada 
de dados 
paralelos
↙
34
74HC163 módulo 16
Clear síncrono
Carga síncrona
↙
↙
↙
↑
Clear síncrono
↑
Carga síncrona
↑ ↑
sem mudança
↑último estado
0
0
0
0
1
1
0
0
1
1
1
1
estado inicial 0000
Figura 7.14
Exemplo 7.11 – Determine as formas de onda das saídas do contador.
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador aOngir o seu 
último estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
74HC160 módulo 10 
Solução
↙
Entrada 
de dados 
paralelos
→
carga
35
74HC160 módulo 10 
Clear assíncrono
Carga síncrona
↙
↑
Clear
assíncrono
↑
Carga
síncrona
↑
sem mudança
↑ ↑
último estado
↑
sem
mudança
↓ ↓
1
0
1
0
0
0
0
0
0
1
1
1
estado inicial 0000
↙
↙
↙
↘
↓
↓ ←
Figura 7.15
LOAD → carga 
0
0
0
0
As séries 74ALS190-191/74HC190-191 - pag. 326
36
Tabela de função do 74ALS190 e 74ALS191
Função
L X X X carga assíncronaH L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o contador atinge o estado terminal
→ vai para seu nível ativo quando: =0 e contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
LOAD
CTEN
UD / CLK
RCO
CTEN
Exemplo 7.12 – Determine as formas de onda das saídas do contador
Tabela de função do 74ALS190 e 74ALS191
Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o contador atinge o estado terminal
→ vai para seu nível ativo quando: = 0 e contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
LOAD
CTEN
UD / CLK
RCO
CTEN
↙
37
74HC190 módulo 10 
carga assíncrona
Solução 
↙
↑
Carga assíncrona
↑ 
sem 
mudança↑ ↑
último 
estado 0000
↑
último estado
1001
1
0
0
0
1
0
0
1
↓ ↓
↓
0
0
0
0
1
0
1
0estado inicial 0000
Figura 7.17
0
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
LOAD → carga 
Exemplo 7.13 – Estudar 
38
Exemplo 7.13 - cont..
39
Muitas saídas de CI de contadores foram projetadas para tornar mais fácil conectar
múltiplos CIs e criar circuitos com uma gama maior de contagem.
Um arranjo de múltiplos estágios ou em cascata.
Contadores de múltiplos estágios
↙
74ALS163s em um arranjo de dois estágios para estender o alcance máximo de 
contagem. Conta de 0 a 255. Módulo 256.
40
↙
Problema 7.21
(a) Desenhe o diagrama de transição de estados 
das saídas do contador.
(b) Determine o módulo do contador.
(c) Qual é a relação da frequência de saída do 
MSB com a frequência de entrada CLK?
(d) Qual é o ciclo de trabalho da forma de onda 
da saída do MSB?
41
Figura 7.106 (a)Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador aOngir o seu úlOmo estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
QD QC QB QA
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
Tabela de estados
Solução: Problema 7.21
(a) Diagrama de transição de estados
42
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
(b) Módulo 12
(c ) 
(d)
12
f
MOD
f
f CLKCLKQD ==
%,x%x
T
t
)Q(CT HD 333100
12
4
100 ===
74ALS163 → Clear síncrono
Módulo 12 → contém 12 estados diferentes
QD fica 4 períodos do clock em nível alto
o período da forma de QD é 12 
períodos do clock
Estado normal, 
clear síncrono
não é uma onda 
quadrada simétrica
Problema 7.22
(a) Desenhe o diagrama de transição de estados 
das saídas do contador da Figura 7.106 (b)
(b) Determine o módulo do contador.
(c) Qual é a relação da frequência de saída do 
MSB com a frequência de entrada CLK?
(d) Qual é o ciclo de trabalho da forma de onda 
da saída do MSB?
D
C
B
A
QD
QB
QA
QC
RCOCLK
ENT
ENP
LOAD
CLR
74161
10
9
2
5
7
1
6
3
4
15
11
12
13
14
CLK
1
7400
DQ
43
Figura 7.106 (b)
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador aOngir o seu úlOmo 
estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
DQ
LOAD → carga os 
dados da entrada 
paralela (D C B A) nos 
FFs . 
QD QC QB QA
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
1 0 0 1 7
Tabela de estados
Solução:
D
C
B
A
QD
QB
QA
QC
RCOCLK
ENT
ENP
LOAD
CLR
74161
10
9
2
5
7
1
6
3
4
15
11
12
13
14
CLK
1
7400
QC 
QB
(a) Diagrama de transição de estados
QC 
carga 
44
1 0 0 1 7
1 0 1 0 8
1 0 1 1 9
1 1 0 0 10
1 1 0 1 11
1 1 1 0 12
(b) Módulo 12
(c ) 
(d)
12
f
MOD
f
f CLKCLKQD ==
%50100
12
6
%100)( === xx
T
t
QDCT H
74161 → Carga síncrona
DQ
QC 
QB
Estados normais, 
carga síncrona
QD fica 6 períodos do clock em nível alto
é uma onda quadrada 
simétrica
o período da forma de QD é 12 
períodos do clock
Problema 7.23 -
Figura 7.107 (a)
LOAD → carga 
45
Figura 7.107 (a)
Exercício Extra 
Desenhe um esquema para criar um contador de módulo 8, auto-reciclável, que produz
50% de ciclo de trabalho na forma de onda da saída do MSB. Use o 74ALS161. Desenhe
o diagrama de estados e o diagrama de tempo do contador projetado.
Figura 7.107 (b)
Problema 7.24
Tabela de função do 74ALS190 e 74ALS191
LOAD CTEN CLK Função
(a) Descreva a saída do contador em QDQCQBQA se 
START estiver em nível BAIXO.
(b) Descreva a saída do contador em QDQCQBQA se 
START estiver momentaneamente em nível BAIXO e 
depois retornar ao nível ALTO.
(c) Qual é o módulo do contador? Ele é auto-reciclável
ou não? Por que?
UD /
46
Figura 7.107 (b)LOAD CTEN CLK Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o contador
atinge o estado terminal
RCO → vai para seu nível ativo quando: CTEN = 0 e 
contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
UD /
LOAD → carga 
Problema 7.25
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que use:
(a) Um controle clear em um 74ALS160. 
(b) Um controle clear em um 74ALS162.
D
C
QD
Q
RCOCLK
ENT
ENP
LOAD
CLR
74ALS160-74ALS163
47
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador aOngir o seu 
último estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
C
B
A
QB
QA
QC
Solução 7.25 (a) Solução 7.25 (b)
RCOCLK
ENT
ENP
LOAD
CLR
74ALS160
10
9
2
7
1
15CLK
1
RCOCLK
ENT
ENP
LOAD
CLR
74ALS162
10
9
2
7
1
15CLK
1
Clear assíncrono 
Clear síncrono 
(b) Um controle clear em um 74ALS162.(a) Um controle clear em um 74ALS160. 
(MSB)
48
D
C
B
A
QD
QB
QA
QC5
6
3
4
11
12
13
14
7400
D
C
B
A
QD
QB
QA
QC5
6
3
4
11
12
13
14
7400
Módulo 6 → estados de 0000 a 0101 
Clear assíncrono → provoca estado temporário 
0110 → estado temporário
Módulo 6 → estados de 0000 a 0101 
Clear síncrono → não provoca estado 
temporário 
(MSB) (MSB)
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que produz 
a sequência de contagem:
(a) 1, 2, 3, 4, 5, 6 e repita com um 74ALS162.
(b) 5, 4, 3, 2, 1, 0 e repita com um 74ALS190.
(c) 6, 5, 4, 3, 2, 1 e repita com um 74ALS190.
Problema 7.26
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
Tabela de função do 74ALS190 e 74ALS191
CLK Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
LOAD UD /CTEN
49
HH L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador 
atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
contador atinge o estado terminal
→ vai para seu nível aOvo quando: = 0 e 
contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
CTENRCO
D
C
B
A
QD
QB
QA
QC
RCOCLK
ENT
ENP
LOAD
CLR
74ALS160-74ALS163
D
C
B
A
QD
QB
QA
QC
CLK
LOAD
D/ U
CTEN
RCO
Máx/
Min
74ALS190-74ALS191
(a) 1, 2, 3, 4, 5, 6 e repita com um 74ALS162.
Problema 7.26
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que
produz a sequência de contagem:
QD QC QB QA
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador 
atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10 
50
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11 D
C
B
A
QD
QB
QA
QC
RCOCLK
ENT
ENP
LOAD
CLR
74ALS160-74ALS163
Módulo 6 → estados de 0001 a 0110 
Carga síncrona → não provoca estado temporário 
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
Solução : Prob. 7.26(a)
Tabela de função do 74ALS160 a 74ALS163
CLR LOAD ENP ENT CLK Função Componente 
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
H L X X ↑ Carga síncrona Todos 
H H H H ↑ contagem crescente Todos
H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
RCO (saída) → vai para o seu nível aOvo quando: ENT = 1 e o contador 
atingir o seu último estado.
0
1
51
atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10 
74ALS161 e 74ALS163 → módulo 16 
Módulo 6 → estados de 0001 a 0110 
Carga síncrona → não provoca estado temporário 
1
1
0
LOAD → carga 
(b) 5, 4, 3, 2, 1, 0 e repita com um 74ALS190.
Tabela de função do 74ALS190 e 74ALS191
CLK Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
→ vai para seu nível aOvo quando: = 0 e 
contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
LOAD UD /CTEN
CTENRCO
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que
produz a sequência de contagem:
Problema 7.26
QD QC QB QA
1 0 0 1 0
1 0 0 0 1
0 1 1 1 2
0 1 1 0 3
0 1 0 1 4
0 1 0 0 5
CLK
LOAD
D/ U
CTEN
RCO
Máx/
Min
74ALS190-74ALS191
52
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
Módulo 6 → estados de 0101 a 0000
Carga assíncrona → provoca estado temporário 
1001 → estado temporário 
LOAD → carga 
0 1 0 0 5
0 0 1 1 6
0 0 1 0 7
0 0 0 1 8
0 0 0 0 9
D
C
B
A
QD
QB
QA
QC
Solução : Prob. 7.26 (b)
D QD
CLK
LOAD
74ALS190
11
14
4
5
9
13
7
CLK
0
0
D/ U
CTEN
RCO
Máx/
Min
12
1↘
↘
↘
1 D Q
CLK
LOAD
74HC190
11
14
4
5
9
13
7
CLK
0
0
D/ U
CTEN
RCO
Máx/
Min
12
1
Q
ou
53
D
C
B
A
QD
QB
QA
QC
10
15
1
6
2
3
0
1
0
1
Módulo 6 → estados de 0101 a 0000
Carga assíncrona → provoca estado temporário 
1001 → estado temporário 
1
0
0
1
LOAD → carga 
D
C
B
A
QD
QB
QA
QC10
15
1
6
2
3
0
1
0
1
QD
QC
QB
QA
(c) 6, 5, 4, 3, 2, 1 e repita com um 74ALS190.
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que
produz a sequência de contagem:
Problema 7.26
Tabela de função do 74ALS190 e 74ALS191
CLK Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
LOAD UD /CTEN
CLK
CTEN
RCO
Máx/
74ALS190-74ALS191
QD QC QB QA
1 0 0 1 0
1 0 0 0 1
0 1 1 1 2
0 1 1 0 3
54
→ vai para seu nível ativo quando: = 0 e 
contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
CTENRCO
D
C
B
A
QD
QB
QA
QC
LOAD
D/ U
Máx/
Min
0 1 1 0 3
0 1 0 1 4
0 1 0 0 5
0 0 1 1 6
0 0 1 0 7
0 0 0 1 8
0 0 0 0 9
Tabela de função do 74ALS190 e 74ALS191
CLK Função
L X X X carga assíncrona
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
→ vai para seu nível ativo quando: = 0 e 
contador estiver no estado terminal e CLK = 0
LOAD UD /CTEN
CTENRCO
Solução : Prob. 7.26 (c)
55
contador estiver no estado terminal e CLK = 0
74ALS190 → módulo 10 e 74ALS191→ módulo 16 
Módulo 6 → estados de 0110 a 0001 
Carga assíncrona → provoca estado temporário 
0000 → estado temporário (estado terminal)
LOAD → carga 
• Contadores digitais são frequentemente utilizados em aplicações nas
quais a contagem representada pelo estado dos FFs, de alguma forma,
deve ser exibida.
• Um dos meios mais simples para exibir o conteúdo de um contador é
conectar a saída do FF a um LED.
7.8- DECODIFICANDO UM CONTADOR
O método que utiliza LEDs para visualização se torna inconveniente quando o
tamanho (número de bits) do contador aumenta.
É muito mais difícil decodificar a exibição mentalmente.
56
Um contador de módulo X possui X estados diferentes; cada estado é uma sequência de
0s e 1s armazenados nos flip-flops do contador.
Uma malha de decodificação é um circuito lógico que gera X saídas diferentes, cada uma
detecta (decodifica) a presença de um estado particular do contador. As saídas do
decodificador podem ser projetadas para gerar nivel ALTO ou BAIXO quando a detecção
ocorrer.
Decodificação ativa em nível ALTO
57Figura 7.20- Usando portas AND para decodificar um contador de módulo 8. 
malha de decodificação
Decodificação ativa em nível BAIXO
São usadas portas NAND em vez de portas AND. 
Decodificação de um contador BCD
Para decodificar as saídas de um contador BCD, geralmente, usa-se um
decodificador BCD para 7 segmentos. As saídas desse decodificador controlam
os 7 segmentos de um único dispositivo, um display, para mostrar os números
decimais de 0 a 9. Uma classe de displays decimais contém sete segmentos
feitos de um material (normalmente LEDs ou display de cristal líquido) que emite
luz própria ou reflete a luz ambiente.
Em vez de 10 LEDs separados, os
contadores BCD geralmente têm sua
contagem exibida em um único
dispositivo de exposição.
58
luz própria ou reflete a luz ambiente.
7.15 CIRCUITOS INTEGRADOS DE REGISTRADORES 
Os vários tipos de registradores podem ser classificados de acordo com a
maneira pela qual os dados são apresentados ao registrador para
armazenamento e pelo modo como saem do registrador. As diversas
classificações são relacionadas a seguir:
1. Entrada paralela/saída paralela
2. Entrada serial/saída serial
3. Entrada paralela/saída serial
4. Entrada serial/saída paralela
• O fluxo de dados serial através de um registrador geralmente é chamado
de deslocamento (shifting), tanto para a esquerda quanto para a direita.
• Se o dado de saída serial é realimentado para a entrada serial do mesmo
registrador, a operação é chamada de rotação de dados.
• A entrada paralela de dados é usualmente descrita como carga (LOAD) no
registrador.
4. Entrada serial/saída paralela
59
7.16 - CIs de REGISTRADORESEntrada paralela/ Saída paralela (PIPO) - 74ALS174/74HC174
60
Figura 7.67- (a) Diagrama do circuito do 74ALS174; (b) símbolo lógico
MR = 0 → reseta assincronamente todos os FFs.
Os dados paralelos são carregados na subida do
clock, carga síncrona.
(b)
(a)
MR → Reset Master
entrada paralela de dados
Exemplo 7.18
74ALS174 conectado para operar como um registrador de deslocamento.
Q0
D5Entrada serial 
Saída serial
61
Problema 7.66 – Fazer 
Q0 Saída serial
Entrada serial/ Saída serial (SISO) - 74ALS166/74HC166 
Deslocamento
↓
↑
carga
Entrada paralela de dados
62
Figura 7.69- (a) Diagrama do circuito do 74HC166 
↙
↙
↗
↗
Entrada serial de 
dados
Saída serial de dados
LOAD (LD) → carga 
Fig. 7.69 (b) - Símbolo lógico
74ALS166 é um registrador de 8 bits
Entrada serial/ Saída serial - 74ALS166/74HC166 cont ..
Inibe o clock → CLK INH = 1
Entrada paralela de dados
Inibe o clock
Carga (LOAD) → quando ativada e
com uma transição do clock carrega
os dados da entrada paralela nos FFs.
Fig. 7.69 (c ) - Tabela de funções
63
Clear assíncrono
Carga síncrona
CLK INH = 1 → sem mudança
Entrada serial e deslocamento
CLK = 0 → sem mudança
Entrada serial e deslocamento
Exemplo 7.20
Entrada serial
CLR assíncrono
QAQB QC QD QE QF QG
Entrada paralela de dados
64
O primeiro bit de entrada SER aparecerá à saída QH depois de 8 períodos do clock.
↓ ↓
↘
1 0 0 0 0 0 0 01 1 1 1 1 1 11
1 0 0 0 01 1 1
dd d d d d d d d d d d d
Entrada paralela / saída serial (PISO) - 74ALS165/74HC165
CP = CLK
← Saída serial CP INH → entrada de inibição do clock
CP INH= 1 → inibe o clock (CP)
Entrada paralela de dados
CLK
DS
CP INH 
SH/ LD 
65
Carga paralela assíncrona
CP INH = 1 anula os efeito dos pulsos 
de em CP
As funções das entradas CP e CP INH podem ser invertidas. Isso ocorre porque esses dois
sinais passam por uma porta OR dentro do CI
→
→
→
→
CP INH= 1 → inibe o clock (CP)
Exemplo 7.21 (7.19)
Exemplo 7.22 (7.20)
Determine Q7 se: DS = 0 e CP INH = 0
CP INH = 0 → habilita o CP
0
DS = 0
0101 0 0 1 1 1001 1010
1
Carga assíncrona
Entrada paralela de dados
0
66
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
assíncrona
1 0 0 1 0 1 0 0
0
0
0
0
0
0
1 0 0 01 1 1
Entrada serial/ Saída paralela (SIPO) - 74ALS164/74HC164
67
MR = 0 → Reset master assíncrono
A e B para produzir 
a entrada serial
CLK → CP MR Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 
CP
Exemplo 7.23 (7.21)
Valor inicial 00000000 . Determine a sequência de estados conforme os pulsos de clock
são aplicados.
↘
68
Reset assíncrono → gera estado temporário
Problema 7.66
Complete o diagrama de tempo na Figura 7.115 para um 74HC174. Como o diagrama
de tempo mostra que o reset master é assíncrono?
1 2 3 4 5 6 7 8
↘ ↙
69
MR = 0→ zera todos os FFs assincronamente
Os dados paralelos são carregados na subida do clock
Problema 7.67 – 74ALS166
Problema 7.68 - 74ALS166
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
1 2 3 4 5 6 7 8
70
10
0
1 1 00 0 1
01 1 0 0 1 1
Clear assíncrono
CLK = 0
Carga síncrona
Entrada serial e 
deslocamento
Inibe o clock CLK INH = 1
Problema 7.69 – 74 HC165
71
Problema 7.70 – 74ALS166
72
7.17- CONTADORES COM REGISTRADORES DE DESLOCAMENTO
Contador em anel
Um contador em anel é um registrador de deslocamento circular conectado de maneira
que o último FF desloque seu valor para o primeiro. Na maioria dos casos, um único 1
está no registrador e circula por ele enquanto pulsos de clock são aplicados.
Módulo = N FFs
N = número de FFs
Contador em anel módulo 4 Estado inicial 1000
73
Figura 7.35 – contador em anel de 4 bits.
4
f
MOD
f
ffff CLKCLK0Q1Q2Q3Q =====
Q3 Q2 Q1 Q0 CLK
1 0 0 0 0
0 1 0 0 1
0 0 1 0 2
0 0 0 1 3
Esse circuito não progride seguindo uma sequência
de contagem , mas é um contador, porque cada
contagem corresponde a um único conjunto de
estados dos FFs.
Decodificação do Contador em anel
Diagrama de estados
74
O contador em anel pode ser decodificado sem a utilização de portas decodificadoras. O
sinal decodificado para cada estado é obtido na saída de seu flip-flop correspondente. Ver
formas de onda do contador em anel.
Decodificação do Contador em anel
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
Q3 Q2 Q1 Q0
Partida de contador em anel 
Para funcionar adequadamente, um contador em anel deve começar com apenas um
FF no estado 1 e todos os outros no estado 0. Como o estado de partida será
imprevisível, o contador deve ser colocado no estado inicial desejado antes da
aplicação dos pulsos dos clock. Um modo: de fazer isto é aplicar um pulso BAIXO na
entrada assíncrona PRE de um dos FFs e na entrada CLR de todos os outros FFs. Outro
método: mostrado na Figura 7.76. Ao energizar o circuito, o capacitor será carregado
lentamente para +VCC . A saída do Inversor 1 permanecerá ALTO e a do Inversor 2
BAIXO até que a tensão do capacitor exceda a tensão de disparo (VT+ ≈ 1,7 V) do
Inversor 1.
Circuito para assegurar que o contador em anel inicie o estado de ligação em
Q3Q2Q1Q0 = 1000 75
Figura 7.76 Antes do capacitor carregar → nível BAIXO 
na saída do INVERSOR 2.
+
VC
-
No contador Johnson ou em anel torcido, a saída invertida do último FF é
conectada à entrada do primeiro FF.
Contador Johnson
Módulo = 2××××N 
N = número de FFs Contador Johnson módulo 6
6
f
MOD
f
fff CLKCLK0Q1Q2Q ====
Estado inicial 000
→
76
→
O contador Johnson usa uma porta lógica para decodificar cada contagem, mas
necessita apenas de portas de duas entradas, independentemente do número de FFs no
contador. Isso acontece porque, para cada contagem, dois dos três FFs estão em uma
combinação única de estados.
Decodificando um contador Johnson
Módulo = 2N = 2x3 = 6 estados diferentes (N= número de FFs) 
77
Q2 Q1 Q0
0 0 0 0
1 0 0 1
1 1 0 2
1 1 1 3
0 1 1 4
0 0 1 5
02 Q.Q
12 Q.Q
01 Q.Q
20 Q.Q
12 Q.Q
01 Q.Q
Decodificando um contador binário de módulo 8 (3 bits) 
Para decodificar um contador
78
Para decodificar um contador
binário devemos usar uma
porta lógica para cada
contagem e o número de
entradas de cada porta vai
depender do numero de bits
do contador. Exemplo: para
um contador de 3 bits →
portas de 3 entradas.
Para um contador de 4 bits
→ portas de 4 entradas.
Problema 7.73
Módulo = 5 → nº de FFs = 5 
Contador em anel → Módulo = N FFs
79
Q4 Q3 Q2 Q1 Q0
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 0 2
0 0 0 1 0 3
0 0 0 0 1 4
Tabela de estados 
Não necessita de portas de
decodificação, porque o sinal
decodificado para cada estado
é obtido na saída de seu FF
correspondente.
ou
Contador em anel – módulo 5
80
↘
Problema 7.74
Contador módulo 10 – formado por um contador em anel módulo 5 e um FF JK no modo
comutado (módulo 2) → MOD 10 = MOD 5 x MOD 2
MOD 2 (Q5)MOD 5 (Q4 até Q0)
81
↘↓
→
Q4 Q3 Q2 Q1 Q0 Q5
1 0 0 0 0 0 0
0 1 0 0 0 0 1
0 0 1 0 0 0 2
0 0 0 1 0 0 3
0 0 0 0 1 0 4
1 0 0 0 0 1 5
0 1 0 0 0 1 6
0 0 1 0 0 1 7
Problema 7.74 - Tabela de estados para determinar a sequencia de estados
50.QQ
54.QQ
54.QQ
53.QQ
52.QQ
51.QQ
53.QQ
.QQ
↓
82
0 0 1 0 0 1 7
0 0 0 1 0 1 8
0 0 0 0 1 1 9
52.QQ
51.QQ
50.QQ
repete
↓
Problema 7.75
Contador Johnson → Módulo = 2××××N onde N= n°°°° de FFs
MOD 10 = 2 x 5
83
Solução do Prob. 7.75
84
Q0 Q1 Q2 Q3 Q4
0 0 0 0 0 0
1 0 0 0 0 1
1 1 0 0 0 2
1 1 1 0 0 3
1 1 1 1 0 4
1 1 1 1 1 5
0 1 1 1 1 6
0 0 1 1 1 7
Tabela de estados para determinar a sequencia de estados
Contador Johnson
43 QQ .
40 QQ .
40 QQ .
10 QQ .
21 QQ .
32 QQ .
10 QQ .
QQ .
Solução do Prob. 7.75
85
0 0 1 1 1 7
0 0 0 1 1 8
0 0 0 0 1 9
Circuito decodificador– 10 portas AND de duas entradas 
21 QQ .
32 QQ .
43 QQ .
PROJETO DE CONTADORES 
SÍNCRONOS
86
Seção 7.10
Método que usa flip-flops J-K em uma configuração de contadores síncronos 
•Determinar o número desejado de bits (FFs) e a sequência arbitrária de contagem
desejada.
• Desenhar o diagrama de estado mostrando todos os estados possíveis, incluindo
aqueles que não fazem parte da sequência de contagem desejada.
• Usar o diagrama de estados para criar uma tabela que liste todos os estados ATUAIS e 
Projeto de contadores síncronos
Procedimento de projeto 
87
os PRÓXIMOS.
• Adicionar uma coluna para cada entrada J e K e indicar os níveis necessários para
produzir a transição para o PRÓXIMO estado.
• Projetar os circuitos lógicos para gerar os níveis exigidos em cada entrada.
• Implementação do contador.
Tabela de transição do JK→ mostra uma abordagem diferente no modo de operação do
FF JK .
Transição na Estado ATUAL PRÓXIMO Estado
saída do FF Qn Qn+1 J K
0 → 0 0 → 0 0 x 
0 → 1 0 → 1 1 x
J K J K
0 0 0 x
0 1
1 0 1 x
1 1
Tabela 7.3 - Tabela de transição JK
Tabela de transição do JK
88
J K CLK Q
0 0 ↓ Qo
0 1 ↓ 0
1 0 ↓ 1
1 1 ↓
Tabela-verdade do FF J-K
oQ
Qn Qn+1 J K
0 → 0 0 x
0 → 1 1 x
1 → 0 x 1
1 → 1 x 0
0 → 1 0 → 1 1 x
1 → 0 1 → 0 x 1
1 → 1 1 → 1 x 0 
1 1
0 1 x 1
1 1
0 0 x 0
1 0
↓
Tabela de transição do JK
Exemplo 1: Projete um contador síncrono cuja sequência de contagem é dada na tabela 7.4.
Passo 1 – contador de 3 bits 
Sequência de contagem 
Passo 2 – diagrama de estados mostrando 
todos os estados possíveis, inclusive aqueles 
que não são parte da sequência. 
89
Passo 3 – tabela que lista todos os Estados ATUAIS e os PRÓXIMOS
Estado Atual → relaciona todos os estados possíveis, mesmo aqueles que não 
fazem parte da sequência. (Sempre segue a sequência binária exata.)
PRÓXIMO estado → podem ser obOdos do diagrama de estados.
Diagrama de estados
90
→→
→
→
→
→
Estado Atual → Sempre segue a sequência binária exata
Nenhuma variável de entrada
Três variáveis de estado C , B e A 
Para encontrar o 
Próximo Estado deve-se 
olhar no diagrama de 
estados
Diagrama de estados
Entradas de controle
1
2
3
Passo 4 – Acrescente uma coluna para cada entrada J e K. Para cada estado ATUAL ,
indique os níveis exigidos em cada entrada J e K a fim de produzir a transição para o
PRÓXIMO estado. Os valores para cada coluna J e K são obtidos utilizando a tabela 7.3,
tabela de transição do flip-flop JK.
Tabela de excitação do circuito
variáveis de excitação
ou
91
Qn Qn+1 J K
0 → 0 0 x
0 → 1 1 x
1 → 0 x 1
1 → 1 x 0
7.3- Tabela de transição do FF JK
3
4
5
6
7
8
Estado Atual → Sempre 
segue a sequência 
binária exata
Próximo Estado 
ou Estado 
seguinte
Entradas de controle Variáveis do mapa K →estado atual 
Passo 5 – Projete os circuitos lógicos para gerar os níveis exigidos em cada entrada J e k 
CJ =
→
→
92
JB KB JC KC
CJ A =
1=AK
→
CJ A =
1=AK
BAJC =
1=CK
ACJB =
ACKB +=
Passo 6 – Implementação do contador
A
B
93
C
A
C
A
C
Controle de um motor de passo
Passo 1 e 2 - Para que o motor gire de
modo correto, os
A
A
B
B
Entrada de direção D →
O contador fornece a 
sequência apropriada 
para acionar o motor 
Enrolamentos 4
Enrolamentos 3
Enrolamentos 1
Enrolamentos 2
4
3
2
1
A
B
94
modo correto, os
enrolamentos 1 e 2
devem estar sempre em
estados opostos. Da
mesma forma, os
enrolamentos 3 e 4
devem estar sempre em
estados opostos.
Entrada de direção D →
O motor pode girar em 
sentido horário ou anti-
horário, por isso da 
entrada de direção , D.
Passo 3 – tabela dos estados atuais e os próximos 
A entrada de direção D não muda do ATUAL para o próximo estado, isso acontece
porque ela é uma entrada independente que é mantida em nível ALTO ou BAIXO à
medida que o contador avança em sua sequência.
variável de entrada 
D = 1
D = 0
95
Uma variável de entrada D
Duas variáveis de estado B e A 
variável de entrada 
D = 1
D = 0 Para encontrar o 
Próximo Estado deve-se 
olhar no diagrama de 
estados
Estado Atual → Sempre segue 
a sequência binária exata
Passo 4 –Tabela de excitação do circuito→ Acrescente uma coluna para cada entrada J e K 
Tabela de excitação do circuito 
Entradas de controle ou variáveis de excitação
96
Tabela de transição do JK
→
Estado Atual → Sempre segue a sequência binária exata
Próximo Estado ou Estado seguinte
Passo 5 – Projete os circuitos lógicos para gerar os níveis exigidos em cada entrada J e k 
JB KB KAJA
→
00
01
11
10
00
01
11
10
00
01
11
10
00
01
11
10
97
→
Figura 7.31 – Mapas K
Variáveis do mapa K →estado atual 
Estado Atual → Sempre 
segue a sequência 
binária exata
Passo 6 – Implementação do contador
ADADADJB ⊕=+=
ADDAADKB ⊕=+= .
BDDBBDJ A ⊕=+= .
BDBDBDKA ⊕=+= .
BD⊕
XNOR
XOR
98
D
D
BD⊕
AD⊕
↖
↖ AD ⊕
BD⊕
AD ⊕
Projeto de contador síncrono com FFs D
Os FFs JK têm sido usados para implementar contadores, porque os circuitos lógicos
necessários para as entradas J e K costumam ser mais simples que os para controlar
um contador síncrono equivalente usando FFs D. Os contadores projetados para serem
implementados em PLDs, onde normalmente existe muitas portas lógicas disponíveis,
são usado os FFs D em vez de JK.
Exemplo de um projeto de contador síncrono usando FFs D.
Os três primeiros passos do projeto de contador síncrono usando FF D são idênticos à
técnica usada no JK. Será projetado a mesma sequência do Exemplo 1.
Passo 1 – contador de 3 bits Passo 2 – diagrama de estados mostrando 
todos os estados possíveis, inclusive aqueles 
99
Passo 1 – contador de 3 bits 
Sequência de contagem todos os estados possíveis, inclusive aqueles 
que não são parte da sequência. 
Passo 3 – tabela que lista todos os Estados ATUAIS e os PRÓXIMOS
Para encontrar o 
Próximo Estado deve-se 
olhar no diagrama de 
estados
Diagrama de estados
100
Estado Atual → Sempre 
segue a sequência 
binária exata
Esta etapa do projeto de FF D é simples, já que as entradas D necessárias são as mesmas
do PRÓXIMO estado desejado, ver Tabela 7.8.
Passo 4 – Acrescente uma coluna para cada entrada D
Tabela de excitação do circuito 
D CLK Q 
0 ↓ 0
1 ↓ 1
Tabela-verdade do FF D
101
Qn Qn+1 D 
0 → 0 0 
0 → 1 1 
1 → 0 0 
1 → 1 1 
Tabela de transição do FF D
Entradas de controle (ou variáveis de excitação) são as mesmas do 
PRÓXIMO estado (ou Estado seguinte) para o FF D
Passo 5 – Projete os circuitos lógicos para gerar as expressões lógicas a partir da tabela
de Estado ATUAL/PRÓXIMO Estado para as entradas DC , DB e DA. A Figura 7.33 mostra
os mapas K e as expressões simplificadas.
→
DC DB↓→
102
→
Figura 7.33 – Mapas K 
DA
Variáveis do mapa K →estado atual 
Passo 6 – Implementação do circuito contador 
C
A
B
103
BACDC = ABCABCDB += .
ACDA .=
011 100
Problema 7.43 
(a) Projete um contador síncrono usando FFs JK que tenha a seguinte sequência:
000, 010, 101, 110 e repete. Os estados indesejáveis (não usados) 001, 011, 100 e 111
têm de levar o contador sempre para 000 no próximo pulso de clock.
Solução:
Estado Atual → Sempre 
segue a sequência 
binária exata
104
000
010
101
110
001
011
111
100
Tabela de transição do FF JK
Problema 7.43
(b) Reprojete o contador do item (a) sem nenhuma restrição sobre os estados não
usados; ou seja seus PRÓXIMOS Estados podem ser estados de irrelevância. Compare
com o projeto do item (a).
Solução:
Estado Atual → Sempre 
segue a sequência 
binária exata
105
000
010
101110
001 011 111100
Tabela de transição do FF JK
binária exata
Est. Atual Prox. Est. Entradas de controle
C B A C B A JC KC JB KB JA KA
0 0 0 0 1 0 0 x 1 x 0 x
0 0 1 x x x x x x x x x
Problema 7.43(b)
sem nenhuma restrição sobre 
os estados não usados→ 
significa que os próximos 
estados serão usados estados 
de irrelevância 
Tabela de transição do FF JK
Estado Atual → Sempre 
segue a sequência 
binária exata
Solução:
106
0 0 1 x x x x x x x x x
0 1 0 1 0 1 1 x x 1 1 x
0 1 1 x x x x x x x x x
1 0 0 x x x x x x x x x
1 0 1 1 1 0 x 0 1 x x 1
1 1 0 0 0 0 x 1 x 1 0 x
1 1 1 x x x x x x x x x
Problema 7.44 
Projete um contador síncrono auto-reciclável de módulo 5 que produza a seguinte
sequência: 100, 011, 010, 001, 000 e repete. Use FFs JK.
(a) Force os estados não usados a irem para 000 no próximo pulso de clock.
(b) Para os estados não usados use como PRÓXIMOS Estados “estados de irrelevância”.
Esse projeto é autocorretor?
107
Obs.:- Contador não autocorretor → é o contador que quando atinge um estado
não usado não consegue retornar para a sequencia válida, ou seja, prossegue só por
estados não válidos permanentemente.
Est. Atual Prox. Est. Entradas de controle
C B A C B A JC KC JB KB JA KA
0 0 0 1 0 0 1 x 0 x 0 x
Problema 7.44 (a)
Tabela de transição do FF JK
Solução:
Para encontrar o 
Próximo Estado deve-se 
olhar no diagrama de 
estados
108
0 0 0 1 0 0 1 x 0 x 0 x
0 0 1 0 0 0 0 x 0 x x 1
0 1 0 0 0 1 0 x x 1 1 x
0 1 1 0 1 0 0 x x 0 x 1
1 0 0 0 1 1 x 1 1 x 1 x
1 0 1 0 0 0 x 1 0 x x 1
1 1 0 0 0 0 x 1 x 1 0 x
1 1 1 0 0 0 x 1 x 1 x 1
Estado Atual → Sempre segue a sequência binária exata
Est. Atual Prox. Est. Entradas de controle
C B A C B A JC KC JB KB JA KA
0 0 0 1 0 0 1 x 0 x 0 x
Problema 7.44 (b)
Tabela de transição do FF JK
Solução:
sem nenhuma restrição sobre 
os estados não usados
109
0 0 0 1 0 0 1 x 0 x 0 x
0 0 1 0 0 0 0 x 0 x x 1
0 1 0 0 0 1 0 x x 1 1 x
0 1 1 0 1 0 0 x x 0 x 1
1 0 0 0 1 1 x 1 1 x 1 x
1 0 1 x x x x x x x x x
1 1 0 x x x x x x x x x
1 1 1 x x x x x x x x x
Estado Atual → Sempre segue a sequência binária exata
Para encontrar o 
Próximo Estado deve-se 
olhar no diagrama de 
estados
Lista de Exercícios do Capítulo 7 – 11ª Edição
SEÇÃO EXEMPLOS PROBLEMAS
Introdução
7.1 1, 2, 3 1, 2, 3, 4
7.2 5, 6
7.3 4 7
7.4 5, 6, 7, 8 9, 10, 11, 12
7.5 9 13, 14, 15
7.6 16
7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 
Esses são os exercícios mínimos recomendados do Capítulo 7 
Lista de Exercícios do Capítulo 7 – 10ª Edição 
SEÇÃO EXEMPLOS PROBLEMAS
Introdução
7.1 1, 2, 3 1, 2, 3, 4
7.2 5, 6
7.3 4 7
7.4 5, 6, 7, 8 9, 10, 11, 12
7.5 9 13, 14, 15
7.6 16
7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 22, 
110
7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 
22, 23, 24, 25, 26 
7.8 14, 15 35, 36
7.10 Estudar os exemplos 43, 44, 45, 46, 47,48
7.15
7.16 18, 19, 20, 21, 22, 
23
66, 67, 68, 69, 70
7.17 73, 74, 75, 76
7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 22, 
23, 24, 25, 26
7.8 14, 15 35, 36
7.10 Estudar os 
exemplos
43, 44, 45, 46, 47, 48
7.15
7.16 16, 17 66
7.17 18 67, 68, 69, 70
7.18 19, 20
7.19 21
7.20 73, 74, 75, 76
--------------------------------------------------------------------------------------

Continue navegando