Você está na página 1de 132

CAPÍTULO 7

CONTADORES E REGISTRADORES

1
7.1- Contadores assíncronos (ondulantes)
Contadores assíncronos:
• Sinal de Clock está aplicado apenas na entrada CLK do flip-flop A.
• 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.

Contador binário assíncrono crescente


MSB LSB
↘ ↘ ↘
↙ ↙ ↙ ↙
sinal de clock

Figura 7.1 – Contador binário assíncrono (ou ondulante) de quatro bits

2
• Após a borda de descida do 15º pulso do clock, os flip-flops do contador estão
na condição 1111.

LSB

MSB

Figura 7.1 – Formas do contador binário assíncrono de 4 bits, crescente.

3
Módulo

• 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 = 2N , onde N = número de FFs

para contadores que conta de 0 a 2N -1


Divisão de frequência

• 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.

f CLK
f MSB 
MOD

4
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

contador que conta de 0 a 2N -1 , portanto módulo (MOD) 2N

f CLK f
fD   CLK
MOD 16
5
Ciclo de trabalho - CT
Ciclo de trabalho (duty cycle) → é a razão entre o intervalo de tempo do
pulso alto (tH ) e o período (T) da forma de onda analisada, e é expressa como
uma porcentagem. 1 2 3 4
A forma de onda analisada é a Q. CLK

tQH
CT  x100% Q TQH
TQ
TQ

TQH → é o intervalo de tempo do pulso alto forma de onda analisada


TQ → é o período da forma de onda analisada

TQH = 2 TCLK 2TCLK


CT  x100  50% CT → ciclo de trabalho
TQ = 4 TCLK 4TCLK
contador que conta de 0 a 2N -1

Contador com MOD = 2N , sempre terão CT = 50%


Contador com MOD < 2N , alguns sinais de saída não terão CT = 50%
6
Determinando a contagem de um contador

Como 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):

Onde:
N → pulsos de clock
N M M → módulo do contador
R Q CI → contagem inicial
CP → contagem parcial
CP = R + CI CF → contagem final

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

7
Exemplo:
Considere que um contador binário de cinco bits. (a) Se esse contador iniciar no
estado 000002, qual será sua contagem após 144 pulsos de entrada? (b) Se esse
contador iniciar no estado 101002, qual será sua contagem após 144 pulsos de
entrada?
Solução:

(a) Onde: CI = 000002 = 010 , M = 25 = 32 , N = 144 pulsos


4,5 = 4 + 0,5
144 32 → Q = 4 e R = 16 0,5x32=16
CP = R + CI = 16 + 0 = 16
CP = 16 < 32 → CF = CP = 16 → Q4Q3Q2Q1Q0 = 100002

(b) Onde: CI = 101002 = 2010 , M = 25 = 32 , N = 144 pulsos

144 32 → Q = 4 e R = 16
CP = R + CI = 16 + 20 = 36
CP = 36 > 32 → CF = CP - M = 36 – 32 = 4 → Q4Q3Q2Q1Q0 = 001002

8
Contador assíncronos decrescente de 3 bits

MSB +5V +5V LSB +5V

Q J Q J Q J
↙ ↙ ↙
CLK CLK CLK
sinal de clock

Q K Q K Q K

9
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?

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 .
10
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 (TCLK) é menor do que o atraso de
propagação total do contador (N x tpd), onde N é o número de FFs.
Atraso total = N x tpd
1
• Os problemas podem ser evitados se: Tclock  N x tpd → f CLK 
N  t pd
1
Frequência máxima do clock: f max CLK 
N  t pd
• Os contadores assíncronos não são muito úteis em altas frequências, especialmente
para os contadores com grande número de bits.
11
Contador assíncronos de 3 bits

FF Q2 é o MSB FF Q0 é o LSB
↓ ↓

tpd  tempo de atraso de propagação do FF


Atraso total = N x tpd
N  número de FFs

1
Os problemas podem ser evitados se: Tclock  N x tpd → f CLK 
N  t pd
1
Frequência máxima do clock: f max CLK 
N  t pd

12
Formas de onda de um contador assíncronos de 3 bits mostrando os efeitos dos
atraso de propagação, tpd .

1
Os problemas podem ser evitados se: Tclock  N x tpd → f CLK 
N  t pd
N = 3 FFs , tpd = 50 ns N x tpd = 150 ns

1
f max CLK   6,67MHz
3  50ns
CLK

Se o clock aplicado foi:

Tclock = 1000 ns fclock = 1 MHz

como Tclock > N x tpd


1000 ns > 150 ns

não vai gerar problemas


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.
13
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 → f CLK  1


N  t pd
N = 3 FFs , tpd = 50 ns N x tpd = 150 ns

1
f max CLK   6,67MHz
3  50ns
CLK

Se o clock aplicado foi:


Tclock = 100 ns fclock = 10 MHz

como Tclock < N x tpd


100 ns < 150 ns │ 150 ns
100 ns
000 001 000 010 011 010 000 101
vai gerar problemas pulou 100
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. 14
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.
porta de 3 entradas

Figura 7.5 (a) - contador síncrono de módulo 16 15


Tabela de estados do contador síncrono de módulo 16

porta de 3 entradas

O contador básico síncrono mostrado é limitado


aos números de módulo iguais a potências de 2.

Módulo (MOD) = 2N , onde N = número de FFs

f CLK f
fD   CLK
MOD 16
16
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 as saídas de todos os
1 0 0 FFs de ordem
1 0 1 inferior forem ALTAS
1 1 0
1 1 1

17
Vantagem dos contadores síncronos sobre os assíncronos

Atraso total = tpd FF + tpd AND

Problemas podem ser evitados se: Tclock  tpd FF + tpd AND

1
f CLK 
t pdFF  t pdAND

1
Frequência máxima do clock: f max CLK 
t pdFF  t pdAND

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.

18
7.4- Contadores de Módulo < 2N

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.

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 :
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. Se X < 2N passe para os passos
seguintes.
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 entradas da porta NAND.

19
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 → 6 < 23 → N = 3 FFs → 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.

CBA
000
001
010 f f
f C  clock  clock
011 ↗ módulo 6
100
101
1 1 0 (estado temporário)
Figura 7.5 – Contador síncrono de módulo 6 (110)
20
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.
tCH
TC

(LSB) 0 0
1 1
→ ↖glitch ←Spike ou glitch

(MSB)
1 1

↖ ocorre na contagem 110

A forma de onda de C não é simetricamente quadrada (não tem ciclo de trabalho 50% )

tCH 2TCLK
CT  x100% tCH = 2 TCLK CT  x100  33,33%
TC TC = 6 TCLK 6TCLK
21
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.
22
Mostrando os estados do contador
A exibição dos estados do contador são muitas vezes realizados com um LED.

Figura 7.7 – Os LEDs são frequentemente usados para mostrar os estados de um contador.
23
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


Solução: DCBA
Entrada da NAND → DCB = 111 → 1 1 1 0 → módulo 14 , conta de 0000 a 1101.
Como a frequência de entrada é 30kHz , a frequência na saída D será
f CLK 30kHz
fD    2,14kHz
MOD 14
24
Contadores decádicos / Contadores BCD

