Você está na página 1de 30

Curso Profissional de Eletrónica,

Automação e Comando
Sistemas Digitais
10.º ano
Módulo 3
- Circuitos Combinatórios
Rui Marques/2014

SISTEMAS DIGITAIS
sd10peac módulo 3_circuitos combinatórios
RM/14
CIRCUITOS COMBINATÓRIOS
Os circuitos lógicos dividem-se, quanto ao seu comportamento, em combinatórios e sequenciais.
Os circuitos combinatórios são aqueles em que os estados das saídas dependem apenas dos estados presentes
das entradas. Nos circuitos sequenciais, as saídas dependem dos estados das entradas presentes, mas também
da sua sequência passada.

CODIFICADORES

Um codificador é um circuito combinatório formado por um máximo de 2n entradas e n saídas que convertem
uma dada forma de representação em código binário (outro → binário).
A sua função é tal que, quando uma só entrada adota um determinado valor lógico (0 ou 1, conforme as
propriedades do circuito), as saídas representam em binário o número de ordem da entrada que adote o valor
ativo. Por exemplo, o código binário de cada tecla de um teclado com 8 teclas ligadas às entradas 0 a 7 de um
codificador é obtido à sua saída.

Codificador octal-binário

A Figura 1 representa a tabela de verdade de um codificador de 23 = 8 entradas e três saídas. O valor ativo é um.
Entradas Saídas
D7 D6 D5 D4 D3 D2 D1 D0 Y2 Y1 Y0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1
Figura 1 - Tabela de verdade de um codificador octal-binário.

Expressões booleanas de saída

𝑌2 = 𝐷7 + 𝐷6 + 𝐷5 + 𝐷4 D7 D6 D5 D4 D3 D2 D1 D0
𝑌1 = 𝐷7 + 𝐷6 + 𝐷3 + 𝐷2
𝑌0 = 𝐷7 + 𝐷5 + 𝐷3 + 𝐷1
1 Y2
Inconvenientes deste codificador

 Apresenta o mesmo resultado quer D0 seja 1 Y1


0 ou 1.
 Se duas ou mais entradas forem ativadas
em simultâneo, teremos na saída um 1 Y0
código binário sem significado: Se D6 = 1 e
D3 = 1, as saídas Y2, Y1 e Y0 são todas 1,
correspondendo ao número 7.
Estes inconvenientes podem ser resolvidos usando Figura 2 - Logigrama
codificadores com validação do código e
codificadores de prioridade, respetivamente.
A validação do código consegue-se com uma porta OR de 8 entradas ligadas às linhas de dados D0 a D7. A
saída desta porta será 1 se pelo menos uma das entradas for 1, sinalizando assim a presença de pelo menos
uma entrada.

1
D7 D6 D5 D4 D3 D2 D1 D0

1 Y2

1 Y1

1 Y0

1

Figura 3 – codificador com validação

Os codificadores de prioridade são estudados de seguida.

Codificadores com prioridade

