Você está na página 1de 33

Curso Profissional de Eletrónica,

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

SISTEMAS DIGITAIS
580878908.docx
RM/14
1
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

Y 2=D7 + D 6+ D 5+ D 4 D7 D6 D5 D4 D3 D2 D1 D0

Y 1=D7 + D 6 + D3 + D2
Y 0= D 7 + D 5+ D 3 + D 1 1 Y2
Inconvenientes deste codificador
1 Y1
 Apresenta o mesmo resultado quer D0 seja
0 ou 1.
 Se duas ou mais entradas forem ativadas 1 Y0
em simultâneo, teremos na saída um
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. Figura - Logigrama

Estes inconvenientes podem ser resolvidos usando


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

2
D7 D6 D5 D4 D3 D2 D1 D0

1 Y2

1 Y1

1 Y0

Figura 2 – 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 7).
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 3 - 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 3) pode verificar-se que, estando ativa a entrada D 3, 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, Y 1 e Y0, vamos recorrer a mapas de
Karnaugh.
Para preencher o mapa de Karnaugh para a saída Y 1 (Figura 4), 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 4). Raciocinando de modo idêntico preenchemos o respetivo mapa e o mapa
da saída Y0 (Figura 5).

3
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 4 - Y 1=D 3 + D 2 Figura 5 - Y 0= D 3 + D 2 ∙ D 1


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

D3 D2 D1

1 Y1

1 Y0
&

Figura 6

Codificador com prioridade ao menor valor.


De seguida é apresentado um codificador de prioridade à entrada mais baixa.
Começaremos pela tabela de verdade. (Figura 7).
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 7 - 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:

é apresentado na Figura 8.
O circuito 8 - Diagrama lógico de um codificador 4/2
Figura

4
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, EI
۰ Com o enable ativo ( EI = 0):
o A saída EO , “Enable Output” é ativada (nível baixo) quando nenhuma das entradas é ativada.
Usa-se para ligar a EI “Enable input” de outro “148”.
o A saída GS é ativada (nível baixo) quando pelo menos uma das entradas for ativada (nível
baixo).

Tabela de verdade
Figura 9 - Símbolos do 74LS148.

Como se pode verificar (Figura 10), o nível ativo é zero, e as saídas indicam, em valor complementar, o valor
binário correspondente à entrada ativa.
Entradas Saídas
EI I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 A 2 A 1 A 0 GS EO
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 10 - Tabela de verdade do 74LS 148.

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

Tabela de verdade
Figura
Como se pode verificar (Figura 10), 11 – Símbolo
o nível e configuração
ativo é zero, dos indicam,
e as saídas pinos do em valor complementar, o valor
74LS147.
binário correspondente à entrada ativa.

ENTRADAS SAÍDAS (BCD) Valores


decimais
1 2 3 4 5 6 7 8 9 D C B A
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

6
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 12 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 12 - 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, (S 2 = 0)


Da tabela obtemos as equações seguintes:
S0 =a0 ∙ a1 ; S 0=a 0 ∙ a1
S1=a0 ∙a 1 ; S1=a0 ∙ a1
S2=a0 ∙ a1 ; S2=a0 ∙ a1
S3=a0 ∙ a1 ; S3 =a0 ∙ a1
de que resulta o circuito representado na Figura 13

a1 a0

1 1

& S0

& S1

& S2

& S3

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

7
Descodificador 74LS138

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


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

Explicação do símbolo IEEE


Figura 14
Função do circuito
Pesos dos bits de entrada
Saídas ativas baixas
BIN/OCT
0
A 1 1
B 2 2
C 4 3
4
5
6
7
G1
2A & EN
2B

Função AND: para habilitar o funcionamento (“ENABLE”),

Figura 15
Tabela de verdade

Entradas Saídas
G1 G 2A G 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 16

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

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

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

“0”

Figura 17

Ambos os circuitos integrados são habilitados por EN .


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.

9
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 18 – 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 19. Note-se que os códigos
ilegítimos são sempre os mesmos nos dez mapas.

Figura 19

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

10
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 20 - Implementação do circuito do conversor BCD - Decimal

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

11
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 21:

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

Figura 22 – 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 22


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 23

12
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
— —
Deste mapa resulta a expressão para o segmento d:

d=C A + BC + B A +C B A Figura 24

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 25

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.

13
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, RBI , 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 RBO , pino número 4 do circuito integrado.
O mesmo terminal pode ser usado como entrada, BI , 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 26 – símbolo lógico ANSI / IEEE Std 91-1984 do 74LS47

DECIMAL ENTRADAS BI / RBO SAÍDAS


OU
FUNÇÃO ¿ RBI 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
BI = L X X X X X X L OFF OFF OFF OFF OFF OFF OFF
RBI = 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 27 – Tabela de verdade do 74LS47: H – alto; L – baixo; X – indiferente; ON – ligado; OFF – desligado
14
15
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 28 – 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 29

580878908.docx RM/14 16
Conforme for o valor de A0, 0 ou 1, assim passará à saída a informação provinda da entrada I 0 ou I1. Esta situação
pode ser expressa na seguinte tabela de verdade:

