Manual - Completo - Sistemas Digitais - (11a - 12a)
Manual - Completo - Sistemas Digitais - (11a - 12a)
MANUAL DE SISTEMAS
DIGITAIS
2023
17
Capítulo I – Sistemas Analógicos versus Sistemas Digitais
Introdução
Os circuitos electrónicos podem ser divididos em duas grandes categorias: digitais e analógicos.
A electrónica digital envolve grandezas com valores discretos e a electrónica analógica envolve
grandezas com valores contínuos.
Hoje em dia, o termo digital tornou-se parte do nosso vocabulário diário devido ao modo intenso
pelo qual os circuitos e as técnicas digitais passaram a ser amplamente utilizados em quase todas
as áreas: computadores, automação, robôs, tecnologia e ciência médica, transportes,
telecomunicações, exploração espacial e assim por diante. Nesta cadeira de Sistemas Digitais,
estás a ponto de iniciar uma fascinante viagem educacional na qual os princípios, os conceitos e
as operações fundamentais que são comuns nos sistemas digitais, desde uma simples chave
liga/desliga até ao mais complexo computador.
Noções básicas
Um Componente é cada uma das partes que constituem um dispositivo. Os componentes mais
comuns são: a resistência, o capacitor, a bobine, etc.
Um dispositivo é um circuito constituído por vários componentes que realiza uma operação ou
concretiza uma tarefa electrónica. São exemplos de dispositivos digitais: um contador, um
codificador, um descodificador, etc.
Um sistema é uma associação de dispositivos e/ou componentes todos eles interligados, para
alcançar um determinado objectivo. São exemplos de sistemas um relógio digital, um gravador de
voz, uma máquina calculadora, etc.
Uma grandeza analógica é aquela que apresenta valores contínuos. A maioria daquilo que se pode
medir quantitativamente na natureza se encontra na forma analógica. Por exemplo, a temperatura
do ar, varia numa faixa contínua de valores. Durante um determinado dia, a temperatura não passa,
digamos, de 21ºC para 22ºC instantaneamente; ela passa por toda uma infinidade de valores
18
intermediários. Se fizermos um gráfico da temperatura em um dia de verão típico, teremos uma
curva contínua e de variação suave similar à curva mostrada na Figura 1.1. Outros exemplos de
grandezas analógicas são tempo, pressão, distância e som.
Uma grandeza digital é aquela que apresenta valores discretos, ou seja, varia de valor por saltos.
Devido a essa natureza não há muitas dificuldades quando se faz a leitura de uma quantidade
digital, ao passo que o valor de uma quantidade analógica apresenta muitas vezes uma
interpretação livre. Em circuitos digitais, dois níveis de tensão diferentes são usados para
representar, 1 é representado pela tensão maior a qual chamamos de nível ALTO, e o 0 é
representado
1.5 pelo nível de tensão menor o nível BAIXO. A Figura 1.2 abaixo mostra o exemplo
de um sinal digital.
1
V
0.5
0
0 2 4 6 8 10 12 14 16 18 20
t
Um sistema analógico é uma combinação de que manipulam quantidades físicas que são
representadas na forma analógica. Os sistemas analógicos mais conhecidos são: amplificador de
áudio, dimmer (regulador de luminosidade), relógio com ponteiros.
19
A Figura 1.3 mostra um diagrama básico de um amplificador de áudio, onde as ondas sonoras, que
são de natureza analógica, são captadas por um microfone1 e convertidas em uma pequena tensão
analógica denominada sinal de áudio. Essa tensão varia continuamente de acordo com as
variações no volume e na frequência do som e é aplicada na entrada de um amplificador. A saída
do amplificador, que é uma reprodução ampliada da tensão de entrada, é enviada para o alto-
falante. O alto-falante converte o sinal de áudio amplificado de volta para o formato de ondas
sonoras com um volume muito maior que as ondas sonoras originais captadas pelo microfone.
Considerar o exemplo de uma calculadora manual ilustrado na Figura 1.4, o dispositivo de entrada
(à esquerda) da calculadora é um teclado. Entre o teclado e a Unidade Central de Processamento
(CPU), há um codificador, que traduz o número decimal pressionado no teclado para o código
binário. A CPU realiza a sua operação em binário e produz o resultado em código binário. O
descodificador traduz o código binário da CPU para o código decimal que é visualizado no ecrã
(display). O codificador e descodificador deste sistema são tradutores electrónicos de códigos. O
codificador pode ser considerado como tradutor da linguagem humana para a linguagem da
1
Transdutor é todo dispositivo capaz de converter uma forma de energia em outra. O microfone e o alto-falante são
dois transdutores electromecânicos. Enquanto o LED e o fototransistor são dois tipos de transdutores ópticos
20
máquina. O descodificador faz o oposto, ou seja traduz da linguagem da máquina para linguagem
humana.
CPU
1.3. Vantagens e desvantagens dos sistemas digitais em relação aos sistemas analógicos
Referências bibliográficas
[1] R. J. Tocci, N. S. Widmer e G. L. Moss, Sistemas Digitais: Princípios e Aplicações, 10ª ed.,
São Paulo - Brasil: Pearson Prentice Hall, 2007.
[2] T. L. Floyd, Sistemas Digitais: Fundamentos e Aplicações, 9ª ed., Porto Alegre - Brasil:
Bookman, 2007.
[4] I. V. Idoeta e F. G. Capuano, Elementos de Electrónica Digital, 35ª, Ed., São Paulo-Brasil:
Erica.
21
Capítulo II – Sistemas de Numeração
Sistema decimal
Sistema binário
No sistema binário há apenas dois símbolos ou valores possíveis para os dígitos: 0 e 1. Cada dígito
de um número binário denomina-se Bit, abreviatura de Binary Digit. Esses dois dígitos fazem do
sistema binário um sistema de base dois.
Bit mais significativo (Most Significant Bit - MSB) é o bit mais à esquerda de um número binário.
Enquanto, o bit menos significativo (Least Significant Bit – LSB) é o bit mais à direita de um
número binário. Exemplo: 101010
MSB LSB
Sistema octal
Sistema hexadecimal
O sistema numérico hexadecimal usa a base 16. Ele utiliza os algarismos de 0 a 9 mais as letras A
(10), B (11), C (12), D (13), E (14) e F (15).
22
2.2. Conversão de sistemas numéricos
Para converter um número inteiro de decimal para binário realizam-se divisões sucessivas por 2,
até que o último quociente seja inferior a 2. O número binário será formado pelo último quociente,
que será o bit mais significativo (MSB) e os restos de cada divisão.
Para converter em binário um número decimal fraccionário multiplica-se este por dois. A parte em
decimal do resultado multiplica-se novamente por dois, e assim sucessivamente até se obtenha a
precisão desejada na parte fraccionária, isto é até atingir zero. O número binário será formado pela
sucessão das partes inteiras resultantes dos produtos.
23
EXEMPLO 2.3 Converter 0,562510 para binário.
Solução:
0,5625 x 2 = 1,125
0,125 x 2 = 0,25 Logo: 0,562510 = 0,10012
0,25 x 2 = 0,5
0,5 x 2 = 1
O passo seguinte é a transformação da parte fraccionária. Para tal, utilizaremos a regra que consiste
na multiplicação sucessiva. Temos, então:
0,375 x 2 = 0,75
0,75 x 2 = 1,5 Assim sendo, podemos escrever: 0,37510 = 0,0112
0,5 x 2 = 1
0,3 x 2 = 0,6
0,6 x 2 = 1,2
0,2 x 2 = 0,4
0,4 x 2 = 0,8
0,8 x 2 = 1,6
0,6 x 2 = 1,2
24
Podemos notar que o número 1,2 voltou a aparecer, logo se trata de continuamos o processo,
teremos a mesma sequência já vista até aqui. Este caso equivale a uma dízima infinita. Logo,
temos:
0,310 = 0,010011…2
O valor decimal de um número binário pode ser determinado somando-se pesos de todos os bits
que são 1 (um) e descartando todos os pesos dos bits que são 0 (zero).
∴1101102 = 5410
Para passar um número inteiro de decimal para octal realizam-se divisões sucessivas por 8, até que
o último quociente seja inferior a 8. O número octal será formado pelo último quociente, que será
o dígito mais significativo e os restos de cada divisão.
25
EXEMPLO 2.9 Converter 34210 para octal.
Solução:
342 8
6 42 8 ∴ 34210 = 5268
2 5
Para converter em octal um número decimal fraccionário multiplica-se este por 8. A parte em
decimal (fraccionária) do resultado multiplica-se novamente por 8, e assim por diante até que se
obtenha a precisão desejada.
Solução:
0,71 x 8 = 5,68
0,68 x 8 = 5,44
0,44 x 8 = 3,52 ∴0,7110 = 0,553418
0,52 x 8 = 4,16
0,16 x 8 = 1,28
Solução:
∴ 719,3210 = 1317,243658
Um número octal pode ser facilmente convertido para o seu equivalente decimal multiplicando-se
cada dígito pelo seu posicional.
26
EXEMPLO 2.12 Converter o número 1448 em decimal.
Solução:
82 81 80
∴ 1448 = 10010
EXEMPLO 2.13 Converter o número 172,148 em decimal.
Solução:
82 81 80 8-1 8-2
A conversão de decimal em hexadecimal pode ser feita usando divisões sucessivas por 16, até que
o último quociente seja inferior a 16.
Solução:
3578,25 = 3578 + 0,25
3578 16 0,25 x 16 = 4
A 223 16 0,2510 = 0,416
F D
27
Um número hexadecimal pode ser convertido para o seu equivalente decimal multiplicando-se
cada dígito hexadecimal pelo seu peso posicional.
EXEMPLO 2.16 Converta A8516 em decimal.
Solução:
162 161 160
∴B2F8,0A16 = 45816,0390610
2.2.7. Conversão de binário para hexadecimal
Solução:
101010000010 8421
1010 = A (10)
A 8 2 1000 = 8
0010 = 2 ∴1010100000102 =A8216
EXEMPLO 2.19 Converta 100111010.112 em hexadecimal.
Solução:
0001 0011 1010,1100 8421
0001= 1
1 3 A ,C 0011= 3
1010 = A (10)
1100 = C (12)
∴000100111010,11002 = 13A,C16
2.2.8. Conversão de hexadecimal para binário
Quando números, letras ou palavras são representadas por um grupo especial de símbolos diz-se
que estão codificados. Ao grupo desses símbolos chamam-se código. Códigos digitais são
combinações de dígitos binários que representam, números, letras e símbolos.
Se cada dígito de um número decimal for representado pelo seu equivalente binário de 4 bits, o
resultado será um código denominado decimal codificado em binário (BCD ou BCD8421). O
código BCD representa, então, cada dígito de um número decimal por um número binário de 4
bits. Evidentemente, são usados apenas os números de binários de 4 bits, entre 0000 (zero) e 1001
(nove). O código BCD não usa os números 1010 (dez), 1011 (onze), 1100 (doze), 1101 (treze),
1110 (cartoze) e 1111 (quinze), ou seja não usa os números maiores que 1001 (nove). Se qualquer
um desses números de 4 bits proibidos aparecer alguma vez em uma máquina que use o código
BCD, é, geralmente, uma indicação de que ocorreu algum erro.
29
4510 = 0100 0101 (BCD)
O número BCD é organizado em grupos de 4 bits, e cada é grupo é convertido no dígito decimal
equivalente. É proibido acrescentar bits em um grupo que não está completo.
Solução:
0110 1001 0001 (BCD)
6 9 1 (Decimal)
Solução:
0111 1000, 0101 (BCD)
7 8 , 5 (Decimal)
01111000,0101(BCD) = 78,510
30
2.3.3. Código Gray
O código Gray é um código que apresenta uma mudança de um único bit quando se passa de uma
palavra do código para a seguinte na sequência.
1 0 1 1 0 (Gray)
1. O bit mais significativo (mais à esquerda) no código Gray é o mesmo que o correspondente
no número binário.
2. Some cada bit do código binário gerado do código Gray na próxima posição adjacente.
1 1 0 1 1 (Binário)
31
2.3.4. Códigos alfanuméricos
Para nos comunicarmos, não usamos apenas números, mas também letras e outros símbolos. No
sentido rigoroso, os códigos alfanuméricos representam números e caracteres alfabéticos (letras).
Entretanto, a maioria desses códigos representa também outros caracteres, como símbolos e várias
instruções necessárias para transmissão de informações. O ASCII é o código alfanumérico mais
comum e é abordado a seguir.
ASCII é a abreviação de American Standard Code for Information Interchange (Código Padrão
Americano para Troca de Informações). O código ASCII (pronunciado “askii”), é um código
alfanumérico aceite universalmente e usado na maioria dos computadores e outros equipamentos
electrónicos. A maioria dos teclados de computadores é padronizada com o código ASCII.
O ASCII tem 128 caracteres e símbolos representados por um código de 7 bits. Na verdade, o
código ASCII pode ser considerado um código de 8 bits com o MSB sempre 0. Esse código de 8
bits vai de 00 até 7F em hexadecimal.
EXEMPLO 2.28 Consulte a tabela do código ASCII para encontrar os seguintes símbolos:
a) Barra invertida (\);
b) K;
c) e;
Solução:
Símbolo Decimal Binário Hexadecimal
\ 92 101 1100 5C
K 75 100 1011 4B
e 101 110 0101 65
32
2.4 Aritmética binária
A aritmética binária é essencial em todos os computadores digitais e em outros tipos de sistemas
digitais. Para entender os sistemas digitais, temos que saber os fundamentos das operações de
soma, subtracção, multiplicação e divisão em binário.
2.4.1 Adição binária
As regras básicas para adição de dígitos binários (bits) são:
a) 0 + 0 = 0
b) 0 + 1 = 1
c) 1 + 0 = 1
d) 1 + 1 = 0 e vai 1
e) 1 + 1 + 1 = 1 e vai 1
Solução:
Complemento de 1
O complemento de 1 (C1) de um número binário é determinado substituindo cada 0 por 1 e cada 1
por 0, conforme ilustrado a seguir.
1 1 0 12 (Número binário)
C1 = 0 0 1 0
33
Complemento de 2
Complemento de 2 (C2) de um número binário é obtido somando 1 ao LSB do complemento de
1, conforme mostra a equação abaixo:
C2 = C1 + 1
Os sistemas digitais, como o computador, têm que ser capazes de operar com números positivos e
negativos. Um número binário sinalizado é constituído de duas informações: sinal e magnitude.
Os números inteiros podem ser representados em binário nas seguintes formas: sinal-magnitude
e complemento de 2.
O bit de sinal
O bit de sinal (BS) é o bit mais à esquerda em um número binário sinalizado, o qual nos diz se o
número é positivo ou negativo. Um bit de sinal 0 indica um número positivo e um bit de sinal 1
indica um número negativo.
EXEMPLO 2.31 Represente cada um dos seguintes números decimais na forma sinal-magnitude.
Use um total de 7 bits incluído o bit de sinal: a) +45; b) -45
Solução:
34
a) +45
EXEMPLO 2.32 Represente cada um dos seguintes números decimais na forma complemento de
2. Use um total de 7 bits incluído o bit de sinal: a) +13; b) -13
Solução:
a) +13
Convertendo 1310 par binário temos: 1101. Para se representar -13 usando o
complemento de 2, devemos expressar a sua
Uma vez que o equivalente binário só possui magnitude na forma de C2.
4 bits, devemos acrescentar mais 2 bits para
Primeiramente, determinamos o C1 do
completar a magnitude. Lembrando de que número binário.
reservamos sempre um bit para o bit de sinal.
0 0 1 1 0 1
0 0 0 1 1 0 1 = +1310 C1 = 1 1 0 0 1 0
b) -13
C2 = C1 + 1 = 110010 + 1 = 110011
35
Finalmente temos a representação do número 1 1 1 0 0 1 1 = -1310
dado na forma de C2
BS Bits de Magnitude na
(-) forma de C2
36
2. Passo: Achar o complemento de 2 do
diminuidor:
010102
C1= 10101
C2 = 10101 + 1 = 10110
1 1 1
1 0 0 1 0
1 0 1 1 0
+
1 0 1 0 0 0
37
CASO 2 Diminuendo menor que o diminuidor
b) 1002 - 10012
Podemos observar que o diminuidor é maior
Solução:
1. Passo: 01002 - 10012
2. Passo:
10012 C2 = C1+ 1 = 0110 + 1
C1= 01102 C2 = 0111
1
0 1 0 0
+ 0 1 1 1
1 0 1 1
BS Magnitude na forma de C2
(-)
Referências Bibliográficas
[1] R. J. Tocci, N. S. Widmer e G. L. Moss, Sistemas Digitais: Princípios e Aplicações, 10ª ed.,
São Paulo - Brasil: Pearson Prentice Hall, 2007.
[2] T. L. Floyd, Sistemas Digitais: Fundamentos e Aplicações, 9ª ed., Porto Alegre - Brasil:
Bookman, 2007.
[4] I. V. Idoeta e F. G. Capuano, Elementos de Electrónica Digital, 35ª, Ed., São Paulo-Brasil:
Erica.
[5] J. W. Bignell e R. Donovan, Eletrônica Digital, 5ª, Ed., Brasil: Cengage Learning, 2010.
38
Capítulo III – Portas Lógicas
Portas lógicas são circuitos electrónicos básicos que possuem uma ou mais entradas e uma única
saída. Nas entradas e na saída, podemos associar estados “0” ou “1”, ou seja, variáveis lógicas. Em
electrónica digital, quando utilizamos portas lógicas, atribuímos às entradas e às saídas valores de
tensão. Nos circuitos exemplos de portas lógicas, associaremos ao 5 V o estado “1” e ao 0 V, o
estado “0”.
As portas lógicas não possuem memória, isto é, não guardam informação e os valores das saídas
dependem apenas dos valores das entradas. Todos os circuitos digitais tais como codificadores,
contadores, microprocessadores são construídos utilizando três portas lógicas básicas que são: a
porta NOT, a porta OR e a porta AND.
A tabela de verdade (TV) é uma tabela que apresenta uma enumeração completa de todos os
casos possíveis das combinações dos valores de entradas e os respectivos valores de saídas.
A TV pode ser usada para estudar o comportamento e/ou construir o circuito lógico. O número
total de combinações possíveis de entradas binárias para uma função booleana é determinado pela
seguinte fórmula:
𝑀 = 2𝑛 (3.1)
39
EXEMPLO 3.1: Construir a tabela de verdade para cada uma das funções lógicas:
a) 𝐹(𝐴,𝐵) = 𝐴𝐵 + 𝐴̅ ; b) 𝐹(𝐴,𝐵,𝐶) = 𝐴̅𝐵𝐶 + 𝐴̅. 𝐵𝐶̅ + 𝐴𝐶
Solução:
a) 𝐹(𝐴,𝐵) = 𝐴𝐵 + 𝐴̅, podemos observar que se trata de uma função com duas variáveis (A e
B), ou seja n = 2. Aplicando a equação 3.1 temos: 𝑀 = 22 = 4 (𝑐𝑎𝑠𝑜𝑠 𝑝𝑜𝑠𝑠í𝑣𝑒𝑖𝑠)
2 1
A B F 1ºcaso: A = 0; B = 0
𝐹 = 0.0 + 0̅ = 0 + 1 = 1
0 0 1
2ºcaso: A = 0; B = 1
0 1 1 𝐹 = 0.1 + 0̅ = 0 + 1 = 1
3ºcaso: A = 1; B = 0
1 0 0 𝐹 = 1.0 + 1̅ = 0 + 0 = 0
1 1 1 4ºcaso: A = 1; B = 1
𝐹 = 1.1 + 1̅ = 1 + 0 = 1
1º Caso: A = 0; B = 0; C = 0
A B C F
𝐹 = 0̅. 0.0 + 0̅. 0. 0̅ + 0.0 = 1.0.0 + 1.0.1 + 0 = 0
2º Caso: A = 0; B = 0; C = 1 0 0 0 0
𝐹 = 0̅. 0.1 + 0̅. 0. 1̅ + 0.1 = 0.0.1 + 1.0.0 + 0 = 0
0 0 1 0
3º Caso: A = 0; B = 1; C = 0
𝐹 = 0̅. 1.0 + 0̅. 1. 0̅ + 0.0 = 1.0.0 + 1.1.1 + 0 = 1 0 1 0 1
4º Caso: A = 0; B = 1; C = 1 0 1 1 1
𝐹 = 0̅. 1.1 + 0̅. 1. 1̅ + 0.1 = 1.1.1 + 1.1.0 + 0 = 1
1 0 0 0
5º Caso: A = 1; B = 0; C = 0
𝐹 = 1̅. 0.0 + 1̅. 0. 0̅ + 1.0 = 0.0.0 + 0.0.1 + 0 = 0 1 0 1 1
6º Caso: A = 1; B = 0; C = 1
1 1 0 0
𝐹 = 1̅. 0.1 + 1̅. 0. 1̅ + 1.1 = 0.0.1 + 0.0.0 + 1 = 1
1 1 1 1
7º Caso: A = 1; B = 1; C = 0
𝐹 = 1̅. 1.0 + 1̅. 1. 0̅ + 1.0 = 0.1.0 + 0.1.0 + 0 = 0
8º Caso: A = 1; B = 1; C = 1
𝐹 = 1̅. 1.1 + 1̅. 1. 1̅ + 1.1 = 0.1.1 + 0.1.0 + 1 = 1
40
3.3. Formas canónicas de uma função lógica
̅ 𝑪 + 𝑨𝑩
𝑭𝟏 = 𝑨𝑩𝑪 + 𝑨𝑩 ̅𝑪̅
̅ + 𝑪). (𝑨
𝑭𝟐 = (𝑨 + 𝑩 ̅+𝑩 ̅ ). (𝑨 + 𝑩 + 𝑪
̅ +𝑪 ̅)
As funções do tipo 𝑭𝟏 , recebem o nome de Mintermos ou soma-de-produtos padrão e as funções
do tipo de 𝑭𝟐 , denominam-se Maxtermos ou produto-de-somas padrão.
Os mintermos obtém-se somando-se todos os produtos lógicos que dão à função lógica o valor l.
Enquanto, os maxtermos obtém-se multiplicando todas as somas lógicas que dão à função lógica
o valor lógico 0.
A B C F Solução:
0 0 0 1 Forma de mintermos:
𝐹 = 𝐴̅𝐵̅ 𝐶̅ + 𝐴̅𝐵 𝐶̅ + 𝐴𝐵̅ 𝐶 + 𝐴𝐵𝐶̅
0 0 1 0
Forma de maxtermos:
0 1 0 1
𝐹 = (𝐴 + 𝐵 + 𝐶̅ ). (𝐴 + 𝐵̅ + 𝐶̅ )(𝐴̅ + 𝐵 + 𝐶)(𝐴̅ + 𝐵̅ + 𝐶̅ )
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
41
3.4. Portas lógicas
3.4.1. Porta lógica NOT (Inversora)
A porta lógica NOT é a mais simples. Nela, a saída é igual ao complemento da entrada. A
Figura 3.1 mostra o símbolo, a TV e a expressão lógica ou expressão booleana.
A porta OR (OU, em português) possui duas ou mais entradas. A saída sempre será igual a
“1” quando uma das entradas for igual a “1” (Figura 3.2). A saída será “0” somente se todas as
entradas forem “0”.
A porta AND (E) possui uma ou mais entradas e sua saída será “1” somente quando todas as
entradas forem iguais a “1” (ver Figura 3.3).
42
EXEMPLO 3.3: Desenhe o diagrama do circuito para expressão: 𝒀 = 𝑨𝑪 + 𝑩𝑪 + 𝑨𝑩𝑪.
Solução:
𝒀 = 𝑨𝑪 + 𝑩𝑪 + 𝑨𝑩𝑪
𝑿 = (𝑨 + 𝑩)(𝑩 + 𝑪)
̅̅̅̅̅̅̅̅̅̅̅̅̅
Problema relacionado. Implemente o circuito da expressão booleana: 𝐙 = [𝐃 + (𝐀 + 𝐁)𝐂]
A porta NOR corresponde à uma porta OR com a saída invertida (Figura 3.4). A saída será “1”
somente se todas as entradas forem “0”.
Observe que a “bolinha” no símbolo nega a saída, equivalente à barra na expressão booleana,
indicando que a porta NOR tem uma saída que corresponde ao complemento da saída da porta OR.
43
Figura 3.4 Símbolo, expressão booleana e tabela verdade da NOR
A porta NAND corresponde a uma porta AND com uma saída invertida (ver Figura 3.5). A saída
será “0” somente se todas as entradas forem “1”.
A porta Exclusive-OR (XOR) possui uma ou mais entradas e fornecerá uma saída igual a “1”
somente quando as entradas forem diferentes (Figura 3.6).
44
3.4.7. Porta Exclusive-NOR
A B Y
0 0 1
0 1 0
1 1 1
EXEMPLO 3.5: Para cada uma das expressões a seguir, desenhar o circuito lógico:
̅̅̅̅̅̅̅̅
a) 𝐹 = (𝐴 ⊕ 𝐵)𝐶 + 𝐴̅(𝐵 ⊕ 𝐶 ) + ̅̅̅̅̅̅
𝐴𝐵𝐶
𝐴 + 𝐵 + 𝐶 + ̅̅̅̅̅̅
b) 𝑍 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐴̅𝐵 𝐶̅ + ̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴𝐵̅ 𝐶̅ + 𝐴𝐷 ̅
Solução:
45
𝐴 + 𝐵 + 𝐶 + ̅̅̅̅̅̅
b) 𝑍 = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐴̅𝐵 𝐶̅ + ̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴𝐵̅ 𝐶̅ + 𝐴𝐷 ̅
A B C D
Todas as portas lógicas que foram estudadas, estão disponíveis na forma de circuitos integrados.
Um circuito integrado (CI) é um circuito electrónico construído totalmente em um único e
pequeno chip de silício. Todos os componentes que formam o circuito (transistores, diodos,
resistores e capacitores) são partes integrais de um único chip. Os Sistemas digitais têm sido por
muitos anos incorporados porque os CIs apresentam: tamanho reduzido, alta confiabilidade,
baixo custo e baixo consumo.
Os CIs digitais podem ser divididos em duas grandes categorias: funções lógicas fixas e funções
lógicas programáveis. No caso dos dispositivos de funções lógicas fixas, as funções são
estabelecidas pelo fabricante e não podem ser alteradas.
Os encapsulamentos de circuitos integrados são classificados de acordo com a forma com que são
montados nas placas de circuito impresso como dispositivos com pinos que passam através de
46
furos. O tipo mais comum de encapsulamento é o DIP (Dual –In-line Package), mostrado na
Figura 3.8, no qual os pinos estão dispostos em linhas paralelas. Os pontos de conexão do chip são
interligados aos pinos no encapsulamento para permitir as ligações de entrada e saída com o mundo
externo.
Figura 3.8 Vista em corte dum tipo de CI com o chip e encapsulamento de CI do tipo DIP
Cada pino no CI desempenha uma função específica por isso é importante fazer-se a identificação
correcta dos mesmos. Por isso, tem-se um círculo ou um pequeno corte ao lado do pino 1, e a
contagem é feita no sentido anti-horário, conforme ilustra a Figura 3.9.
47
A Figura 3.10 mostra a numeração dos pinos do CI 7408 de 1 a 14 no sentido anti-horário. As
conexões de alimentação são GND (pino 7) e Vcc (pino 14). Os pinos restantes são as entradas e
as saídas das quatros portas AND. O CI 7408 faz parte de uma família de dispositivos lógicos, ele
é um dos muitos dispositivos da família lógica de lógica transistor-transistor (TTL) que
actualmente são os mais populares. Geralmente, os dispositivos TTL uma alimentação de 5 Volts.
A Figura 3.11 mostra um diagrama de conexões que tem como elemento principal o CI 7408. As
conexões, positiva (Vcc) e negativa (GND) da alimentação são feitas nos pinos 14 e 7,
respectivamente. Os comutadores de entrada (A e B) se conectam nos pinos 1 e 2 do CI 7408.
Observamos que, se um comutador “estiver em cima”, se aplica um nível lógico 1 (+5V) na entrada
da porta AND. A direita, um díodo emissor de luz (LED) e um resistor de 150 Ω estão ligados a
terra. Se a saída no pino 3 estiver em nível ALTO (+5V), fluirá uma corrente através do LED. Se
o LED emite luz, indica que temos um nível ALTO na saída da porta AND.
A tabela de verdade abaixo mostra o resultado da operação do circuito AND de duas entradas. O
LED acende somente quando os nomes comutadores (A e B) estiverem em nível ALTO (+5V).
Entradas Saídas
A B Tensão LED
5V 5V Aproximadamente 5V Aceso
48
Para ajudar-nos a identificar um CI utilizamos uma folha de dados (data sheet) que consiste de
uma página de informações que mostra, o diagrama lógico, a numeração dos pinos, as condições
recomendadas de operação, as características eléctricas, dentre outras propriedades do CI.
Figura 4.12 Diagramas de configuração de pinos para algumas configurações de CIs de funções lógicas fixas comuns
Para além da família lógica TTL, há uma família de CIs mais moderna denominada CMOS
(Complementary Metal-Oxide Semiconductor), que tem ganhado popularidade devido ao baixo
consumo de potência, imunidade ao ruído e outros factores. Todas as portas lógicas (NOT, AND,
OR, NAND, NOR, XOR e XNOR) estão disponíveis na forma de CIs do tipo DIP em dispositivos
CMOS.
Uma vantagem da tecnologia TTL é que ela não é sensível à descarga electrostática como CMOS,
portanto, é mais prática para uso na maioria dos laboratórios de experimentação e prototipagem
porque não precisamos nos preocupar com precauções para manuseio dos dispositivos.
49
3.5.2. Precauções no Manuseio de Dispositivos CMOS
Devido à sua estrutura particular, os dispositivos CMOS são muito sensíveis à carga estática e
podem ser danificados por descarga electrostática se não for manuseado adequadamente. As
precauções a seguir devem ser tomadas quando se trabalha com dispositivos CMOS:
Os CIs digitais de funções fixas são classificados de acordo com suas complexidades. Eles são
apresentados aqui a partir da função menos complexa até a mais complexa. As figuras de
complexidade mais comuns são:
É possível implementar qualquer expressão usando apenas portas NAND e nenhum outro tipo de
porta. Isso porque as portas NAND, em combinações apropriadas, podem ser usadas para
50
implementar cada uma das operações booleanas NOT (INVERSOR), OR e AND. Isso é
demostrado na Figura 3.13.
Figura 3.13 As portas NAND podem ser usadas para implementar qualquer função booleana.
De modo, similar, notamos que as portas NOR podem ser associadas para implementar qualquer
operação boolena. Isso é demostrado na Figura 3.14.
Figura 3.14 As portas NOR podem ser usadas para implementar qualquer função booleana.
51
Capítulo IV - Álgebra de Boole
Em lógica, há apenas duas condições possíveis para qualquer entrada ou saída: verdadeira e falsa.
O sistema binário de numeração utiliza apenas dois dígitos, 1 e 0, por isso é perfeito para
representar relações lógicas. O modo como tomamos decisões lógicas com base em circunstâncias
verdadeiras ou falsas é conhecido como lógica Booleana, e o sistema que emprega símbolos e
operações para descrever essas decisões é chamado de álgebra de Boole2. O principal objectivo
dessas expressões lógicas é descrever o relacionamento entre as entradas (circunstâncias) e as
saídas do circuito lógico (as decisões).
Variáveis booleanas são variáveis que apresentam apenas dois estados: verdadeiro (V) ou falso
(F), ou mais comummente 0 (zero) ou 1 (um). Por exemplo, uma lâmpada pode ser considerada
uma variável booleana, pois apresenta dois estados: acesa (1) ou apagada (0).
A álgebra Booleana tem apenas três (3) operações lógicas básicas que são: OR, AND e a NOT.
Os operadores lógicos mais importantes são: + (soma lógica ou operador OR) e . (produto lógico
ou operador AND). Por outro lado, as funções booleanas são expressões cujos resultados
apresentam apenas dois estados: 1 ou 0.
Lei Comutativa
A+B=B+A
A.B = B.A
Lei Associativa
A + (B + C) = (A + B) + C
A (BC) = (AB) C
Lei Distributiva
A (B + C) = AB + AC
2
A álgebra de Boole é a matemática dos Sistemas Digitais
52
Regras da Álgebra Booleana
Adição
1 𝟎=1
2 𝟏=0
Produto
3 𝐴̿ = A
1 A.A = A
4 A+A=A
2 A. A = 0
5 A+𝐀=1
3 A.1 = A
6 A+1=1
4 A.0 = 0
7 A+0=A
Leis de Absorção
1) A + AB = A
Demonstração:
A + AB = A (1 + B) = A c.q.d
2) A + 𝐴.B = A + B
3) 𝐴 + AB = 𝐴 + B
Teoremas de DeMorgan
Teorema 1: O complemento de um produto de variáveis é igual a soma dos complementos das
variáveis.
a) ̅̅̅̅̅̅̅
𝐴 . 𝐵 = 𝐴̅ + 𝐵̅
Teorema 2: O complemento de uma soma de variáveis é igual ao produto do complemento das
variáveis.
b) ̅̅̅̅̅̅̅̅
𝐴 + 𝐵 = 𝐴̅. 𝐵̅
EXEMPLO 4.1: Aplique os teoremas de DeMorgan nas expressões: ̅̅̅̅̅̅
𝑋𝑌𝑍, ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑋 + 𝑌 + 𝑍 e
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̅ + 𝑌̅ + 𝑍̅.
𝑋
Solução:
̅̅̅̅̅̅̅̅
𝑋. 𝑌. 𝑍 = 𝑋̅ + 𝑌̅ + 𝑍̅
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑋 + 𝑌 + 𝑍 = 𝑋̅. 𝑌̅. 𝑍̅
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
̅ + 𝑌̅ + 𝑍̅ = 𝑋̿. 𝑌̿. 𝑍̿ = 𝑋𝑌𝑍
𝑋
53
Ao aplicarmos a álgebra Booleana, muitas vezes temos que reduzir uma determinada expressão
para a sua forma mais simples ou transformá-la em um formato mais conveniente a fim de
implementar a expressão mais eficientemente. A abordagem feita nesta secção usa as leis básicas,
regras e teoremas da álgebra Booleana para manipular e simplificar uma expressão.
EXEMPLO 4.2: Simplifique cada expressão, utilizando as leis, regras e teoremas de DeMorgan
da álgebra Booleana.
a) ̅̅̅̅̅̅
𝐴 ∙ 𝐵 + 𝐴̅ ∙ 𝐵 + 𝐶̅
b) 𝑋̅ + 𝑋 ∙ 𝑌 ∙ 𝑍̅ + 𝑌̅
Solução:
a) ̅̅̅̅̅̅
𝐴 ∙ 𝐵 + 𝐴̅ ∙ 𝐵 + 𝐶̅ = 𝐴̅ + 𝐵̅ + 𝐴̅𝐵 + 𝐶̅
= 𝐴̅ + 𝐴̅𝐵 + 𝐵̅ + 𝐶̅ = 𝐴̅(1 + 𝐵) + 𝐵̅ + 𝐶̅ = 𝐴̅ + 𝐵̅ + 𝐶̅ = ̅̅̅̅̅̅
𝐴𝐵𝐶
b) 𝑋̅ + 𝑋 ∙ 𝑌 ∙ 𝑍̅ + 𝑌̅,
aplicando a lei de absorção (3) na expressão temos: 𝑋̅ + 𝑋 ∙ 𝑌 ∙ 𝑍̅ = 𝑋̅ + 𝑌 ∙ 𝑍̅
= 𝑋̅ + 𝑌 ∙ 𝑍̅ + 𝑌̅, voltando aplicar a lei de absorção (3) obtemos: 𝑋̅ + 𝑌 ∙ 𝑍̅ = 𝑋̅ + 𝑍̅
= 𝑋̅ + 𝑍̅ + 𝑌̅ = ̅̅̅̅̅̅
𝑋𝑌𝑍
Podemos usar os teoremas e as regras da álgebra booleana, para simplificar circuitos lógicos, para
tal devemos obter a expressão booleana do circuito lógico e em seguida reduzi-la a uma forma
mais simples que contenha um menor número de termos ou variáveis. Essa nova expressão pode,
então, ser usada na implementação de um circuito equivalente ao circuito original, mas que contém
menos portas lógicas e conexões.
54
Solução:
̅̅̅̅̅̅
𝑍 = 𝐴𝐵𝐶 + 𝐴 ∙ 𝐵̅ (𝐴 ̅ ∙ 𝐶̅ )
Esse resultado não tem como ser mais simplificado. A implementação do circuito é mostrada na
figura abaixo. Como podemos ver o circuito simplificado é bem mais simples que o circuito
original.
55
EXEMPLO 4.4: Simplifique o circuito lógico abaixo.
A B C
Solução:
̅ ∙ 𝐶̅ + 𝐴̅ ∙ 𝐵̅ ∙ 𝐶 + 𝐴̅ ∙ 𝐵 ∙ 𝐶̅ + 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶
̅∙𝑩
𝑌= 𝑨
𝑌 = 𝐴 + 𝐵𝐶
56
Esse resultado não tem como ser mais simplificado. Portanto, o circuito simplificado é mostrado
na figura abaixo, é bem mais simples que o circuito original.
A B C
57
4.3 Projectando circuitos lógicos
Qualquer problema lógico pode ser resolvido, usando o seguinte procedimento passo a passo:
EXEMPLO 4.5: Projecte um circuito lógico com três entradas, A, B e C, cuja saída será nível
ALTO apenas quando a maioria das entradas for nível ALTO.
Solução:
0 0 0 0 𝑋 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵̅ ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶̅ + 𝐴 ∙ 𝐵 ∙ 𝐶
0 0 1 0
3º Passo: Simplificar a expressão booleana:
0 1 0 0
𝑋 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵̅ ∙ 𝐶 + 𝐴 ∙ 𝐵(𝐶̅ + 𝐶)
0 1 1 1
𝑋 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵̅ ∙ 𝐶 + 𝐴 ∙ 𝐵 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴(𝐵̅𝐶 + 𝐵)
1 0 0 0
𝑋 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴(𝐶 + 𝐵) = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴𝐶 + 𝐴𝐵 = 𝐶(𝐴̅ ∙ 𝐵 + 𝐴) + 𝐴𝐵
1 0 1 1
1 1 0 1 𝑋 = 𝐶(𝐵 + 𝐴) + 𝐴𝐵 = 𝐵𝐶 + 𝐴𝐶 + 𝐴𝐵
58
EXEMPLO 4.6: Num escritório há um aparelho de AC, o escritório pertence a três pessoas, o
chefe e duas secretarias. O AC só é ligado se pelo menos duas pessoas estiverem de acordo.
Projecte esse circuito lógico.
Solução:
A – Chefe; B e C – Secretarias; 0 0 0 0
A = B = C = 1 (Sim)
A = B = C = 0 (Não) 0 0 1 0
X = 1 (AC ligado)
X = 0 (AC desligado) 0 1 0 0
𝑋 = 𝐴̅ ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵̅ ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶̅ + 𝐴 ∙ 𝐵 ∙ 𝐶
1 0 0 0
Simplificando a expressão booleana obtemos:
1 0 1 1
𝑋 = 𝐵𝐶 + 𝐴𝐶 + 𝐴𝐵
1 1 1 1
59
4.4 Método de mapa de Karnaugh
O mapa (ou diagrama) de Karnaugh é uma forma ordenada utilizada para simplificar uma
expressão lógica, que geralmente produz um circuito com configuração mínima. É construído com
base na tabela verdade e pode ser facilmente aplicado em funções envolvendo duas a seis variáveis.
60
3.6.1. Regras para simplificação de funções lógicas usando o mapa de Karnaugh
̅∙𝑩
𝑭𝑨𝑩𝑪 = 𝑨 ̅+𝑨
̅ ∙𝑪 ̅∙𝑩
̅ ∙𝑪+𝑨 ̅+𝑨
̅∙𝑩∙𝑪 ̅∙𝑩∙𝑪+𝑨∙𝑩
̅ ∙𝑪+𝑨∙𝑩∙𝑪
Solução: Podemos escrever a função lógica na seguinte forma: 𝑭𝑨𝑩𝑪 = ∑(𝟎, 𝟏, 𝟐, 𝟑, 𝟓, 𝟕). Agora,
preenchemos o mapa de Karnaugh de acordo com a função lógica, e em seguida simplificamos a
mesma.
̅+𝑪
𝑭𝑨𝑩𝑪 = 𝑮𝟏 + 𝑮𝟐 = 𝑨
61
EXEMPLO 4.8: Simplifique a seguinte função usando o mapa de Karnaugh:
̅ +𝑨
𝑭𝑨𝑩𝑪 = 𝑮𝟏 + 𝑮𝟐 + 𝑮𝟑 = 𝑩 ̅𝑪 + 𝑫
Alguns circuitos lógicos podem ser projectados de forma que existam certas condições de entradas
para as quais não existem níveis de saída especificados, geralmente porque essas condições de
entradas nunca ocorrerrão. Em outras palavras, existem certas combinações para os níveis de
entrada em que é irrelevante (don´t care) se a saída é nível ALTO (1) ou BAIXO (0). Observa a
tabela de verdade abaixo.
A B C Z
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 x
4 1 0 0 x
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
62
Nesse caso, a saída Z não é especificada nem como 0 nem como 1, nas posições 3 e 4. Em vez de
níveis, um x é mostrado nessas posições. O x representa a condição de irrelevância (don´t care).
Mediante a decisão do projectista a variável x poderá assumir a valor lógico 0 ou 1 para qualquer
condição de irrelevância, podendo isso gerar uma expressão de saída mais simples. Nesse exemplo
assumimos X3= 0 e X4 = 1, para obtemos o melhor agrupamento no mapa de Karnaugh. Assim
teremos: Z = A.
63
Capítulo V - Circuitos Combinacionais
Circuitos combinacionais (ou circuitos combinatórios) são aqueles cujas saídas dependem apenas
da combinação dos valores das entradas em determinado instante. Neste capítulo serão estudados
os principais circuitos combinacionais utilizados em sistemas digitais: codificadores,
decodificadores, multiplexadores, demultiplexadores e circuitos aritméticos.
5.1 Codificadores
Os sistemas digitais trabalham com informações representadas por níveis lógicos zeros (0) e uns
(1), conhecidos como bits (dígitos binários). Portanto, todas as informações correspondentes a
sinais de som, vídeo e teclado (números e letras), por exemplo, devem ser convertidas em bits para
que sejam processadas por um sistema digital. Devido ao número de códigos diferentes criados
para a representação de grandezas digitais, surge há necessidade de se desenvolver circuitos
electrónicos capazes de converter um código em outro.
Um codificador é um circuito lógico que aceita um nível activo em uma das suas entradas
representando um dígito, tal como um dígito decimal ou octal e o converte em uma saída
codificada, tal como binário ou BCD. Um codificador tem um certo número de linhas de entrada,
em que só uma delas é activada por vez, e produz um código de saída de N bits, dependendo de
qual entrada está activada.
A Figura 5.1 mostra o diagrama geral para um codificador com M entradas e N saídas. Nesse caso,
as entradas são activas em nível ALTO, o que significa que estão normalmente em nível BAIXO.
64
Pode-se determinar o número de saídas (N) de um codificador a partir do número de entradas (M),
conforme mostra a equação 5.1:
𝑀 = 2𝑁 (5.1)
Alguns codificadores que serão vistos como por exemplo, o codificador decimal para BCD (10
entradas e 4 saídas), não obedecem a equação 5.1.
Solução:
a) Símbolo lógico b) TV
E A0 Entradas Saídas
n
t O1 Saídas A0 A1 A2 A3 O1 O0
A1
r N Bits
a A2 O0 1 0 0 0 0 0
d
a A3 0 1 0 0 0 1
s
Codificador 0 0 1 0 1 0
4/2
A2
O1
A3
O0
A1
65
Para isso, devemos utilizar um codificador com função de prioridade. O codificador de prioridade
funciona da seguinte maneira: se duas ou mais entradas forem activadas ao mesmo tempo, a
entrada mais elevada vai ter prioridade. Por exemplo, quando teclamos as entradas 3 e 5 em
simultâneo, o código de saída será 1012 (5).
Exemplo de circuito integrado 74147: codificador com prioridade decimal-BCD. A Figura 5.2
identifica o símbolo lógico do CI 74147 e a tabela verdade correspondente.
Observando a tabela verdade do circuito integrado da Figura 5.2, concluímos que nove linhas de
entrada activas em nível baixo representam os números decimais de 1 a 9. A saída do CI sugerido
é o código BCD invertido, correspondente à entrada de maior prioridade. Caso todas as entradas
estejam inactivas em nível ALTO, então as saídas estarão todas em nível ALTO. As saídas ficam
normalmente em nível alto quando nenhuma entrada está activa (Figura 5.2). Lembrando de que,
x representa don´t care (termo de irrelevância).
66
Tabela 1 Codificador de prioridade CI 74147
Entradas Saídas
̅1
A ̅2
A ̅3
A ̅4
A ̅5
A ̅6
A ̅7
A ̅8
A ̅9
A ̅3
O ̅2
O ̅1
O ̅0
O
1 1 1 1 1 1 1 1 1 1 1 1 1
X X X X X X X X 0 0 1 1 0
X X X X X X X 0 1 0 1 1 1
X X X X X X 0 1 1 1 0 0 0
X X X X X 0 1 1 1 1 0 0 1
X X X X 0 1 1 1 1 1 0 1 0
X X X 0 1 1 1 1 1 1 0 1 1
X X 0 1 1 1 1 1 1 1 1 0 0
X 0 1 1 1 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 0
EXEMPLO 5.2: Determine os estados das saídas do CI 74147 - Codificador com prioridade
quando 𝐴̅5, 𝐴̅7 e 𝐴̅3 estiverem em BAIXO e todas as outras entradas estiverem em ALTO.
Solução:
A Tabela de Verdade do CI 74147 mostra que, quando 𝐴̅7 está BAIXO, os níveis de 𝐴̅5 e 𝐴̅3
não importam. Assim, saídas serão 1000, ou seja 𝑂̅3 = 1, 𝑂̅2 = 0, 𝑂̅1 = 0, 𝑂̅0 =
0, respectivamente o inverso de 0111(7).
Problema relacionado. Determine os estado das saídas do CI 74147 quando 𝐴̅4, 𝐴̅2 e 𝐴̅8 ,
estiverem em nível lógico 0 e as restantes entradas em nível lógico 1.
67
5.2. Display de 7 segmentos
Como podemos ver na Figura 5.3, o display de 7 segmentos é formado, na realidade por oito LEDs
separados (sete segmentos e um ponto decimal). O formato de display de sete segmento é utilizado
para exibir qualquer número de 0 a 9 ou algumas letras. Esse dispositivo é muito utilizado em
electrónica já que permite mostrar números ou dados provenientes de algum processo.
Há dois tipos de display de 7 segmentos de LED: ânodo comum e cátodo comum. Como podemos
observar na Figura 5.4, o ânodo comum tem todos os ânodo dos sete segmentos conectados entre
si, e da mesma forma, quando se trata de um display do tipo cátodo comum todos os cátodos são
conectados uns aos outros.
68
Figura 5.5 Representação dos dígitos de 0 - 9
Figura 5.5 Representação do display mostrando o na maior parte das aplicações com displays
requer que trabalhemos com o código decimal (BCD). Uma possibilidade é utilizar o CI 4511 (ou
CI7447), que é um decodificador BCD – 7 segmentos. A Figura 5.6 mostra a representação dos
pinos desse circuito e a tabela verdade detalhada.
69
Para os códigos binários correspondentes aos dígitos maiores do que 9, todas as saídas são
colocadas em nível “0” e, consequentemente, todos os segmentos do display ficam apagados.
5.3 Decodificador
𝑀 = 2𝑁 (5.2)
O3 Entradas Saídas
A Decode O2 A B O0 O1 O2 O3
Entradas
N 2:4 Saídas
0 0 1 0 0 0
B M
O1
0 1 0 1 0 0
O0
1 0 0 0 1 0
1 1 0 0 0 1
a) Símbolo lógico b) TV
̅∙𝐵
c) Funções lógicas: 𝑂0 = 𝐴 ̅ ∙ 𝐵; 𝑂2 = 𝐴 ∙ 𝐵
̅; 𝑂1 = 𝐴 ̅; 𝑂3 = 𝐴 ∙ 𝐵
70
d) Circuito lógico
O decodificador de BCD para 7 segmentos aceita o código BCD em suas entradas e fornece saídas
para accionar displays de 7 segmentos para produzir uma leitura decimal. O diagrama lógico para
um decodificador de 7 segmentos básico é mostrado na Figura 5.8.
71
Figura 5.9 Diagrama de pinos e símbolo lógico
Conforme indicado pelos pequenos círculos no símbolo lógico, todas as saídas (de a até g) são
activas em nível baixo, bem como as funções (teste de lâmpada - ̅̅
𝐿𝑇̅̅), 𝑅𝐵𝐼
̅̅̅̅̅ (entrada de
̅̅̅̅̅̅). As saídas podem
̅̅̅ /𝑅𝐵𝑂
apagamento) e (entrada de apagamento/saída de apagamento – 𝐵𝐼
accionar directamente um display de 7 segmentos do tipo ânodo comum.
A Figura 5.10 (a) mostra o diagrama lógico para o decodificador BCD para decimal (CI 7442), ou
seja, é um decodificador que possui 4 entradas e 10 saídas. Cada saída vai para nível BAIXO
apenas quando a entrada BCD correspondente é aplicada. Por exemplo, 𝑂̅8 irá para nível BAIXO
apenas quando for DCBA = 1000 ou seja D=1, C=0, B=0, A=0.
Para as combinações de entrada que forem inválidas para BCD, nenhuma das saídas será activada.
72
a) Símbolo lógico
Por outro lado, esse decodificador pode ser usado para implementar funções lógicas de 1, 2 e 3
variáveis. Por exemplo, quando usamos o CI 7442 para implementar Entradas Saída Activa
uma função de 3 variáveis devemos conectar a entrada BCD mais D C B A
significativa em nível BAIXO e as restantes são conectadas as 0 0 0 0 ̅0
O
variáveis booleanas. As saídas do decodificador são conectadas ̅1
0 0 0 1 O
numa porta NAND de acordo com a função booleana na forma
0 0 1 0 ̅2
O
canónica ou TV. Um exemplo ajudará a esclarecer essa aplicação.
0 0 1 1 ̅3
O
0 1 0 0 ̅4
O
0 1 0 1 ̅5
O
0 1 1 0 ̅6
O
0 1 1 1 ̅7
O
1 0 0 0 ̅8
O
1 0 0 1 ̅9
O
1 0 1 0 Nenhuma
1 0 1 1 Nenhuma
1 1 0 0 Nenhuma
1 1 0 1 Nenhuma
1 1 1 0 Nenhuma
1 1 1 1 Nenhuma
73
EXEMPLO 5.4 Implemente a seguinte função lógica 𝐹𝐴𝐵𝐶 = ∑(1,3,6,7), usando o CI 7442.
Compare esse método com uma implementação que usa portas lógicas discretas.
Solução:
Observe a partir da função lógica FABC é nível 1, nas posições 1, 3, 6 e 7. Isso significa que as
saídas do decodificador 4/10 - CI 7442, devem ser conectadas numa porta NAND uma vez que as
saídas desse decodificador são activas em nível BAIXO. Em relação as entradas BCD, conecta-se
a entrada mais significativa em nível BAIXO e as restantes são ligadas as variáveis booleanas,
conforme mostra a Figura abaixo.
0
1
D (MSB)
2
GND 3
Fabc
A C 4
CI 7442
B B 5
6
C A
7
8
9
A implementação dessa função com portas lógicas necessitaria de quatro portas AND de 3
entradas, uma porta OR de 4 entradas e três inversores, a menos que essa expressão possa ser
simplificada. Portanto, quando implementamos funções lógicas usando o CI 7442 reduzimos
bastante o número de portas lógicas (CIs), tornando mais muito fáceis as alterações de projectos.
74
5.4 Multiplexadores e Demultiplexadores
5.4.1 Multiplexadores
Um sistema de som moderno pode ter uma chave que selecciona música de uma das quatro fontes:
compact disc (CD), DVD, rádio ou uma pendrive ligada na entrada USB. Essa chave selecciona
um dos sinais electrónicos dessas quatro fontes e envia para o amplificador de potência e alto-
falantes. Em outras palavras, isso é o que um multiplexador (MUX) faz: selecciona um dos
diversos sinais de entrada e o envia para a saída.
Um multiplexador ou selector de dados é um circuito lógico que recebe diversos dados digitais
de entrada e selecciona um deles, em um determinado instante, para transferi-lo para a saída. O
envio do dado de entrada desejado para saída é controlado pelas entradas de selecção.
A relação entre as entradas de selecção (n) e as entradas de dados (m) é mostrada na equação
abaixo.
𝑚 = 2𝑛 (5.3)
Solução: Uma vez que temos duas entradas de selecção (n = 2), a partir equação 5.3 podemos
determinar o número de entradas de dados (m):
𝑚 = 2𝑛 = 22 = 4 (𝐸𝑛𝑡𝑟𝑎𝑑𝑎𝑠 𝑑𝑒 𝑑𝑎𝑑𝑜𝑠)
a) Símbolo lógico b) TV
MUX
Entradas de Saída de
D0
selecção de dados dados
Entradas D1
de Dados S1 S0 Y
(m) D2 Saídas de
Y 0 0 D0
Dados
D3
0 1 D1
S1 S0
1 0 D2
1 1 D3
Entradas de Selecção (n)
75
d)Diagrama lógico
S1 S0
D0
D1
Y
D2
D3
A Figura 5.11 (a) mostra o diagrama lógico para o multiplexador de oito entradas de dados – CI
74151. Esse MUX tem uma entrada de habilitação 𝐸̅ (ENABLE) e fornece ambas saídas, normal
(Y) e invertida (𝑌̅). Quando 𝑬
̅ = 𝟎, as entradas de selecção S2S1S0 seleccionam uma das entradas
̅ = 𝟏, o multiplexador é
de dados (de D0–D7) para ser transferida para a saída Y. Quando 𝑬
desabilitado, de forma que Y = 0 independetemente do código na entrada de selecção. Essa
operação é resumida na TV do CI 74151
Entradas Saída
𝐄̅ S2 S1 S0 Y
S2 D0 D1 D2 D3 D4 D5 D6 D7
1 X X X 0
S1
MUX de 8 entradas de Dados
0 0 0 0 D0 74151
Y
S0
0 0 0 1 D1
E
0 0 1 0 D2 Figura 5.11 Diagrama lógico
0 0 1 1 D3
0 1 0 0 D4
0 1 0 1 D5
0 1 1 0 D6
0 1 1 1 D7
76
5.4.1.2 Multiplexador como gerador de funções lógicas
Multiplexadores podem ser usados para implementar funções lógicas directamente da TV (ou da
função na forma canónica) sem a necessidade de simplificação. Quando um MUX é usado com
essa finalidade, as entradas de selecção são usadas como variáveis lógicas, e cada entrada de dados
é conectada em nível ALTO ou BAIXO conforme necessário para satisfazer a TV (ou a função na
forma canónica). O exemplo a seguir ajudará a esclarecer essa aplicação.
Solução:
Observe a partir da função lógica que Y é nível 1 para as seguintes nas combinações 1,3,6 e 7.
Para todas as outras combinações, Y é nível 0. Assim sendo as entradas de dados D1, D3, D6 e D7
são levadas para nível ALTO (+5V), pois correspondem às entradas do MUX que são
seleccionadas pelas variáveis de selecção e que aparecerão na saída conforme estabelecido pela
função. As demais variáveis são levadas para o nível BAIXO (GND).
+5V
E D0 D1 D2 D3 D4 D5 D6 D7
GND
A S2
MUX de 8 entradas de Dados
Y
B S1 74151
C S0
𝑌 = ∑(1,3,6,7)
77
O Exemplo 5.6 mostra como um seletor de dados de 8 entradas (CI 74151) pode ser usado como
um gerador de função lógica para três variáveis. Na realidade, esse dispositivo também pode ser
usado como um gerador de função lógica de 4 variáveis fazendo uso de um dos bits (variável
menos significativa – D) em conjunto com as entradas de dados. Uma tabela-verdade de 4
variáveis tem 16 combinações das variáveis de entrada. Quando um selector de dados de 8 bits é
usado, cada entrada é seleccionada duas vezes: a primeira vez quando D é nível 0 e a segunda vez
quando D é nível 1. Com isso em mente, as regras a seguir podem ser aplicadas (Y é a saída e D é
o bit menos significativo):
1. Se Y = 0 nas duas vezes em que uma dada entrada for seleccionada por uma certa
combinação de variáveis de entrada, ABC, conecte essa entrada de dados em GND (0).
2. Se Y = 1 nas duas vezes em que uma dada entrada for seleccionada por uma certa
combinação de variáveis de entrada, ABC, conecte essa entrada de dados em +Vcc (1).
3. Se Y for diferente nas duas vezes em que uma dada entrada de dados for seleccionada por
uma certa combinação de variáveis de entrada, ABC, e se Y = D, conecte essa entrada de
dados em D.
4. Se Y for diferente nas duas vezes em que uma dada entrada de dados for seleccionada por
̅ ., conecte essa entrada de
uma certa combinação de variáveis de entrada, ABC, e se Y = 𝐷
̅.
dados em 𝐷
78
EXEMPLO 5.7: Implemente a função lógica dada pela tabela abaixo usando um CI 74LS151
(multiplexador de dados de 8 entradas). Compare esse método com uma implementação que usa
portas lógicas discretas.
Solução:
0 0 0 0 0
D0 0 0 0 1 1
0 0 1 0 1
D1 0 0 1 1 0
0 1 0 0 0
D2 0 1 0 1 1
0 1 1 0 1
D3 0 1 1 1 1
1 0 0 0 1
D4 1 0 0 1 0
Obtendo a forma de mintermos temos:
1 0 1 0 1
𝑌 = 𝐴̅𝐵̅𝐶̅ 𝐷 + 𝐴̅𝐵̅𝐶𝐷̅ + 𝐴̅𝐵𝐶̅ 𝐷 + 𝐴̅𝐵𝐶𝐷
̅ + 𝐴̅𝐵𝐶𝐷 + 𝐴𝐵̅𝐶̅ 𝐷
̅ + 𝐴𝐵̅𝐶𝐷
̅
D5 1 0 1 1 0 + 𝐴𝐵𝐶̅ 𝐷
̅ + 𝐴𝐵𝐶̅ 𝐷 + 𝐴𝐵𝐶𝐷
1 1 0 0 1
Caso fosse implementado com portas lógicas, a função necessitaria
D6 1 1 0 1 1 de dez portas AND de 4 entradas, uma porta OR de 10 entradas e
1 1 1 0 0 dezanove portas NOTs, embora uma possível simplificação reduzisse
D7 1 1 1 1 1 essas especificações.
EXEMPLO 5.8 Use CIs 74LS151 e qualquer outra lógica necessária para multiplexar 16 linhas
de dados em uma única linha de dados de saída.
Solução:
Esse circuito tem um total de 16 entradas de dados, oito aplicadas em cada MUX. As duas saídas
do multiplexador são combinadas em uma porta OR para gerar uma única saída X. O circuito
79
funciona como um multiplexador de 16 entradas. As quatro entradas de selecção
S3S2S1S0seleccionam uma das 16 entradas para transferi-la para a saída X.
80
5.5.1 Demultiplexador de 1 para 4
A Figura 5.12 (a) mostra o diagrama lógico para um DEMUX que distribui uma linha de entrada
de dados para 4 linhas de saída. A tabela de verdade resume a operação do demux 1:4.
O3 Selecção
Demux O2 S1 S0 O0 O1 O2 O3
Entradas 1:4 Saídas de
I
de dados Dados 0 0 I 0 0 0
(I) O1
0 1 0 I 0 0
S1 S0 O0
1 0 0 0 I 0
1 1 0 0 0 I
a) Símbolo lógico b) TV
𝑂0 = 𝐼 ∙ 𝑆̅1 ∙ ̅̅̅
𝑆0;
𝑂1 = 𝐼 ∙ 𝑆̅1 ∙ 𝑆0 ;
𝑂2 = 𝐼 ∙ 𝑆1 ∙ ̅̅̅
𝑆0;
𝑂3 = 𝐼 ∙ 𝑆1 ∙ 𝑆0 ;
81
5.6.1. Somadores básicos
5.6.1.1. O Meio-Somador
O meio-somador (Half-Adder, HA) aceita dois dígitos binários em suas entradas (A e B) e produz
dois dígitos binários em suas saídas, um bit de soma (∑) e um bit de transporte de saída (Carry out
- Cout).
a) Símbolo lógico b) TV
Entradas Saídas
A B ∑ Cout
0 0 0 0
0 1 1 0
c) Funções lógicas 1 0 1 0
∑ = 𝐴̅ 𝐵 + 𝐴𝐵̅ = 𝐴⨁𝐵 1 1 0 1
𝐶𝑜𝑢𝑡 = 𝐴𝐵 d) Circuito lógico
5.6.1.2. Somador Completo
O somador-completo (Full-Adder, FA) aceita dois bits de entrada (A e B) e um transporte de
entrada (Cin), e gera uma saída de soma (∑) e um transporte de saída (Cout).
A B Cin ∑ Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
a) Símbolo lógico b) TV 0 1 1 0 1
c) Funções lógicas 1 0 0 1 0
∑ = 𝐴̅𝐵̅ 𝐶𝑖𝑛 + 𝐴̅𝐵 ̅̅̅̅̅
𝐶𝑖𝑛 + 𝐴𝐵̅ ∙ ̅̅̅̅̅
𝐶𝑖𝑛 + 𝐴𝐵𝐶𝑖𝑛 1 0 1 0 1
= 𝐶𝑖𝑛(𝐴̅ ∙ 𝐵̅ + 𝐴𝐵) + ̅̅̅̅̅
𝐶𝑖𝑛 ∙ (𝐴̅𝐵 + 𝐴𝐵̅ )
1 1 0 0 1
∑ = 𝐶𝑖𝑛 ∙ ̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅ ∙ (𝐴 ⊕ 𝐵) = 𝐶𝑖𝑛 ⊕ (𝐴 ⊕ 𝐵)
(𝐴 ⊕ 𝐵) + 𝐶𝑖𝑛
1 1 1 1 1
𝐶𝑜𝑢𝑡 = 𝐴̅𝐵𝐶𝑖𝑛 + 𝐴𝐵̅ 𝐶𝑖𝑛 + 𝐴𝐵 ∙ ̅̅̅̅̅
𝐶𝑖𝑛 + 𝐴𝐵𝐶𝑖𝑛
82
𝐶𝑜𝑢𝑡 = 𝐶𝑖𝑛(𝐴̅𝐵 + 𝐴𝐵̅ ) + 𝐴𝐵(𝐶𝑖𝑛
̅̅̅̅̅ + 𝐶𝑖𝑛) = 𝐶𝑖𝑛(𝐴⨁𝐵) + 𝐴𝐵
d) Circuito lógico
Diversos somadores binários de 4 bits estão na forma de CIs. O mais comum é um CI 7483 é um
dos somadores de quatro bits mais comuns. A Figura 5.13 mostra o símbolo funcional para o
somador de 4 bits.
As entradas desse CI são dois números de quatros bits, A = A4A3A2A1 e B = B4B3B2B1 e o seu
carry de entrada (C0 ou Cin) na posição de LSB. As saídas são os bits do resultado da soma e o
carry de saída (C4 ou Cout). Os bits da soma são denominados S4S3S2S1. A denominação S é uma
alternativa comum para a denominação da letra grega ∑ para um bit da soma.
Número Soma de
binário A 4 bits
Número
binário B
83
Quando somamos números binários com mais de um bit, cada coluna gera um bit de soma e um
bit de transporte (que pode ser 1 ou 0) para a próxima coluna à esquerda, conforme ilustrado a
seguir:
A4 A3 A2 A1
+ B4 B3 B2 B1
C4 S4 S3 S2 S1
Quando utilizamos o CI 7483 para somar a entrada de transporte do somador (C0) é sempre
conectada em GND (nível lógico 0), porque não existe transporte de entrada na posição do bit
menos significativo.
EXEMPLO 5.9: Use o CI 7483 (somador binário de 4 bits) para somar A = 1100 e B = 0110.
Solução:
1 1
Somando A e B temos:
1 1 0 0
A4 A3 A2 A1 B4 B3 B2 B1 + 0 1 1 0
A= 1 1 0 0 B= 0 1 1 0 1 0 0 1 0
C4 S 4 S3 S2 S1
Um CI 7483 (somador de 4 bits) pode ser expandido para realizar uma adição de dois números de
8 bits usando dois CIs . A entrada de transporte do somador menos significativo (Cin/C 4) é
conectada em GND porque não existe transporte de entrada na posição do bit menos significativo
e o transporte de saída do somador menos significativo é conectada na entrada de transporte do
somador mais significativo, conforme mostra a Figura 5.14. Esse processo é conhecido como
conexão em cascata. Observe que, nesse caso, o transporte de saída é indicado por C8 porque ele
84
é gerado a partir da posição do oitavo bit. O somador menos significativo é o que soma os quatro
bits menos significativos, de ordem inferior, e o somador mais significativo é o que soma os quatro
bits mais significativos, de ordem superior, do número de 8 bits.
A8 A7 A6 A5 A4 A3 A2 A1
+ B8 B7 B6 B5 B4 B3 B2 B1
C8 S8 S7 S6 S5 S4 S3 S2 S1
Figura 5.14 Associação em cascata de dois somadores de 4 bits para construir um somador de 8 bits.
EXEMPLO 5.10: Mostre como dois somadores 7483 podem ser conectados para formar um
somador paralelo de 8 bits. Mostre os bits de saída para os seguintes números de entrada de 8 bits:
A = 1011 1001 e B= 1001 1110
Solução:
Dois somadores paralelos de 4 bits (7483) são usados para implementar um somador de 8 bits. A
única conexão entre os dois CIs é a saída de transporte do somador menos significativo com a
entrada de transporte do somador mais significativo, como mostra a Figura abaixo. O pino 7 do
somador menos significativo é conectado em GND (sem transporte de entrada).
A8 A7 A6 A5 A4 A3 A2 A1 B8 B7 B6 B5 B 4 B3 B2 B1
A= 1 0 1 1 1 0 0 1 B= 1 0 0 1 1 1 1 0
85
Somando A e B temos:
1 1 1 1
1 0 1 1 1 0 0 1
+ 1 0 0 1 1 1 1 0
1 0 1 0 1 0 1 1 1
C8 S 8 S7 S6 S5 S4 S3 S2 S1
O circuito somador/subtrador de 4 bits, mostrado na Figura 5.15, possuí uma entrada adicional
denominada entrada de controlo. Quando esta entrada estiver em nível BAIXO, o circuito vai
comportar-se como somador. Quando a entrada de controlo estiver em nível ALTO, o circuito
funciona como subtrador. As portas Exclusive-OR, se comportam como portas NOTs. O
diminuendo (B) é invertido e a entrada Cin (C0) fica em nível ALTO, ou seja é o mesmo que
somar 1 ao complemento de 1 (C1) do diminuendo.
̅ +𝟏
𝑨−𝑩=𝑨+𝑩
86
Figura 5.15 Circuito somador/subtrador de 4 bits
87
2º Metódo:
Para subtrair os números A e B, podemos utilizar o circuito abaixo. Em que as portas XORs são
substituídas por portas NOTs, e é aplicada um nível ALTO na entrada de transporte, C0.
88
5.6.5 Comparadores
Um comparador é um circuito combinatório que compara dois números e indica se eles são iguais
ou não. A seguir mostra-se o símbolo lógico, a TV, as funções lógicas e o circuito lógico de um
comparador de dois números de um bit de cada um.
a) Símbolo lógico b) TV
S0 S1 S2
A B (A=B) (A>B) (A<B)
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
89
5.5.6.1 Comparador de 4 bits (CI 7485)
Entradas
Saídas
Entradas de
Expansão
Observe que esse dispositivo tem todas as entradas e as saídas do comparador generalizado
abordado anteriormente e, além disso, tem três entradas para conexão em cascata: IA<B, IA=B, A
IA>B. Essas entradas permitem que diversos comparadores sejam conectados em cascata para
comparação de números com qualquer quantidade de bits maior que quatro. Para expandir o
comparador menos significativo tem que ter um nível ALTO na entrada A = B e um nível BAIXO
90
EXEMPLO 5.12: Determine as saídas A = B, A > B e A < B, do comparador do CI 7485 para os
números de entradas: A = 1001 e B = 0100.
Solução:
A3 A2 A1 A0 B3 B2 B1 B0
A= 1 0 0 1 B= 0 1 0 0
O comparador tem que ter um nível ALTO (1) na entrada IA = B e um nível BAIXO (0)
nas entradas IA < B e IA > B. O número nas entradas A é 1001 e o número nas entradas B é 0100.
A saída A > B é nível ALTO e as outras saídas são nível BAIXO.
91
Capítulo VI Circuitos Sequenciais
Os circuitos sequenciais têm saídas dependentes de entradas e/ou de seus estados anteriores que
permanecem armazenados, sendo, geralmente, que operam sob o comando de uma sequência de
pulsos denominada clock (relógio). Neste capítulo, trataremos o estudo de Flip-Flop (FF) que é o
elemento de memória mais importante e de circuitos nos quais eles fazem o papel de elemento
principal.
6.1 Flip-Flop
De forma geral, podemos representar o Flip-Flop como um bloco onde temos 2 saídas: Q (saída
normal) e 𝑄̅ (saída invertida), entradas para as variáveis e uma entrada de controlo (clock). A saída
Q será a principal do bloco. A Figura 6.1 ilustra um flip-flop genérico.
̅ =𝟎
1. 𝑸 = 𝟏 → 𝑸
̅ =𝟏
2. 𝑸 = 𝟎 → 𝑸
̅ = 𝟏, não é permitido.
Nota: O estado do flip-flop: 𝑸 = 𝟏 → 𝑸
92
6.1.1 Flip-flop RS básico
Primeiramente, vamos analisar o flip-flop RS básico (sem relógio), construído a partir de portas
NANDs, e portas inversoras cujo circuito é mostrado na Figura 6.2.
Notamos que estes elos de realimentação fazem com que as saídas sejam injectadas juntamente
com as variáveis de entrada, ficando claro, então, que os estados que as saídas irão assumir
dependerão de ambas.
A entrada S é denominada Set, porque quando accionada (nível 1), passa a saída para 1 e a entrada
R é denominada Reset, porque quando accionada (nível 1), passa a saída para 0. A seguir,
apresentamos o resumo flip-flop básico do flip-flop RS básico com portas NANDs:
a) Símbolo lógico b) TV
S R Qf Modo de operação do FF
0 1 0 Reset
1 1 Não Permitido
93
Este circuito irá mudar de estado apenas no instante em que mudam as variáveis de entrada.
Veremos como é o circuito de um flip-flop RS que tem sua mudança de estado controlada pela
entrada de clock.
EXEMPLO 6.1 Apresente os valores binários da saída normal (Q) do flip-flop RS da Fig 6.3.
Os valores binários da saída normal (Q) do flip-flop RS básico para cada pulso de entrada é a
seguinte:
EXEMPLO 6.2 Apresente o modo de operação do flip-flop RS para cada pulso de entrada
mostrado na Figura 6.3.
Solução:
Os modos de operação do flip-flop RS para cada pulso de entrada na figura 6.3 são:
Pulso a = reset; pulso b = estado proibido; pulso c = set; pulso d = estado proibido; pulso e = set;
pulso f = estado proibido; pulso g = reset; pulso h = estado proibido; pulso i = mantém o estado
anterior; pulso j = set.
Para que o flip-flop RS básico seja controlado por uma sequência de clock, é necessário trocarmos
os dois inversores por portas NANDs, e às outras entras destas injectamos o clock. O circuito com
essas modificações, é mostrado na Figura 6.4.
94
Figura 6.4 Flip-flop RS com entrada clock
Neste circuito, quando a entrada do clock for igual a 0, o flip-flop irá permanecer no seu estado,
mesmo que variem as entradas S e R. Isso poder confirmado pela análise do circuito, onde
concluímos que para o clock = 0, as saídas das portas NANDs de entrada serão sempre iguais a 1,
independentemente dos valores assumidos por S e R. A Figura abaixo ilustra esta situação.
Quando a entrada clock assumir o valor 1, o circuito irá comportar-se como um flip-flop RS básico,
porque as portas NANDs de entrada funcionarão como inversores do circuito anteriormente visto.
A tabela 6.4 resume a operação deste tipo de flip-flop em função da entrada clock.
CLK Qf
0 Qa
1 RS Básico
De maneira geral, podemos concluir que o circuito irá funcionar quando a entrada de clock assumir
o valor e manterá travada esta saída quando a entrada clock passar para 0. O flip-flop RS pode ser
95
representado pelo bloco visto na Figura 6.4. A seguir é mostrado o resumo do flip-flop RS com
clock. b) TV
CLK S R Q
0 X X Qa
0 0 0 Qa
1 0 1 0
a) Símbolo lógico X – don´t care
1 1 0 1
1 1 1 Não permitido
Sinais de clock
Os sistemas digitais podem operar de modo assíncrono ou de modo síncrono. Nos sistemas
assíncronos, as saídas dos circuitos lógicos podem mudar de estado a qualquer momento em que
uma ou mais entradas mudem de estado. Um sistema assíncrono é geralmente mais difícil de se
projectar e depurar do que um sistema síncrono. Nos sistemas síncronos, um sinal, comummente
chamado de clock, determina os momentos nos quais qualquer uma das saídas pode mudar de
estado. Este sinal de clock é geralmente um trem de pulsos rectangulares ou onda quadrada, como
pode ser visto na Figura 6.5.
96
O flip-flop com clock têm uma entrada de clock que geralmente é chamada de CLK. Na maioria
dos flip-flops com clock é disparada por transição, o que significa que ela está activada pela
transição do sinal presente nesta entrada. Isto é indicado por um pequeno triângulo na entrada
CLK. Na Figura 6.6a, a entrada CLK é activada apenas quando uma transição positiva ocorre, não
sendo activada em nenhum outro momento. Na Figura 6.6b, a entrada CLK é activada apenas por
uma transição negativa, que é simbolizada pela presença de uma pequena bolha.
Figura 6.6 Flip-flop com clock têm uma entrada clock que pode ser disparada por (a) transição positiva ou (b)
transição negativa
EXEMPLO 6.3 Determine as formas de onda da saída Q do flip-flop mostrado na Figura 6.7 para
as entradas S, R e CLK mostradas na Figura 6.8(a). Considere que o flip-flop disparado por
transição positiva esteja inicialmente resetado.
Solução:
1. No momento do pulso 1 de clock, S é nível BAIXO e R é nível BAIXO, assim Q não muda
de estado.
2. No momento do pulso 2 de clock, S é nível BAIXO e R é nível ALTO, assim Q permanece
em nível BAIXO (RESET).
3. No momento do pulso 3 de clock, S é nível ALTO e R é nível BAIXO, assim Q vai para
nível ALTO (SET).
4. No momento do pulso 4 de clock, S é nível BAIXO e R é nível ALTO, assim Q vai para
nível BAIXO (RESET).
5. No momento do pulso 5 de clock, S é nível ALTO e R é nível BAIXO, assim Q vai para
nível ALTO (SET).
6. No momento do pulso 6 de clock, S é nível ALTO e R é nível BAIXO, assim Q permanece
em nível ALTO.
97
Figura 6.8(a)
O flip-flop JK (Jack Kilby) nada mais é que um flip-flop RS realimentado da maneira mostrada
na Figura 6.9.
a) Símbolo lógico do JK b) TV
J K Q Modo de operação
0 0 Qa Mantém estado anterior
0 1 0 Reset
1 0 1 Set
1 1 ̅̅̅̅
𝑄𝑎 Comutação
98
EXEMPLO 6.4 Faça lista dos valores binários da saída normal (Q) do flip-flop JK da Fig 6.10,
depois da aplicação de cada pulso do relógio.
Solução:
De acordo com a TV do flip-flop JK, os valores binários da saída normal (Q) do flip-flop JK para
cada pulso do relógio é a seguinte:
EXEMPLO 6.5 Apresente o modo de funcionamento flip-flop JK durante cada um dos oitos
pulsos do relógio mostrado na Figura 6.10.
Solução:
Segundo a tabela de verdade do flip-flop JK, o modo de operação do flip-flop durante cada pulso
mostrado na Figura 6.10 é a seguinte:
Pulso a = set; pulso b = mantém o estado anterior; pulso c = reset; pulso d = mantém o estado
anterior; pulso e = mantém o estado anterior; pulso f = comutação (inverte o estado anterior);
pulso g = comutação; pulso h = comutação.
99
6.1.4 Flip-flop JK com entradas Preset e Clear
O flip-flop poderá assumir valores Q = 1 ou Q = 0 mediante a utilização das entradas Preset (PR)
e Clear (CLR).
As entradas Preset e Clear não podem assumir valor 0, simultaneamente pois acarretaria à saída
uma situação não permitida. Podemos representar o símbolo lógico e a tabela de verdade do flip-
flop JK com entradas Preset e Clear.
CLR PR Qf
0 0 Não permitido
0 1 0
1 0 1
1 1 Funcionamento normal
Os círculos na simbologia do bloco, indicam que as entradas Preset e Clear são activas em 0, ou
seja, funcionam respectivamente com nível 0 aplicado. Para utilizar estas entradas como activas
em 1, basta colocar inversores e na simbologia excluir os circuitos aqui empregados.
O flip-flop JK pode ser considerado como flip-flop universal, porque os demais flip-flops podem
ser construídos a partir do mesmo.
EXEMPLO 6.6 Apresente o modo de operação do flip-flop JK com entradas PRESET e CLEAR
durante cada um dos pulsos do relógio aplicado na entrada mostrado na Figura 6.12.
Figura 6.12
100
Solução:
Baseando-se na tabela de verdade do flip-flop JK com entradas Preset e Clear, o modo de operação
do flip-flop JK durante cada pulso do relógio mostrado na Figura 6.12 é a seguinte:
Pulso a = set, pulso b = comutação, pulso c = comutação, pulso d = resetado, pulso e = set,
pulso f = mantém estado anterior, pulso g = reset.
Solução:
Tendo em conta a tabela de verdade do flip-flop JK com entradas Preset e Clear, as saídas binárias
da saída Q para cada pulso mostrado na Figura 6.12 é a seguinte:
Este flip-flop é obtido a partir de um JK com as entradas curto-circuitadas (uma ligada à outra),
logo quando J assumir valor 1, K também assumirá valor 1, e quando J assumir valor 0, K também
assumirá valor 0. Obviamente, no caso desta ligação, não irão ocorrer nunca entradas como: J = 0
e K = 1; J = 1 e K = 0. A figura 6 mostra a ligação e o seu símbolo lógico do flip-flop tipo T obtido.
J K T Qf
0 0 0 Qa
0 1 não existe /
1 0 não existe /
1 1 1 ̅̅̅̅
𝑸𝒂
101
Eliminando os casos não existentes, obtemos a tabela de verdade do flip-flop tipo T:
T Qf
0 Qa
1 ̅̅̅̅
𝑄𝑎
̅̅̅̅) com a
Devido ao facto de o flip-flop tipo T, com entrada T igual a 1, complementar a saída (𝑄𝑎
entrada T igual a 1, a cada descida do clock será utilizada como célula principal dos contadores
assíncronos que serão estudados adiante. A sigla T vem de Toggle (comutado).
É obtido a partir de um flip-flop JK com a entrada K invertida (por inversor) em relação a J. Logo,
nesste flip-flop, teremos as seguintes entradas possíveis: J = 0, K = 1; J = 1 e K = 0. Obviamente,
não irão ocorrer casos: J = 0 e K = 0; J = 1 e K = 1. A figura 6 mostra como este é obtido e o seu
símbolo lógico.
J K D Qf
0 0 não existe /
0 1 0 0
1 0 1 1
1 1 não existe /
102
D Qf
0 0
1 1
Pela capacidade de passar para a saída (Qf) e armazenar o dado aplicado na entrada D, este flip-
flop será empregado como célula de registradores de deslocamento e em outros sistemas de
memória, a serem estudados adiante. A sigla D vem de Data (dado), termo original em inglês.
O flip-flop JK apresenta uma característica indejável. Quando o clock for igual a 1, teremos o
circuito funcionando como sendo um circuito combinacional, porque haverá a passagem das
entradas J e K, e também da realimentação. Nessa situação, se houver uma mudança o circuito
apresentará uma nova saída, podendo mudar o seu estado diversas vezes quantas alterarem os
estados das entradas J e K. Para resolver esse problema, foi criado o flip-flop JK Mestre-Escravo
(Master-Slave) cujo o circuito é apresentado na Figura 6.13.
Primeiramente, devemos notar que quando o clock for igual a 1, haverá a passagem das entradas
̅̅̅1 (entradas S e R do circuito escravo),
J e K (circuito mestre), porém não das saídas 𝑄1 e 𝑄
103
porque enquanto o clock do circuito mestre for igual a 1, no circuito escravo será 0, bloqueando
suas entradas.
J K Q
0 0 Qa
0 1 0
1 0 1
1 1 ̅̅̅̅
𝑄𝑎
Verificamos que esta tabela de verdade é idêntica à de um JK básico, mas a saída Q irá assumir
valores, conforme a situação das entradas JK, somente após a passagem do clock para 0. Assim
sendo, o circuito é chamado JK Mestre-Escravo sensível à descida de clock (transição negativa).
Para obter um circuito sensível à subida de clock (transição positiva) temos que colocar um
inversor interno à entrada de clock.
A Figura 6.14 mostra o bloco JK Mestre-Escravo e simbologia para identificar o circuito sensível
à descida de clock (a) e à subida de clock (b).
Figura 6.14 Circuito sensível à descida de clock (a) e à subida de clock (b)
O círculo no bloco da Figura 6.14(a), indica que o clock é activo quando passa de 1 para 0.
104
6.2 - Contadores
Os contadores são circuitos digitais que variam os seus estados, sob o comando de um clock, de
acordo com uma sequência predeterminada. São utilizados principalmente para contagens
diversas, divisão de frequência, medição da frequência e tempo, geração de forma de onda.
Módulo do contador
O modulo do contador (MOD) indica o número de estados que o contador percorre em cada ciclo
completo de contagem antes de reciclar ao estado inicial.
𝑴𝑶𝑫 = 𝟐𝑵
Os contadores podem ser também classificados pelo tipo de contagem que executam, ou seja, se
executam uma contagem crescente ou decrescente. Se o contador executar uma contagem
progressiva de 0 até n denomina-se Contador Crescente. Se o contador realizar uma contagem de
n a 0 denomina-se Contador Decrescente.
Contadores Assíncronos
Um contador assíncrono é aquele no qual os flip-flops (FFs) que constituem o contador não mudam
de estado exactamente ao mesmo tempo porque eles não têm um pulso de clock comum. Neste
tipo de circuito, a entrada clock se faz apenas no primeiro flip-flop, sendo as outras derivadas das
saídas dos flip-flops anteriores.
105
Mestre-Escravo, os quais possuem entrada T ou, no caso, J e K iguais a 1, originando na saída
𝑄𝑓 = ̅̅̅̅
𝑄𝑎 (comutação), a cada descida de clock. A entrada dos pulsos se faz através da entrada do
1º flip-flop, sendo as entradas clock dos flip-flops seguintes, conectadas às saídas Q dos
respectivos antecessores conforme circuito visto na Figura 6.15.
Vamos fazer, inicialmente, com que todos os flip-flops assumam saídas iguais a 0, através da
aplicação de um nível 0 à entrada CLEAR. A cada descida do pulso de clock, o 1º flip-flop irá
mudar de estado, sendo esta troca aplicada à entrada do 2º flip-flop, fazendo com que este troque
de estado a cada descida da saída Q0, assim diante. Vamos analisar este comportamento através da
tabela abaixo.
Descida do clock Q2 Q1 Q0
1º 0 0 0
2º 0 0 1
3º 0 1 0
4º 0 1 1
5º 1 0 0
6º 1 0 1
7º 1 1 0
8º 1 1 1
9º (Reinicia) 0 0 0
106
Considerando Q0 como bit menos significativo (LSB) e Q2 como mais significativo (MSB), temos
nas saídas o sistema binário em sequência (000 a 111). Notamos ainda, que após a 9 ª descida de
clock, o contador irá reiniciar a contagem. A Figura 6.16 apresenta, toda a sequência obtida
graficamente, a partir da variação aplicada à entrada do sistema.
Assim sendo, podemos notar que uma das aplicações dos contadores será de dividir a frequência
de sinais (onda quadrada) aplicados à entrada clock. No caso desde contador, a divisão será por
um número múltiplo de 2𝑁 .
Em outras palavras, em qualquer contador, o sinal na saída do último FF (ou seja, o MSB)
tem uma frequência do clock de entrada dividida pelo módulo do contador.
Por exemplo, em um contador de módulo 8, a saída a partir do último flip-flop tem uma frequência
1/8 da frequência do clock de entrada. Assim, ele pode ser chamado de um contador divisor por 8.
Para fazer um contador de 0 até um número n qualquer. Para isso, basta apenas verificamos quais
saídas do contador para o caso seguinte a n, para colocamos estas saídas numa porta NAND e a
saída desta ligarmos as entradas CLEAR dos flip-flops.
107
EXEMPLO 6.9 Elaborar o circuito de um contador de 0 a 5 (Módulo 6).
Solução:
No circuito, usaremos somente 3 FFs, pois são suficientes para contamos de 0 a 710 (23 = 8). Nesse
caso, desejamos que o contador recomece a contagem após o estado 5, ou seja, passe para 0 todos
os flip-flops.
108
6.2.1.3 Contadores Assíncronos Decrescentes
Os contadores vistos até aqui são crescentes, pois contam os números progressivamente de 0 a n.
Vamos estudar, agora, os contadores que efetuam a contagem decrescente. Esta, é vista na tabela
a seguir.
Contagem Q2 Q1 Q0
7 1 1 1
6 1 1 0
5 1 0 1
4 1 0 0
3 0 1 1
2 0 1 0
1 0 0 1
0 0 0 0
O circuito que efetua a decrescente é o mesmo que circuito que efetua a contagem crescente, com
única diferença de extraímos as saídas dos terminais ̅̅̅ ̅̅̅1 e ̅̅̅
𝑄0 , 𝑄 𝑄2 , sendo o terminal ̅̅̅
𝑄0 , o bit menos
significativo. Podemos notar, pela tabela da verdade, que a contagem decrescente nada mais é que
o complemento da contagem crescente. Assim sendo, o circuito é visto na figura 6.20.
O estado inicial (111) pode ser obtido pela aplicação de nível 0 na entrada IN, que irá zerar todos
os flip-flops nas saídas Q, mas irá impor níveis 1 nas saídas 𝑄̅ . A Figura 6.21 mostra todas as
formas de onda do sistema, desde a aplicação de uma onda quadrada à entrada clock.
109
Figura 6 .21 Diagrama de temporização do contador decrescente Mod-8.
Podemos construir um contador que execute a contagem crescente ou decrescente. Para isso,
utilizaremos uma variável de controlo que quando assume 1, faz o circuito executar contagem
crescente e quando assume 0, faz a contagem decrescente. Este circuito mostrado é mostrado na
Figura 6.24.
Notamos que, no circuito, quando o controlo X estiver em 1, as saídas ̅̅̅ ̅̅̅1, estarão bloqueadas,
𝑄0 e 𝑄
fazendo com que entrem as saídas Q0 e Q1 nas entradas do clock, respectivamente. Isso fará com
que o contador conte crescentemente.
110
6.3. Contadores Síncronos
Os contadores síncronos possuem entradas clock curto-circuitadas, ou seja, o clock entra em todos
os flip-flops simultaneamente, fazendo todos actuarem de forma sincronizada.
Para que haja mudanças de estado, devemos então estudar o comportamento das entradas J e K
dos vários flip-flops, para que tenhamos nas saídas, as sequências desejadas.
Para estudarmos os contadores síncronos devemos sempre escrever a TV, estudando quais devem
ser as entradas J e K dos vários Flip-flops, para que estes assumam o estado seguinte. Para isso,
vamos utilizar a TV do flip-flop JK:
J K Q
0 0 Qa
0 1 0
1 0 1
1 1 ̅̅̅̅
𝑄𝑎
Qa Qf J K
0 0
0 1
1 0
1 1
111
2) Se o FF estiver em 0 (Qa = 0) e quisermos que o estado a ser assumido seja 1 (Qf = 1),
podemos tanto inverter o estado do FF (J = 1, K = 0 Qf = 1), como fixar 1 (J = 1, K = 1
Qf = ̅̅̅̅
𝑄𝑎 ), logo se J = 1 e K = X, teremos a passagem de Qa =0 para Qf = 1.
3) Quando o flip-flop estiver em 1 ( Qa = 1) e quisermos que ele vá para 0 (Qf = 0), podemos
inverter o estado (J = 1, K = 1 Qf = ̅̅̅̅
𝑄𝑎 ), ou fixar 0 ( J = 0, K = 1 Qf = 0), logo, se J =
X e K = 1, teremos de Qa = 1 para Qf = 0.
4) Quando o flip-flop estiver em 1 (Qa = 1) e quisermos que ele permaneça em 1 (Qf = 1),
podemos manter o estado (J = 0, K = 0 Qf = Qa = 0) ou fixamos 1 (J = 1, K = 0 Qf =
1), logo, se J = X e K = 0, teremos a passagem de Qa = 1 para Qf = 1.
Qa Qf J K
0 0 0 X
0 1 1 X
1 0 X 1
De posse dos resultados das entradas J e K dos flip-flops para a sequência
1 1 X 0
desejada, obtidos da tabela, efetuamos simplificações e montamos um
circuito combinacional que em função das saídas dos flip-flops irá actuar
nestas entradas para processar as mudanças de estados. Genericamente, um contador síncrono
possui o esquema visto na figura 6.25.
112
Nas próximas secções, vamos a título de exemplo, efectuar projectos de contadores síncronos
para gerar sequências conhecidas ou de grande aplicabilidade na prática.
Para gerarmos esse código, necessitamos de 4 flip-flops JK mestre escravo, seja, um flip-flop
para cada bit do código. A tabela 6.1 apresenta a sequência proposta.
Clock Q3 Q2 Q1 Q0
1º 0 0 0 0
2º 0 0 0 1
3º 0 0 1 0
4º 0 0 1 1
5º 0 1 0 0
6º 0 1 0 1
7º 0 1 1 0
8º 0 1 1 1
9º 1 0 0 0
10º 1 0 0 1
11º 1 0 1 0
12º 1 0 1 1
Esta tabela apresenta a sequência que as saídas
13º 1 1 0 0
dos flip-flops devem assumir em função da
14º 1 1 0 1 presença de pulsos de clock. Para o projecto,
devemos estudar, para cada caso, o
15º 1 1 1 0
comportamento das entradas J e K dos flip-flops e
16º 1 1 1 1 levantar o circuito necessário para gerar a
sequência.
113
Vamos supor que ao ligarmos o contador, ele assuma o seguinte estado inicial:
Q3 Q2 Q1 Q0
0 0 0 0
Q3 Q2 Q1 Q0
0 0 0 1
Q3: estava em 0, deve passar para 0, antes do 1º pulso de clock, deve ter as seguintes entadas
neste flip-flop: J3 = 0 e K3 = X (J = 0 e K = X Qa = 0 passa para Qf = 0).
Q0: estava em 0, após o 1º pulso de clock deve mudar para 1, antes do 1º pulso de clock,
devemos ter as seguintes entradas neste flip-flop: J0 = 1 e K0 = X (J =1 e K = X Qa = 0 passa
para Qf = 1).
Clock Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
1º 0 0 0 0 0 X 0 X 0 X 1 X
0 0 0 1
O
contador está, agora, no estado:
Q3 Q2 Q1 Q0
0 0 0 1
114
E deve, após o 2º pulso de clock, passar para:
Q3 Q2 Q1 Q0
0 0 1 0
Q3: estava em 0, deve permanecer em 0, antes do 2º pulso de clock, devemos ter as seguinte
situação de entrada: J3 = 0 e K3 = X .
Q1: estava em 1 e deve passar para 0, logo antes do 2º pulso de clock, devemos ter a seguinte
situação de entrada no flip-flop: J1 = X1 e K1 = X.
Q0: estava em 1 e deve passar para 0, logo antes do 2º pulso de clock, devemos ter a seguinte
situação de entrada: J0 = X e K0 = 1.
Clock Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
1º 0 0 0 0 0 X 0 X 0 X 1 X
2º 0 0 0 1 0 X 0 X 1 X X 1
0 0 1 0
Q3 Q2 Q1 Q0
0 0 1 0
0 0 1 1
115
Vamos analisar mais uma mudança do contador, ou seja, após a descida do 3º pulso de clock, a
Clock Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
1º 0 0 0 0 0 X 0 X 0 X 1 X
2º 0 0 0 1 0 X 0 X 1 X X 1
3º 0 0 1 0 0 X 0 X X 0 1 X
0 0 1 1
116
Utilizando o mesmo procedimento para os outros casos, obtemos a tabela de verdade completa:
Contagem Clock Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 1º 0 0 0 0 0 X 0 X 0 X 1 X
1 2º 0 0 0 1 0 X 0 X 1 X X 1
2 3º 0 0 1 0 0 X 0 X X 0 1 X
3 4º 0 0 1 1 0 X 1 X X 1 X 1
4 5º 0 1 0 0 0 X X 0 0 X 1 X
5 6º 0 1 0 1 0 X X 0 1 X X 1
6 7º 0 1 1 0 0 X X 0 X 0 1 X
7 8º 0 1 1 1 1 X X 1 X 1 X 1
8 9º 1 0 0 0 X 0 0 X 0 X 1 X
9 10º 1 0 0 1 X 0 0 X 1 X X 1
10 11º 1 0 1 0 X 0 0 X X 0 1 X
11 12º 1 0 1 1 X 0 1 X X 1 X 1
12 13º 1 1 0 0 X 0 X 0 0 X 1 X
13 14º 1 1 0 1 X 0 X 0 1 X X 1
14 15º 1 1 1 0 X 0 X 0 X 0 1 X
15 16º 1 1 1 1 X 1 X 1 X 1 X 1
Notamos que, no projecto, o estado 0 foi considerado após o estado 15, pois ao final, o contador
deve reiniciar a contagem.
Para obter as expressões de J3, K3, J2, K2, J1, K1, J0 e K0, simplificadas, vamos utilizar o mapa de
Karnaugh:
117
118
O circuito completo deste contador é visto na Figura 6.26:
119
6.3 - Registos de deslocamento
Registos de deslocamento (Shift Register, SR) é um circuito formado por interligações de flip-
flops com a finalidade de armazenar informações binário por tempo que for necessário.
Basicamente, o registo é um circuito digital com duas funções: armazenamento de dados e
movimentação de dados. A capacidade de armazenamento de um registo o torna importante tipo
de dispositivo de memória.
A capacidade de armazenamento de um registo é o número total de bits dos dados digitais que
ele pode guardar. Cada estágio (flip-flop) é um registo de deslocamento que representa um bit da
capacidade de armazenamento; portanto o número de estágio determina a sua capacidade de
armazenamento.
120
Informação série e informação paralela
Chamamos informação paralela a uma informação na qual todos os bits (0s e 1s) se apresentam
simultaneamente; assim a transferência da informação acontece em um único instante. É necessária
uma quantidade de fios para transmissão igual ao número de bits da informação. Esse modo é
conhecido como deslocamento paralelo. Para exemplificar, vamos utilizar uma informação de 4
bits: I3I2I1I0 = 1010.
Notamos que está informação necessita de 4 fios para ser transmitida ou inserida no bloco.
Notamos que esta informação necessita de um fio para ser transmitida ou inserida no bloco.
A entrada e a saída de um registo podem ser configuradas nesses dois modos, resultando em quatro
tipos de registos de deslocamento: entrada série – saída série, entrada série – saída paralela,
entrada paralela – saída série, entrada paralela – saída paralela, como ilustrado na Figura
6.28.
121
Figura 6.28: Configurações da entrada e da saída de um registrador: (a) entrada série – saída série, (b) entrada série
– saída paralela, (c) entrada paralela – saída série e (d) entrada paralela – saída paralela
Os bits de dados são inseridos serialmente e são apresentados de forma paralela nas suas saídas
em simultâneo; num registo com saída paralela, a saída de cada estágio está disponível. Uma vez
armazenados os dados, cada bit aparece em sua linha de saída respectiva e todos os bits são
disponibilizados ao mesmo tempo.
Registo de deslocamento para a direita
O circuito da Figura 6.29 mostra como o registrador de deslocamento de 4 bits com entrada serial /saída
paralela e o seu símbolo lógico.
122
Figura 29 (b: Símbolo lógico de registo de deslocamento de 4 bits
Exemplo 6.9: Mostre os estados do registrador de 4 bits (SRG 4) para as formas de onda dadas na
Figura 6.30.
Solução: O registrador contém 0110 após quatro pulsos de clock.
123
Figura 31(b): Símbolo lógico para um registrador de deslocamento de 4 bits
Exemplo 6.10: Mostre os estados do registrador de 5 bits mostrado na Figura 6.32 (a) para as
formas de onda de entrada de dados especificada e do clock. Considere que o registrador esteja
inicialmente zerado (todos os bits em nível 0).
Solução: O primeiro bit de dado (1) é inserido no registrador no primeiro pulso de clock e em
seguida deslocado da esquerda para a direita enquanto os bits restantes são inseridos e deslocados.
O registrador contém Q4Q3Q2Q1Q0 = 11010 após cinco pulsos de clock. Veja a Figura 6.32(b).
124
6.3.3 - Registo de deslocamento entrada paralela/saída paralela
Figura 6.33 Circuito lógico e o símbolo lógico de um registrador com entrada paralela/saída paralela
Para entrarmos com uma informação paralela, necessitamos de um registrador que apresente entradas
PRESET (PR) e CLEAR (CLR), porque é através destas que fazermos com que o registador armazene a
informação paralela. A Figura 6.34 mostra o circuito e símbolo de um registo de entrada paralela/saída
paralela de 4 bits.
125
Primeiramente, vamos estudar o funcionamento da entrada ENABLE. Quando a entrada enable
estiver em 0, as entradas preset (PR) dos flip-flops assumirão, respectivamente, níveis 1, fazendo
com que o registo actue normalmente. Quando a entrada enable for igual a 1, as entradas preset
dos flip-flops assumirão valores complementares das entradas PR0, PR1, PR2 e PR3, logo, os flip-
flops irão assumir os valores que estiverem, respectivamente, em PR0, PR1, PR2 e PR3. Para
entendermos melhor, vamos analisar um estágiodo registo:
Para zerar (CLR) o flip-flop (Q3), vamos inicialmente, aplicar nível 0 à entrada CLR.
Com ENABLE = 0, entrada PR do flip-flop irá assumir nível 1 e este irá ter um funcionamento
normal como célula do registo de deslocamento em questão, mantendo a saída no estado em que
se encontra.
Com ENABLE = 1, e PR3 = 0, a entrada PR do flip-flop assumirá nível 1, logo, a saída Q3 manterá
o seu estado (Q3 =0). Com ENABLE = 1 e PR3 = 1, antrada PR do flip-flop assumirá nível 0,
forçando a saída assumir nível 1 (Q3 = 1).
Após essa análise, concluímos que, se zerarmos o registo (aplicando 0 à entrada CLEAR), e logo
após introduzimos a informação paralela (I0, I1, I2 e I3) pelas entradas PR0, PR1, PR2 e PR3, as
saídas Q0, Q1, Q2 e Q3 assumirá os valores da informação. Essa maneira de entrarmos com a
informação no registo é chamada entrada paralela de informação, sendo a entrada enable
responsável pela habilitação da mesma. Para que o registo de deslocamento funcione como
conversor paralelo – serie, necessitamos zerá-lo, e em seguida introduzir a informação, como já
abordado, recolhendo na saída Q3 a mesma informação de modo série.
126
6.3.5 Registo como multiplicador ou divisor por 2
Consideremos um número natural binário de oito bits, por exemplo: 1 1 0 0 0 1 1 0. Vamos supor
que esse número esteja carregado em um registrador de deslocamento e sofra deslocamento para
a direita. Perde-se o bit “0” e fica indefinido o bit 7, que consideramos “0” (Figura 6.35).
A operação de deslocamento para a direita, como vimos, pode ser associada à divisão por 2.
Inversamente, um deslocamento para a esquerda pode ser associado à multiplicação por 2.
0 0 0 0 0 0
1 1 0 0 0 1
2 2 0 0 1 1
3 3 0 1 1 1
4 4 1 1 1 1
5 5 1 1 1 0
6 6 1 1 0 0
7 7 1 0 0 0
127
A implementação do contador Johnson de 4 estágios é mostrada na Figura 6.36. A implementação
de um contador Johnson é muito simples independentemente do número de
estágios. A saída Q de cada estágio é conectada na entrada D do próximo estágio (considerando
que flip-flops D sejam usados). A única exceção é que a saída do último estágio é conectada de
volta na entrada D do primeiro estágio.
128
Contador em Anel
O contador em anel utiliza um flip-flop para cada estado em sua sequência. Ele tem a vantagem
de não necessitar de portas de decodificação. No caso de um contador em anel de 5 bits, existe
uma única saída para cada dígito decimal. A Figura 6.38 mostra um diagrama lógico para um
contador em anel de 5 bits.
A sequência para esse contador em anel é dada na Tabela 6.2. Inicialmente, um nível 1 está
presente no primeiro flip-flop e o restante dos flip-flops estão resetados. Observe que as conexões
entre estágios são as mesmas que para um contador Johnson, exceto que a saída Q é realimentada
a em vez de 𝑄̅ partir do último estágio. As 5 saídas do contador indicam directamente a contagem
decimal dos pulsos de clock.
0 0 0 0 0 0 1
1 1 0 0 0 1 0
2 2 0 0 1 0 0
3 3 0 1 0 0 0
4 4 1 0 0 0 0
129
um nível 1 é sempre mantido no contador e simplesmente desloca “em torno do anel”, avançando
um estágio para cada pulso de clock. Sequências modificadas podem ser conseguidas colocando
mais que um único 1 no contador.
Registos de deslocamento (Shift Register, SR) é um circuito formado por interligações de flip-
flops com a finalidade de armazenar informações binário por tempo que for necessário.
Basicamente, o registo é um circuito digital com duas funções: armazenamento de dados e
movimentação de dados. A capacidade de armazenamento de um registo o torna importante tipo
de dispositivo de memória.
A capacidade de armazenamento de um registo é o número total de bits dos dados digitais que
ele pode guardar. Cada estágio (flip-flop) é um registo de deslocamento que representa um bit da
capacidade de armazenamento; portanto o número de estágio determina a sua capacidade de
armazenamento.
130
Os registos de deslocamento são utilizados em operações aritméticas de complementação,
multiplicação, divisão, em conversão de informação série em paralela e também em vários outros
tipos de circuitos digitais. Os registos de deslocamento são construídos com flip-flops do tipo D.
Chamamos informação paralela a uma informação na qual todos os bits (0s e 1s) se apresentam
simultaneamente; assim a transferência da informação acontece em um único instante. É necessária
uma quantidade de fios para transmissão igual ao número de bits da informação. Esse modo é
conhecido como deslocamento paralelo. Para exemplificar, vamos utilizar uma informação de 4
bits: I3I2I1I0 = 1010.
Notamos que está informação necessita de 4 fios para ser transmitida ou inserida no bloco.
Notamos que esta informação necessita de um fio para ser transmitida ou inserida no bloco.
A entrada e a saída de um registo podem ser configuradas nesses dois modos, resultando em quatro
tipos de registos de deslocamento: entrada série – saída série, entrada série – saída paralela,
entrada paralela – saída série, entrada paralela – saída paralela, como ilustrado na Figura
6.28.
131
Figura 6.28: Configurações da entrada e da saída de um registrador: (a) entrada série – saída série, (b) entrada série
– saída paralela, (c) entrada paralela – saída série e (d) entrada paralela – saída paralela
Os bits de dados são inseridos serialmente e são apresentados de forma paralela nas suas saídas
em simultâneo; num registo com saída paralela, a saída de cada estágio está disponível. Uma vez
armazenados os dados, cada bit aparece em sua linha de saída respectiva e todos os bits são
disponibilizados ao mesmo tempo.
Registo de deslocamento para a direita
O circuito da Figura 6.29 mostra como o registrador de deslocamento de 4 bits com entrada serial /saída
paralela e o seu símbolo lógico.
132
Figura 29 (b: Símbolo lógico de registo de deslocamento de 4 bits
Exemplo 6.9: Mostre os estados do registrador de 4 bits (SRG 4) para as formas de onda dadas na
Figura 6.30.
Solução: O registrador contém 0110 após quatro pulsos de clock.
133
Figura 31(b): Símbolo lógico para um registrador de deslocamento de 4 bits
Exemplo 6.10: Mostre os estados do registrador de 5 bits mostrado na Figura 6.32 (a) para as
formas de onda de entrada de dados especificada e do clock. Considere que o registrador esteja
inicialmente zerado (todos os bits em nível 0).
Solução: O primeiro bit de dado (1) é inserido no registrador no primeiro pulso de clock e em
seguida deslocado da esquerda para a direita enquanto os bits restantes são inseridos e deslocados.
O registrador contém Q4Q3Q2Q1Q0 = 11010 após cinco pulsos de clock. Veja a Figura 6.32(b).
134
Em um registo de deslocamento entrada paralela os todos os bits de dados são inseridos em
simultâneos, esses aparecem nas saídas em paralelo. A Figura 6.33 mostra o circuito lógico e o
símbolo lógico de um registrador com entrada paralela/saída paralela.
Figura 6.33 Circuito lógico e o símbolo lógico de um registrador com entrada paralela/saída paralela
Para entrarmos com uma informação paralela, necessitamos de um registrador que apresente entradas
PRESET (PR) e CLEAR (CLR), porque é através destas que fazermos com que o registador armazene a
informação paralela. A Figura 6.34 mostra o circuito e símbolo de um registo de entrada paralela/saída
paralela de 4 bits.
135
Primeiramente, vamos estudar o funcionamento da entrada ENABLE. Quando a entrada enable
estiver em 0, as entradas preset (PR) dos flip-flops assumirão, respectivamente, níveis 1, fazendo
com que o registo actue normalmente. Quando a entrada enable for igual a 1, as entradas preset
dos flip-flops assumirão valores complementares das entradas PR0, PR1, PR2 e PR3, logo, os flip-
flops irão assumir os valores que estiverem, respectivamente, em PR0, PR1, PR2 e PR3. Para
entendermos melhor, vamos analisar um estágiodo registo:
Para zerar (CLR) o flip-flop (Q3), vamos inicialmente, aplicar nível 0 à entrada CLR.
Com ENABLE = 0, entrada PR do flip-flop irá assumir nível 1 e este irá ter um funcionamento
normal como célula do registo de deslocamento em questão, mantendo a saída no estado em que
se encontra.
Com ENABLE = 1, e PR3 = 0, a entrada PR do flip-flop assumirá nível 1, logo, a saída Q3 manterá
o seu estado (Q3 =0). Com ENABLE = 1 e PR3 = 1, antrada PR do flip-flop assumirá nível 0,
forçando a saída assumir nível 1 (Q3 = 1).
Após essa análise, concluímos que, se zerarmos o registo (aplicando 0 à entrada CLEAR), e logo
após introduzimos a informação paralela (I0, I1, I2 e I3) pelas entradas PR0, PR1, PR2 e PR3, as
saídas Q0, Q1, Q2 e Q3 assumirá os valores da informação. Essa maneira de entrarmos com a
informação no registo é chamada entrada paralela de informação, sendo a entrada enable
responsável pela habilitação da mesma. Para que o registo de deslocamento funcione como
conversor paralelo – serie, necessitamos zerá-lo, e em seguida introduzir a informação, como já
abordado, recolhendo na saída Q3 a mesma informação de modo série.
136
6.3.5 Registo como multiplicador ou divisor por 2
Consideremos um número natural binário de oito bits, por exemplo: 1 1 0 0 0 1 1 0. Vamos supor
que esse número esteja carregado em um registrador de deslocamento e sofra deslocamento para
a direita. Perde-se o bit “0” e fica indefinido o bit 7, que consideramos “0” (Figura 6.35).
A operação de deslocamento para a direita, como vimos, pode ser associada à divisão por 2.
Inversamente, um deslocamento para a esquerda pode ser associado à multiplicação por 2.
Clock Dígito Q3 Q2 Q1 Q0
Decimal
0 0 0 0 0 0
1 1 0 0 0 1
2 2 0 0 1 1
3 3 0 1 1 1
4 4 1 1 1 1
5 5 1 1 1 0
137
6 6 1 1 0 0
7 7 1 0 0 0
138
Contador em Anel
O contador em anel utiliza um flip-flop para cada estado em sua sequência. Ele tem a vantagem
de não necessitar de portas de decodificação. No caso de um contador em anel de 5 bits, existe
uma única saída para cada dígito decimal. A Figura 6.38 mostra um diagrama lógico para um
contador em anel de 5 bits.
A sequência para esse contador em anel é dada na Tabela 6.2. Inicialmente, um nível 1 está
presente no primeiro flip-flop e o restante dos flip-flops estão resetados. Observe que as conexões
entre estágios são as mesmas que para um contador Johnson, exceto que a saída Q é realimentada
a em vez de 𝑄̅ partir do último estágio. As 5 saídas do contador indicam directamente a contagem
decimal dos pulsos de clock.
0 0 0 0 0 0 1
1 1 0 0 0 1 0
2 2 0 0 1 0 0
3 3 0 1 0 0 0
4 4 1 0 0 0 0
139
Por exemplo, um nível 1 em Q0 representa zero, um nível 1 em Q1 representa um, um nível 1 em
Q2 representa dois, um nível 1 em Q3 representa três, e assim por diante. Temos que verificar que
um nível 1 é sempre mantido no contador e simplesmente desloca “em torno do anel”, avançando
um estágio para cada pulso de clock. Sequências modificadas podem ser conseguidas colocando
mais que um único 1 no contador.
140
EXERCÍCIOS PROPOSTOS
Capítulo I - Sistemas Analógicos vs Sistemas Digitais
1. O que é a electrónica?
1.1.Quais são os tipos de electrónica que estudaste?
2. Descreva, a principal diferença entre um sinal analógico e um sinal digital.
3. Quais das seguintes quantidades são analógicas e quais são digitais? Justifique a sua resposta.
8. Indique duas vantagens e duas desvantagens dos sistemas digitais em relação aos sistemas analógicos.
Justifique a sua resposta.
9. Qual é a principal desvantagem no uso dos sistemas digitais? Justifique a sua resposta.
141
Capítulo II – Sistemas de numeração, códigos e operações
Parte I - Sistemas numéricos
1. Converta para binário os números decimais a seguir:
142
(a) AD.F16 = ___8 (b) 91.F16 = ___8 (c) 45018 = ___ 16 (d) 701.68 = ___16
Parte II - Códigos Digitais
1. Converta para BCD cada um dos seguintes números decimais:
(a) 17010 (b) 246,910 (c) 543710 (d) 21,4010
2. Converta para decimal cada um dos números BCD a seguir:
(a) 011010010001 (b) 0011010100101000 (c)
11010111.1000 (d) 00010110100000110111
3. Converta para BCD cada um dos números binários a seguir:
a) 100100112 (b) 11011102 (c) 1011101.112
4. Converta para o código Gray cada número binário a seguir:
(a) 11010112 (b) 1001110102 (c) 1110111011102
5. Converta para binário cada código Gray a seguir:
(a) 101010110 (b) 101100010 (c) 11000010001
6. Converta para ASCII cada um dos seguintes números decimais. Consulte a tabela.
(a) 02 (b) 31
7. Codifique, em ASCII, a seguinte mensagem, usando a representação hexadecimal: SOS
8. A seguinte mensagem, codificada em ASCII, já preenchida com 0 à esquerda, é armazenada em posições
sucessivas na memória de um computador:
01010011 01010100 01001111 01010000
Qual é a mensagem?
Parte III - Operações Binárias e Números Sinalizados
1. Realize as seguintes adições binárias:
a) 111001112 + 100100112
b) 1111111102 + 1011001002
143
5. Determine o valor decimal de cada número binário sinalizado a seguir na forma do complemento
de 2:
(a) 10011001 (b) 01110100 (c) 10111111
3. Desenhar as tabelas de verdade e obter uma expressão de mintermos e outra de maxtermos para
cada uma das seguintes expressões booleanas:
a) 𝐹(𝐴,𝐵,𝐶) = 𝐴̅𝐵𝐶 + 𝐴̅𝐵𝐶̅ + 𝐴𝐵
b) 𝑌 = 𝐴(𝐵 + 𝐶̅ )(𝐵 + 𝐶)
̅̅̅̅ + 𝐴𝐵𝐶 + 𝐴𝐵𝐶̅
c) 𝑌 = 𝐴𝐵
d) 𝑍 = 𝐴𝐵𝐶 + ̅̅̅̅
𝐴𝐶 𝐷 + 𝐵̅ 𝐶𝐷
4. Para cada uma das expressões a seguir, desenvolver o circuito lógico correspondente
usando somente as portas AND, OR e NOT:
a) 𝐹(𝐴,𝐵,𝐶) = 𝐴̅𝐵𝐶 + 𝐴̅𝐵𝐶̅ + 𝐴𝐵𝐶 + 𝐴̅𝐵̅ 𝐶
b) 𝑌 = (𝐴̅ + 𝐵̅ + 𝐶̅ )𝐴𝐵 + 𝐴̅𝐵𝐶̅ + 𝐴𝐵𝐶̅
c) 𝐹 = (̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝐴̅ + 𝐵̅ + 𝐶𝐷𝐸 ) + 𝐵𝐶𝐷 + 𝐴𝐵𝐸
d) 𝑋 = [ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
(̅̅̅̅̅̅̅̅̅̅̅
𝑀 + 𝑁) + 𝑃𝑄 ] (̅̅̅̅̅̅
𝑃𝑄𝑁 + ̅̅̅̅̅
𝑀𝑁)
144
5. Para cada uma das expressões a seguir, desenhe o circuito lógico:
a) 𝑌 = (𝐴̅ + 𝐵̅)𝐶 + 𝐴̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅
(𝐵 + 𝐶 ) + 𝐴𝐵𝐶
b) 𝑍 = (𝐴⨁𝐵)𝐶 + 𝐴̅̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅̅
(𝐵 ⊕ 𝐶 ) + 𝐴𝐵𝐶
c) 𝑋 = [ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
(̅̅̅̅̅̅̅̅̅̅̅
𝑀 + 𝑁) + 𝑃𝑄 ] (̅̅̅̅̅̅
𝑃𝑄𝑁 + ̅̅̅̅̅
𝑀𝑁)
d) 𝑍 = 𝐴𝐶 (𝐴⨁𝐶̅ ) + 𝐵̅ ( ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐶 ) + 𝐴̅(𝐶⨀𝐷 )
𝐴 + 𝐵 + 𝐶 + ̅̅̅̅̅̅
e) 𝐹 = ̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝐴̅𝐵𝐶̅ + 𝐴𝐵𝐶
6. Determine a expressão característica dos circuitos lógicos abaixo:
a)
b)
145
7. O que é um CI?
8. Qual é a diferença entre um CI digital de funções lógicas fixa de um CI de funções
lógicas programáveis?
9. Desenhe um CI do tipo DIP de 16 pinos (enumere todos os pinos do CI).
10. Cite três cuidados que devemos ter ao trabalhar com CIs da família CMOS.
11. Qual é o valor de tensão típica usada na alimentação dos CIs da família TTL?
12. Qual é a importância dos data sheets em electrónica?
146
Capítulo IV – Álgebra de Boole
1. Simplifique circuitos lógicos a seguir:
a)
b)
147
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
c) [̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅̅ = 𝐶𝐷
(𝐵̅ + 𝐶)]𝐴 + 𝐶𝐷
3.1. A direcção da TAAG requisitou aos alunos IMISM a projecção de um circuito para a
prevenção de acidentes, que será instalado nas suas aeronaves com as seguintes condições:
A tripulação do avião é composta por dois pilotos e um engenheiro de bordo, o alarme
será accionado quando o engenheiro deixar o seu posto ou quando ambos os pilotos
deixarem os seus lugares. Projectar esse circuito lógico.
3.2. A Figura 4.1 mostra um diagrama para um circuito de alarme de automóvel usado para detectar
uma condição indesejada. As três chaves são usadas para indicar, respectivamente, o estado da
porta do motorista, o estado da ignição e o estado dos faróis. Projecte um circuito lógico com
essas três chaves como entrada, de forma que o alarme seja sempre activado que ocorrer uma
das seguintes condições:
Os faróis estão acesos e a ignição está desligada.
A porta está aberta e a ignição está ligada.
148
3.4. A Figura 4.2 mostra quatro chaves que fazem parte de um circuito de controlo em uma
máquina copiadora. As chaves estão posicionadas em diversos pontos ao longo da
trajectória do papel dentro da máquina. Cada chave está no estado normal aberta e, quando
o papel passa sobre a chave, ela é fechada. É impossível o fechamento simultâneo das
chaves SW1 e SW4. Projecte um circuito lógico que gere uma saída nível ALTO sempre
que duas ou mais chaves estiverem fechadas ao mesmo tempo.
d- don´t care
149
b) Um decodificador de 2 entradas para 4 saídas activas em nível BAIXO.
c) Um decodificador de 3 entradas para 8 saídas.
4. Fazer a lista da saída activa para cada um dos pulsos de entrada mostrado na Figura
abaixo.
Saídas
150
8. Um decodificador BCD para 7 segmentos acciona um display conforme mostra a Figura
abaxo. Se as formas de onda são aplicadas conforme indicado, determine a sequência de
dígitos que aparecem no display.
9. Faça uma lista dos possíveis defeitos para cada decodificador/display da Figura abaixo:
10. Um descodificador pode ter mais de uma saída activada de cada vez? Justifique a sua
resposta.
11. Projectar um codificador 8/3.
12. Determine os estados das saídas do CI 74147 - Codificador com prioridade quando
𝐴̅6 , 𝐴̅4 e 𝐴̅3 estiverem em BAIXO e todas as outras entradas estiverem em ALTO.
13. Um CI codificador 74HC147 tem nível BAIXO nos pinos 2, 5 e 12 (consulte o diagrama
de pinagem). Qual o código BCD que aparece nas saídas se todas as outras entradas
estiverem em nível ALTO?
Parte II -Multiplexadores e Demultiplexadores
14. O que é um multiplexador?
14.1. Quais são os multiplexadores que conheces?
14.2. Para que serve as entradas de selecção?
14.3. Para que serve as entradas de dados?
14.4. Para que serve a entrada de HABILITAÇÃO em um MUX?
151
15. Projectar:
d) Um MUX de 2 entradas de selecção.
e) Um MUX de 3 entradas de selecção.
f) Qual é a função da entrada de HABILITAÇÃO (ENABLE) no CI 74151?
16. Qual é o estado da saída do CI 74151 (Multiplexador de 8 entradas de dados) para cada
uma das condições abaixo:
a) 𝐸̅ = 1, S2 = 0, S1=1, S0=1
b) 𝐸̅ = 0, S2 = 0, S1=1, S0=1
c) 𝐸̅ = 0, S2 = 1, S1=1, S0=1
17. As formas de onda da entrada de dados e das entradas de selecção de dados vistas na Figura
abaixo são aplicadas no multiplexador de duas entradas de selecção. Determine a forma de
onda de saída (Y) em relação às entradas.
18. Verdadeiro ou falso: quando um multiplexador é usado para implementar uma função
lógica, as variáveis lógicas são aplicadas nas entradas de dados do multiplexador.
19. Implementar as seguintes funções usando o CI 74LS151:
a) 𝐹(𝐴,𝐵,𝐶) = 𝐴̅𝐵𝐶 + 𝐴̅𝐵𝐶̅ + 𝐴𝐵
b) 𝑌 = 𝐴(𝐵 + 𝐶̅ )(𝐵 + 𝐶)
c) 𝐹(𝐴,𝐵,𝐶,𝐷) = 𝐴̅𝐵𝐶𝐷 + 𝐴̅𝐵 𝐶̅ + 𝐴𝐵𝐶
d) FABCD = ∑ (0,2,5,6,8,10,13,15)
20. Use CIs 74LS151 e qualquer outra lógica necessária para multiplexar 16 entradas de dados
em uma única linha de dados de saída.
21. Explique a diferença entre um DEMUX e MUX.
152
22. Para cada item, indique se ele se refere a um decodificador, um codificador, a um MUX ou
a um DEMUX.
a) Tem mais entradas do que saídas.
b) Usa entradas de SELECÇÃO.
c) Produz um código binário em sua saída.
d) Apenas uma de suas saídas pode ser activada de cada vez.
e) Pode ser usado para gerar funções lógicas arbitrárias.
23. Projectar um DEMUX de 2 entradas de selecção de dados.
24. Verdadeiro ou falso: o circuito para um DEMUX é basicamente o mesmo que para um
decodificador.
Parte III - Circuitos Aritméticos
25. Utilize o CI 7483 para somar os seguintes números binários:
a) A = 1101 e B = 1110
b) A = 810 e B = 710
c) A = 1001 e B = 1111
26. Para expandir um somador paralelo de 4 bits para um somador paralelo de 8 bits, temos
que:
(a) Usar quatro somadores de 4 bits sem interconexões.
(b) Usar dois somadores de 4 bits conectando as saídas soma de um nas entradas de bit do
outro.
(c) Usar oito somadores de 4 bits sem interconexões.
(d) Usar dois somadores de 4 bits com a saída de carry de um conectado na entrada
carry do outro.
27. Mostre como dois somadores 74LS83 podem ser conectados para formar um somador
paralelo de 8 bits. Mostre os bits de saída para os seguintes números de entrada de 8 bits:
a) A = 10111001 e B =10011110
b) A = FA16 e B =FE16
c) A = 19910 e B = 16710
28. Quantos CIs 74LS83 são necessários para somar dois números de 20 bits?
29. Verdadeiro ou falso: quando o circuito somador/subtrador é usado para adição, as portas
EXCLUSIVE – OR, funcionam como inversores.
153
30. Utilize o CI 7483 para somar e subtrair os seguintes números binários:
a) A = 1101 e B =1001
b) A = 1111 e B =0110
c) A = 10111001 e B =00010010
d) A = 11001001 e B =00010011
154
Exercícios propostos
Capítulo VI – Circuitos Sequenciais
Parte I – Flip-Flops
1. O que é um circuito combinacional?
2. Indique três características dos circuitos combinacionais.
3. O que é um circuito sequencial?
4. Indique três características dos circuitos sequenciais.
5. Quais são as diferenças entre circuitos combinacionais e circuitos sequenciais?
6. O que entendes por flip-flop. Quais são os seus estados possíveis das saídas?
7. É permitido o flip-flop apresentar os seguintes estados: 𝑄 = 1 → 𝑄̅ = 1 ou 𝑄 = 0 → 𝑄̅ =
0 ? Justifique a sua resposta.
Figura 1
12. Apresente o modo de operação do flip-flop RS para cada pulso de entrada mostrado na
Figura 1.
155
13. Determine as formas de onda das saídas Q do flip-flop RS visto na Figura 1, em função
dos sinais aplicados nas entradas.
14. Se as formas de onda e mostradas na Figura 2 são aplicadas nas entradas do flip flop RS
básico, determine a forma de onda observada na saída Q. Considere que Q está inicialmente
em nível BAIXO.
Figura 2
Figura 3
21. Apresente o modo de operação do flip-flop RS para cada pulso de entrada mostrado na
Figura 3.
156
22. Os valores binários da saída normal do flip-flop RS da Figura 3, considerando que o flip-
flop é disparado na borda negativa. Considere que Q está inicialmente resetado.
25. Faça lista dos valores binários da saída normal (Q) do flip-flop JK da Figura 4, depois da
aplicação de cada pulso do relógio. Considere que Q está inicialmente resetado.
26. Apresente o modo de operação do flip-flop JK para cada pulso de entrada mostrado na
Figura 4.
Figura 4
27. Faça lista dos valores binários da saída normal (Q) do flip-flop JK da Figura 5, depois da
aplicação de cada pulso do relógio. Considere que Q está inicialmente resetado.
28. As formas de onda vista na Figura 5 são aplicadas no flip-flop como mostrado. Determine
a saída Q para o flip-flop começando no estado RESET.
Figura 5
157
29. Indique os modos de operação do Flip-Flop JK da Figura 5 para os pulsos de clock
aplicados na entrada.
30. Desenhe o símbolo lógico e a TV do flip-flop JK com entradas CLEAR e PRESET.
31. O que acontece ao flip-flop JK se a entrada CLEAR estiver em nível BAIXO e a entrada
PRESET estiver em nível ALTO?
32. O que acontece ao flip-flop JK se a entrada CLEAR estiver em nível ALTO e a entrada
PRESET estiver em nível BAIXO?
33. Faça lista dos valores binários da saída normal (Q) do flip-flop JK da Figura 6, depois da
aplicação de cada pulso do relógio. Considere que Q está inicialmente resetado
34. As formas de onda vista na Figura 6 são aplicadas no flip-flop como mostrado. Determine
a forma de onda da saída Q para o flip-flop.
Figura 6
38. Dadas as formas de onda na Figura 7 para a entrada D e o clock, determine a forma de
onda na saída Q se o flip-flop começar resetado.
158
Figura 7
39. Determine as formas de onda das saídas Q e 𝑄̅ do flip-flop tipo T visto na Figura 8, em
função dos sinais aplicados nas entradas. Considere que a entrada T está em nível baixo
em todos os instantes.
Figura 8
48. Determine a frequência de saída deste contador, sabendo que a frequência do sinal
de clock é de 20 KHz.
49. Projectar um contador assíncrono de década.
159
50. Elaborar um contador assíncrono de 5 a 0.
51. Projectar um contador crescente/decrescente módulo 16.
52. Elabore um contador síncrono módulo 6.
53. Elabore um contador síncrono módulo 8.
54. Elabore um contador síncrono que execute a sequência mostrada no diagrama da
figura abaixo. Considere os casos não pertencentes ao diagrama, como irrelevantes
(don´t care).
160