Os codificadores podem ser prioritários, isto é, a combinação constante à saída será a correspondente à
entrada ativa de maior prioridade (se se carregar simultaneamente nas teclas 4 e 5, o valor à saída será, por
exemplo, a de maior valor, a tecla 5 (1012). A prioridade também se pode estabelecer à entrada de menor valor
O projeto de um codificador realiza-se como o de qualquer circuito combinatório.
Como exemplo construiremos o diagrama lógico de um simples codificador de quatro entradas e, por
conseguinte, de duas saídas, com prioridade ao maior valor (High Priority).
Começaremos pela tabela de verdade. (Figura 8).
Entradas Saídas
D3 D2 D1 D0 Y1 Y0
1 X X X 1 1
0 1 X X 1 0
0 0 1 X 0 1
0 0 0 1 0 0
Figura 4 - Tabela de verdade de um codificador de quatro entradas e duas saídas, com prioridade ao maior valor.

Na primeira linha da tabela de verdade (Figura 4) pode verificar-se que, estando ativa a entrada D3, o valor das
restantes entradas é indiferente: uma vez que se trata de um codificador de prioridade elevada, as saídas
indicarão o valor mais elevado, ou seja o 3. Nas outras linhas o raciocínio é idêntico: a saída representa sempre
o valo da ordem de entrada mais elevada.
Para obter a expressão booleana simplificada de cada uma das saídas, Y1 e Y0, vamos recorrer a mapas de
Karnaugh.
Para preencher o mapa de Karnaugh para a saída Y1 (Figura 6), reparemos que esta saída assume o valor 1
sempre que D3 é 1, independentemente dos valores D2, D1 e D0, ou seja é 1 para as entradas D3D2D1D0 = 1000
ou 1001 ou 1010 ou 1011 ou 1100 ou 1101 ou 1110 ou 1111. Isso traduz-se por 8 “1s” no mapa de Karnaugh
(agrupamento de baixo da Figura 6). Raciocinando de modo idêntico preenchemos o respetivo mapa e o mapa
da saída Y0 (Figura 5).

2
D1D0 D1D0
01
00 01 11 10 00 11 10
D3D2 D3D2
00 00 1 1

01 1 1 1 1 01

11 1 1 1 1 11 1 1 1 1

10 1 1 1 1 10 1 1 1 1

Figura 6 - 𝑌1 = 𝐷3 + 𝐷2 Figura 5 - 𝑌0 ̅2 ∙ 𝐷1
= 𝐷3 + 𝐷

Obtidas as expressões booleanas, é possível desenhar os respetivos logigramas (Figura 7).

D3 D2 D1

1 Y1

1 Y0
&

Figura 7

Codificador com prioridade ao menor valor.


De seguida é apresentado um codificador de prioridade à entrada mais baixa.
Começaremos pela tabela de verdade. (Figura 8).
Entradas Saídas
a3 a2 a1 a0 S1 S0
X X X 1 0 0
X X 1 0 0 1
X 1 0 0 1 0
1 0 0 0 1 1
Figura 8 - Tabela de verdade de um codificador de quatro entradas e duas saídas, com prioridade ao menor valor.

Os valores das entradas representadas com x


denominam-se termos indiferentes.
Isto significa que, qualquer que seja o valor da
entrada correspondente, a saída deve ter o mesmo
valor. Para obter o valor das saídas S1 e S0 , os
termos indiferentes devem ser considerados como
zeros e uns, em todas as suas combinações.
As expressões booleanas das saídas simplificadas,
são:
S1  a0a1a2  a0a1a3  a0a1(a2  a3 )
S0  a0a1  a0a2a3  a0 (a1  a2a3 )
Figura 9 - Diagrama lógico de um codificador 4/2
O circuito é apresentado na Figura 9.

3
Codificador de prioridade 74LS148

Este circuito, construído com tecnologia TTL, é um codificador que tem oito linhas de entrada e três de saída,
com validação do código de entrada. A aplicação principal é a obtenção de um código a partir das linhas vindas
de um teclado.
۰ Todas as entradas e as saídas são ativas ao nível baixo.
۰ Atribui prioridade às entradas de maior valor.
۰ ̅̅̅
Possui uma entrada de enable, 𝑬𝑰
۰ ̅̅̅ = 0):
Com o enable ativo (𝐸𝐼
o A saída ̅̅̅̅
𝑬𝑶, “Enable Output” é ativada (nível baixo) quando nenhuma das entradas é ativada.
Usa-se para ligar a ̅̅̅̅
𝐸𝐼 “Enable input” de outro “148”.
o ̅̅̅̅
A saída 𝑮𝑺 é ativada (nível baixo) quando pelo menos uma das entradas for ativada (nível
baixo).

Figura 10 - Símbolos do 74LS148.

Tabela de verdade

Como se pode verificar (Figura 11), o nível ativo é zero, e as saídas indicam, em valor complementar, o valor
binário correspondente à entrada ativa.
Entradas Saídas
̅̅̅
𝐸𝐼 ̅
𝐼0 ̅
𝐼1 ̅ 𝐼3
𝐼2 ̅ 𝐼4
̅ ̅
𝐼5 ̅
𝐼6 ̅ ̅̅̅̅
𝐼7 ̅̅̅̅ 𝐴0
𝐴2 𝐴1 ̅̅̅̅ 𝐺𝑆
̅̅̅̅ ̅̅̅̅
𝐸𝑂
H X X X X X X X X H H H H H
L X X X X X X X L L L L L H
L X X X X X X L H L L H L H
L X X X X X L H H L H L L H
L X X X X L H H H L H H L H
L X X X L H H H H H L L L H
L X X L H H H H H H L H L H
L X L H H H H H H H H L L H
L L H H H H H H H H H H L H
H – Alto
L H H H H H H H H H H H H L L - Baixo
Figura 11 - Tabela de verdade do 74LS 148.

4
Codificador de prioridade 74LS147

Este codificador tem nove linhas de entrada e quatro de saída, permitindo a codificação de 0 (nenhuma entrada
ativa) até nove (entrada 9 ativa). A saída é em BCD.
۰ Todas as entradas e as saídas são ativas ao nível baixo.
۰ Atribui prioridade às entradas de maior valor.

Figura 12 – Símbolo e configuração dos pinos do 74LS147.

Tabela de verdade

Como se pode verificar (Figura 11), o nível ativo é zero, e as saídas indicam, em valor complementar, o valor
binário correspondente à entrada ativa.

ENTRADAS SAÍDAS (BCD) Valores


decimais
1̅ 2̅ 3̅ 4̅ 5̅ 6̅ 7̅ 8̅ 9̅ ̅
𝐷 𝐶̅ 𝐵̅ 𝐴̅
1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1 1 0 1
X 0 1 1 1 0 1 1 1 1 1 0 1 2
X X 0 1 1 1 1 1 1 1 1 0 0 3
X X X 0 1 1 1 1 1 1 0 1 1 4
X X X X 0 1 1 1 1 1 0 1 0 5
X X X X X 0 1 1 1 1 0 0 1 6
X X X X X X 0 1 1 1 0 0 0 7
X X X X X X X 0 1 0 1 1 1 8
X X X X X X X X 0 0 1 1 0 9

5
DESCODIFICADORES

Os descodificadores realizam a função inversa dos codificadores: convertem código binário noutra forma de
representação. (binário → outro).
Com n bits é possível representar até ao máximo de 2n bits de outra forma de representação
Um descodificador ativa uma das saídas dependendo da combinação binária presente na entrada.
Na Figura 13 temos a tabela de verdade de um descodificador de duas entradas e quatro saídas, ativas baixas.
a1 a0 S3 S2 S1 S0
0 0 1 1 1 0
0 1 1 1 0 1
1 0 1 0 1 1
1 1 0 1 1 1
Figura 13 - Tabela de verdade de um descodificador de duas entradas e quatro saídas.

Sendo a1a0 = 10, a que corresponde o decimal 2, então é ativada a saída 2, (S2 = 0)
Da tabela obtemos as equações seguintes:
𝑆0̅ = 𝑎̅0 ∙ 𝑎̅1 ; 𝑆0 = ̅̅̅̅̅̅̅̅
𝑎̅0 ∙ 𝑎̅1
𝑆1̅ = 𝑎0 ∙ 𝑎̅1 ; 𝑆1 = ̅̅̅̅̅̅̅̅
𝑎0 ∙ 𝑎̅1
𝑆2̅ = 𝑎̅0 ∙ 𝑎1 ; 𝑆2 = ̅̅̅̅̅̅̅̅
𝑎̅0 ∙ 𝑎1
𝑆3̅ = 𝑎0 ∙ 𝑎1 ; 𝑆3 = ̅̅̅̅̅̅̅̅
𝑎0 ∙ 𝑎1
de que resulta o circuito representado na Figura 14

a1 a0

1 1

& S0

& S1

& S2

& S3

Figura 14 - Logigrama de um descodificador de duas entradas e quatro saídas.

6
Descodificador 74LS138

Este descodificador tem saídas ativas baixas e 3 entradas de habilitação


BIN/OCT
(“Enable”).
A 0
Se não estiver habilitado, todas as saídas são inativas (altas). 1
B 2 1
Se estiver habilitado a saída selecionada por CBA é ativa (baixa) e as C 4 2
restantes são inativas (altas). 3
Para habilitar as saídas, a função EN (“Enable”) deve ser 1: 𝐺1 = 1; 4
𝐺̅ 2𝐴 = 0; 𝐺̅ 2𝐵 = 0 G1
5
EN 6
𝐺̅ 2A & 7
𝐺̅ 2B
Explicação do símbolo IEEE Figura 15

Função do
Pesos dos bits circuito
de entrada Saídas ativas baixas
BIN/OCT

A 0
1
B 2 1
C 4 2
3
4
5
G1
EN 6
𝐺̅ 2A & 7
𝐺̅ 2B

Função AND: para habilitar o funcionamento


(“ENABLE”), 𝐸𝑁 = 𝐺1 ∙ 𝐺̅ 2𝐴 ∙ 𝐺̅ 2𝐵

Figura 16

Tabela de verdade

Entradas Saídas
G1 𝐺 2A 𝐺̅ 2B
̅ C B A 7̅ 6̅ 5̅ ̅4 3̅ 2̅ 1̅ 0̅
0 X X X X X 1 1 1 1 1 1 1 1
X 1 X X X X 1 1 1 1 1 1 1 1
X X 1 X X X 1 1 1 1 1 1 1 1
1 0 0 0 0 0 1 1 1 1 1 1 1 0
1 0 0 0 0 1 1 1 1 1 1 1 0 1
1 0 0 0 1 0 1 1 1 1 1 0 1 1
1 0 0 0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 0 0 1 1 1 0 1 1 1 1
1 0 0 1 0 1 1 1 0 1 1 1 1 1
1 0 0 1 1 0 1 0 1 1 1 1 1 1
1 0 0 1 1 1 0 1 1 1 1 1 1 1
Figura 17

7
Descodificadores binários em cascata
Implementação de um descodificador de 4 para 16, com dois 74LS138

BIN/OCT

A 0 0
1
B 2 1 1
C 4 2 2
D 3 3
“1”
4 4
5 5
EN 6 6
& 7 7

BIN/OCT
0 8
1
2 1 9
4 2 10
3 11
4 12
5 13
EN 6 14
̅̅̅̅
𝐸𝑁 & 7 15

“0”

Figura 18

̅̅̅̅.
Ambos os circuitos integrados são habilitados por 𝐸𝑁
Sendo D = 0, o circuito de cima é ativado e o de baixo desativado. Assim é selecionada uma das saídas de 0 a 7.
Sendo D = 1, o circuito de cima é desativado e o de baixo ativado. Assim é selecionada uma das saídas de 8 a
15.

8
Descodificador BCD - Decimal

Neste descodificador, ao aplicar uma combinação BCD à sua entrada, é ativada a linha de saída correspondente
(0 a 9). Entradas e saídas são ativas altas
A tabela de verdade deste circuito é:

Entradas Saídas
Dec. D C B A 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 0 0 0 0 0
2 0 0 1 0 0 0 1 0 0 0 0 0 0 0
3 0 0 1 1 0 0 0 1 0 0 0 0 0 0
4 0 1 0 0 0 0 0 0 1 0 0 0 0 0
5 0 1 0 1 0 0 0 0 0 1 0 0 0 0
6 0 1 1 0 0 0 0 0 0 0 1 0 0 0
7 0 1 1 1 0 0 0 0 0 0 0 1 0 0
8 1 0 0 0 0 0 0 0 0 0 0 0 1 0
9 1 0 0 1 0 0 0 0 0 0 0 0 0 1
Figura 19 – tabela de verdade de um descodificador BCD - decimal

Pela tabela da verdade constrói-se um mapa de Karnaugh para cada uma das dez saídas. No exemplo
considerado em cada saída só uma das dez linhas será um (1), acendendo o LED respetivo. Por isso, é possível
concentrar os dez mapas (um por saída) num único, como representado na Figura 20. Note-se que os códigos
ilegítimos são sempre os mesmos nos dez mapas.

Figura 20

Para melhor compreensão, o aluno poderá desdobrar o mapa nos 10 parciais. Escrevamos as expressões, para
cada uma das saídas:

9
Das expressões resulta o logigrama:

D C B A

1 1 1 1

& 0

& 1

& 2

& 3

& 4

& 5

& 6

& 7

& 8

& 9

Figura 21 - Implementação do circuito do conversor BCD - Decimal

Existem circuitos integrados que realizam a função atrás descrita como o 71141, 7442, 7445.

10
Descodificador BCD - 7 Segmentos

Este circuito converte o código BCD no código de 7 segmentos. Destina-se a alimentar visualizadores (displays)
de leds de 7 segmentos, em que a visualização dos números é feita pelo acender de vários segmentos como se
mostra na Figura 22:

Figura 22 - Visualização dos dígitos decimais através de Leds de sete segmentos

Figura 23 – Visualizador de LEDs (Light Emitting Diode) de sete segmentos

A correspondência entre os pinos do integrado e os segmentos do led é, apresentada na Figura 23


Tabela de verdade para um descodificador com saídas ativas altas:

Entradas Saídas
Dec. D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 0 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 0 0 1 1
Figura 24

11
Neste caso teremos um mapa de Karnaugh por cada saída a, b, c, ..., g, isto é, um total de sete mapas. O circuito
obter-se-á através das expressões resultantes do mapa, mais uma vez tendo em consideração que os códigos
ilegítimos valem X. Por exemplo, para o segmento d, teríamos o mapa seguinte:
Mapa de Karnaugh para a saída correspondente ao segmento d de um conversor BCD - 7 segmentos

BA

DC 00 01 11 10
1
00 1 0 1
1
01 0 0 1

11 — — — —
10
1 0
— —

Figura 25

Deste mapa resulta a expressão para o segmento d:

𝑑 = 𝐶̅ 𝐴̅ + 𝐵𝐶̅ + 𝐵𝐴̅ + 𝐶𝐵̅ 𝐴

Para os outros segmentos as suas expressões obtêm-se da mesma forma.


Após a obtenção de todas as expressões, implementa-se o circuito.
Na prática, este descodificador já existe na lógica TTL nos tipos 7446, 7447, 7448 e 7449. Os dois primeiros têm
saídas ativas baixas e utilizam-se para serem ligados a displays de ânodo comum, sendo os dois restantes, com
saídas ativas altas, utilizados para displays de cátodo comum.
Para ilustrar como se verifica a excitação de um display de 7 segmentos de ânodo comum, vejamos a figura
seguinte:

Figura 26

As resistências colocadas entre o descodificador e o display têm como função limitar o valor da corrente que irá
percorrer cada um dos LEDs ou segmentos, tipicamente de 10 mA.

12
Descodificador 74LS47

O descodificado BCD – 7 segmentos 74LS47 tem saídas ativas baixas e destina-se a atacar displays de ânodo
comum.
Possui uma entrada de teste dos segmentos ̅𝐿𝑇
̅̅̅ (Lamp Test) ativa baixa. Quando ativa, liga todos os segmentos
do display, mostrando o dígito 8.
Possui ainda uma entrada, ̅̅̅̅̅
𝑅𝐵𝐼 , que permite apagar todos os segmentos quando a entrada em BCD é 0. É útil
para poupar energia e apagar os zeros à esquerda. Este comando pode ser transmitido aos dígitos mais à
esquerda através da saída ̅̅̅̅̅̅
𝑅𝐵𝑂 , pino número 4 do circuito integrado.
O mesmo terminal pode ser usado como entrada, 𝐵𝐼 ̅̅̅ , Blankig Input, para provocar o apagamento do display,
independentemente do nível das outras entradas. Deste modo é possível controlar o brilho do display se esta
entrada for continuamente ativada e desativada com tempos apropriados.

Figura 27 – símbolo lógico ANSI / IEEE Std 91-1984 do 74LS47

DECIMAL ENTRADAS ̅̅̅ ̅̅̅̅̅̅


𝐵𝐼 /𝑅𝐵𝑂 SAÍDAS
OU
FUNÇÃO ̅𝐿𝑇
̅̅̅ ̅̅̅̅̅
𝑅𝐵𝐼 D C B A H a b c d e f g
0 H H L L L L H ON ON ON ON ON ON OFF
1 H X L L L H H OFF ON ON OFF OFF OFF OFF
2 H X L L H L H ON ON OFF ON ON OFF ON
3 H X L L H H H ON ON ON ON OFF OFF ON
4 H X L H L L H OFF ON ON OFF OFF ON ON
5 H X L H L H H ON OFF ON ON OFF ON ON
6 H X L H H L H OFF OFF ON ON ON ON ON
7 H X L H H H H ON ON ON OFF OFF OFF OFF
8 H X H L L L H ON ON ON ON ON ON ON
9 H X H L L H H ON ON ON OFF OFF ON ON
10 H X H L H L H OFF OFF OFF ON ON OFF ON
11 H X H L H H H OF OFF ON ON OFF OFF ON
12 H X H H L L H OFF ON OFF OFF OFF ON ON
13 H X H H L H H ON OFF OFF ON OFF ON ON
14 H X H H H L H OFF OFF OFF ON ON ON ON
15 H X H H H H H OFF OFF OFF OFF OFF OFF OFF
̅̅̅
𝐵𝐼 = L X X X X X X L OFF OFF OFF OFF OFF OFF OFF
̅̅̅̅̅ = L
𝑅𝐵𝐼 H L L L L L L OFF OFF OFF OFF OFF OFF OFF
̅𝐿𝑇
̅̅̅ = L L X X X X X H ON ON ON ON ON ON ON
Figura 28 – Tabela de verdade do 74LS47: H – alto; L – baixo; X – indiferente; ON – ligado; OFF – desligado

13
MULTIPLEXADORES e DESMULTIPLEXADORES
INTRODUÇÃO

Os MULTIPLEXADORES/DESMULTIPLEXADORES (MULTIPLEXER/DEMULTIPLEXER) são dispositivos que


têm a função de selecionar uma de entre N entradas e enviá-la por uma única saída ou, inversamente, distribuir
por N saídas os dados aplicados na entrada.
Outra função possível destes circuitos é a descodificação de códigos.
Existem MULTIPLEXADORES/DESMULTIPLEXADORES quer para sinais analógicos, quer digitais. Debruçar-
nos-emos, obviamente, sobre os dedicados aos sinais digitais.

MULTIPLEXADORES

Funcionamento Básico

O esquema de princípio de um MULTIPLEXADOR é apresentado na figura.

Figura 29 – Princípio de funcionamento de um MULTIPLEXADOR

A entrada selecionada é transmitida para a saída única do circuito.


A figura seguinte mostra o logigrama que implementa a função para duas variáveis de entrada:

A0

&
I0 Y
1
&
I1

Figura 30

sd10peac módulo 3_circuitos combinatórios RM/14 14


Conforme for o valor de A0, 0 ou 1, assim passará à saída a informação provinda da entrada I0 ou I1. Esta
situação pode ser expressa na seguinte tabela de verdade:
A0 Y
0 I0
1 I1
Figura 31

Basta uma variável de seleção (A0) para selecionar uma de duas entradas.

Se, em vez de 2, tivermos 4 entradas, vamos ter necessidade de um endereço de 2 bits e o circuito será o
indicado na figura, cujo funcionamento é evidente, observando a respetiva tabela de verdade:
Endereço Saída
A1 A0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3
Figura 32

Generalizando, para selecionar uma de N entradas são necessárias S variáveis de seleção, sendo a relação
entre S e N a seguinte:
2S = N

N1 N0

1 1

&
I0

&
I1
1 Y
&
I2

&
I3

Figura 33

15
MULTIPLEXADORES COMERCIAIS

No mercado existem vários multiplexadores. Vejamos alguns.


74151

Figura 35

Figura 34

O circuito integrado 74151 é um multiplexador de 8 entradas. Este multiplexador dispõe de uma entrada de
enable, G, ativa baixa e dispõe de duas saídas, uma ativa alta e outra ativa baixa referenciada pela negação.
Quando G = 0, o circuito está ativo e as entradas de seleção CBA irão selecionar uma das entradas de dados
(de D0 a D7) para permitir a passagem da respetiva informação até Y. Quando G =1 o multiplexador estará
desativado, mantendo-se Y = 0, independentemente da informação presente nas diversas entradas. A operação
está descrita na tabela de verdade da Figura 36.

Entradas Saídas
G C B A Y Y
H X X X H L
L L L L D 0 D0
L L L H D 1 D1
L L H L D 2 D2
L L H H D 3 D3
L H L L D 4 D4
L H L H D 5 D5
L H H L D 6 D6
L H H H D 7 D7

Figura 36

Nota: Quando um circuito tem uma ou mais entradas que são comuns a mais do que um elemento do circuito,
deverá ser usado um bloco comum de controlo com a forma especificada. Vemos através da figura que as
̅ , A, B e C do bloco de controlo são comuns a todos os elementos que se situam abaixo dele.
entradas G

16
74157
A seguir representa-se o diagrama lógico e o símbolo IEEE do 74157 que inclui quatro multiplexadores de 2x1.

Figura 37 - C.I. 74157 quádruplo multiplexador de 2 entradas: a) Circuito lógico; b) Símbolo IEEE
De notar que os quatro multiplexadores partilham a mesma entrada de seleção e a mesma entrada de enable,
podendo assim realizar 4 multiplexadores com 2 entradas de informação (n = 2) e uma entrada de seleção (s =1
). Pode ser usado para selecionar uma de duas palavras de 4 bits à entrada.
Nota: Quando um circuito tem uma ou mais entradas que são comuns a mais do que um elemento do circuito,
deverá ser usado um bloco comum de controlo com a forma especificada. Vemos através da figura que as
̅ eA
entradas G ̅ /B do bloco de controlo são comuns a todos os elementos que se situam abaixo dele.