A0 Y
0 I0
1 I1
Figura 30

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 31

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

17
MULTIPLEXADORES N1 N0 COMERCIAIS

No mercado existem vários 1 1


multiplexadores. Vejamos
alguns.
&
74151 I0

&
I1
O 1 Y
circuito &
I2

&
I3

Figura 32

Figura 33

Figura
integrado 74151 é um multiplexador de 8 entradas. Este multiplexador dispõe de uma34
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 Ḡ = 0, o
circuito está ativo e as entradas de seleção CBA irão selecionar uma das entradas de dados (de D 0 a D7) para
permitir a passagem da respetiva informação até Y. Quando Ḡ =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 Error: Reference source not found.

Entradas Saídas
C B A Y
H X X X H L
L L L L D0
L L L H 1
D1
L L H L 2
D2
L L H H D3
L H L L D4
L H L H D5
L H H L D6
L H H H D7
Figura 35

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
entradas G , A, B e C do bloco de controlo são comuns a todos os elementos que se situam abaixo dele.

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

Figura 36 - 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
entradas G e A /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̄ B Ā +C̄ BA+C B̄ A +CB { Ā ¿ .


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
f =C̄ B Ā + C̄ BA+C B̄ A +CB { Ā=∑ m (2,3,5,6 )¿
mínimos ou mintermos, da seguinte maneira: . De facto,
C̄ B Ā = 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 37 – Implementação de função lógica com o multiplexador 74151
19
DESMULTIPLEXADORES

Funcionamento básico

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

Figura 38 - 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 39
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 40

Sendo E o nível da entrada.

20
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 41 - 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 42

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

; ; ;

21
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 G 2A e G 2B com o nível baixo. A entrada G1 será a entrada de sinal.
Suponhamos selecionada a saída Y 0. Quando o sinal for alto, G1 será alto e a saída Y 0 será baixa; quando o
sinal for baixo, G1 será baixo e a saída Y 0 será alta; temos que a saída é complementar do sinal.Y 0 =G1

Figura 43 - 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 G 2B com sinal baixo. A entrada G 2A será a entrada de
sinal .
É evidente que se pode permutar G 2A com G 2B.
Quando G 2 for alto por o sinal ser alto, a saída seleccionada, por exemplo Y 0, será alta; para G 2 for baixo por o
sinal ser baixo a saída Y 0 será baixa. Temos que a saída é igual à entrada. Y 0=G 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 44.
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 G 2A e G 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 44

22
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 45 - 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 46 - Ligação de um multiplexador a um desmultiplexador através de um bus

23
MUX
O DESMULTIPLEXADOR NA REALIZAÇÃO DMUX
DE FUNÇÕES LÓGICAS
EN 0
0 0 1
O 74LS138 tanto pode ser considerado um descodificador como um desmultiplexador.
2 Este desmultiplexador tem
3
todos as saídas ativas baixas. A implementação
2 de funções realiza-se2 da maneira
4 já indicada para este circuito
0
integrado. Recordemos o processo. 1 5
2 6
Quando a saída é selecionada, corresponde
3 a ter um mintermo representado pelo
7 seu complemento.
4 “1”
Quando introduzimos nas entradas
5 duma porta NAND os mintermos complementados,
& a saída da porta NAND
realiza a função. 6 “0”
7
F( XYZ)=∑ m (0,2,3,5 )
Consideremos a função 74151 cujo mapa de Karnaugh
74138é mostrado na figura.
A YZ B
X
00 01 11 10

0 1 0 1 1

1 0 1 0 0

Figura 47

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

Alternativamente a soma canónica pode ser realizada Figura


com um 48 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.

24
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 49

Comparador de igualdade de 4 bits

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

A0
B0

Figura 50
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 51

Expressões booleanas
X =B A
Y =BA+ BA =B ⨁ A=B ⨀ A
Z=B A

25
Logigrama

B A

X (B>A)

Y (B=A)

Z (B<A)

Figura 52

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 53

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

26
De igual modo se pode obter simplificando a expressão resultante do mapa de Karnaugh e recorrendo aos
teoremas da álgebra de Boole:
Y =(B0 ⨀ A 0) ∙(B1 ⨀ A 1),

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 54 - 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)
27
Figura 55

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

28
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:
B A Co S A A
0 0 0 0
B 0 1 B 0 1
0 1 0 1
1 0 0 1 0 0 0 0 0 1
1 1 1 0
1 0 1 1 1 0

C o=B ∙ A
S=B A+ B A=B ⊕ A

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:
C o=B ∙ A
S=B A+ B A=B ⊕ A
Na Figura 56 representam-se duas implementações possíveis para o semi-somador.

Figura 56 -- 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

29
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

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 S= Cin ⋅ Bk ⋅ Ak + Cin ⋅ Bk ⋅ A k +Cin ⋅Bk ⋅ Ak + Cin ⋅ Bk ⋅ Ak


O logigrama resultante é:

Figura 57
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:

30
Figura 58 - Implementação de um somador completo

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

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

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

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 62 – somador ou subtrator usando o 74LS283

32

Você também pode gostar