• 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.

Exemplo 7.7 – Construa um contador síncrono de módulo 10 que conte de 0000 a 1001

DCBA = 1010

Figura 7.8 (b) – contador síncrono módulo 10 (decádico) 25


Exemplo 7.8
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.

Solução: 25 = 32 e 26 = 64 Necessita de 6 FFs

f CLK 60 Hz
6010 = 1111002 → Q5Q4Q3Q2 = 1111 fQ5    1Hz
MOD 60

26
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.

Projeto de um contador síncrono decrescente de 4 bits A.B


A.B.C
DCBA
1111 FF A muda a cada descida do clock → JA= KA = 1
1110
1101 FF B muda quando A = 0 e ↓CLK→ JB= KB = A B
1100
1011 FF C muda quando B = A = 0 e ↓CLK → JC= KC = B. A
1010
1001
1000
0111 FF D muda quando C=B=A=0 e ↓CLK → JD= KD = C .B . A
0110
0101 as saídas barradas de
0100 todos os FFs de ordem
0011 inferior forem ALTAS
0010
Fig. 7.10 - Contador síncrono decrescente de
0001
MOD-16 e ondas de saída.
0000 27
Contador paralelo crescente Contador paralelo decrescente
A
A.B
B

Contador paralelo crescente / decrescente X  Up / Down


J C  KC  X . A.B  X . A.B
X= J B  KB  X .A  X .A
J A  KA  1

A entrada de controle (Up/ Down ) controla se as entradas J e K dos FFs serão acionadas
pelas saídas normais ou pelas saídas invertidas dos FFs. 28
Diagrama de tempo

1 2 3 4 5 6 7 8 9 10

MSB

Nos primeiros cinco pulsos de clock o contador conta Up → Up / Down = 1 (crescente)

Nos últimos cinco pulsos o contador conta Down → Up/ Down = 0 (decrescente)

29
Diagrama de estados

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 (Up / Down ) .


Up / Down

(c) Diagrama de transição de estados 30


7.6- Contadores com Carga Paralela
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.
Entradas paralelas de dados
↙ ↓ ↘

LOAD
Figura 7.12 - Contador síncrono com carga paralela assíncrona. 31
7.7- CIRCUITOS INTEGRADOS DE CONTADORES SÍNCRONOS

As séries 74ALS160-163/74HC160-163

Clear assíncrono
Clear assíncrono
Clear síncrono
Clear sí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: assíncrona em 74ALS160 e 161
síncrona em 74ALS162 e 163
Função LOAD – entrada ativa nível BAIXO síncrona - carga paralela síncrona.
LOAD → carga
32
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
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.

estado terminal do contador → último estado

Para o contador contar as entradas ENT e ENP devem ser mantidas em nível ALTO
33
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
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.

estado terminal do contador → último estado

Para o contador contar as entradas ENT e ENP devem ser mantidas em nível ALTO
34
Exemplo 7.10 – 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
Entrada RCO (saída) → vai para o seu nível ativo quando: ENT = 1 e o contador atingir o seu
de dados último estado.
paralelos 74ALS160 e 74ALS162 → módulo 10
74ALS161 e 74ALS163 → módulo 16

Solução
74HC163 módulo 16 ↙
Clear síncrono ↙
Carga síncrona

estado inicial 0000

0 1 1

0 1 1
0 0 1

0 0 1

Figura 7.14 ↑ ↑ ↑ ↑ ↑último estado


Clear síncrono Carga síncrona sem mudança
35
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
carga H H L X X Sem mudança Todos
Entrada H H X L X Sem mudança Todos
de dados → RCO (saída) → vai para o seu nível ativo quando: ENT = 1 e o contador atingir o seu
paralelos último estado.
74ALS160 e 74ALS162 → módulo 10
74ALS161 e 74ALS163 → módulo 16

Solução
74HC160 módulo 10

Clear assíncrono ↓

↙ ←
Carga síncrona

estado inicial 0000 ↙
↓ ↓
0 0 1 0

LOAD → carga 0 1
0 0
0 0 0
1
0 1 0
1

Figura 7.15 ↑ ↑ ↑ ↑ ↑ ↑
Clear sem mudança Carga sem último estado
assíncrono síncrona mudança 36
As séries 74ALS190-191/74HC190-191 - pag. 326

Tabela de função do 74ALS190 e 74ALS191


LOAD CTEN D /U 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

carga (LOAD)
CTEN  0 → habilita a contagem
37
Exemplo 7.12 – Determine as formas de onda das saídas do contador
Tabela de função do 74ALS190 e 74ALS191
LOAD CTEN D /U 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



Solução ↓
↓ ↓
74HC190 módulo 10 0 0 0 1 1 0 1 1 1
carga assíncrona 0 1 1 0 0 0
0 0 0
estado inicial 0000 0 0 1 0 0 0 0 0 0

0 0 1 0 1 0 1 1 0
LOAD → carga


sem
↑ ↑ ↑ ↑ mudança
Figura 7.17 Carga assíncrona último estado último
1001 estado 0000 38
Exemplo 7.13 – Estudar

39
Exemplo 7.13 - cont..

40
Contadores de múltiplos estágios

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.

74ALS163s em um arranjo de dois estágios para estender o alcance máximo de contagem. Conta
de 0 a 255. Módulo 256.
RCO vai para seu nível ativo quando: CTEN  0 e contador estiver no estado terminal e CLK = 0
41
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?

Tabela de função do 74ALS160 a 74ALS163 Figura 7.106 (a)


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 → vai para o seu nível ativo quando: ENT = 1 e o contador atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10
74ALS161 e 74ALS163 → módulo 16

42
Solução: Problema 7.21

Tabela de estados (a) Diagrama de transição de estados

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
0 1 1 1 7
1 0 0 0 8 (b) Módulo 12 74ALS163 → Clear síncrono
1 0 0 1 9
f CLK f
1 0 1 0 10 (c ) fQD   CLK
MOD 12 QD fica ALTO 4 vezes o período do clock
1 0 1 1 11
t HQD 4 não é uma onda
(d) CT (QD )  x100%  x100  33,3%
Estado normal, TQD 12 quadrada simétrica
clear síncrono o período da forma de QD é 12
Módulo 12 → contém 12 estados diferentes vezes o período do clock
43
Problema 7.22 74161
CLK 2 15
CLK RCO
1 10 ENT
(a) Desenhe o diagrama de transição de estados 7 ENP
1
das saídas do contador da Figura 7.106 (b) CLR
(b) Determine o módulo do contador. 9
LOAD
(c) Qual é a relação da frequência de saída do MSB
6 11
com a frequência de entrada CLK? 5
D QD
12
C QC
(d) Qual é o ciclo de trabalho da forma de onda da 4
3
B QB 13
14
A QA
saída do MSB?
7400
LOAD = 0 → carrega de forma síncrona (depende do
clock) os dados das entradas paralelas D C B A nas QD
saídas QDQCQBQA .