APLICAÇÕES DOS MULTIPLEXADORES

Os multiplexadores apresentam diversas aplicações, entre as quais podemos destacar o endereçamento de


dados, conversão paralelo-série, geradores de forma de ondas e geradores de funções. Analisemos esta última
função
Suponhamos que temos uma função f dependente de três variáveis C, B e A, sendo

f  C BA  C BA  C B A  CBA .
Vejamos como podemos implementar o circuito com um único circuito integrado, o multiplexador 74151 de 8
entradas.
Esta função pode ser representada como o somatório de termos fundamentais, também chamados termos
mínimos ou mintermos, da seguinte maneira: f  CBA  CBA  CB A  CBA  m (2,3,5,6) . De facto,
C BA = 0102 = 2; C BA = 0112 = 3, etc.
Para implementar a função basta assegurar que as entradas 2, 3, 5 e 6 tenham o valor lógico 1 e as restantes o
valor lógico 0 para que na saída Y do multiplexador tenhamos a função f, pois para cada uma das hipóteses de
CBA a saída dá-nos o correspondente valor lógico introduzido na entrada de sinal:

F
Figura 38 – Implementação de função lógica com o multiplexador 74151

17
DESMULTIPLEXADORES

Funcionamento básico

O esquema de princípio de um DESMULTIPLEXADOR é apresentado na figura

Figura 39 - Esquema de princípio de um DESMULTIPLEXADOR

Este circuito executa a função inversa do MULTIPLEXADOR, isto é, recebe dados pela entrada e distribui-os por
várias saídas.
Vejamos como é possível com os elementos lógicos básicos construir um circuito DESMULTIPLEXADOR básico:
DESMULTIPLEXADOR de 2 saídas

1 & S0
E

& S1

Figura 40

Conforme o valor de A - ZERO ou UM - assim a informação de entrada sairá por uma ou outra via, já que como
DEMUX básico só terá duas saídas, para a seleção das quais só necessita de uma variável (endereço).
A respetiva tabela da verdade é a seguinte:

Endereço Saídas
A S0 S1
0 E 0
1 0 E
Figura 41

Sendo E o nível da entrada.

18
No caso de se pretender separar a informação de entrada por 4 saídas o circuito desmultiplexador será o
representado na figura:

B A

1 1

& S0

& S1

E &
S2

& S3

Figura 42 - DEMUX para 4 saídas

Para este circuito a tabela de verdade é:

Endereço Saídas
B A S0 S1 S2 S3
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
1 1 0 0 0 E
Figura 43

Pode-se verificar que a expressão lógica de cada uma das saídas é:

S0  E  (A  B) ; S1  E  (A  B) ; S2  E  (A  B) ; S3  E  (A  B)