Tabela de função do 74ALS160 a 74ALS163 Figura 7.106 (b)


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 → vai para o seu nível ativo quando: ENT = 1 e o contador atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10
74ALS161 e 74ALS163 → módulo 16
44
Solução: Problema 7.22
(a) Diagrama de transição de estados
Tabela de estados
74161
CLK 2 15
QD Q C QB QA 1
CLK RCO
10 ENT

0 0 0 1 1 7 ENP
1
CLR
0 0 1 0 2 carga 9
LOAD
0 0 1 1 3
6 11
0 1 0 0 4 5
D
C
QD
QC 12
4 13
0 1 0 1 5 3
B
A
QB
QA 14
QC
QB
0 1 1 0 6 7400 QC
1 0 0 1 7 QB
QD
1 0 1 0 8 (b) Módulo 12
1 0 1 1 9
1 1 0 0 10 f CLK f 74161 → Carga síncrona
(c ) fQD   CLK
1 1 0 1 11 MOD 12
QD fica ALTO 6 vezes o período do clock
1 1 1 0 12
t HQD 6 é uma onda quadrada
(d) CT (QD)  TQD
x100% 
12
x100  50%
simétrica
LOAD → carga síncrona
o período da forma de QD é 12
(depende do CLK). Não
vezes o período do clock
provoca estado temporário 45
Exercício Extra - Fazer
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.

74ALS190-191 / 74HC190-191

74ALS190 e 74ALS191
Tabela de função do 74ALS190 e 74ALS191
LOAD CTEN D /U CLK Função CLK RCO
L X X X carga assíncrona
H L L ↑ contagem crescente CTEN
H L H ↑ contagem decrescente
Máx/
D/ U Min
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal LOAD
RCO → vai para seu nível ativo quando: CTEN = 0 e
contador estiver no estado terminal e CLK = 0 QD
D
74ALS190 → módulo 10 e 74ALS191→ módulo 16 QC
C
B QB
LOAD → carga A QA