19
DESMULTIPLEXADORES COMERCIAIS

No mercado há desmultiplexadores duplos, 2 para 4, ou seja, duas variáveis de endereço ou seleção e quatro
saídas de sinal. Existe ainda 3 para 8 ou 4 para 16.

74138
Trata-se de um desmultiplexador (também funciona como descodificador) de 3 variáveis de seleção para 8
saídas (ver figura).
Note-se que não existe nenhuma entrada assinalada como sendo de sinal. Teremos de usar uma das entradas
ENABLE (habilita; autoriza).
Façamos as entradas enable 𝐺̅ 2A e 𝐺̅ 2B com o nível baixo. A entrada G1 será a entrada de sinal.
Suponhamos selecionada a saída 𝑌̅0. Quando o sinal for alto, G1 será alto e a saída 𝑌̅0 será baixa; quando o
sinal for baixo, G1 será baixo e a saída 𝑌̅0 será alta; temos que a saída é complementar do sinal. 𝑌̅0 = 𝐺1

Figura 44 - descodificador/desmultiplexador 1-de-8. a) diagrama lógico; b) símbolo lógico tradicional.

Façamos a entrada enable G1 com nível alto; a entrada 𝐺̅ 2B com sinal baixo. A entrada 𝐺̅ 2A será a entrada de
sinal .
É evidente que se pode permutar 𝐺̅ 2A com 𝐺̅ 2B.
Quando 𝐺̅ 2 for alto por o sinal ser alto, a saída seleccionada, por exemplo 𝑌̅0, será alta; para 𝐺̅ 2 for baixo por o
sinal ser baixo a saída 𝑌̅0 será baixa. Temos que a saída é igual à entrada. 𝑌̅0=𝐺̅ 2A.
Para cada multiplexador ter-se-á que verificar qual a maneira correta de introduzir o sinal.
O símbolo IEEE do descodificador/desmultiplexador 74138 é apresentado na Figura 45.
O retângulo interior abrange as entradas consideradas de Enable e associadas
pela função AND que está representada pelo símbolo &. A saída é de nível baixo
quando ativada e só o é quando G1 for alto e 𝐺̅ 2A e 𝐺̅ 2B. forem baixas.
Os pinos estão numerados entre parêntesis. As entradas de endereço ou seleção
estão indicadas como CBA, sendo A o menos significativo. O valor binário da
entrada determina o número da linha de saída que será ativada.

Figura 45

20
74154
O C.I. 74154 COMO DESMULTIPLEXADOR

A figura mostra o símbolo lógico do C.I. 74154 (descodificador de 4 para 16 linhas) que pode funcionar como
um desmultiplexador de 1x16, usando as linhas de entrada como entradas de seleção e uma das entradas de
enable como entrada de dados. A outra entrada de enable deve ser colocada a nível baixo.

Figura 46 - O desmultiplexador 74154

Como sabemos, um multiplexador seleciona uma de várias entradas para a informação poder ser enviada
através de uma saída. Por outro lado, o desmultiplexador recebe essa informação por uma entrada e encaminha-
a para uma de várias saídas também previamente selecionada.
Podemos, conjugando um multiplexador e um desmultiplexador, estabelecer a ligação através de um bus entre
várias entradas e várias saídas. A figura ilustra essa situação.

Figura 47 - Ligação de um multiplexador a um desmultiplexador através de um bus

MUX DMUX
EN 0
0 0 0 1
0 𝐺 2
7
2 𝐺 2 3
7 4
0
5
1
2 6
3 7
4 “1”
5
6 “0”
7
&
74151 74138
A B

21
O DESMULTIPLEXADOR NA REALIZAÇÃO DE FUNÇÕES LÓGICAS