46
Problema 7.23 - Fazer
(a) Desenhe o diagrama de tempo para as saídas
QDQCQBQA .
(b) Existe estado temporário? Se existir , qual é?
(c) Qual é o módulo do contador ?
(d) Qual é a sequencia de contagem? É crescente
ou decrescente?
(e) Podemos produzir o mesmo módulo com um
74HC190? Podemos produzir a mesma sequência
de contagem com um 74HC190?
Figura 7.107 (a)
Tabela de função do 74ALS190 e 74ALS191
LOAD CTEN D /U CLK Função CTEN  0 → habilita a contagem
L X X X carga assíncrona
H L L ↑ contagem crescente D/Ū = 1 contagem decrescente
H L H ↑ contagem decrescente D/Ū = 0 contagem crescente
H H X X sem mudança
Max/Min → vai para seu nível ativo quando o LOAD → carga assícrona
contador atinge o estado terminal
LOAD = 0 → carrega de forma assíncrona
RCO → vai para seu nível ativo quando: CTEN = 0 e
contador estiver no estado terminal e CLK = 0
(não depende do clock) os dados das
74ALS190 → módulo 10 e 74ALS191→ módulo 16 entradas paralelas D C B A nas saídas
QDQCQBQA .
47
Problema 7.24
(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 é autorreciclável?
Por que?
Tabela de função do 74ALS190 e 74ALS191
LOAD CTEN D / U CLK Função
L X X X carga assíncrona Figura 7.107 (b)
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
LOAD → carga
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

48
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. Existe estado temporário? Se existir, qual é?
(b) Um controle clear em um 74ALS162. Existe estado temporário? Se existir, qual é?

74ALS160-74ALS163
CLK RCO
Tabela de função do 74ALS160 a 74ALS163 ENT
CLR LOAD ENP ENT CLK Função Componente
ENP
L X X X X Clear assíncrono 74ALS160 e 74ALS161
L X X X ↑ Clear síncrono 74ALS162 e 74ALS163 LOAD
H L X X ↑ Carga síncrona Todos
CLR
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 QD
D
RCO (saída) → vai para o seu nível ativo quando: ENT = 1 e o contador atingir o seu
C QC
último estado. QB
74ALS160 e 74ALS162 → módulo 10
B
A QA
74ALS161 e 74ALS163 → módulo 16

49
(a) Um controle clear em um 74ALS160. (b) Um controle clear em um 74ALS162.
Solução 7.25 (a) Solução 7.25 (b)

Clear assíncrono Clear síncrono


74ALS160 74ALS162
15 CLK 2 15
CLK 2 RCO CLK RCO
CLK
1 10 ENT 1 10 ENT
7 ENP 7 ENP
1 1
CLR CLR
9 9
LOAD LOAD

6 QD 11 (MSB) 11 (MSB)
D 6 D QD
5 QC 12 12
C 13 5 C QC
4 B QB 4 13
3 14 B QB
A QA 3 QA 14
A
7400
7400

Módulo 6 → estados de 0000 a 0101 Módulo 6 → estados de 0000 a 0101


Clear assíncrono → provoca estado temporário Clear síncrono → não provoca estado
0110 → estado temporário temporário
Existe estado temporário? sim Existe estado temporário? não
Se existir, qual é? 0110 é o estado temporário 50
Problema 7.26
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. Existe estado temporário? Se existir, qual é?

Solução:
Tabela de função do 74ALS160 a 74ALS163
QD QC QB QA CLR LOAD ENP ENT CLK Função Componente
0 0 0 0 0 L
L
X
X
X
X
X
X
X

Clear assíncrono
Clear síncrono
74ALS160 e 74ALS161
74ALS162 e 74ALS163
0 0 0 1 1 H L X X ↑ Carga síncrona Todos
H H H H ↑ contagem crescente Todos
0 0 1 0 2 H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
0 0 1 1 3 RCO (saída) → vai para o seu nível ativo quando: ENT = 1 e o contador
0 1 0 0 4 atingir o seu último estado.
74ALS160 e 74ALS162 → módulo 10
0 1 0 1 5 74ALS161 e 74ALS163 → módulo 16
0 1 1 0 6
74ALS160-74ALS163
0 1 1 1 7 CLK RCO
1 0 0 0 8 ENT
ENP
1 0 0 1 9 LOAD
CLR

Módulo 6 → estados de 0001 a 0110 D QD


C QC
Carga síncrona → não provoca estado temporário B QB
A QA
51
Solução : Prob. 7.26(a)
Solução:

74ALS162
CLK 2 15 Tabela de função do 74ALS160 a 74ALS163
CLK RCO
10 ENT CLR LOAD ENP ENT CLK Função Componente
1 L X X X X Clear assíncrono 74ALS160 e 74ALS161
7 ENP L X X X ↑ Clear síncrono 74ALS162 e 74ALS163
1
CLR H L X X ↑ Carga síncrona Todos
9 H H H H ↑ contagem crescente Todos
LOAD H H L X X Sem mudança Todos
H H X L X Sem mudança Todos
6 QD 11 0 RCO (saída) → vai para o seu nível ativo quando: ENT = 1 e o contador
D 12
5 QC 1 atingir o seu último estado.
C 13
4 B QB 1 74ALS160 e 74ALS162 → módulo 10
3 QA 14 74ALS161 e 74ALS163 → módulo 16
A 0
7400

LOAD → carga síncrona – quando o contador estiver no estado 0110 e ocorrer uma
transição positiva do CLK o contador será carregado com QDQCQBQA = 0001. Valores
das entradas paralales DCBA = 0001.

Módulo 6 → estados de 0001 a 0110


Carga síncrona → não provoca estado temporário
Existe estado temporário? não
52
Problema 7.26
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que
produz a sequência de contagem:
(b) 5, 4, 3, 2, 1, 0 e repita com um 74ALS190. Existe estado temporário? Se existir, qual é?
Solução:
Tabela de função do 74ALS190 e 74ALS191
74ALS190-74ALS191 LOAD CLK Função
CTEN D /U
QD QC QB QA CLK RCO L X X X carga assíncrona
1 0 0 1 0 CTEN
Máx/
H L L ↑ contagem crescente
H L H ↑ contagem decrescente
1 0 0 0 1 D/ U Min
H H X X sem mudança
0 1 1 1 2 LOAD Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
0 1 1 0 3 D QD
RCO → vai para seu nível ativo quando: CTEN = 0 e
0 1 0 1 4 C
B
QC
QB contador estiver no estado terminal e CLK = 0
0 1 0 0 5 A QA 74ALS190 → módulo 10 e 74ALS191→ módulo 16
0 0 1 1 6
0 0 1 0 7 Módulo 6 → estados de 0101 a 0000
Carga assíncrona → provoca estado temporário
0 0 0 1 8
1001 → estado temporário
0 0 0 0 9
1 0 0 1
LOAD → carga
1001 → estado temporário
53
Solução : Prob. 7.26 (b)

QD QC QB QA um projeto melhor
1 0 0 1 0 74ALS190
CLK 74HC190
14 13
CLK
1 0 0 0 1 CLK 14
CLK RCO
13
4
RCO
4 0 CTEN
0 1 1 1 2 0 CTEN
Máx/ 12 1 5 D/ U
Máx/ 12
5 D/ U Min
0 1 1 0 3 1
Min Ou 11
11 LOAD
0 1 0 1 4 LOAD
0 1 0 0 5 0 9 D QD 7 QD
0 9 D QD 7 1 10 QC 6
C QC
0 0 1 1 6 1 10 C QC 6
0 1 B QB 2 QB
1 2 15 3
0 0 1 0 7 0
1 15
B
A
QB
QA 3
1 A QA QA

0 0 0 1 8
0 0 0 0 9
1 0 0 1
Módulo 6 → estados de 0101 a 0000
1001 → estado temporário Carga assíncrona → provoca estado temporário

LOAD =0 (carga assíncrona) → quando o contador estiver QDQCQBQA= 1001, estado temporário,
o contador será carregado nestas saídas com os valors das entradas paralales DCBA = 0101,
independente do CLK, ou seja, QDQCQBQA = 0101.

54
Problema 7.26
Desenhe um esquema para criar um contador de módulo 6, autorreciclável, que
produz a sequência de contagem:
(c) 6, 5, 4, 3, 2, 1 e repita com um 74ALS190. Existe estado temporário? Se existir, qual é?

QD QC QB QA
1 0 0 1 0
1 0 0 0 1
Tabela de função do 74ALS190 e 74ALS191
0 1 1 1 2 LOAD CTEN D / U CLK Função
74ALS190-74ALS191
0 1 1 0 3 CLK
L X X X carga assíncrona
RCO
0 1 0 1 4 CTEN
H L L ↑ contagem crescente
Máx/ H L H ↑ contagem decrescente
0 1 0 0 5 D/ U Min H H X X sem mudança
0 0 1 1 6 LOAD
Max/Min → vai para seu nível ativo quando o
contador atinge o estado terminal
0 0 1 0 7
D QD RCO → vai para seu nível ativo quando: CTEN = 0 e
0 0 0 1 8 C QC contador estiver no estado terminal e CLK = 0
B QB
0 0 0 0 9 A QA 74ALS190 → módulo 10 e 74ALS191→ módulo 16

55
Solução : Prob. 7.26 (c)

Tabela de função do 74ALS190 e 74ALS191


LOAD CTEN D / U CLK Função
CLK 74190
14 L X X X carga assíncrona
CLK CLK 13
RCO H L L ↑ contagem crescente
4
0 CTEN H L H ↑ contagem decrescente
5 D/ U Máx/ 12 H H X X sem mudança
1
Min
Max/Min → vai para seu nível ativo quando o
11 contador atinge o estado terminal
LOAD
RCO → vai para seu nível ativo quando: CTEN = 0 e
0 9 D QD 7 contador estiver no estado terminal e CLK = 0
1 10 C QC 6
1 2 74ALS190 → módulo 10 e 74ALS191→ módulo 16
1 B QB
0 15 A QA 3

LOAD= 0 → (carga assíncrona) – quando o contador estiver no estado 0000, último


estado da contagem decrescente que provoca no pino de saída Máx/Min = 1, o
contador será carregado, independente do CLK, com QDQCQBQA = 0110. Valores das
entradas paralales DCBA = 0110.

Módulo 6 → estados de 0110 a 0001


Carga assíncrona → provoca estado temporário
0000 → estado temporário (estado terminal)
56
7.8- DECODIFICANDO UM CONTADOR

• 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.

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.
57
Decodificação ativa em nível ALTO → São usadas portas AND
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.

malha de decodificação 

Figura 7.20- Usando portas AND


para decodificar um contador de
módulo 8.

Decodificação ativa em nível BAIXO→ São usadas portas NAND em vez de portas AND.
58
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.

59
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.

60
7.16 - CIs de REGISTRADORES
Entrada paralela/ Saída paralela (PIPO) - 74ALS174/74HC174

Figura 7.67- (a) Diagrama do circuito do 74ALS174

Entrada paralela de dados

MR → Reset Master
MR = 0 → reseta assincronamente todos os FFs.

Entrada paralela de dados  dados são


carregados na subida do clock, carga síncrona.

Figura 7.67- (b) símbolo lógico


61
Exemplo 7.18
74ALS174 conectado para operar como um registrador de deslocamento.

D5 Entrada serial

Q0 Saída serial

Problema 7.66 – Fazer


62
Entrada serial / Saída serial (SISO) - 74ALS166/74HC166

Entrada paralela de dados

Deslocamento


carga


Entrada serial de
dados


Figura 7.69- (a) Diagrama do circuito do 74HC166 Saída serial de dados

LOAD (LD) → carga síncrona 8 FFs


63
cont .. Entrada serial / Saída serial - 74ALS166/74HC166
CLK INH = 1 → inibe o clok
Entrada paralela de dados
Carga (LOAD = LD = 0) → quando
ativada e com uma transição
CLK INH = 1 →Inibe o clock positiva do clock, carrega os dados
da entrada paralela (A B C D E F G H)
nos FFs.

Fig. 7.69 (b) - Símbolo lógico


entrada serial  74ALS166 é um registrador de 8 bits
8 FFs
Fig. 7.69 (c ) - Tabela de funções
SH / LD  0  carga paralela

SH / LD  1  deslocamento  serial

Clear assíncrono
CLK = 0 → sem mudança
Carga paralela síncrona
Entrada serial e deslocamento
Entrada serial e deslocamento
CLK INH = 1 → sem mudança 64
Exemplo 7.20
Entrada paralela de dados

CLR assíncrono

QA QB QC QD QE QF QG
Entrada serial

↓ ↓

d d d d d d d d d d d d d

1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1

1 0 0 1 1 0 1 0

O primeiro bit na entrada SER aparecerá na saída QH depois de 8 períodos do clock. 65


Entrada paralela / saída serial (PISO) - 74ALS165/74HC165
Entrada paralela de dados

Entrada serial 
CP = CLK 
inibição do clock 

CP INH= 1 → inibe o clock (CP) ← Saída serial

SH / LD  0  carga paralela

SH / LD  1  deslocamento  serial

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 66
Entrada paralela de dados
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

Carga assíncrona

DS = 0
0101 0011 10011010
0 1
0 0
1
0 0 0
1 0 1
0 0 1
0 0 0
1 0 1
1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1

assíncrona 67
Entrada seria l/ Saída paralela (SIPO) - 74ALS164/74HC164

A e B para produzir
a entrada serial
CP
CLK → CP MR Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

MR = 0 → Reset master assíncrono (clear)


68
Exemplo 7.23 (7.21)

Valor inicial 00000000 . Determine a sequência de estados conforme os pulsos de clock


são aplicados.

estado temporário

MR = 0 → Reset assíncrono → gera estado temporário

69
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
↘ ↙

MR = 0→ zera todos os FFs assincronamente

Os dados paralelos são carregados na subida do clock


70
Problema 7.67 – 74ALS166

Problema 7.68 - 74ALS166


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

0 1 1 0 0 1 0 1
0 1 1 0 0 1 0 1

Clear assíncrono
CLK = 0
Carga síncrona
Entrada serial e
deslocamento
Inibe o clock CLK INH = 1 71
Problema 7.69 – 74 HC165

72
Problema 7.70 – 74ALS166

73
Capítulo 5

5.17- Transferência Serial de Dados: Registradores de Deslocamento


Um registrador de deslocamento é um grupo de FFs dispostos de modo que os
números binários armazenados nos FFs sejam transferidos de um FF para o outro, a
cada pulso de clock.

Registrador de deslocamento de quatro bits usando FFs J-K.

Figura 5.43- (a)


74
Registrador de deslocamento de quatro bits usando FFs D.

Entrada Q3 Q2 Q1 Q0
D D D D
de Dados
CLK CLK CLK CLK

Q Q Q Q

CLK

75
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.

Estado inicial 1000


Módulo do contador em anel:
Módulo = N
N = número de FFs

Figura 7.75 – contador em anel de 4 bits.

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
fCLK f
f Q 3  f Q 2  f Q1  f Q 0   CLK
MOD 4
Módulo = 4 76
Diagrama de estados
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.

Q0 Q1 Q2 Q3 CLK
1 0 0 0 0
0 1 0 0 1
0 0 1 0 2
0 0 0 1 3

77
Decodificação do Contador em anel
Um contador em anel de módulo N utiliza N FFs. Ele necessita de mais FFs do que um
contador binário de mesmo módulo. Apesar de menos eficiente no uso de FFs, um
contador em anel é útil porque pode ser decodificado sem a utilização de portas de
decodificação. O sinal decodificado para cada estado é obtido na saída de seu flip-flop
correspondente. Ver formas de onda do contador em anel.

Q0 Q1 Q2 Q3

Figura 7.75

O contador em anel pode ser decodificado sem a utilização de portas


decodificadoras.
0
Tabela de sequência
Q0 Q1 Q2 Q3 CLK Q0
1 0 0 0 0
Q1
0 1 0 0 1
0 0 1 0 2 Q2

0 0 0 1 3 Q3
78
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 está 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.

Figura 7.75

Q0
Q 1 , Q 2 e Q3

+
VC Antes do capacitor carregar → nível BAIXO
- na saída do INVERSOR 2.

Figura 7.76- Circuito que assegura que o contador em anel da Figura 7.75 inicie no
estado Q0Q1Q2Q3 = 1000 quando energizado. 79
Contador Johnson
No contador Johnson ou em anel torcido, a saída invertida, Q , do último FF é
conectada à entrada do primeiro FF.
Módulo = 2N
Estado inicial 000
N = número de FFs Módulo = 23= 6
Contador Johnson módulo 6
fCLK f
f Q 2  f Q1  f Q 0   CLK
MOD 6

80
Decodificando um contador Johnson
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.
Módulo = 2N = 2x3 = 6 estados diferentes (N= número de FFs)

Q2 Q1 Q0
0 0 0 0 Q 2 .Q 0
1 0 0 1 Q2 .Q1
1 1 0 2 Q1 .Q0
1 1 1 3 Q0 .Q2
0 1 1 4 Q 2 .Q1
0 0 1 5 Q1 .Q0

81
Decodificando um contador binário de módulo 8 (3 bits)

+5V
módulo = 2N
C J B J A J N= número de FFs
CLK CLK CLK

C K B K A K

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.
82
Problema 7.73
Contador em anel → Módulo = N FFs
Módulo = 5 → nº de FFs = 5

Q0 Q1 Q2 Q3 Q4

Tabela de estados
Q0 Q 1 Q2 Q3 Q 4 CLK
Não necessita de portas de
1 0 0 0 0 0 decodificação, porque o sinal
0 1 0 0 0 1 decodificado para cada estado
0 0 1 0 0 2 é obtido na saída de seu FF
0 0 0 1 0 3 correspondente.
0 0 0 0 1 4
83
ou
Contador em anel – módulo 5

+5V +5V +5V +5V

J PRE Q4 J PRE Q3 J PRE Q2 J PRE Q1 J PRE Q0

CLK CLK CLK CLK CLK

K Q4 K Q3 K Q2 K Q1 K Q0
CLR CLR CLR CLR CLR

Start +5V

CLK

84
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
no modo comutado
(módulo 2)
MOD 5 (Q0 até Q4)
MOD 2 (Q5)

↓ ↘
Q0 Q1 Q2 Q3 Q4 Q5

85
Problema 7.74 - Tabela de estados para determinar a sequencia de estados

Q0 Q1 Q2 Q3 Q4 Q5
1 0 0 0 0 0 0 Q0 .Q5
0 1 0 0 0 0 1 Q1.Q5
0 0 1 0 0 0 2 Q2 .Q5
0 0 0 1 0 0 3 Q3 .Q5
0 0 0 0 1 0 4 Q4 .Q5
1 0 0 0 0 1 5 Q0 .Q5
0 1 0 0 0 1 6 Q1.Q5
0 0 1 0 0 1 7 Q2 .Q5 Q5

0 0 0 1 0 1 8 Q3 .Q5
0 0 0 0 1 1 9 Q4 .Q5
repete
Q0 Q1 Q2 Q3 Q4
0 1 2 3 4
Q5 Q5 Q5 Q5 Q5

Q0 Q1 Q2 Q3 Q4
Q5 5 Q5 6 Q5 7 8 9
Q5 Q5

86
Problema 7.75

Contador Johnson → Módulo = 2N onde N= n de FFs


MOD 10 = 2 x 5

87
Solução do Prob. 7.75

MR

88
Solução do Prob. 7.75
Tabela de estados para determinar a sequencia de estados
Q0 Q1 Q2 Q3 Q4
Contador Johnson
0 0 0 0 0 0 Q0 .Q 4
1 0 0 0 0 1 Q0 .Q1
1 1 0 0 0 2 Q1.Q2
1 1 1 0 0 3 Q2 .Q3
MR
1 1 1 1 0 4 Q3 .Q4
1 1 1 1 1 5 Q0 .Q4
0 1 1 1 1 6 Q0 .Q1
0 0 1 1 1 7 Q1.Q2
0 0 0 1 1 8 Q2 .Q3
0 0 0 0 1 9 Q3 .Q4

Circuito decodificador – 10 portas AND de duas entradas

89
PROJETO DE CONTADORES
SÍNCRONOS

Seção 7.10

90
Projeto de contadores síncronos
Procedimento de projeto

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
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.

91
Tabela de transição do JK

Tabela de transição do JK→ mostra uma abordagem diferente no modo de operação do


FF JK .

Tabela 7.3 - Tabela de transição JK


Transição na Estado ATUAL PRÓXIMO Estado
saída do FF Qn Qn+1 J K J K
00
0→0 0 → 0 0 x 01
10
0→1 0 → 1 1 x 11
01
1→0 1 → 0 x 1 11
00
1→1 1 → 1 x 0 10

Tabela de transição do JK Tabela-verdade do FF J-K


Qn Qn+1 J K J K CLK Q
0 → 0 0 x 0 0 ↓ Qo
0 → 1 1 x 0 1 ↓ 0
1 → 0 x 1 1 0 ↓ 1
1 → 1 x 0 1 1 ↓ Qo
92
Exemplo 1: Projete um contador síncrono cuja sequência de contagem é dada na tabela 7.4.

Passo 1 – contador de 3 bits Passo 2 – diagrama de estados mostrando


Sequência de contagem todos os estados possíveis, inclusive aqueles
que não são parte da sequência.

93
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,
independentemente se a contagem for crescente ou decrescente.
PRÓXIMO estado → podem ser obtidos do diagrama de estados.

→ →
→ →
→ → Diagrama de estados
Para encontrar o
Próximo Estado deve-se
Estado Atual → Sempre segue a sequência binária exata olhar no diagrama de
Nenhuma variável de entrada estados
Três variáveis de estado C , B e A 94
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.

variáveis de excitação
Tabela de excitação do circuito
ou
Entradas de controle

1
2
3
4
5
6
7
8

Próximo Estado
Estado Atual → Sempre segue Tabela 7.3- transição do FF JK ou Estado
a sequência binária crescente Qn Qn+1 J K seguinte
(incluindo os estados 0 → 0 0 x
indesejáveis) mesmo se a 0 → 1 1 x
contagem for decrescente. 1 → 0 x 1
1 → 1 x 0 95
Passo 5 – Projete os circuitos lógicos para gerar os níveis exigidos em cada entrada J e k

Entradas de controle Variáveis do mapa K →estado atual



JA  C
As variáveis CBA, do mapa K, são as da coluna Estado atual KA  1
JB K J K
B C C

96
Passo 6 – Implementação do contador

J C  BA J B  CA JA  C
KC  1 KB  C  A KA  1

A
B

A
C
C

97
Controle de um motor de passo

As saídas de um contador síncrono de dois bits são


usadas para controlar a corrente nos enrolamentos.
A
Enrolamento 1
A
1
2 B
3 B A Enrolamento 4
4 Enrol.2

O contador fornece a B
sequência apropriada Enrol. 3 B
para acionar o motor
Enrol. 4

Passo 1 e 2 - Para que o motor gire de


Entrada de direção D → modo correto, os
enrolamentos 1 e 2
devem estar sempre em
estados opostos. Da
O motor pode girar em
mesma forma, os
sentido horário ou anti-
horário, por isso da
enrolamentos 3 e 4
entrada de direção , D. devem estar sempre em
estados opostos.

98
Passo 3 – tabela dos estados atuais e os próximos
A entrada de direção D não muda do estado 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.

D=0
D=1

Uma variável de entrada D


Duas variáveis de estado B e A
variável de entrada
Estado Atual → Sempre segue
a sequência binária crescente
(incluindo os estados
D=0 indesejáveis) mesmo se a
contagem for decrescente.

Para encontrar o Próximo


D=1
Estado deve-se olhar no
diagrama de estados
99
Passo 4 –Tabela de excitação do circuito→ Acrescente uma coluna para cada entrada J e K

variável de entrada D
variáveis de estado BeA
Entradas de controle ou variáveis de excitação

Tabela de excitação do circuito

Tabela de transição do JK

Estado Atual → Sempre segue a sequência binária crescente.

Próximo Estado ou Estado seguinte


100
Passo 5 – Projete os circuitos lógicos para gerar os níveis exigidos em cada entrada J e k
JB KB JA KA

00 00 00 00

01 01 01 01

11 11 11 11
ou
10 10 10 10

Figura 7.31 – Mapas K



Variáveis do mapa K →estado atual

JB A A
J B  D. A  DA
D.B 0 1
JB  D  A
D.B x x
D.B x x
DB 1 0 101
Passo 6 – Implementação do contador

J B  D A  DA  D  A J A  D .B  DB  D  B XNOR

K B  D . A  DA  D  A K A  D .B  DB  D  B XOR

Enrolamento 4 Enrolamento 2

Enrolamento 3 Enrolamento 1

DB
D A
↖ D A
D A D

↖ D
DB

102
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
Sequência de contagem todos os estados possíveis, inclusive aqueles
que não são parte da sequência.

103
Passo 3 – tabela que lista todos os Estados ATUAIS e os PRÓXIMOS

Diagrama de estados

Para encontrar o
Próximo Estado deve-se
olhar no diagrama de
estados

Estado Atual → Sempre


segue a sequência binária
crescente (incluindo os
estados indesejáveis)
mesmo se a contagem for
decrescente.

104
Passo 4 – Acrescente uma coluna para cada entrada D

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.
Tabela-verdade do FF D
D CLK Q
Tabela de excitação do circuito 0 ↓ 0
1 ↓ 1

Tabela de transição do FF D
Qn Qn+1 D
0 →0 0
0 → 1 1
1 → 0 0
1 → 1 1

Entradas de controle são as mesmas do PRÓXIMO estado, para o FF D


105
Passo 5 – Projete os circuitos lógicos para gerar as expressões lógicas das entradas de
controle. Olhe na coluna Estado ATUAL para projetar as expressões de DC , DB e DA. A
Figura 7.33 mostra os mapas K e as expressões simplificadas.

DC DB
→ ↓ →

DA

As variáveis CBA, do mapa K,
são as da coluna Estado atual

Figura 7.33 – Mapas K


106
Passo 6 – Implementação do circuito contador

C
B

DC  C BA DB  C .B A  C BA DA  C . A
107
Problemas - Soluções

108
Problema 7.43- Parte (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. Faça:
Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF JK.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Solução:
(a) Diagrama de estados
(b)Tabela de transição do JK Tabela-verdade do FF J-K
011 100 J K CLK Q
001 Qn Qn+1 J K J K
111 0 0 ↓ Qo
00
0 → 0 0 x 01 0 1 ↓ 0
000 0 → 1 1 x 10 1 0 ↓ 1
11
1 → 0 x 1 01 1 1 ↓ Qo
11
110 010 1 → 1 x 0 00
10

101
109
Problema 7.43 – Parte (a) Solução:
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]

Estado Atual → Sempre segue a sequência binária


crescente (incluindo os estados indesejáveis)
mesmo se a contagem for decrescente.
011 100
001
111
Est. Atual Prox. Est. Entradas de controle
C B A C B A JC KC JB KB JA KA 000
0 0 0 0 1 0 0 x 1 x 0 x
0 0 1 0 0 0 0 x 0 x x 1 010
110
0 1 0 1 0 1 1 x x 1 1 x
0 1 1 0 00 0 x x 1 x 1 101
1 0 0 0 00 x 1 0 x 0 x
1 0 1 1 1 0 x 0 1 x x 1 Tabela de transição do FF JK

1 1 0 0 0 0 x 1 x 1 0 x
1 1 1 0 0 0 x 1 x 1 x 1

110
Problema 7.43 – Parte (a) Est. Atual Entradas de controle
(d) Projeto dos circuitos lógicos. C B A JC KC JB KB JA KA
0 0 0 0 x 1 x 0 x
JC A A KC A A 0 0 1 0 x 0 x x 1
C .B 0 0 C .B x x 0 1 0 1 x x 1 1 x
1 0 0 1 1 0 x x 1 x 1
C .B C .B x x
1 0 0 x 1 0 x 0 x
C.B x x C.B 1 1 1 0 1 x 0 1 x x 1
C.B x x C.B 1 0 1 1 0 x 1 x 1 0 x
J C  BA KC  B  A
1 1 1 x 1 x 1 x 1

JB A A KB A A JA A A KA A
A
C .B 1 0 C .B x x C .B 0 x C .B x 1
C .B x x C .B 1 1 C .B 1 x C .B x 1
C.B x x C.B 1 1 C.B 0 x C.B x 1
C.B 0 1 C.B x x C.B 0 x C.B x 1
J B  C. A  CA  C  A KB  1 J A  CB KA  1 111
Problema 7.43 – Parte (a)

(e) Implementação do projeto do contador.

J C  BA JB  C  A J A  CB
KC  B  A KB  1 KA  1

B A C A C B

JC C JB B JA A

CLK CLK CLK

CLK
KC C +5V KB B +5V KA A

B A
112
Problema 7.43 - Parte (b) - Reprojete o contador do item (a) sem nenhuma restrição
sobre os estados não usados ; ou seja, seus PRÓXIMOS Estados são estados de
irrelevância. Compare com o projeto do item (a). Use FFs JK

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF JK.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Solução:
Tabela-verdade do FF J-K
(a) Diagrama de estados (b) Tabela de transição do FF JK J K CLK Q
0 0 ↓ Qo
Qn Qn+1 J K J K 0 1 ↓ 0
00 1 0 ↓ 1
0 → 0 0 x 01
10 1 1 ↓ Qo
0 → 1 1 x 11
1 → 0 x 1 01
11
1 → 1 x 0 00
10

113
C B A = x x x → estado de irrelevância
Problema 7.43 -Parte (b) Solução: (c) sem nenhuma restrição sobre
os estados não usados →
Tabela de transição do FF JK
significa que os próximos
estados serão usados os
estados de irrelevância → x x x

C B A = x x x → estado de irrelevância

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
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
Estado Atual → Sempre segue a sequência binária crescente
(incluindo os estados indesejáveis) mesmo se a contagem for
decrescente. 114
Problema 7.43 - Parte (b)
Est. Atual Entradas de controle
(d) Projeto dos circuitos lógicos. C B A JC KC JB KB JA KA
0 0 0 0 x 1 x 0 x
JC A A KC A A 0 0 1 x x x x x x
C.B 0 x 0 1 0 1 x x 1 1 x
C.B x x
0 1 1 x x x x x x
C.B 1 x C.B x x 1 0 0 x x x x x x
C.B x x C.B 1 x 1 0 1 x 0 1 x x 1
x x 1 1 0 x 1 x 1 0 x
C.B C.B x 0
1 1 1 x x x x x x
JC  B KC  B

JB A A KB A A JA A A KA A A
C.B 1 x C.B x x C.B 0 x C.B x x
C.B x x C.B 1 x C.B 1 x C.B x x
C.B x x C.B 1 x C.B 0 x C.B x x

C.B x 1 C.B x x C.B x x C.B x 1


JB 1 KB  1 J A  C. B KA  1

115
Problema 7.43 – Parte (b)

(e) Implementação do projeto do contador.

JC  B JB 1 J A  C. B
KC  B KB  1 KA  1
C B

B +5V

JC C JB B JA A
CLK
CLK CLK CLK

KC C B A
KB KA
+5V

116
Problema 7.44 - Parte (a) - Projete um contador síncrono autorreciclá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.

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF JK.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Solução:
(a) Diagrama de estados
(b) Tabela de transição do FF JK

117
Problema 7.44- Parte (a) Tabela de transição do FF JK

Solução:

(c) Para encontrar o Próximo


Estado deve-se olhar no
diagrama de estados
Est. Atual Prox. Est. Entradas de controle
(a)
C B A C B A JC KC JB KB JA KA
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 crescente
(incluindo os estados indesejáveis) mesmo se a contagem for
decrescente.
118
Problema 7.44- Parte (a)

Est. Atual Entradas de controle


Fazer: C B A JC KC JB KB JA KA
(d) Projeto dos circuitos lógicos. 0 0 0 1 x 0 x 0 x
(e) Implementação do projeto do contador 0 0 1 0 x 0 x x 1
0 1 0 0 x x 1 1 x
0 1 1 0 x x 0 x 1
1 0 0 x 1 1 x 1 x
1 0 1 x 1 0 x x 1
1 1 0 x 1 x 1 0 x
1 1 1 x 1 x 1 x 1

119
Problema 7.44 – Parte (b) - Projete um contador síncrono autorreciclável de
módulo 5 que produza a seguinte sequência: 100, 011, 010, 001, 000 e repete.
Use FFs JK.
(b) Para os estados não usados, projete sem nenhuma restrição; ou seja, seus
PRÓXIMOS Estados são estados de irrelevância. Esse projeto é autocorretor?

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF JK.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

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.

C B A = x x x → estado de irrelevância

120
Problema 7.44 – Parte (b) - Solução

(a) Diagrama de estados (b) Tabela de transição do FF JK.

C B A = x x x → estado de irrelevância

use como PRÓXIMOS Estados os estados de irrelevância → xxx

121
Problema 7.44 - Parte (b) - Solução:
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]

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
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
Para encontrar o Próximo
Estado Atual → Sempre segue a sequência binária
Estado deve-se olhar no
crescente (incluindo os estados indesejáveis)
diagrama de estados
mesmo se a contagem for decrescente.

C B A = x x x → estado de irrelevância
122
Problema 7.44 - Parte (b)

Est. Atual Entradas de controle


C B A JC KC JB KB JA KA
Fazer: 0 0 0 1 x 0 x 0 x
(d) Projeto dos circuitos lógicos. 0 0 1 0 x 0 x x 1
(e) Implementação do projeto do contador 0 1 0 0 x x 1 1 x
0 1 1 0 x x 0 x 1
1 0 0 x 1 1 x 1 x
1 0 1 x x x x x x
1 1 0 x x x x x x
1 1 1 x x x x x x

123
Problema 7.47- Projete um contador binário decrescente de módulo 8, síncrono,
autorreciclável. Use FFs D.

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF D.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Solução: (b) Tabela de transição do FF D


(a) Diagrama de estados Qn Qn+1 D Tabela-verdade do FF D
0 →0 0
D CLK Q
0 → 1 1 0 ↓ 0
1 → 0 0 1 ↓ 1
1 → 1 1

124
Problema 7.47 - Solução:

(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]

Tabela de transição do FF D

Qn Qn+1 D
Est. Atual Prox. Est. Entradas de controle
0 →0 0
C B A C B A DC DB DA
0 → 1 1
0 0 0 1 1 1 1 1 1
0 0 1 0 0 0 0 0 0 1 → 0 0
0 1 0 0 0 1 0 0 1 1 → 1 1
0 1 1 0 1 0 0 1 0
1 0 0 0 1 1 0 1 1
1 0 1 1 0 0 1 0 0
1 1 0 1 0 1 1 0 1
1 1 1 1 1 0 1 1 0