O 74LS138 tanto pode ser considerado um descodificador como um desmultiplexador. Este desmultiplexador tem
todos as saídas ativas baixas. A implementação de funções realiza-se da maneira já indicada para este circuito
integrado. Recordemos o processo.
Quando a saída é selecionada, corresponde a ter um mintermo representado pelo seu complemento.
Quando introduzimos nas entradas duma porta NAND os mintermos complementados, a saída da porta NAND
realiza a função.

Consideremos a função F( XYZ )  m (0,2,3,5) cujo mapa de Karnaugh é mostrado na figura.

YZ
X
00 01 11 10

0 1 0 1 1

1 0 1 0 0

Figura 48

O circuito tradicional de soma de produtos usando portas NAND é mostrado na Figura 49 a).

Figura 49

Alternativamente a soma canónica pode ser realizada com um descodificador/desmultiplexador e uma porta
NAND como mostrado na figura b), simplesmente "pegando" a saídas correspondentes a cada termo mínimo e
somando-os.
Note-se que, como se sabe, uma porta OR com as entradas negadas é equivalente a uma porta NAND (teorema
de DE MORGAN). Note também que X, Y e Z devem ser ligados às entradas do desmultiplexador na ordem
correta (X é o MSB, logo deve ser ligado a C).
Esta implementação torna-se interessante quando há várias funções das mesmas variáveis e que portanto no
seu conjunto levam bastantes mintermos. Para uma só saída não se torna económica esta implementação.

22
COMPARADORES

Os comparadores comparam dois números entre si. podem ser só de igualdade ou de grandeza.

Comparador de igualdade de 1 bit

A porta XOR (OU exclusivo) pode funcionar como um comparador de igualdade de 1 bit.

A 1 se B ≠ A
B 0 se B = A

Figura 50

Comparador de igualdade de 4 bits

A3
B3
A2
B2
1 se B ≠ A
A1 0 se B = A
B1

A0
B0
Figura 51

Comparador de grandeza de 1 bit

Tabela de verdade
X Y Z
B A B>A B=A B<A
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
Figura 52

Expressões booleanas
𝑋 = 𝐵𝐴̅
𝑌 = 𝐵𝐴 + 𝐵𝐴 = 𝐵⨁𝐴 = 𝐵⨀𝐴
𝑍 = 𝐵̅ 𝐴

23
Logigrama

B A

X (B>A)

Y (B=A)

Z (B<A)

Figura 53

Comparador de grandeza de 2 bit

Tabela de verdade
B A X Y Z
B1 B0 A1 A0 B>A B=A B<A
0 0 0 0 0 1 0
0 0 0 1 0 0 1
0 0 1 0 0 0 1
0 0 1 1 0 0 1
0 1 0 0 1 0 0
0 1 0 1 0 1 0
0 1 1 0 0 0 1
0 1 1 1 0 0 1
1 0 0 0 1 0 0
1 0 0 1 1 0 0
1 0 1 0 0 1 0
1 0 1 1 0 0 1
1 1 0 0 1 0 0
1 1 0 1 1 0 0
1 1 1 0 1 0 0
1 1 1 1 0 1 0
Figura 54

Mapa de Karnaugh para a saída X


A1A0
00 01 11 10
B1B0
00 0 0 0 0
1
01 0 0 0
11 1 1
1 0

10 1 1 0 0

X  B1A1  B0 A1A 0  B1B0 A 0

24
De igual modo se pode obter simplificando a expressão resultante do mapa de Karnaugh e recorrendo aos
teoremas da álgebra de Boole:
𝑌 = (𝐵0 ⨀𝐴0 ) ∙ (𝐵1 ⨀𝐴1 ),

Z  B1A1  B1B0 A 0  B0 A1A 0


A partir destas expressões pode ser desenhado o logigrama deste comparador, tarefa deixada para o aluno
resolver.

Comparador 7485

É um comparador de dois números de 4 bit cada.


Possui 3 entradas de cascata que permitem comparar números com mais que 4 bit, as entradas <, = e >.

Figura 55 - Símbolo IEEE

Se quisermos comparar dois números de 8 bit usamos dois 7485: um para os quatro bits menos significativos
(low) e outro para os 4 bits mais significativos (high). Se o comparador dos bits mais significativos der uma
igualdade, é necessário conhecer o resultado da comparação dos 4 bits menos significativos para apresentar a
relação de grandeza correta.
A ligação em cascata deve ser efetuada como na figura seguinte.

(low) (high)

Figura 56

Neste caso, comparamos o número P com o número Q, ambos de 8 bit.


De notar que, no comparador menos significativo (low), as entradas de grandeza devem ser ligadas de modo a
indicar uma igualdade (a entrada = a “1” e as outras a “0”).