Estado Atual → Sempre segue a sequência binária crescente


(incluindo os estados indesejáveis) mesmo se a contagem
for decrescente.
125
Problema 7.47 - Solução:

(d) Projeto dos circuitos lógicos.

DB Est. Atual Entradas de controle


DC A A A A C B A DC DB DA
C .B 1 0 C .B 1 0 0 0 0 1 1 1
C .B 0 0 C .B 0 1 0 0 1 0 0 0
C.B 0 1 0 1 0 0 0 1
C.B 1 1
0 1 1 0 1 0
C.B 0 1 C.B 1 0 1 0 0 0 1 1
DB  BA  B. A  B  A 1 0 1 1 0 0
DC  C.B. A  CB  CA
1 1 0 1 0 1
1 1 1 1 1 0
DA A A
C .B 1 0
C .B 1 0
C.B 1 0
C.B 1 0
DA  A 126
Problema 7.47 - Solução:
(e) Implementação do projeto do contador.

DC  C.B. A  CB  CA DB  B  A DA  A

C B A C B C A B A

DC C DB B DA A

CLK CLK CLK

C B A

CLK

127
Problema 7.48 - Fazer
Projete um contador de módulo 12 , síncrono, autorreciclável, com FFs D. Use os
estados de 0000 a 1011 no contador. Para os estados não usados, projete sem
nenhuma restrição; ou seja, seus PRÓXIMOS Estados são estados de irrelevância.

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF D.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Resposta do item (d)

DD  DB  DA  CBA DC  C A  CB  D.CBA

DB  BA  BA  B  A DA  A

128
Problema 7.46 - Fazer
Projete um contador crescente/decrescente síncrono, autorreciclável, de módulo 7
com FFs JK. Use os estados de 000 a 110 no contador. Controle o sentido de contagem
com a entrada D ( D = 0 para contagem crescente e D = 1 para contagem decrescente).
Para o estado não usado force-o para 000 no próximo pulso de clock.

Faça:
(a) Diagrama de estados . (b) Tabela de transição do FF JK.
(c) Tabela de excitação do circuito [Estado Atual, Próximo Estado, Entradas de Controle]
(d) Projeto dos circuitos lógicos. (e) Implementação do projeto do contador

Respostas: J C  D.B. A  DBA KC  BA  DB  D.B. A

J B  D. A  DA  D  A K B  C  D. A  DA  C  ( D  A)

J A  CA  DC  DB
ou KA  1
J A  CB  D.C  DB

129
Solução:

D = 0 para contagem crescente


D = 1 para contagem decrescente

130
Est. Atual Prox. Est. Entradas de controle
D C BA C B A JC KC JB KB JA KA
0 000 0 0 1 0 x 0 x 1 x
0 001 0 1 0 0 x 1 x x 1
0 010 0 1 1 0 x x 0 1 x
0 011 1 0 0 1 x x 1 x 1
0 100 1 0 1 x 0 0 x 1 x
0 101 1 1 0 x 0 1 x x 1
0 110 0 0 0 x 1 x 1 0 x
0 111 0 0 0 x 1 x 1 x 1
1 000 1 1 0 1 x 1 x 0 x
1 001 0 0 0 0 x 0 x x 1
1 010 0 0 1 0 x x 1 1 x
1 011 0 1 0 0 x x 0 x 1
1 100 0 1 1 x 1 1 x 1 x
D = 0 para contagem crescente
1 101 1 0 0 x 0 0 x x 1 D = 1 para contagem decrescente
1 110 1 0 1 x 0 x 1 1 x
1 111 0 0 0 x 1 x 1 x 1