25
CIRCUITOS SOMADORES
Comecemos por estudar um circuito designado por meio-somador (half-adder) e que executa a adição de dois
números, B e A, de um bit cada.
O meio-somador não tem em conta o transporte (carry) da operação anterior, ao contrário do somador-completo.
Vejamos a tabela de verdade correspondente a este circuito:

A
A
B A Co S
B 0 1
0 0 0 0 B 0 1
0 1 0 1 0 0 0
0 0 1
1 0 0 1
1 0 1
1 1 1 0 1 1 0
𝐶𝑜 = 𝐵 ∙ 𝐴 𝑆 = 𝐵𝐴̅ + 𝐵̅ 𝐴 = 𝐵 ⊕ 𝐴

em que B e A são as entradas representando os dois números que se pretendem somar e S e C o são as saídas
que designaremos respetivamente por soma e carry. As funções booleanas para S e Co são respetivamente:
𝐶𝑜 = 𝐵 ∙ 𝐴
𝑆 = 𝐵𝐴̅ + 𝐵̅ 𝐴 = 𝐵 ⊕ 𝐴
Na Figura 57 representam-se duas implementações possíveis para o semi-somador.

Figura 57 -- Implementações do semi-somador

Como facilmente se pode constatar, o circuito anterior não prevê todas as situações possíveis numa adição de
dois números com mais de um bit, que será o caso mais geral. Nessa perspetiva vamos estudar agora o circuito
somador completo (full-adder). Este circuito efetua a adição de três bits de entrada, que designaremos
genericamente por Bk Ak e Cin. Bk e Ak serão os bits de ordem k pertencentes aos números que pretendemos
adicionar e Cin corresponde ao transporte (carry) produzido na adição parcial anterior. As saídas deste circuito
serão duas: S, que continuaremos a designar por soma, e Co, que designaremos por carry out, transporte de
saída. Teremos, então, a seguinte tabela de verdade:

Cin Bk Ak CO S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

26
Os bits de entrada e saída dos circuitos combinatórios têm diferentes interpretações ao longo das diversas
etapas da resolução do problema. Fisicamente, os sinais binários dos condutores de entrada são considerados
dígitos binários adicionados aritmeticamente para formarem uma adição de dois dígitos nos condutores de saída.
Por outro lado, os mesmos valores binários são considerados variáveis de funções booleanas, quando expressas
na tabela de verdade ou quando o circuito é implementado com portas lógicas. É importante entender que
existem estas duas interpretações para os valores dos bits presentes neste circuito.
Vamos preencher os mapas de Karnaugh relativos às duas funções de saída.

BKAK BKAK
Cin Cin
00 01 11 10 00 01 11 10
0 0 0 1 0 0 0 1 0 1
1 0 1 1 1 1 1 0 1 0

C0 =Bk ⋅Ak +Cin ⋅Ak +Cin ⋅Bk ̅ in ⋅B


S=C ̅ in ⋅Bk ⋅A
̅ k ⋅Ak +C ̅ k +Cin ⋅B
̅ k ⋅A
̅ k +Cin ⋅Bk ⋅Ak

O logigrama resultante é:

Figura 58
Demonstra-se que as funções booleanas de Co e S podem ser escritas doutra forma:
Co =Cin ⋅(B⊕A)+Bk ⋅Ak
S=Cin ⊕(Bk ⊕Ak )
Donde resulta o logigrama mais simples:

Figura 59 - Implementação de um somador completo

27
Exercício:

Implementar um circuito full-adder utilizando um descodificador e duas portas OR.


A partir da tabela de verdade de um full-adder obtemos as funções para este circuito combinatório em soma de
mintermos:

Resolução:

S (Cin ,Bk ,Ak ) = ∑m (1 ,2,4,7)

C (Cin ,Bk ,Ak ) = ∑m (3,5,6,7)

Dado que temos três entradas e um total de oito mintermos, vamos precisar de um descodificador 3 por 8.

Figura 60 - Implementação de um full-adder utilizando um descodificador

Para representar o somador completo de um bit básico poderemos utilizar o símbolo

P
Q 

Ci Co

Figura 61

Existem diversos C.I. que incluem circuitos somadores. Um dos mais utilizados é o 74LS283, somador completo
de 4 bits. Este circuito efetua a soma binária de dois números de 4 bits (P = P3 P2 P1 P0 e Q = Q3 Q2 Q1 Q0). A
sua estrutura é mostrada na figura 57. Podemos ver que este C.I. é constituído por quatro full-adders em que a
saída de carry, Co, do primeiro full-adder é ligada à entrada Ci do segundo e assim sucessivamente.

Figura 62 - Somador 74x283 – esquema de blocos e símbolo IEEE

Da mesma forma podemos implementar um somador de 8 bits utilizando dois circuitos 74LS283.

28
CIRCUITOS SUBTRATORES
Usando um somador completo é possível implementar um circuito que faça a adição ou a subtração pelo método
do complemento a dois, a operação B + A ou a operação B + (-A), sendo essa escolha determinada por uma
entrada de comando X.
Para X = 0, o circuito efetua a adição, se X = 1, o circuito efetua a subtração.
Usando um circuito somador 74LS283, podemos conseguir obter o complemento para dois do número a subtrair,
através da utilização de portas EXOR, por forma a trocar os 0s por 1s e os 1s por 0s e da adição de uma unidade
em C0 (carry zero).

Figura 63 – somador ou subtrator usando o 74LS283

29