Uma variável de entrada D


Duas variáveis de estado B e A 131
Esses são os exercícios mínimos recomendados do Capítulo 7

Lista de Exercícios do Capítulo 7 – 11ª Edição Lista de Exercícios do Capítulo 7 – 10ª Edição
SEÇÃO EXEMPLOS PROBLEMAS SEÇÃO EXEMPLOS PROBLEMAS
Introdução Introdução
7.1 1, 2, 3 1, 2, 3, 4 7.1 1, 2, 3 1, 2, 3, 4
7.2 5, 6 7.2 5, 6
7.3 4 7 7.3 4 7
7.4 5, 6, 7, 8 9, 10, 11, 12 7.4 5, 6, 7, 8 9, 10, 11, 12
7.5 9 13, 14, 15 7.5 9 13, 14, 15
7.6 16 7.6 16
7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 7.7 10, 11, 12, 13 17, 18, 19, 20, 21, 22,
22, 23, 24, 25, 26 23, 24, 25, 26
7.8 14, 15 35, 36 7.8 14, 15 35, 36
7.10 Estudar os exemplos 43, 44, 45, 46, 47,48 7.10 Estudar os 43, 44, 45, 46, 47, 48
7.15 exemplos
7.16 18, 19, 20, 21, 22, 66, 67, 68, 69, 70 7.15
23 7.16 16, 17 66
7.17 73, 74, 75, 76 7.17 18 67, 68, 69, 70
7.18 19, 20
7.19 21
7.20 73, 74, 75, 76

--------------------------------------------------------------------------------------
132