Apostila

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 90

rio

s ó
vi
ro
l P
ia
Edgard de Faria Correa, Gláucio Bezerra Brandão
Mônica Magalhães Pereira, Rafael Vidal Aroca

r o
Carla da Costa Fernandes, Ernano Arrais Júnior

i
Ivanovitch Silva

te
Circuitos Lógicosór
a is
M v
Universidade Federal do Rio Grande do Norte
Instituto Metrópole Digital

o
Natal/RN, 2013

Pr UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

a l
r i
te
a
Conteúdo

I Sistemas Digitais • • • • • • • • • • • • • • • • • • • • • • • • • • 1
I.1 Introdução 1
I.2 Comparação entre o sistema analógico e digital 2
I.3 Níveis de abstração de um sistema digital 3
I.4 Componentes Elétricos 4
I.4.1 Grandezas Elétricas 4
I.4.2 Elementos lineares passivos 6
I.4.3 Componentes eletrônicos 8
I.4.4 Circuitos elétricos 8
I.5 Circuitos Digitais 11
I.6 Aplicações de Sistemas Digitais 11

II Sistemas de Numeração • • • • • • • • • • • • • • • • • • • • • 15
II.1 Sistemas de Numeração 15
II.2 Contagem em sistemas de numeração 16
II.3 Conversões 17
II.3.1 Descrição geral de um número em qualquer base 17
II.3.2 Conversões de números binários 18
II.3.3 Conversões de números octais 19
II.3.4 Conversões de números decimais 20
II.3.5 Conversões de números hexadecimais 21
II.3.6 Conversões de números fracionários 22
II.4 Códigos Numéricos 23
II.4.1 Código BCD 23
II.4.2 Código Gray 25
ii

III Circuitos Lógicos • • • • • • • • • • • • • • • • • • • • • • • • • 29


III.1 Introdução 29
III.1.1 Variáveis Booleanas 30
III.2 Tabela Verdade 30
III.3 Funções Lógicas Básicas 31
III.3.1 Porta OR 31
III.3.2 Porta AND 32
III.3.3 Porta NOT 34
III.3.4 Precedência dos operadores 34
III.4 Conversões de representações de circuitos lógicos 35
III.4.1 Conversão de circuito lógico para expressão booleana e tabela verdade 35
III.4.2 Conversão de equação booleana para circuito lógico 37
III.4.3 Conversão de tabela verdade para equação booleana 39

IV Combinação de Portas Lógicas • • • • • • • • • • • • • • • • • • 47


IV.1 Combinação de portas lógicas 47
IV.1.1 Porta NAND 47
IV.1.2 Porta NOR 48
IV.1.3 Universalidade das portas NAND e NOR 49
IV.1.4 Portas XOR 51
IV.1.5 Portas XNOR 53

V Teoremas Booleanos • • • • • • • • • • • • • • • • • • • • • • • 57
V.1 Teoremas Booleanos 57
V.1.1 Teoremas com apenas uma variável 58
V.1.2 Teoremas com mais de uma variável 60
V.1.3 Teoremas de De Morgan 62
V.1.4 Simplificação de expressões lógicas 62

VI Mapas de Karnaugh • • • • • • • • • • • • • • • • • • • • • • • 69
VI.1 Mapas de Karnaugh 70
VI.2 Desenhando o Mapa de Karnaugh 71
VI.3 Preenchendo o Mapa de Karnaugh 72
VI.4 Obtendo a equação booleana a partir do Mapa de Karnaugh 74
VI.5 Simplificação de circuitos utilizando o Mapa de Karnaugh 75
VI.5.1 Quantidade de células em um grupo 77
VI.5.2 Escolha do grupo 78
VI.5.3 Exemplos de grupos de células 78
VI.5.4 Exemplos de simplificação 80
VI.6 Simplificação utilizando grupos laterais 80
VI.7 Condições indiferentes 82
I — Sistemas Digitais

Neste capítulo, veremos as principais diferenças entre os sinais analógicos e digitais. Veremos
também quais os principais motivos que levaram à adoção de sistemas digitais em circui-
tos lógicos. Serão mostrados os elementos elétricos passivos, como resistores, capacitores e
indutores, e os transistores e diodos. Analisaremos circuitos elétricos utilizando as Leis de
Kirchhoff, e por fim, veremos o que são sistemas embarcados e onde esses sistemas podem
ser aplicados.

Objetivos
– Conhecer os sinais analógicos e digitais ;
– Fazer uma comparação entre sistemas analógicos e digitais ;
– Conhecer os elementos elétricos passivos : resistor, capacitor e indutor ;
– Conhecer as Leis de Kirchhoff ;
– Conhecer os transistores e os diodos ;
– Analisar as principais aplicações de sistemas digitais. !

I.1 Introdução
Um sinal analógico é um sinal contínuo, que pode assumir um conjunto infinito de valores
possíveis. Um sinal digital é um sinal com valores discretos no tempo e em amplitude, ou
seja, só é definido para determinados instantes de tempo e só pode assumir um conjunto
finito de valores. Um exemplo de sinal analógico é a temperatura do ambiente, podendo
assumir valores como 30,19283... graus. Um exemplo de sinal digital que pode assumir dois
valores é a situação de uma lâmpada, que pode estar ligada ou desligada. Já um sinal digital
que pode assumir três valores pode ser representado pela velocidade de um ventilador, que
2 Sistemas Digitais

(a)

(b)

Figura I.1 – Sistema (a) analógico (b) digital.

pode ser definida como velocidade 1, velocidade 2 ou velocidade 3 - um conjunto finito de


valores.
Os sinais analógicos e digitais podem ser utilizados em sistemas capazes de analisar a
entrada e a partir dela gerar uma saída. Um sistema analógico é um sistema que processa
sinais analógicos, enquanto um sistema digital processa sinais digitais. As entradas e saídas
nos sistemas digitais são representadas por sinais que correspondem a grandezas físicas
elétricas, principalmente tensão.
Um dos problemas da utilização de sistemas analógicos é que uma pequena variação na
entrada provoca erros na saída. Sistemas digitais são menos sensíveis a este tipo de erro, pois
uma variação na entrada, decorrente de degradação no sinal, pode ainda ser interpretada
corretamente. A Figura I.1 mostra sistemas analógicos e digitais, representando os sinais de
entrada e saída de cada sistema.
Os sistemas digitais utilizados em computadores podem, em sua maioria, assumir apenas
dois valores : ligado e desligado. Por exemplo, para detectar o pressionamento de uma tecla
do teclado ou o clique do mouse é necessário saber apenas uma coisa : foi pressionado/clicado
ou não. A representação utilizando apenas dois valores é conhecida como representação
binária. Um sinal binário é um sinal composto por bits (binary digity). A eletrônica digital
foi popularizada depois da invenção do transistor, que é uma chave que pode estar em duas
posições : ligada ou desligada. Falaremos mais sobre transistores no Capítulo VII.

I.2 Comparação entre o sistema analógico e digital


A tecnologia tem migrado cada vez mais para as técnicas digitais na implementação de
funções que eram, antigamente, implementadas utilizando técnicas analógicas. Os principais
motivos para essa migração são :

1. Facilidade de implementação : em sistemas digitais não importa o valor exato obtido,


apenas a faixa na qual se encontra. Por esse motivo, os sistemas digitais são menos
suscetíveis a erros do que os sistemas analógicos.
I.3 Níveis de abstração de um sistema digital 3

Figura I.2 – Diagrama de um sistema de telefonia que utiliza conversores A/D e D/A.

2. Sinais digitais não se deterioram com o tempo. Sinais analógicos podem ser distorcidos
por efeitos como variação de temperatura ou umidade.
3. Facilidade de programação : sistemas digitais podem ser facilmente programados, en-
quanto que a programação de sistemas analógicos é complexa e limitada.

Embora o sistema digital apresente várias vantagens quando comparado ao sistema analó-
gico, o mundo é, em sua maioria, analógico. Por esse motivo, quando se deseja trabalhar
com sinais digitais é necessário realizar uma conversão de analógico para digital. Áudio,
fotos e vídeos são exemplos de aplicações em que é feita a digitalização de sinais analógicos.
Também é necessária a utilização da conversão de digital para analógico quando a obtenção
de uma quantidade analógica a partir de um valor digital é requisitada.
Um exemplo da utilização das conversões analógico para digital (A/D) e digital para
analógico (D/A) é o funcionamento de um telefone celular. Para a utilização do celular, a
voz, que é uma grandeza analógica, é convertida para um valor digital (conversor A/D),
já que a comunicação entre as empresas de telefonia é feita digitalmente. Para a pessoa do
outro lado da linha escutar o que foi dito no telefone, é feita uma conversão D/A, e o sinal
analógico é reproduzido pelo alto-falante do aparelho. Assim, o ciclo da conversão analógica-
digital é completado, (Figura I.2), começando e terminando com um sinal analógico.

I.3 Níveis de abstração de um sistema digital


Como sabemos, os sistemas digitais são sistemas que processam sinais digitais, ou seja, tanto
a entrada quanto a saída são digitais.
O número de componentes em um sistema digital pode variar entre um, dois, até milhares
de componentes. Obviamente, quanto mais componentes são necessários à implementação
de um sistema digital, mais complexo ele é e, consequentemente, mais difícil de entender seu
funcionamento e de projetá-lo. Daí a importância do uso de níveis de abstração no processo
de projeto de sistemas digitais.
A Tabela I.1 mostra alguns níveis de abstração de um sistema digital, especificando a
estrutura básica de cada nível.
No nível de transistores, os transistores, capacitores e resistores são combinados para
formar circuitos analógicos e digitais para determinada funcionalidade. No nível de portas,
as portas lógicas podem ser agrupadas para formar módulos ou unidades aritméticas e de
memória. Esses módulos são utilizados como componentes básicos no nível de registradores.
O conjunto de componentes no nível de registradores formam microcircuitos, que são
4 Sistemas Digitais

Nível Estrutura
Transistor Transistores, resistores e capacitores
Portas Portas lógicas e flip-flops
Registradores Somadores, comparadores, contadores e registradores
Processador Processadores e controladores

Tabela I.1 – Níveis de abstração.

utilizados no nível de processador. Neste último nível, os componentes são montados em


uma placa de circuito impresso. Os níveis de abstração podem ser vistos na Figura I.3.

Figura I.3 – Níveis de abstração de sistemas digitais.

I.4 Componentes Elétricos


Um sistema elétrico é resultado da interação entre resistores, capacitores, diodos e/ou tran-
sistores, objetivando a execução de uma determinada tarefa. Quando a ligação desses ele-
mentos formam um circuito elétrico fechado, o circuito passa a conduzir corrente elétrica.
A grandeza fundamental de circuitos elétricos é a carga elétrica (Q), que é a soma das
cargas básicas de elétrons em um circuito. Outras grandezas elétricas como corrente, tensão
e potência também são utilizadas para explicar o funcionamento de circuitos elétricos.

I.4.1 Grandezas Elétricas


Tensão elétrica
A tensão elétrica (V ) é a quantidade de energia ganha ou perdida pelo circuito quando
uma carga elétrica passa por ele (equação I.1). Nesta equação, W é a energia ganha ou
perdida pelo circuito, enquanto que Q é a carga que passa pelo circuito . Esta força é capaz
de mover elétrons ordenadamente em um condutor. A tensão não possui sentido, e sim
polaridade, pois ela pode ser fornecida (tensão positiva) ou absorvida (tensão negativa) de
um circuito elétrico. A figura I.4 mostra exemplos de circuitos elétricos nos quais é fornecida
e absorvida energia. A unidade de medida da tensão é o Volt (V).

dW
V = (I.1)
dQ
A tensão de um ponto pode então ser representada a partir da tensão de um segundo
ponto, e a polaridade da tensão depende da relação entre esses pontos. Por exemplo, a tensão
Vxy representa a tensão entre os pontos x e y, e será positiva, se x for positivo com relação
I.4 Componentes Elétricos 5

(a) (b)

Figura I.4 – Modos de operação do sistema.

a y, ou negativa, se x for negativo com relação a y. Por esse motivo, pode-se definir que
Vxy = −Vyx . O segundo ponto de referência pode ser entendido como o ponto de referência
(0 V), e nesse caso, a tensão pode ser referenciada como Vx0 = Vx .

Considere a tensão Vxy , que indica a tensão entre os pontos x e y. Se você tem os valores das tensões
Vx e Vy , como encontrar o valor de Vxy a partir delas ?
Para isso, podemos utilizar a equação I.2 :

Vxy = Vx − Vy (I.2)
!

Exemplo I.1 Considere a figura I.6, e determine o valor de Vxy .


Sabemos que :
Vx = 14V , Vy = 10V e Vz = 11V .
Sabemos também que Vxy = Vx − Vy . Assim :
Vxy = Vx − Vy = 14 − 10 = 4V !

Exercício I.1 e
1. Considere dois pontos, A e B, sendo A positivo em relação a B. A tensão entre esses dois pontos
é 5V. Qual a tensão entre B e A ?
2. Considere a figura I.6. Determine o valor das seguintes tensões :
(a) Vxy
(b) Vxz
(c) Vyz
(d) Vyx
(e) Vzx
(f) Vzy !

Figura I.5 – Exemplo de circuito elé- Figura I.6 – Exemplo de circuito elé-
trico. trico.

Corrente elétrica
A corrente elétrica é a quantidade de elétrons que flui através de um condutor durante
um certo intervalo de tempo (equação I.3), quando existe diferença de potencial entre as
6 Sistemas Digitais

extremidades. Na equação I.3, Q é a carga que circula no circuito, enquanto que t representa
um determinado tempo. A corrente é uma grandeza que possui sentido e ,por isso, pode ser
positiva, quando há corrente fluindo no sentido da reta, ou negativa, quando há corrente
fluindo no sentido oposto da reta. A figura I.7 mostra os possíveis sentidos da corrente
elétrica. A unidade de medida da corrente é o Ampère (A).

dQ
I= (I.3)
dt

(a) (b)

Figura I.7 – Possíveis sentidos da corrente elétrica.

Potência elétrica
A potência elétrica é a energia por unidade de tempo fornecida ou consumida por um
dispositivo. A equação I.4 mostra que a potência depende da tensão entre os pontos e da
corrente que está circulando no circuito elétrico. A unidade de medida da potência elétrica
é o Watts (W).

P = V.I (I.4)

Exercício I.2 Considere uma lâmpada que possui uma potência de 60 W e está ligada a uma fonte de
tensão de 120 V. Qual é a corrente que passa por ela ? !

I.4.2 Elementos lineares passivos


Elementos passivos não são capazes de gerar energia ou de amplificar corrente. Os principais
elementos passivos são resistores, capacitores e indutores. Exemplos de tais componentes
são descritos na Figura I.8.

(a) Resistor (b) Capacitor (c) Indutor

Figura I.8 – Elementos lineares passivos.

Resistor
Os resistores são componentes capazes de dissipar potência, diminuindo a intensidade da
corrente elétrica em um circuito, e, dentre outras utilidade, visa eliminar a possibilidade de
I.4 Componentes Elétricos 7

curtos-circuitos. A quantidade de potência dissipada depende da resistência do elemento,


medida em Ohms (Ω). Os resistores são elementos passivos, ou seja, não amplificam e não
geram sinais. A Figura I.8(a) mostra um exemplo de resistor.
Em um resistor ideal, a corrente através do elemento é proporcional à tensão, como
vemos na equação I.5, conhecida como Lei de Ohm. A potência dissipada por um resistor
também pode ser vista na equação I.5, na qual V é a tensão em Volts(V), R é a resistência
em Ohms (Ω) e I é a corrente em Ampére(A).

V V2
V = R.I R= P = V.I = R.I 2 = (I.5)
I R
Exemplo I.2 Considere um resistor R, através do qual passa uma corrente I. Calcule a tensão
V dissipada neste resistor, sabendo que :
R = 10Ω V = R.I
I = 5A V = 10.5
V = 50 V

Capacitor
Os capacitores são componentes eletrônicos formados por um conjunto de placas de metal
com material isolante entre elas. O material isolante dá nome ao capacitor, por exemplo,
se o material utilizado for a mica, o capacitor será chamado de capacitor de mica. Este
elemento possui a capacidade de isolar a tensão e de armazenar cargas elétricas, chamadas
capacitância, medida em Faradas (F). Assim como o resistor, o capacitor também é um
elemento passivo. A Figura I.8(b) mostra um exemplo de capacitor.
A equação I.6 expressa a capacitância com relação à carga e à tensão, levando em conside-
ração que as cargas armazenadas no capacitor variam com a variação da tensão do capacitor.
Utilizando esta equação e a equação I.3, podemos obter a equação I.7. Vale lembrar que C
é a capacitância, Q é a carga do circuito, V é a tensão, I é a corrente e t é o tempo.

dQ
C= (I.6)
dV

dV
I=C (I.7)
dt
Analisando a equação I.7, podemos ver que a corrente em um capacitor só existe se
houver variação na tensão do capacitor. Caso contrário, a derivada da tensão será igual a
0, e então a corrente também será igual a 0.
Quer saber mais?
e Para identificar a tensão no capacitor, deve-se modificar a equação I.7, de forma a obter a equação
I.8, na qual a tensão do capacitor depende da integral da corrente no capacitor.

! t
1
V (t) = i.dt + v(t0 ) (I.8)
C
!
8 Sistemas Digitais

Indutor
Os indutores são dispositivos capazes de armazenar energia na forma de campo magnético
(figura I.8(c)). Este processo de armazenamento depende da variação do fluxo de corrente
através do indutor. Os indutores são construídos como bobinas de material condutor, como
por exemplo, fio de cobre. A indutância (L) é a grandeza física associada aos indutores e
é medida em Henry (H). A equação I.9 permite identificar a tensão do indutor a partir da
corrente que passa por ele. Com esta equação é possível ver que se não houver variação na
corrente que passa pelo indutor, a tensão do indutor será nula. Nesta equação V é a tensão,
L é a indutância, I é a corrente e t é o tempo.

dI
V =L (I.9)
dt

Transformações matemáticas na equação I.9 permitem obter a equação I.10, que identi-
fica a corrente que passa pelo indutor através da tensão do indutor.

1
! t
I(t) = v.dt + i(t0 ) (I.10)
L

I.4.3 Componentes eletrônicos


Diodo
O diodo é um elemento constituído de materiais semicondutores, capazes de conduzir cor-
rente elétrica com facilidade. Os principais materiais semicondutores utilizados em diodos
são o germânio e o silício. Os diodos permitem que a corrente os atravessem em um sentido
mais fácil do que no sentido oposto. A Figura I.9(a) mostra um exemplo de diodo.

Transistor
O transistor, assim como o diodo, é um dispositivo semicondutor, porém mais complexo.
Tem como funções amplificar e produzir sinais, controlar diversos dispositivos como chave
eletrônica, entre outros, eles possuem uma larga utilização nos projetos eletrônicos. A apli-
cação mais comum para um transistor é de chave, ligando e desligando uma carga ligada ao
seu coletor.
Por permitir uma amplificação do sinal elétrico, os transistores substituíram as antigas
válvulas e são utilizados na maioria das aplicações eletrônicas. Este elemento eletrônico
é um elemento ativo, ou seja, capaz de amplificar ou gerar sinais. Mais detalhes sobre
o funcionamento dos transistores será visto no capítulo VII. A Figura I.9(b) mostra um
exemplo de transistor.

I.4.4 Circuitos elétricos


Existem duas técnicas que facilitam a análise de circuitos elétricos : Lei dos Nós e a Lei
das Malhas.
I.4 Componentes Elétricos 9

(a) Diodo (b) Transistor

Figura I.9 – Componentes eletrônicos.

Lei dos Nós


A Lei dos Nós, ou Lei das Correntes, diz que, em um nó de um circuito, a soma das correntes
que entram e saem do nós é igual a zero, ou seja, um nó não acumula carga (equação I.11).
Nessa equação Ik representa cada uma das correntes do circuito. Nesse caso, pode-se dizer,
por exemplo, que as correntes que chegam no nó são positivas e as correntes que saem do
nós são negativas.

"
Ik = 0 (I.11)

Exemplo I.3 Considere o circuito da figura I.10. Utilizando a Lei dos Nós, encontre a tensão
V3 .

Figura I.10 – Exemplo de circuito elétrico.

Para encontrar os valores das correntes I1 , I2 e I3 usamos a Lei de Ohm, vista na seção
I.4.2.

(V1 − V3 ) (V2 − V3 ) V3
I1 = I2 = I3 = (I.12)
R1 R2 R3
Utilizando a Lei dos Nós, temos que :
i1 + i2 − i3 = 0, ou seja, i1 + i2 = i3
Substituindo os valores encontrados na equação I.12 :
(V1 −V3 )
R1 + (V2R−V
2
3)
= RV33
(10−V3 )
5 + (8−V
4
3)
= V13
(40−4V3 )
20 + (40−5V
20
3)
= 20V
20
3

80 29V3
20 = 20
80
V3 = 29 = 2.75V !
10 Sistemas Digitais

Lei das Malhas


A Lei das Malhas, ou Lei das Tensões, diz que a soma das tensões em um circuito fechado
é nula, ou seja, a soma de todas as tensões no sentido horário é igual a soma de todas as
tensões no sentido anti-horário (equação I.13). Nesta equação Vk representa a tensão nos
nós do circuito. A malha é percorrida em um sentido e a tensão é considerada positiva ou
negativa dependendo da polaridade definida.

"
Vk = 0 (I.13)

Exemplo I.4 Considere o circuito da figura I.11. Utilizando a Lei das Malhas, encontre a
corrente I2 .

Figura I.11 – Exemplo de circuito elétrico.

Para encontrar as equações das malhas, é utilizada a Lei de Ohm. A equação da primeira
malha é a seguinte :

12 − R1 (i1 − 12 ) − R2 i1 = 0
12 − 4i1 + 2i2 = 0
2i1 − i2 = 6 (I.14)

A equação da segunda malha é a seguinte :

−R3 i2 − R1 (i2 − i1 ) = 0
2i1 − 6i2 = 0
i1 − 3i2 = 0 (I.15)

Da equação I.15, obtemos :

i1 = 3i2 (I.16)

Substituindo a equação I.16 na equação I.14, obtemos o seguinte :


2i1 − i2 = 6
2(3i2 ) − i2 = 6
5i2 = 6
i2 = 65 A !
I.5 Circuitos Digitais 11

Exercício I.3 Considere os circuitos da figura I.12. Utilizando a Lei dos Nós e a Lei das Malhas, encontre
os seguintes dados :
1. Tensão VE e as correntes i1 e i2 no circuito da figura I.12(a).
2. Tensão VB e as correntes i1 , i2 e i3 no circuito da figura I.12(b). !

(a) (b)

Figura I.12 – Circuitos Elétricos.

I.5 Circuitos Digitais


Circuitos digitais são conjuntos de componentes digitais capazes de constituir um sistema
digital. Os circuitos digitais, também conhecidos como circuitos lógicos, utilizam sinais
elétricos em dois níveis de corrente (ou tensão) para definir a representação de valores
binários, baseando o seu funcionamento na lógica binária (ligado ou desligado).
Enquanto os circuitos analógicos utilizam transistores como amplificadores de corrente
e usam tensões contínuas, os circuitos digitais utilizam transistores como chaves, utilizando
tensões discretizadas, que podem reproduzir os valores de 0 ou 1. Os valores binários de
circuitos digitais podem indicar várias condições, como : ligado/desligado, alto/baixo e
sim/não.

Os computadores, telefones celulares e leitores de mídias como DVD ou Blu-ray são exemplos de apa-
relhos que baseiam o seu funcionamento em circuitos digitais. !

Circuitos digitais, assim como os analógicos, possuem atrasos na propagação do sinal,


decorrentes do tempo da geração da saída em cada parte do sistema digital quando ocorre
uma mudança no sinal de entrada. Além disso, a propagação dos sinais nos fios também
causa atrasos de propagação. A velocidade de um circuito lógico é definida a partir dos
atrasos de propagação dos componentes do circuito. Cada componente lógico possui um
atraso de propagação diferente, que depende das suas características de funcionamento.

Exercício I.4 Um circuito digital pode produzir a mesma saída para diferentes entradas ? !

I.6 Aplicações de Sistemas Digitais


Uma das aplicações mais conhecidas de sistemas digitais são os microprocessadores que
compõem os computadores. No entanto, esse tipo de tecnologia vem sendo utilizada para
12 Sistemas Digitais

outras aplicações, como telefones celulares, câmeras digitais, videogames, etc. Os circui-
tos digitais que são colocados em outras aplicações de propósitos gerais são chamados de
sistemas embarcados.
Um sistema é dito embarcado quando é dedicado a uma única tarefa e interage continua-
mente com o ambiente à sua volta por meio de sensores e atuadores. Os sistemas embarcados
estão em quase todos os lugares, mas são quase sempre imperceptíveis. Sistemas embarca-
dos podem ser encontrados em produtos de eletrônica, eletrodomésticos, telecomunicações,
jogos eletrônicos, indústria automobilística, indústria aeronáutica, etc.

Os automóveis de hoje possuem um conjunto de equipamentos desenvolvidos a partir de sistemas embar-


cados, como : freios ABS, ignição eletrônica, injeção eletrônica, suspensão ativa, computador de bordo,
painel digital, ar-condicionado inteligente, controle de tração, air-bag e alguns com sistemas GPS (Global
Positionig System), integrados com mapas digitais.
Ainda existem outros sistemas embarcados que podem ser adicionais nos automóveis, facilitando a
vida do motorista, como um sistema capaz de guiar o carro nas rodovias conhecidas. !

Figura I.13 – Exemplos do uso de sistemas embarcados em automóveis.

A casa automatizada é um bom exemplo do uso de sistemas embarcados no dia-a-dia. A programação


do despertador, do sistema de irrigação e do sistema de limpeza da piscina são exemplos simples do uso
de sistemas embarcados. Os telefones celulares possuem aplicativos que permitem a interligação com
o sistema de alarme de casa, além de permitir acesso às câmeras de vigilância. Podem ser adicionados
equipamentos na entrada da casa para que as chaves sejam substituídas pela impressão digital.
Um controle remoto universal permite o acesso a diversos aparelhos da casa, como portão eletrônico,
luz, forno, TV e aparelho de som. A banheira pode ser programada pelo celular para começar a encher,
sendo possível configurar a temperatura da água e a emissão de sabonete e essências.
Futuramente todas estas tecnologias se tornarão mais acessíveis, permitindo que as casas automati-
zadas se tornem uma realidade de muitos. Assim ninguém precisa mais sair do sofá. !

Os sistemas embarcados realizam um conjunto de tarefas pré-definidas, geralmente com


requisitos específicos. Por esse motivo, o projeto de sistemas embarcados pode ser bastante
otimizado, reduzindo tamanho, recursos computacionais e custo do produto.

Resumo
e
– Um sinal analógico é um sinal contínuo no tempo, que pode assumir um conjunto infinito de
valores.
– Um sinal digital é um sinal discreto no tempo, que só pode assumir um conjunto finito de valores.
I.6 Aplicações de Sistemas Digitais 13

Figura I.14 – Exemplos do uso de sistemas embarcados nas casas.

– Sistemas analógicos processam sinais analógicos, enquanto que sistemas digitais processam sinais
digitais.
– Os computadores adotaram os sistemas digitais devido à diminuição de erros que este sistema
gera. Por esse motivo, os computadores adotaram o sistema binário de numeração.
– Dentre as vantagens dos sistemas digitais, podemos destacar o fato que de os sistemas digitais
são mais fáceis de serem implementados ou programados, além do que os sinais digitais não se
deterioram com o tempo, como os sinais analógicos.
– A principal desvantagem do sistema digital é que o mundo é analógico, então é necessária a
conversão dos dados para o tratamento digital de dados como, por exemplo, o som.
– Equipamentos elétricos e eletrônicos podem ser combinados para formar níveis de abstração,
capazes de facilitar a implementação de circuitos mais complexos.
Os níveis de abstração são : transistor, portas, registradores e processadores.
– Um sistemas eletrônico é composto por um conjunto de componentes básicos, como resistores,
capacitores, indutores, transistores e diodos. Cada um destes componentes possibilita a execução
de uma determinada tarefa.
– Existem duas Leis de Kirchhoff que podem ser utilizadas para analisar circuitos elétricos : a
Lei dos Nós e a Lei das Malhas.
A Lei dos Nós diz que, em todos os nós do circuito, a soma das correntes que entram no nó é
igual a soma das correntes que saem do nó.
A Lei das Malhas diz que a soma das tensões em um circuito fechado é nula.
– Dentre as muitas aplicações de sistemas digitais, podemos destacar a criação de sistemas embar-
cados.
Sistemas embarcados são sistemas dedicados a uma aplicação, capazes de interagir com o am-
biente através de sensores e atuadores. Exemplos de sistemas embarcados são sistemas inteligentes
de automóveis e sistemas de casas automatizadas. !

Exercícios

1. Quais das seguintes medidas são analógicas e quais são digitais ?


(a) Corrente elétrica
(b) Controle de volume do som
(c) Chave de 5 posições
(d) Velocidade de um carro
2. Descreva a maior diferença entre um sinal digital e um sinal analógico.
14 Sistemas Digitais

3. Quais as principais vantagens e desvantagens das técnicas digitais quando comparadas


com as técnicas analógicas ?
4. Quais são as principais fontes dos atrasos de propagação gerados em circuitos lógicos ?
5. No circuito da figura I.15(a), encontre o valor da tensão VA e das correntes i1 e i2 .
6. No circuito da figura I.15(b), encontre o valor da resistência R para que a corrente
i1 seja igual a 10 A, e para que a corrente i2 seja igual a 5 A. Neste mesmo circuito,
encontre o valor da tensão VA .
7. No circuito da figura I.15(c), considerando os seguintes dados, encontre o valores das
correntes i1 , i2 e i3 .
(a) V1 = 20V, V2 = 15V, R1 = 10Ω, R2 = 5Ω, R3 = 4Ω, R4 = 10Ω, R5 = 7Ω
(b) V1 = 2V, V2 = 13V, R1 = 4Ω, R2 = 12Ω, R3 = 8Ω, R4 = 1Ω, R5 = 1Ω
(c) V1 = 15V, V2 = 5V, R1 = 3Ω, R2 = 3Ω, R3 = 3Ω, R4 = 3Ω, R5 = 3Ω
8. O que são sistemas embarcados ?
9. Quais as vantagens da utilização de sistemas embarcados ?
10. Exercícios dos livros texto.
– Sistemas Digitais (Tocci, 11a edição)
– Página 21, exercícios : 1.1, 1.2.

(a) (b)

(c)

Figura I.15 – Circuitos elétricos.


1 1
100
2 1012 = 65
0 16
2 =8
27 48 1 0
=
10

A B C16178 Numeração
II — Sistemas de = 1111
10

Neste capítulo serão apresentados os sistemas de numeração binário, octal, decimal e hexa-
decimal. Esses são os sistemas de numeração mais conhecidos, por serem úteis em computa-
dores digitais. Serão vistas as características de cada uma destas bases numéricas, que inclui
os algarismos que compõem tais bases, assim como o motivo para sua utilização. Serão ainda
abordadas as formas de conversão entre as bases numéricas, que são de extrema importân-
cia em sistemas digitais. Por fim serão vistos dois tipos de codificação : o Código BCD e o
Código Gray.

Objetivos
– Conhecer os sistemas de numeração binário, octal, decimal e hexadecimal ;
– Ver as principais características de cada um dos sistemas de numeração ;
– Aprender a converter um número entre as diversas bases numéricas ;
– Conhecer os código BCD e Gray. !

II.1 Sistemas de Numeração


Um sistema de numeração (ou sistema numeral) é um sistema em que um conjunto de
números são representados por numerais de uma forma consistente.
O sistema de numeração universalmente utilizado é o sistema decimal. No entanto, tam-
bém existem outros sistemas de numeração importantes, como o sistema binário, o octal e
o hexadecimal. A base de um sistema é a quantidade de algarismos disponíveis para repre-
sentação numérica. Um sistema com base 10, como o sistema decimal, possui 10 algarismos
diferentes : 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.
16 Sistemas de Numeração

Definição II.1 Uma base b disporá de b algarismos, variando entre 0 e b-1.

A base escolhida é indicada por um número sobrescrito após o número em questão. Para
os números decimais a indicação da base pode ser omitida.
Exemplo II.1 Representação do número 1510 em diferentes bases numéricas :
Base 2 : 11112 .
Base 8 : 178 .
Base 10 : 1510 = 15.
Base 16 : F16 . !
Em sistemas digitais é utilizado o sistema binário, ou sistema de base 2, que possui
apenas dois dígitos possíveis : 0 e 1. A escolha desse sistema se deu porque os circuitos
eletrônicos, que formam os computadores digitais, são capazes de distinguir entre dois níveis
de tensão, que são então representados por 0 e 1. Além disso, um sistema simples como o
sistema binário permite a simplificação dos cálculos internos dos computadores digitais, com
a utilização da álgebra booleana. O valor de um dígito binário é chamado de bit, que é a
contração de binary digity. Um conjunto de 8 bits é chamado de byte, e um conjunto de n
bits é chamado de palavra binária.
Os sistemas em potências de binário (octal e hexadecimal) reduzem o número de alga-
rismos, facilitando a representação. O sistema octal (base 8) possui 8 dígitos, de 0 a 7, no
qual cada dígito é representado por três bits. Já o sistema hexadecimal (base 16) utiliza
16 dígitos diferentes : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F, no qual cada dígito é
representado por quatro bits. Os dígitos A, B, C, D, E e F equivalem a 10, 11, 12, 13, 14 e 15
unidades, respectivamente. A base hexadecimal pode ser também representada por um "H"
ou "h" após o número. Por exemplo : F16 = Fh . O sistema hexadecimal é a maneira padrão
de representar dados numéricos em sistemas digitais, devido à sua facilidade de conversão
para o sistema binário.

II.2 Contagem em sistemas de numeração


A contagem de números decimais é uma coisa trivial, já que é utilizada diariamente em
diversas atividades. A contagem em outros sistemas de numeração é similar a esta.
Para realizar a contagem em binário é importante o conceito de LSB (Least Significant
Bit) e MSB (Most Significant Bit). O LSB é o bit que se encontra mais à direita na palavra
binária, enquanto que o MSB é o bit que se encontra mais à esquerda. A contagem é feita
da seguinte forma : o LSB muda de valor a cada contagem ; o segundo bit muda de valor
a cada duas contagens ; o terceiro bit muda de valor a cada quatro contagens ; e assim em
diante. Portanto, a contagem em binário de 0 a 7 é escrita como : 000, 001, 010, 011, 100,
101, 110, 111.
A contagem em hexadecimal parece com a contagem em decimal. Inicia-se com 0 em
todas as posições, e o dígito de menor peso (mais a direita) é incrementado até chegar a F.
Então, soma-se 1 ao segundo dígito e a contagem recomeça. Esse processo é realizado até
que seja atingido o número FF. Neste ponto, soma-se 1 ao terceiro dígito, e os dois outros
II.3 Conversões 17

dígitos tem valor igual a 0. O mesmo procedimento é realizado até atingir FFF. A contagem
em hexadecimal de 0 a 20 é escrita como : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10,
11, 12, 13, 14. Pode-se ver que 1010 "= 102 "= 1016 .

II.3 Conversões
A tabela II.1 mostra algumas relações entre números binários, octais, decimais e hexadeci-
mais, e pode ser utilizada para auxiliar na conversão entre diferentes tipos de bases.

Decimal Binário Octal Hexadecimal


0 0000 00 0
1 0001 01 1
2 0010 02 2
3 0011 03 3
4 0100 04 4
5 0101 05 5
6 0110 06 6
7 0111 07 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Tabela II.1 – Relações entre diferentes bases numéricas

II.3.1 Descrição geral de um número em qualquer base


Para a conversão de números de qualquer base para decimal, os mesmos podem ser descritos
a partir da equação II.1.

Nb = an .bn + ... + a2 .b2 + a1 .b1 + a0 .b0 + a−1 .b−1 + a−2 .b−2 + ... + a−n .b−n (II.1)

Nessa expressão, an é o dígito do número em questão, b é a base do sistema de numeração,


e n é a posição do dígito em relação à vírgula. A parte inteira é representada pelos algarismos
com valor de n maior ou igual a 0. Os outros algarismos representam a parte fracionária do
número.
Exemplo II.2 Representação de números com bases diferentes :
167, 510 = 1.102 + 6.101 + 7.100 + 5.10−1 = 100 + 60 + 7 + 0, 5 = 167, 510
1001, 1012 = 1.23 +0.22 +0.21 +1.20 +1.2−1 +0.2−2 +1.2−3 = 8+1+0, 5+0, 125 = 9, 62510 !

Faixa de contagem
A tabela II.2 apresenta uma relação entre o número de dígitos de um número decimal e a
quantidade mínima e máxima de elementos que pode ser contada.
18 Sistemas de Numeração

No de dígitos No mínimo No máximo Quantidade de


no que podem
ser contados
1 0.100 = 010 9.100 = 910 10
2 0.101 + 0.100 = 010 9.101 + 9.100 = 9910 100
3 0.102 + 0.101 + 0.100 = 010 9.10 + 9.101 + 9.100 = 99910
2
1000
N 0 10N − 1 10N

Tabela II.2 – Quantidade de elementos que podem ser contados.

Em geral, um número decimal com N dígitos permite contar 10N números diferentes.
Essa expressão pode ser estendida para outras bases. Por exemplo, um número binário com
N elementos permite contar 2N números diferentes.

Definição II.2 Um número escrito em uma base B que possui N dígitos permite a contagem
de B N
elementos, com valores variando entre 0 e B N − 1.

Exercício II.1 e
1. Qual o número máximo que pode ser representado em um número binário que utiliza 3 bits ?
2. Quantos bits são necessários para representar valores binários de 0 a 15.500 ? !

II.3.2 Conversões de números binários


Não é tão fácil escrever ou ler um número binário, o que faz com que sejam necessárias
conversões entre números binários e decimais. A conversão ocorre, por exemplo, quando
se deseja realizar no computador uma operação matemática entre dois números. Sabe-se
que o computador lê números binários, mas nem por isso nós escrevemos o número apenas
utilizando 0s e 1s. O circuito interno do computador realiza conversões, convertendo o
número decimal em binário, e convertendo o resultado de binário para decimal novamente,
para que seja exibido na tela do computador.

Conversão de binário para octal


Um dígito em octal pode ser representado por 3 bits. Então, para realizar a conversão de
binário para octal devem-se agrupar os bits três a três e fazer a conversão desses três bits
para o seu valor correspondente em octal. Caso os dígitos extremos da esquerda não formem
um grupo de três, devem-se adicionar zeros até que isto ocorra.

11011112 = 001 #$%&


#$%& 101 111
#$%&
1 5 7
11011112 = 1578

Conversão de binário para decimal


Para realizar a conversão de binário para decimal, deve-se utilizar a equação II.1, que permite
representar o número em função de sua base.
II.3 Conversões 19

111012 = 1.24 + 1.23 + 1.22 + 0.21 + 1.20 = 16 + 8 + 4 + 1 = 2910

Os números binários permitem a identificação rápida com relação à paridade. Os núme-


ros que possuem dígito mais à direita igual a 1 são ímpares, pois neles é feita a seguinte
operação : 1.20 = 1. Quando este dígito é igual a 0, os números são pares, pois são uma
soma de múltiplos de 2 (números pares).

Conversão de binário para hexadecimal


Um dígito em hexadecimal é representado por quatro bits. A conversão de binário para
hexadecimal é feita agrupando os bits do número binário quatro a quatro e convertendo
estes grupos individualmente. Se a quantidade de dígitos não for suficiente para formar
grupos de quatro, devem ser adicionados zeros na esquerda até que isto ocorra.

10111011112 = $% & 1110


#0010 # $% & 1111
# $% &
2 E F
10111011112 = 2EF16

Exercício II.2 Converta o número 101100112 para as bases octal, decimal e hexadecimal. !

II.3.3 Conversões de números octais


Conversão de octal para binário
Vimos que cada dígito em um número octal pode ser representado por três bits. Portanto,
para fazer a conversão de octal para binário, deve-se transformar cada dígito em um conjunto
de três bits.
762458 = 7
#$%& 6
#$%& 2
#$%& 4
#$%& 5
#$%&
111 110 010 100 101
762458 = 1111100101001012

Conversão de octal para decimal


Para a conversão de octal para decimal, deve-se utilizar a equação II.1.

728 = 7.81 + 2.80 = 56 + 2 = 5810

Conversão de octal para hexadecimal


Para a conversão de octal para hexadecimal, podemos converter o número inicialmente para
decimal e então convertê-lo para hexadecimal. Uma alternativa é converter o octal para
binário e em seguida convertê-lo para hexadecimal. Por motivo de simplicidade, adotaremos
a segunda opção.
20 Sistemas de Numeração

72258 = 7
#$%& 2
#$%& 2
#$%& 5
#$%&
111 010 010 101
72258 = 1110100101012

1110100101012 = #1110
$% & 1001
# $% & 0101
# $% &
E 9 5
72258 = E9516

Exercício II.3 Converta o número 73568 para as bases binária, decimal e hexadecimal. !

II.3.4 Conversões de números decimais


Para a conversão de números decimais para números de outras bases podem ser utilizadas
duas técnicas diferentes. A primeira envolve realizar o processo inverso ao descrito na seção
II.3.1. A segunda é a técnica das divisões sucessivas, na qual são realizadas divisões pela
base para a qual se deseja converter o número decimal. Por motivo de simplicidade, será
adotada a segunda técnica.
A técnica das divisões sucessivas consiste em dividir sucessivamente o valor em decimal
por B (base para a qual se deseja converter), até que um quociente 0 seja encontrado.
O resultado é a escrita inversa dos restos obtidos nas divisões. Assim, o primeiro resto
obtido será colocado no LSB (Least Significant Bit), enquanto o último será o MSB (Most
Significant Bit).

Conversão de decimal para binário

23 2
1 11 2
1 5 2
1 2 2
0 1 2
1 0

2310 = 101112

Conversão de decimal para octal

223 8
7 27 8
3 3 8
3 0

22310 = 3378
II.3 Conversões 21

Conversão de decimal para hexadecimal

637 16
13 39 16
7 2 16
2 0

63710 = 27D16

Exercício II.4 Converta o número 269010 para as bases binária, octal e hexadecimal. !

II.3.5 Conversões de números hexadecimais


Conversão de hexadecimal para binário
Como cada dígito em um número hexadecimal pode ser representado por quatro bits, a
conversão para binário é feita transformando cada dígito em um conjunto de quatro bits.

F 4A516 = F
#$%& 4
#$%& A
#$%& 5
#$%&
1111 0100 1010 0101
F 4A516 = 11110100101001012

Conversão de hexadecimal para octal


Para a conversão de hexadecimal para octal, podemos utilizar duas técnicas. A primeira
envolve a conversão para decimal, e em seguida de decimal para octal. Na segunda técnica
o número hexadecimal é convertido para binário, e de binário para octal. Como a conversão
para binário e de binário para octal é mais simples do que a utilização de números decimais,
será adotada a segunda técnica de conversão.

1A2516 = 1
#$%& A
#$%& 2
#$%& 5
#$%&
0001 1010 0010 0101
1A2516 = 00011010001001012

00011010001001012 = 000 #$%&


#$%& 001 #$%&
101 000
#$%& 100
#$%& 101
#$%&
0 1 5 0 4 5
1A2516 = 150458

Conversão de hexadecimal para decimal


Para a conversão de hexadecimal para decimal, deve-se utilizar a equação geral II.1.

F C216 = F.162 + C.161 + 2.160 = 3840 + 192 + 2 = 403410


22 Sistemas de Numeração

Exercício II.5 Converta o número F A3E16 para as bases binária, octal e decimal. !

II.3.6 Conversões de números fracionários


Todas as técnicas de conversão vistas até agora podem ser adaptadas para converter também
números fracionários.

Conversão de binário para octal ou hexadecimal


Algumas das técnicas de conversão vistas na seção II.3.2 podem ser adaptadas para converter
números fracionários. Para a conversão de binário para octal ou hexadecimal a técnica deve
ser expandida para os algarismos que ficam depois da vírgula. Caso seja necessário, devem
ser adicionados zeros na direita para formar grupos com a quantidade de dígitos que se
deseja.

1001110, 11012 = 001 #$%&


#$%& 001 #$%&
110 , 110
#$%& 100
#$%&
1 1 6 , 6 4
1001110, 11012 = 116, 648

Conversão de octal ou hexadecimal para binário


A conversão de números octais ou hexadecimais fracionários para números binários é feita da
mesma forma que nas seções II.3.3 e II.3.5. Para obter o valor binário da parte fracionária,
a técnica deve ser extendida aos valores que ficam depois da vírgula no número original.

1A2, F16 = 1
#$%& A
#$%& 2
#$%& , F
#$%&
0001 1010 0010 , 1111
1A2, F16 = 000110100010, 11112

Conversão de binário, octal ou hexadecimal para decimal


A conversão para decimal deve ser feita utilizando a equação II.1. Para os números fracioná-
rios, os índices que indicam a posição em relação à vírgula tem valores negativos.

164, 248 = 1.82 + 6.81 + 4.80 + 2.8−1 + 4.8−2 = 64 + 48 + 4 + 0, 25 + 0, 0625 = 116, 312510

Conversão de decimal para binário, octal ou hexadecimal


A conversão de números decimais fracionários para outras bases numéricas é feita em duas
etapas. A primeira etapa consiste em converter a parte inteira do número, utilizando as
técnicas vistas na seção II.3.4. Na segunda etapa é feita a conversão da parte fracionária do
número decimal.
Para converter a parte fracionária deve-se multiplicá-la pelo valor da base que se deseja
obter. A parte inteira do número encontrado é o dígito procurado. Se for diferente de zero,
ele é substituído por zero para a próxima multiplicação. A multiplicação é feita até que
se obtenha 0 como resultado, ou até que a dízima estabelecida seja atingida. Nesse caso a
II.4 Códigos Numéricos 23

escrita dos valores é direta, ou seja, o primeiro algarismo encontrado na multiplicação é o


primeiro valor a ser escrito depois da vírgula.

0, 79610
x8
6,368
0, 36810
223 8 x8
7 27 8 2,944
3 3 8 0, 94410
3 0 x8
7,952
0, 95210
x8
4,416

22310 = 337, 62748

Exercício II.6 e
1. Converta o número 11, 112 para a base hexadecimal.
2. Converta o número 70, 1658 para a base binária.
3. Converta o número 1C, F 0A16 para a base decimal.
4. Converta o número 11, 1110 para a base hexadecimal. !

II.4 Códigos Numéricos


Codificar é o processo de utilizar um conjunto de símbolos para representar uma determinada
informação. O código Morse, por exemplo, representa letras, números e sinais de pontuação
através de traços e pontos.

II.4.1 Código BCD


Os números decimais são mais fáceis de usar devido à sua familiaridade. No entanto, vimos
anteriormente que os sistemas digitais não utilizam esse sistema de numeração. O sistema
numérico binário é utilizado em sistemas digitais por apresentar apenas dois possíveis dígi-
tos, “0” e “1”, que podem ser utilizados para garantir que um circuito opere com dois níveis
de tensão, que serão representados por bits.
Assim, é necessária a conversão de números decimais para binários e vice-versa. Vimos
na seção II.3.4 como é feita a codificação em binário puro, na qual um número decimal é
representado pelo seu equivalente em binário.
O código decimal codificado em binário, BCD (binary coded decimal), é um có-
digo alternativo que permite uma representação de números decimais utilizando números
binários, facilitando a conversão.
24 Sistemas de Numeração

O código BCD utiliza quatro bits para representar os dígitos de um número decimal. A
tabela II.1 pode ser utilizada para auxiliar na representação com BCD. O dígito é convertido
em seu equivalente binário puro.

87610 = 8
#$%& 7
#$%& 6
#$%&
1000 0111 0110
87610 = 100001110110(BCD)

A conversão de decimal para binário puro e para BCD resulta em diferentes valores,
embora ambos utilizem apenas dígitos binários.
Exemplo II.3 A conversão de decimal para binário puro e para BCD resulta em valores
diferentes.
– Conversão de decimal para BCD :

4010 = 4
#$%& 0
#$%&
0100 0000 40/2 = 0
4010 = 01000000(BCD) 20/2 = 0
10/2 = 0
5/2 = 1
– Conversão de decimal para binário puro : 2/2 = 0
1/2 = 1
4010 = 1010002
0

De acordo com a observação, a conversão para BCD e para binário puro resulta em conjuntos
de bits diferentes. !
Para a conversão de BCD para decimal, o número deve ser agrupado em conjuntos de 4
bits, e cada um desses conjuntos deve ser convertido para seu equivalente em decimal.
No código BCD são sempre utilizados quatro bits para a representação de cada um
dos dez dígitos do número decimal. No entanto, um número com quatro bits permite a
representação de 16 diferentes números. Então, os números 1010, 1011, 1100, 1101, 1110 e
1111 nunca serão usados. O fato de utilizar apenas 10 das 16 possíveis representações com
um número de 4 bits torna o código BCD mais ineficiente do que o binário puro, pois em
alguns casos é necessário uma maior quantidade de bits para representar o número decimal.
Embora apresente uma ineficiência com relação ao tamanho da palavra resultante, o
código BCD possui a vantagem de fácil conversão para decimal e vice-versa, pois é necessário
memorizar apenas os dígitos decimais e suas representações em BCD. Com esses dados, é
possível fazer um circuito lógico simples capaz de realizar as conversões de BCD para decimal
e vice-versa. Este tipo de código é amplamente utilizado em relógios, termômetros displays
de 7 segmentos.

Exercício II.7 e
1. Converta o número 98710 para BCD e para binário puro. Compare os resultados.
2. Se for feita a conversão de um número decimal de 4 dígitos para BCD, quantos dígitos terá o
resultado ? Caso a conversão seja para binário puro, qual o número máximo de dígitos que terá o
resultado ? !
II.4 Códigos Numéricos 25

100101100100(BCD) = #1001
$% & 0110
# $% & 0100
# $% &
9 6 4
100101100100(BCD) = 96410

II.4.2 Código Gray


O código Gray é uma forma de código binário que difere do binário original no método de
incremento para o próximo número. No código Gray apenas 1 dígito pode mudar o estado em
cada incremento. No controle de máquinas, por exemplo, em que é importante a quantidade
de dados enviados a cada instante, o código Gray é de grande importância, pois permite o
envio apenas do bit que foi modificado. Uma comparação entre código Gray e binário pode
ser vista na Tabela II.3. Nesta tabela também é possível ver a relação entre código Gray e
código BCD.

Decimal Binário Código Gray Código BCD


0 0000 0000 0000
1 0001 0001 0001
2 0010 0011 0010
3 0011 0010 0011
4 0100 0110 0100
5 0101 0111 0101
6 0110 0101 0110
7 0111 0100 0111

Tabela II.3 – Relação entre os sistemas decimal, binário e o código Gray.

Para realizar a contagem no código Gray deve-se sempre tentar mudar o estado do bit
menos significativo. Se a mudança deste bit resultar em um valor já existente, muda-se o
segundo bit menos significativo e assim em diante.
Para realizar a conversão de binário para código Gray e vice-versa pode ser construído
um circuito simples, utilizando portas lógicas, capazes de comparar os valores dos bits e
utilizar este resultado para compor o número resultante.

Exercício II.8 Converta o número 10102 para o Código Gray. !

Resumo
e
– Sistemas de numeração são sistemas nos quais os conjuntos de números são representados de
uma forma sempre constante.
– O sistema binário, ou sistema de base 2, é aquele no qual só são utilizados dois dígitos : 0 e 1.
Este sistema é muito utilizado em computadores.
– Um bit é o valor de um dígito binário. Um conjunto de 8 bits é chamado de byte.
– Os sistemas octal e hexadecimal são sistemas em potência de binário, nos quais o número de
algarismos utilizados para representar um mesmo valor se reduz.
– O sistema octal possui oito dígitos : 0, 1, 2, 3, 4, 5, 6 e 7.
– O sistema hexadecimal possui dezesseis dígitos : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.
– Para representar a base de um número é utilizada a seguinte convenção :
Base 2 : 102 , Base 8 : 108 , Base 10 : 1010 = 10, Base 16 : 1016 = 10H = 10h
26 Sistemas de Numeração

– A contagem em determinados sistemas de numeração é diferente. Por isso, um número com os


mesmos algarismos mas em bases diferentes, não equivale ao mesmo valor.
– A tabela II.1 mostra como os valores de 0 a 15 (decimal) são representados em outras bases
numéricas.
– O código BCD é um código no qual cada dígito decimal é representado por 4 bits.
27410 = 001001110100(BCD)
– O código Gray é um tipo de codificação no qual, durante a contagem, apenas um bit pode mudar
de estado. Na tabela II.3 fica clara a diferença da contagem de um número binário puro e de um
número binário codificado utilizando a codificação Gray. !

Exercícios

1. Realize as seguintes conversões para a base binária :


(a) 13268 = _____2
(b) 10008 = _____2
(c) 77108 = _____2
(d) 108 = _____2
(e) 10018 = _____2
(f) 892010 = _____2
(g) 1010 = _____2
(h) 100110 = _____2
(i) 892010 = _____2
(j) 900110 = _____2
(k) 2112410 = _____2
(l) 1016 = _____2
(m) 100116 = _____2
(n) AF 1216 = _____2
(o) E25A16 = _____2
(p) 71B9C16 = _____2
2. Realize as seguintes conversões para a base decimal :
(a) 100112 = _____10
(b) 111012 = _____10
(c) 10102 = _____10
(d) 1012 = _____10
(e) 1002 = _____10
(f) 101012 = _____10
(g) 11112 = _____10
II.4 Códigos Numéricos 27

(h) 26718 = _____10


(i) 7778 = _____10
(j) 2018 = _____10
(k) 101018 = _____10
(l) 1001116 = _____10
(m) 1025A16 = _____10
(n) ABCDEF16 = _____10
(o) 3524E16 = _____10
(p) EF16 = _____10
3. Realize as seguintes conversões entre bases :
(a) 100, 12 = _____16
(b) 1A, F F16 = _____2
(c) 45, 10110 = _____2
(d) 5, 438 = _____10
(e) 23, 118 = _____16
(f) 10, 1012 = _____8
(g) 268, 1910 = _____16
(h) 189F, A16 = _____10
4. (a) Um conjunto de 4 bytes contém quantos bits ?
(b) Qual o maior número decimal que pode ser representado com 4 bytes ?
(c) Suponha um número binário que possue 4 bytes. Qual o maior valor em decimal
codificado em BCD que o número binário pode representar ?
5. Um computador utiliza códigos hexadecimais para representar seus endereços de memó-
ria de 16 bits.
(a) Quantos dígitos hexadecimais são necessários ?
(b) Qual a faixa de endereços em hexadecimal ?
(c) Quantas posições de memória existem ?
6. Quais as vantagens e desvantagens do código BCD em relação ao binário puro ?
7. Qual a vantagem da representação de números utilizando o sistema de numeração
hexadecimal ?
8. Qual o número de dígitos necessários para representar os seguintes números decimais
em binário, octal, decimal, hexadecimal e BCD ?
(a) 25
(b) 381
(c) 10000
28 Sistemas de Numeração

9. Qual o intervalo de números decimais que podem ser representados nos sistemas biná-
rio, octal, decimal e hexadecimal utilizando a seguinte quantidade de dígitos ?
(a) 3
(b) 5
(c) 10
10. Exercícios dos livros texto.
– Sistemas Digitais (Tocci, 11a edição)
– Página 43, exercícios : 2.1, 2.2, 2.3, 2.4, 2.5, 2.8, 2.10.
– Página 44, exercícios : 2.19, 2.21.
– Página 45, exercícios : 2.28.
– Página 46, exercícios : 2.37, 2.39.
III — Circuitos Lógicos

Neste capítulo será apresentado o que são portas lógicas e quais são as portas lógicas básicas
AND, OR e NOT, que são utilizadas para implementar os circuitos lógicos mais complexos.
Conheceremos o que é uma tabela verdade, e em seguida veremos a simbologia, o funciona-
mento e a tabela verdade que representa cada porta lógica básica.
Estudaremos também como podem ser feitas as conversões entre os diferentes tipos
de representações de circuitos lógicos : representação gráfica, expressão booleana e tabela
verdade.

Objetivos
– Conhecer as portas lógicas básicas : AND, OR e NOT ;
– Construir tabelas verdade para as portas AND, OR e NOT ;
– Converter circuitos lógicos em diferentes tipos de representações ; !

III.1 Introdução
Os sistemas digitais são circuitos lógicos que possuem sinais de entrada e de saída digitais.
Como vimos no Capítulo I, os sinais digitais assumem apenas dois valores e portanto podem
ser representados utilizando o sistema de numeração binário.

Existem várias situações em que o sistema de numeração binário é suficiente para representar os possíveis
estados do sistema, como por exemplo : a porta está fechada ou aberta, a luz está apagada ou acessa.!

Em meados do século XIX, o matemático inglês George Boole introduziu o uso de sím-
bolos matemáticos para expressar processos lógicos, fazendo com que as equações lógicas
30 Circuitos Lógicos

pudessem ser lidas da mesma forma que uma equação algébrica. Seu trabalho deu origem à
álgebra booleana, estruturas algébricas que utilizam símbolos para representar expressões
lógicas.

Alguns exemplos de expressões lógicas : a porta está fechada ou a luz está acesa. !

A principal diferença entre a álgebra booleana e a álgebra convencional é que primeira


possui variáveis que podem ter apenas dois valores : “0” ou “1”. Por esse motivo, as ex-
pressões booleanas são muito utilizadas para a representação de sistemas digitais, já que as
variáveis booleanas podem representar a tensão dos circuitos lógicos : “0” representa tensões
de 0 a 0,8 V, enquanto “1” representa tensões de 2 a 5 V. Por possuir variáveis que possuem
apenas dois valores possíveis, a álgebra booleana pode ser considerada mais simples do que
a álgebra convencional, pois não existem frações, números decimais, números imaginários,
etc.

III.1.1 Variáveis Booleanas


Como vimos anteriormente, em sistemas digitais, as variáveis booleanas podem assumir os
valores “0” ou “1”. Esses valores são chamados de níveis lógicos, pois correspondem a faixas
de tensão assumidas pelo sinal digital. Os níveis lógicos (“0” e “1”) podem representar
diferentes situações, todas com o mesmo sentido lógico : falso ou verdadeiro, desligado ou
ligado, baixo ou alto, não ou sim.
Em um circuito digital, existem variáveis de entrada e de saída. Para simplificar a des-
crição de um circuito digital, as variáveis são descritas por letras.
Exemplo III.1 Como representar as seguintes expressões lógicas em um circuito digital ?
A porta está fechada (X = 0) ou aberta (X = 1).
A luz está apagada (Y = 0) ou acessa (Y = 1). !

III.2 Tabela Verdade


Um circuito lógico pode ser representado como uma caixa preta (Figura III.1), apresentando
um mínimo necessário de detalhes, com um certo número de entradas e saídas. Contudo,
esse tipo de representação não exprime o comportamento do circuito. São necessárias mais
informações que traduzam esse comportamento, como as relações entre entradas e saídas.
Uma forma de observar esse comportamento é através da Tabela Verdade que carac-
teriza o circuito : a tabela lista todas as combinações entre as entradas e suas respectivas
saídas. Cada linha de uma tabela verdade representa uma combinação diferente entre as
entradas do sistema. A tabela verdade completa permite identificar como a saída de um
circuito lógico se comportará em qualquer situação possível.
A Tabela III.1 representa a tabela verdade do circuito da Figura III.1. Pode-se observar,
por exemplo, que quando as entradas forem A = 1, B = 1 e C = 0, a saída será X = 0.
III.3 Funções Lógicas Básicas 31

Tabela Verdade
Entradas Saída
A B C X
Entradas Saída
0 0 0 1
A 0 0 1 0
B
Circuito Lógico
X
0 1 0 1
0 1 1 0
C
1 0 0 0
1 0 1 1
Figura III.1 – Representação de um
Circuito Lógico : 3 entradas e 1 saída. 1 1 0 0
1 1 1 1

Tabela III.1 – Tabela Verdade para


o circuito da Figura III.1.

Exercício III.1 e A tabela verdade III.1 representa um circuito lógico que possui três entradas e uma
saída, e possui oito linhas no total.
1. Quantas linhas possui uma tabela verdade de um circuito lógico com apenas uma entrada ?
2. Quantas linhas possui uma tabela verdade de um circuito lógico com duas entradas ?
3. Quantas linhas possui uma tabela verdade de um circuito lógico com quatro entradas ?
4. Escreva uma equação geral que expresse a quantidade total de linhas de uma tabela verdade em
função da quantidade de entradas do circuito lógico. !

III.3 Funções Lógicas Básicas


Existem três funções lógicas básicas (portas lógicas, ou do inglês logic gates) : AND, OR e
NOT, com as quais pode-se construir circuitos lógicos digitais, sejam eles combinacionais
ou sequenciais.

III.3.1 Porta OR
A operação lógica OR (porta OU) resulta em um nível lógico ‘1’ quando se tem pelo menos
uma das entradas com nível lógico ‘1’. Por exemplo, a compra será concluída se for realizado
o pagamento com dinheiro ou cartão. Essa expressão lógica pode ser traduzida da seguinte
forma :
A = pagamento com dinheiro
B = pagamento com cartão
X = conclusão da compra

X =A+B =A∨B (III.1)


A equação III.1 pode ser lida "X é igual a A ou B". Nessa equação, o operador ’+’ não
indica adição, e sim a operação lógica OR. A variável X terá nível lógico ‘1’ quando qualquer
uma das duas entradas tiver nível lógico ‘1’. A tabela III.2 mostra a tabela verdade de uma
porta lógica OR de duas entradas. Como se pode ver, apenas na primeira linha da tabela a
32 Circuitos Lógicos

saída do circuito é ‘0’, porque nesse caso nenhuma das duas entradas tem valor igual a ‘1’.
A Figura III.2 mostra a representação gráfica de uma porta OR de duas entradas.
Tabela Verdade
A B X
A 0 0 0
X
B 0 1 1
1 0 1
Figura III.2 – Símbolo da porta OR.
1 1 1

Tabela III.2 – Tabela verdade da


porta OR.

A operação lógica OR pode ser utilizada para representar o acendimento de uma luz em um corredor
escuro.
Suponha que A represente apertar o interruptor do corredor, B represente alguém passar pelo sensor
do corredor, C represente ligar uma lanterna, e X represente o acendimento da luz em um corredor escuro.
A luz acenderá se alguém apertar o interruptor OU se alguém passar pelo sensor do corredor OU se
alguém ligar a lanterna.
A tabela verdade III.3 mostra o que acontece quando as entradas lógicas A, B e C são combinadas
pela operação lógica OR, resultando na saída X. Na tabela verdade fica claro que o único caso em que
não é acesa nenhuma luz no corredor escuro (X = 0) é quando as três entradas lógicas são ‘0’, ou
seja, quando não é apertado o interruptor, ninguém passa pelo sensor do corredor e não é acesa uma
lanterna. !

Tabela Verdade
A B C X
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

Tabela III.3 – Tabela verdade da porta OR com 3 entradas.

Exercício III.2 Escreva a tabela verdade de uma porta OR com 4 entradas. !

III.3.2 Porta AND


A operação lógica AND (porta AND) resulta em um nível lógico ‘1’ somente quando todas
as entradas do circuito possuem nível lógico ‘1’. Um exemplo de uma situação em que pode
ser utilizada a porta lógica AND é na seguinte expressão lógica : para a construção de
uma parede é necessária a utilização de tijolos e cimento. Essa expressão lógica pode ser
traduzida da seguinte forma :
A = utilização de tijolos
III.3 Funções Lógicas Básicas 33

B = utilização de cimento
X = construção da parede

X = A.B = AB = A ∧ B (III.2)

A equação III.2 pode ser lida "X é igual a A e B". A variável X só terá nível lógico ‘1’ em
um caso : quando as variáveis A e B tiverem nível lógico ‘1’. A tabela III.4 mostra a tabela
verdade de uma porta lógica AND de duas entradas. Como se pode ver, apenas na última
linha da tabela a saída do circuito é ‘1’, e em todos os outros casos o valor da variável X é
‘0’. A Figura III.3 mostra a representação gráfica de uma porta AND de duas entradas.
Tabela Verdade
A B X
A 0 0 0
X
B 0 1 0
1 0 0
Figura III.3 – Símbolo da porta AND.
1 1 1

Tabela III.4 – Tabela verdade da


porta AND.

Pode-se utilizar a operação lógica AND para representar o acendimento da luz de cinto de segurança no
painel de um carro.
Suponha que A represente o carro estar ligado, B represente as luzes do painel estarem funcionando,
C represente o motorista não estar utilizando cinto de segurança, e X represente o acendimento da luz
de cinto no painel do carro. A luz acenderá se o carro estiver ligado E se as luzes do painel estiverem
funcionando E se o motorista não estiver utilizando cinto de segurança.
A tabela III.5 mostra a tabela verdade de uma porta lógica AND de três entradas (A, B e C) e com
uma saída (X). Pode-se ver na tabela verdade que o único caso em que a luz do painel é acesa (X = 1)
é quando as três entradas são ‘1’. !

Tabela Verdade
A B C X
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Tabela III.5 – Tabela verdade da porta AND com 3 entradas.

Exercício III.3 Escreva a tabela verdade de uma porta AND com 4 entradas. !
34 Circuitos Lógicos

III.3.3 Porta NOT


A operação lógica NOT (porta NOT) é uma operação de negação, capaz de inverter o valor
da entrada. A expressão III.3 se refere à expressão lógica da porta NOT, e pode ser lida
como "X é o inverso de A". A Figura III.4 e a Tabela III.6 mostram a representação gráfica
da porta lógica NOT e sua tabela verdade. Essa porta lógica é usada quando há apenas
uma entrada.

X = Ā = ¬A (III.3)

Tabela Verdade
A X
A X
0 1
1 0
Figura III.4 – Símbolo da porta NOT.
Tabela III.6 – Tabela verdade da
porta NOT.

A porta lógica NOT pode ser utilizada na descrição de toque do alarme de um carro.
Suponha que A represente o fato da porta do carro estar fechada e X represente o fato do alarme
do carro tocar. Se A tiver nível lógico ‘0’, ou seja, a porta do carro estiver aberta, o alarme do carro
vai tocar, e, portanto X será ‘1’. Se A tiver nível lógico ‘1’, ou seja, a porta do carro estiver fechada, o
alarme do carro não tocará, e, portanto X será ‘0’.
Então as variáveis A e X estão ligadas através da função de negação NOT, que pode ser representada
pela equação III.3. !

Exercício III.4 Se a saída de um inversor 1 for colocada como a entrada de um inversor 2, qual será
a saída do inversor 2 ? Desenhe esse circuito lógico utilizando a representação gráfica da porta lógica
NOT mostrada na Figura III.4. !

III.3.4 Precedência dos operadores


Na álgebra convencional existem precedências entre os operadores. Por exemplo, as ope-
rações de multiplicação e divisão sempre são realizadas antes das operações de adição e
subtração. Para evitar qualquer confusão em relação às operações, em alguns casos são
utilizados parênteses para indicar quais operações acontecem primeiro. Por exemplo, as ex-
pressões (A + B).(C + D) e A + B.C + D são diferentes, pois no primeiro caso as duas
operações de adição ocorrem antes da operação de multiplicação, e no segundo caso a mul-
tiplicação é realizada primeiro, e só depois é feita uma adição dos três valores.
A mesma lógica é feita na álgebra boolena. A ordem de precedência dos operadores
booleanas é a seguinte :
1. NOT : a primeira operação que deve ser feita é o NOT, exceto quando há outra
operação dentro do NOT ;
2. AND : a segunda operação que deve ser feita é a AND, exceto quando há operações
separadas por parênteses ;
III.4 Conversões de representações de circuitos lógicos 35

3. OR : a terceira operação que deve ser feita é a OR.


Exemplo III.2 e
– Ā + B + C : A operação NOT é a primeira a ser realizada.
Exceção : A.B + B + C : A operação AND é a primeira a ser realizada.
– A.B + C : A operação AND é a primeira a ser realizada.
Exceção : A.(B + C) : A operação OR é a primeira a ser realizada.
– A + B + C : A operação OR é a primeira a ser realizada. !

III.4 Conversões de representações de circuitos lógicos


Como vimos nas seções anteriores, uma porta lógica pode ser representada por um cir-
cuito lógico, expressão lógica ou tabela verdade. Isso se aplica também a circuitos lógicos
mais complexos, ou seja, com mais portas lógicas. Nesta seção, veremos como realizar as
conversões entre as possíveis representações de portas lógicas.

III.4.1 Conversão de circuito lógico para expressão booleana e tabela verdade


Um circuito lógico, que possui apenas uma porta lógica, pode ser facilmente convertido
para uma expressão lógica e consequentemente para uma tabela verdade. Em circuitos mais
complexos a conversão é um pouco mais complexa. Por exemplo, considere o circuito da
Figura III.5, que possui duas entradas (A e B) e uma saída (X).

Figura III.5 – Circuito lógico.

Para representar este circuito através de uma expressão booleana, devemos analisar as
suas portas lógicas dependendo de sua precedência. As portas lógicas com maior precedência
serão as primeiras a serem analisadas. A expressão booleana de saída destas portas devem
ser colocadas no circuito para serem utilizadas como entrada das portas lógicas de menor
precedência. Dessa forma, quando formos analisar a porta lógica com a menor precedência
de todas, as suas entradas dependerão das portas lógicas analisadas anteriormente. Para o
circuito da Figura III.5, a conversão em expressão booleana está representada na Figura
III.6.
Como pode ser visto na Figura III.6, a saída da porta NOT (Ā) é utilizada como entrada
para a porta AND, juntamente com a porta B, fazendo com que o resultado da porta AND
seja Ā.B. Este resultado é utilizado como a entrada da porta OR, cuja outra entrada é B.
Assim, o resultado final é X = Ā.B + B.
Depois de encontrada a expressão lógica do circuito, podemos facilmente encontrar a
tabela verdade substituindo os valores das entradas de cada linha da tabela verdade na
36 Circuitos Lógicos

Figura III.6 – Circuito lógico com sua expressão lógica.

expressão lógica ou no circuito lógico. A equação III.4 mostra como é feita a conversão a
partir da expressão lógica para a primeira linha da tabela (A = 0, B = 0), e a Figura III.7
mostra como é feita a conversão a partir do circuito lógico para a mesma linha da tabela.

X = Ā.B + B
= 0̄.0 + 0
= 1.0 + 0 (III.4)
= 0+0
= 0

Figura III.7 – Conversão de circuito lógico para tabela verdade.

Tabela Verdade
A B X
0 0 0
0 1 1
1 0 0
1 1 1

Tabela III.7 – Tabela Verdade para o circuito da Figura III.5.

Considere o circuito lógico da Figura III.8, que possui três entradas (A, B e
Exemplo III.3
C) e uma saída (X). Para convertê-lo para a expressão lógica equivalente, o circuito deve
ser preenchido com a saída de cada porta lógica (Figura III.9). Por fim, conseguimos a
expressão final do circuito lógico : X = (A.B + B̄).C. Para conseguir a tabela verdade do
circuito, substituímos cada linha da tabela verdade na equação final, como está mostrado
na equação III.5, e conseguimos completar a tabela verdade (Tabela III.8).
III.4 Conversões de representações de circuitos lógicos 37

A
B

Figura III.8 – Circuito lógico sem sua expressão lógica.

Figura III.9 – Circuito lógico com sua expressão lógica.

X = (A.B + B̄).C
= (0.0 + 0̄).0
= (0.0 + 1).0
(III.5)
= (0 + 1).0 !
= 1.0
= 0

Tabela Verdade
A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Tabela III.8 – Tabela Verdade para o circuito da Figura III.8.

Exercício III.5 e
1. Escreva a expressão booleana do circuito lógico da Figura III.10.
2. Escreva a expressão booleana do circuito lógico da Figura III.11.
3. Preencha a tabela verdade dos circuitos das questões 1 e 2. !

III.4.2 Conversão de equação booleana para circuito lógico


Uma equação booleana é composta por um conjunto de funções lógicas como OR, AND e
NOT. As equações X = A + B, X = A.B ou X = Ā podem ser facilmente convertidas para
38 Circuitos Lógicos

A
B

Figura III.10 – Circuito lógico.

A
B

Figura III.11 – Circuito lógico.

um circuito lógico (Figuras III.2, III.3 e III.4). Para equações mais complexas, a conversão
envolve pegar cada parte da equação e convertê-la separadamente, de forma que no final
o circuito completo estará formado. Por exemplo, considere a equação booleana III.6, que
representa um circuito com duas entradas (A e B) e uma saída (X).

X = Ā.B + A.B (III.6)

Esse circuito será composto por quatro portas lógicas : uma porta NOT, duas portas
AND e uma porta OR. Inicialmente, desenhamos a porta lógica NOT, cuja entrada é a porta
A (Figura III.12(a)). Depois, desenhamos a porta lógica AND, que implementa a seguinte
expressão : Ā.B (Figura III.12(b)). Desenhamos agora a segunda porta AND, responsável
pela seguinte parte da equação : A.B (Figura III.12(c)). Por fim, utilizamos a saída das duas
portas AND como entrada para a porta OR (Figura III.12(d)). Assim, a Figura III.12(d)
mostra o circuito final da equação III.6.

A
X = A.B
B
(a) Ā (b) Ā.B (c) A.B

(d) Ā.B + A.B

Figura III.12 – Passo a passo da conversão de equação booleana para circuito lógico.
III.4 Conversões de representações de circuitos lógicos 39

Considere a equação booleana III.7, que representa um circuito com três en-
Exemplo III.4
tradas (A, B e C) e uma saída (X). Para convertê-la para o circuito lógico equivalente,
foram utilizadas seis portas lógicas : duas portas NOT, três portas AND e uma porta OR.
A conversão está representada na Figura III.13.

X = A.B + B̄(A.C̄) (III.7)


!

(a) C̄ (b) A.C̄ (c) B̄

A X = A.B
B
(d) B̄(A.C̄) (e) A.B

(f) A.B + B̄(A.C̄)

Figura III.13 – Passo a passo da conversão de equação III.7 para circuito lógico.

Exercício III.6 e
1. Desenhe o circuito que represente a expressão : X = A.B + A.C.(B + Ā).
2. Desenhe o circuito que represente a expressão : X = A + B + C + A.C.(A + B).
3. Preencha a tabela verdade dos circuitos das questões 1 e 2. !

III.4.3 Conversão de tabela verdade para equação booleana


A tabela verdade permite visualizar mais facilmente a saída do sistema dependendo de
suas entradas. No entanto, em muitos casos é necessário saber a expressão ou o circuito
lógico a partir da tabela verdade. Para saber como realizar esta conversão, será necessário
inicialmente explicar o que são mintermos e maxtermos.
40 Circuitos Lógicos

Mintermos e Maxtermos
Mintermos e maxtermos são conceitos utilizados tanto para auxiliar na simplificação de
equações lógicas como para realizar a conversão da tabela verdade de um circuito em sua
expressão lógica.
Mintermos (soma de produtos) é uma forma de escrever uma equação booleana utilizando
uma porta OR com n entradas, sendo estas entradas as saídas de portas AND, por isso o
nome soma de produtos (Equação III.8).

X = A.B + B.C̄.D + Ā.C (III.8)

Já maxtermos (produto de somas) é uma forma de escrever expressões lógicas na qual


é utilizada uma porta AND com n entradas, na qual todas as suas entradas são saídas de
portas OR, por isso o nome produto de somas (Equação III.9).

X = (A + B + C).(B̄ + A).(C + D̄) (III.9)

Estes conceitos podem ser utilizados para realizar a conversão de tabela verdade para
expressão lógica.

Conversão utilizando mintermos


Considere a tabela verdade III.9. Siga os seguintes passos para realizar a conversão :

1. Escreva o produto das variáveis, complementando-as, sempre que seu valor lógico for
‘0’ na linha correspondente (Exemplo : Linha 3 - 10 = A.B̄)
2. Identifique as linhas da tabela que possuem saída igual a ‘1’
3. Some os termos das linhas que possuem saída igual a ‘1’

Tabela Verdade Tabela Verdade


A B X A B X Mintermos
0 0 1 0 0 1 A.B
0 1 0 0 1 0 A.B
1 0 1 1 0 1 A.B
1 1 1 1 1 1 A.B

Tabela III.9 – Tabela verdade. Tabela III.10 – Tabela verdade.


Utilizando os mintermos da Tabela III.10, vemos que a tabela pode ser convertida para
a equação III.10.

X = Ā.B̄ + A.B̄ + A.B (III.10)

Conversão utilizando maxtermos


Considere a tabela verdade III.11. Os passos para realizar a conversão são os seguintes :
III.4 Conversões de representações de circuitos lógicos 41

1. Escreva a soma das variáveis, complementando-as, sempre que seu valor lógico seja ‘1’
na linha correspondente (Exemplo : Linha 3 - 10 = Ā + B)
2. Identifique as linhas da tabela que possuem saída igual a ‘0’
3. Multiplique os termos das linhas que possuem saída igual a ‘0’
Tabela Verdade Tabela Verdade
A B X A B X Maxtermos
0 0 1 0 0 1 A+B
0 1 0 0 1 0 A+B
1 0 1 1 0 1 A+B
1 1 1 1 1 1 A+B

Tabela III.11 – Tabela verdade. Tabela III.12 – Tabela verdade.


Utilizandos os maxtermos da Tabela III.12, podemos encontrar a equação III.11.

X = A + B̄ (III.11)

Exemplo III.5 e Converta a tabela verdade III.13 em sua respectiva equação booleana, utili-
zando mintermos e maxtermos :
Tabela Verdade
A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Tabela III.13 – Tabela Verdade.

Os mintermos e maxtermos da tabela III.13 podem ser vistos na Tabela III.14 :

Tabela Verdade
A B C X Mintermos Maxtermos
0 0 0 0 A.B.C A+B+C
0 0 1 1 A.B.C A+B+C
0 1 0 0 A.B.C A+B+C
0 1 1 0 A.B.C A+B+C
1 0 0 0 A.B.C A+B+C
1 0 1 1 A.B.C A+B+C
1 1 0 0 A.B.C A+B+C
1 1 1 1 A.B.C A+B+C

Tabela III.14 – Tabela Verdade com mintermos e maxtermos.


42 Circuitos Lógicos

– Mintermos : X = Ā.B̄.C + A.B̄.C + A.B.C


– Maxtermos : X = (A + B + C).(A + B̄ + C).(A + B̄ + C̄).(Ā + B + C).(Ā + B̄ + C) !

Exercício III.7 Considere um circuito lógico que possui quatro entradas (A, B, C, D) e uma saída (X).
A saída tem valor ‘1’ apenas nas três primeiras e nas três últimas linhas da tabela verdade.
Complete a tabela verdade deste circuito e converta-a para a equação booleana equivalente, utili-
zando mintermos e maxtermos. !

Resumo
e
– A álgebra booleana utiliza símbolos para representar processos lógicos.
– Variáveis booleanas são as variáveis das expressões booleanas. As variáveis booleanas só podem
assumir dois valores : ‘0’ ou ‘1’.
– A tabela verdade é uma tabela que pode ser utilizada para observar o comportamento de
um circuito lógico. A tabela verdade possui m linhas, em que cada linha corresponde a uma
configuração diferente das entradas do sistema.
– Uma tabela verdade de um sistema de n entradas possui 2n linhas.
– A porta lógica OR resulta em nível lógico alto quando pelo menos uma das entradas possui nível
lógico alto.
X =A+B
– A porta lógica AND resulta em nível lógico alto quando todas as entradas possuírem nível lógico
alto.
X = A.B
– A porta lógica NOT, também conhecida como negação, resulta em um valor inverso ao valor da
entrada.
X = Ā
– Enquanto as portas lógicas OR e AND podem ter ’n’ entradas, a porta NOT só pode ter uma
entrada. No entanto, todas as três portas lógicas só podem ter uma saída.
– A precedência dos operadores lógicos OR, AND e NOT é a seguinte :
1. NOT : a primeira operação que deve ser feita é o NOT, exceto quando há outra operação
dentro do NOT
2. AND : a segunda operação que deve ser feita é a AND, exceto quando há operações sepa-
radas por parênteses
3. OR : a terceira operação que deve ser feita é a OR
– Para definir a equação booleana a partir de seu circuito lógico, deve-se analisar as portas lógicas
dependendo de sua precedência, fazendo com que o valor de saída de uma porta lógica seja utilizado
como entrada da próxima porta. O circuito da Figura III.8 pode ser completamente preenchido,
da esquerda para a direita, como mostra a Figura III.9, e por fim é possível determinar a equação
booleana do circuito.
– A tabela verdade de um circuito lógico pode ser obtida a partir de sua equação booleana substi-
tuindo os valores das entradas de cada linha da tabela na equação. Assim, toda a tabela pode ser
preenchida.
– Para converter uma equação boolena em um circuito lógico, cada parte do circuito deve ser
feito individualmente. Primeiramente são montados os blocos que possuem maior precedência na
equação. Estes blocos são utilizados para a construção dos próximos blocos da equação (Figura
III.12).
– Para converter a tabela verdade em equações booleanas são utilizados mintermos ou maxter-
mos :
– Mintermos são também conhecidos como a soma de produtos. O circuito deve ser escrito na
seguinte forma :
X = A.B + B.C + A.C̄
– Maxtermos são também conhecidos como produto de somas. O circuito deve ser escrito na
seguinte forma :
X = (A + B).(B + C).(A + C̄)
III.4 Conversões de representações de circuitos lógicos 43

– Na conversão com mintermos, os termos da tabela são representados como produtos, em que as
variáveis com valor ‘0’ são sempre negadas. Por exemplo : a linha 2 da tabela (A = 0 e B = 1)
possui o seguinte mintermo : Ā.B.
As linhas da tabela que possuem saída igual a ‘1’ são somadas para a determinação da saída.
– Na conversão com maxtermos os termos da tabela são representados como somas, em que as
variáveis com valor ‘1’ são sempre negadas. Por exemplo : a linha 2 da tabela (A = 0 e B = 1)
possui o seguinte maxtermo : A + B̄.
As linhas da tabela que possuem saída igual a ‘0’ são multiplicadas para a determinação da
saída. !

Exercícios

1. Tabela verdade é uma tabela que relaciona a saída do sistema com relação às entradas.
Quantas linhas tem uma tabela verdade com 6 entradas ?
2. Considere a seguinte expressão lógica : X = A.B + C̄. Qual o valor de X para a seguinte
combinação de entradas :
(a) A = 0, B = 1, C = 0
(b) A = 1, B = 0, C = 1
(c) A = 1, B = 0, C = 0
(d) A = 0, B = 0, C = 1
(e) A = 1, B = 1, C = 0
(f) A = 1, B = 1, C = 1
3. Encontre a equação lógica dos circuitos lógicos das figuras III.14(a), III.14(b) e III.14(c).
4. Escreva a tabela verdade dos circuitos das figuras III.14(a), III.14(b) e III.14(c).
A

A B
X
B C

(a) (b)
A

B
X
C

(c)

Figura III.14 – Circuito lógico.

5. Escreva o circuito lógico das seguintes expressões lógicas :


44 Circuitos Lógicos

(a) X = A.B + A + B.C


(b) X = Ā + A + B̄.C
(c) X = (A + B + C).A.B.C̄
(d) X = A + B̄.Ā + A.B.C
(e) X = A.B + A + B
(f) X = Ā.C̄ + B.A
(g) X = A.B.B.C + C.D
(h) X = A + B + A.B.D.C̄ + A.B.D
(i) X = Ā.B̄ + A.B
6. Considere as tabelas verdade III.15, III.16, III.17, III.18, III.19, III.20, III.21 e III.22.
Encontre a expressão lógica referente às tabelas utilizando :
(a) Mintermos
(b) Maxtermos
7. Exercícios dos livros texto.
– Sistemas Digitais (Tocci, 11a edição)
– Página 95, exercícios : 3.16, 3.20.
– Página 164, exercícios : 4.4, 4.5, 4.6, 4.7, 4.8.
– Página 167, exercício : 4.30.
Tabela Verdade Tabela Verdade Tabela Verdade
A B X A B X A B X
0 0 1 0 0 1 0 0 1
0 1 1 0 1 1 0 1 0
1 0 0 1 0 1 1 0 1
1 1 1 1 1 0 1 1 0

Tabela III.15 – Tabela Tabela III.16 – Tabela Tabela III.17 – Tabela


verdade. verdade. verdade.
Tabela Verdade Tabela Verdade Tabela Verdade
A B C X A B C X A B C X
0 0 0 0 0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 0 0 1 0 1
0 1 1 1 0 1 1 1 0 1 1 1
1 0 0 0 1 0 0 0 1 0 0 0
1 0 1 1 1 0 1 0 1 0 1 1
1 1 0 1 1 1 0 0 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1

Tabela III.18 – Tabela Tabela III.19 – Tabela Tabela III.20 – Tabela


verdade. verdade. verdade.
III.4 Conversões de representações de circuitos lógicos 45

Tabela Verdade Tabela Verdade


A B C D X A B C D X
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 1 1
0 0 1 0 0 0 0 1 0 0
0 0 1 1 1 0 0 1 1 1
0 1 0 0 0 0 1 0 0 0
0 1 0 1 0 0 1 0 1 1
0 1 1 0 0 0 1 1 0 0
0 1 1 1 0 0 1 1 1 0
1 0 0 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 1 0
1 0 1 0 0 1 0 1 0 1
1 0 1 1 1 1 0 1 1 0
1 1 0 0 1 1 1 0 0 0
1 1 0 1 1 1 1 0 1 0
1 1 1 0 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 1

Tabela III.21 – Tabela verdade. Tabela III.22 – Tabela verdade.


IV — Combinação de Portas Lógicas

Veremos alguns tipos de portas lógicas obtidas a partir da combinação das portas lógicas
básicas (OR, AND e NOT) : portas NAND, NOR, XOR e XNOR. Veremos também porque
todos os circuitos lógicos podem ser implementados utilizando apenas portas lógicas NAND
e NOR.

Objetivos
– Criar novas portas lógicas a partir das portas lógicas básicas ;
– Testar a universalidade das portas lógicas NAND e NOR ;
– Aprender a montar o circuito XOR e XNOR utilizandos portas lógicas básicas e portas NAND e
NOR. !

IV.1 Combinação de portas lógicas


Na seção III.3, descrevemos as três portas lógicas básicas de todos os circuitos digitais : as
portas OR, AND e NOT. Estas portas, combinadas, podem ser utilizadas para desenvolver
qualquer circuito lógico, independente de sua complexidade. Outras portas lógicas, oriundas
de combinações entre estas três portas, também são muito utilizadas no desenvolvimento de
projetos de circuitos lógicos. Nesta seção, veremos algumas destas portas lógicas, mostrando
como elas são desenvolvidas a partir das portas OR, AND e NOT.

IV.1.1 Porta NAND


A porta NAND funciona como uma porta AND seguida por uma porta NOT (Figura IV.1).
A saída é a negação da saída de uma porta AND (III.4), ou seja, é ‘0’ quando todas as
entradas tem valor lógico igual a ‘1’, e ‘1’ em todos os outros casos. A Figura IV.2 mostra a
48 Combinação de Portas Lógicas

representação gráfica de uma porta NAND de duas entradas, e a tabela IV.1 mostra a sua
tabela verdade. A equação IV.1 pode ser lida como "X é o inverso de A e B".

X = A.B (IV.1)

Figura IV.1 – Porta AND seguida de uma porta NOT.

Tabela Verdade
A B X
0 0 1
0 1 1
Figura IV.2 – Símbolo da porta 1 0 1
NAND. 1 1 0

Tabela IV.1 – Tabela Verdade da


porta NAND.

IV.1.2 Porta NOR


A porta NOR funciona como uma porta OR seguida por uma porta NOT (Figura IV.3). A
saída é a negação da saída de uma porta OR (tabela III.2), ou seja, é ‘1’ quando todas as
entradas tem valor lógico igual a ‘0’, e ‘0’ em todos os outros casos. A Figura IV.4 mostra
a representação gráfica de uma porta NOR de duas entradas, e a tabela IV.2 mostra a sua
tabela verdade. A equação IV.2 pode ser lida como "X é o inverso de A ou B".

X =A+B (IV.2)

Figura IV.3 – Porta OR seguida de uma porta NOT.

Tabela Verdade
A B X
0 0 1
0 1 0
1 0 0
Figura IV.4 – Símbolo da porta NOR.
1 1 0

Tabela IV.2 – Tabela Verdade da


porta NOR.
IV.1 Combinação de portas lógicas 49

IV.1.3 Universalidade das portas NAND e NOR


As portas lógicas básicas OR, AND e NOT podem ser implementadas utilizando apenas
portas lógicas NAND ou NOR. Como todos os circuitos lógicos podem ser implementados
a partir destas três portas básicas, podemos concluir o seguinte : qualquer circuito lógico
pode ser implementado utilizando apenas portas lógicas NAND ou NOR.

Qual a vantagem em utilizar uma porta NAND ou NOR para implementar as portas OR, AND ou
NOT ?
Nas tecnologias mais comuns, as portas NOR e NAND requerem menos transistores que as portas
OR e AND. !

Mas, como as portas OR, AND e NOT podem ser implementadas a partir de portas
lógicas NAND ou NOR ?

Portas NOT
As portas NOT são portas lógicas que possuem apenas uma entrada e uma saída, que é
sempre a negação da entrada. Veremos a seguir como implementar uma porta NOT usando
as portas NAND e NOR.
– Utilizando portas NAND
Analisando a tabela IV.1, podemos ver que nas linhas 1 e 4 as entradas são iguais e,
nesses casos, a saída é sempre o inverso da entrada. Então, para implementar uma porta
NOT a partir de uma porta NAND, deve-se utilizar a entrada da porta NOT como as duas
entradas da porta NAND, conforme expresso na Figura IV.5.

Figura IV.5 – Implementando uma porta NOT a partir de uma porta NAND.

– Utilizando portas NOR


Analisando a tabela IV.2, podemos ver que, assim como na porta NAND, na tabela
verdade da porta NOR as linhas 1 e 4 possuem entradas iguais, e nestes casos a saída
também é sempre o inverso da entrada. Então, para implementar uma porta NOT a partir
de uma porta NOR, deve-se utilizar a entrada da porta NOT como as duas entradas da
porta NOR, como está expresso na Figura IV.6.

Figura IV.6 – Implementando uma porta NOT a partir de uma porta NOR.

Portas AND
As portas AND são portas lógicas que possuem ’n’ entradas e apenas uma saída.
– Utilizando portas NAND
Para implementar uma porta AND a partir de uma porta NAND, deve-se colocar um
inversor na saída da porta NAND (Figura IV.7(a)). Na seção IV.1.3, vimos como imple-
50 Combinação de Portas Lógicas

mentar uma porta NOT utilizando uma porta NAND, e assim o circuito final fica como
mostrado na Figura IV.7(b).

A A
X = .B X = .B
B B
(a) (b)

Figura IV.7 – Implementando uma porta AND a partir de portas NAND.

– Utilizando portas NOR


Analisando a tabela III.4 e a tabela IV.2, podemos ver que, nos dois casos, apenas uma
saída tem valor igual a ‘1’. No entanto, nesse caso em particular, as entradas na tabela III.4
são ‘1’ e ‘1’, enquanto as entradas na tabela IV.2 são ‘0’ e ‘0’. Assim, se as entradas do
circuito forem invertidas, a porta NOR pode se comportar como uma porta AND (Figuras
IV.8(a) e IV.8(b)).

A
A X = .B
X = .B
B B

(a) (b)

Figura IV.8 – Implementando uma porta AND a partir de portas NOR.

Portas OR
As portas OR são portas lógicas que, assim como as portas AND, possuem ’n’ entradas e
apenas uma saída.
– Utilizando portas NAND
Analisando a tabela III.2 e a tabela IV.1, podemos ver que, nos dois casos, apenas uma
saída tem valor igual a ‘0’. No entanto, nesse caso em particular, as entradas na tabela III.2
são ‘0’ e ‘0’, enquanto as entradas na tabela IV.1 são ‘1’ e ‘1’. Assim, se as entradas do
circuito forem invertidas, a porta NAND pode se comportar como uma porta OR (Figuras
IV.9(a) e IV.9(b)).

A
A X = +B X = +B

B B

(a) (b)

Figura IV.9 – Implementando uma porta OR a partir de portas NAND.

– Utilizando portas NOR


Para implementar uma porta OR a partir de uma porta NOR, deve-se colocar um inversor
na saída da porta NOR (Figura IV.10(a)). Na seção IV.1.3, vimos como implementar uma
IV.1 Combinação de portas lógicas 51

porta NOT utilizando uma porta NOR, e assim o circuito final fica como mostrado na
Figura IV.10(b).

A X = +B A X = +B
B B
(a) (b)

Figura IV.10 – Implementando uma porta OR a partir de portas NOR.

Exemplo IV.1 Implemente o circuito da figura IV.11 utilizando apenas portas NAND.

Figura IV.11 – Circuito lógico.

Utilizando os circuitos das figuras IV.5, IV.7(b) e IV.9(b), conseguimos subtituir as


portas lógicas NOT, AND e OR por portas NAND, como mostrado na figura IV.12.

Figura IV.12 – Circuito lógico.

IV.1.4 Portas XOR

A porta XOR (ou exclusivo) é um circuito de ’n’ entradas e uma saída. Na porta XOR de
duas entradas, a saída é ‘1’ se as entradas são diferentes, mas ‘0’ se as entradas são iguais
(Figura IV.13 e Tabela IV.3). Ou seja, a saída da porta XOR é ‘1’ se uma e apenas uma
das duas entradas forem igual a ‘1’. A equação IV.3 pode ser lida como "X é igual a A XOR
B". Esta porta lógica é muito utilizada para comparar bit ou conjuntos de bits, já que a sua
saída é igual a ‘1’ se os dois bits de entrada forem diferentes.

X =A⊕B (IV.3)
52 Combinação de Portas Lógicas

Tabela Verdade
A B X
0 0 0
0 1 1
Figura IV.13 – Símbolo da porta 1 0 1
XOR. 1 1 0

Tabela IV.3 – Tabela Verdade da


porta XOR.

Mas, como representar a porta lógica XOR utilizando portas lógicas básicas ? !

Leve em consideração a tabela verdade IV.3. Para convertê-la em uma equação lógica,
podemos utilizar mintermos ou maxtermos (tabela IV.4)

Tabela Verdade
A B X Mintermos Maxtermos
0 0 0 Ā.B̄ A+B
0 1 1 Ā.B A + B̄
1 0 1 A.B̄ Ā + B
1 1 0 A.B Ā + B̄

Tabela IV.4 – Tabela Verdade da porta XOR.

– Mintermos : X = Ā.B + A.B̄


– Maxtermos : X = (A + B).(Ā + B̄)
A partir dos conceitos vistos na seção III.4.2, podemos utilizar estas duas equações
para construir circuitos lógicos que representam a função lógica XOR (Figuras IV.14(a) e
IV.14(b)).

(a) Utilizando mintermos (b) Utilizando maxtermos

Figura IV.14 – Implementando a função lógica XOR.

A porta XOR de ’n’ entradas (equação IV.4) possui saída igual a ‘1’ se o número de
entradas igual a ‘1’ for ímpar. De fato, a designação OU exclusivo só é estritamente cor-
reta para a função de 2 variáveis. No entanto, quando a porta XOR possui mais de duas
entradas, ela se comporta como um detector de paridade. As funções de paridade são muito
utilizadas em sistemas de comunicação que requerem detecção de erros : um bit de paridade
é habitualmente usado para detectar erros de transmissão.

X = X1 ⊕ X2 ⊕ X3 ⊕ ... ⊕ XN (IV.4)
IV.1 Combinação de portas lógicas 53

Exercício IV.1 e
1. Implemente uma porta XOR utilizando apenas portas NAND.
Dica : Utilize os circuitos das Figuras IV.14(a) e IV.14(b) e da seção IV.1.3.
2. Complete a tabela verdade de uma porta XOR de 3 e de 4 entradas. !

IV.1.5 Portas XNOR


A porta XNOR é uma combinação da porta XOR seguida por uma porta NOT. Assim como
a porta XOR, é um circuito de ’n’ entradas e uma saída. Na porta XNOR de duas entradas,
a saída é ‘1’ se as entradas são iguais, mas ‘0’ se as entradas são diferentes (Figura IV.15 e
Tabela IV.5). Ou seja, a saída da porta XNOR é ‘1’ se ambas as entradas forem ‘1’ ou se
ambas as entradas forem ‘0’. A equação IV.5 pode ser lida como "X é igual a A XNOR B".

X =A⊕B (IV.5)

Tabela Verdade
A B X
0 0 1
0 1 0
Figura IV.15 – Símbolo da porta 1 0 0
XNOR. 1 1 1

Tabela IV.5 – Tabela Verdade da


porta XNOR.

Como representar a porta lógica XNOR utilizando portas lógicas básicas ? !

Leve em consideração a tabela verdade IV.5. Para converter esta tabela verdade em uma
equação lógica, podemos utilizar mintermos ou maxtermos (tabela IV.6).

Tabela Verdade
A B X Mintermos Maxtermos
0 0 1 Ā.B̄ A+B
0 1 0 Ā.B A + B̄
1 0 0 A.B̄ Ā + B
1 1 1 A.B Ā + B̄

Tabela IV.6 – Tabela Verdade da porta XNOR.

– Mintermos : X = Ā.B̄ + A.B


– Maxtermos : X = (A + B̄).(Ā + B)
A partir dos conceitos vistos na seção III.4.2, podemos utilizar estas duas equações
para construir circuitos lógicos que representam a função lógica XNOR (Figuras IV.16(a) e
IV.16(b)).
54 Combinação de Portas Lógicas

(a) Utilizando mintermos (b) Utilizando maxtermos

Figura IV.16 – Implementando a função lógica XNOR.

Assim como a porta XOR, a porta XNOR também se comporta como um detector de
paridades quando possui mais do que duas entradas. Sendo assim, como é mostrado na
equação IV.6, a porta possui saída igual a ‘1’ se o número de entradas igual a ‘1’ for par.

X = X1 ⊕ X2 ⊕ X3 ⊕ ... ⊕ XN (IV.6)

Exercício IV.2 e
1. Implemente uma porta XNOR utilizando apenas portas NOR.
Dica : Utilize os circuitos das Figuras IV.16(a) e IV.16(b) e da seção IV.1.3.
2. Complete a tabela verdade de uma porta XNOR de 3 e de 4 entradas. !

Resumo
e
– As portas NAND são obtidas a partir da combinação de uma porta AND e uma porta NOT.
– As portas NOR são obtidas a partir da combinação de uma porta OR e uma porta NOT.
– Todas as portas lógicas básicas podem ser representadas utilizando apenas portas NAND ou NOR.
Por esse motivo, qualquer circuito lógico pode ser representado utilizando apenas estas duas portas
lógicas.
– A porta lógica XOR é também chamada de OU-EXCLUSIVO, pois resulta em nível lógico
alto quando as entradas possuem níveis lógicos diferentes
X =A⊕B
– A porta lógica XNOR é uma combinação entre a porta XOR e a porta NOT.
– A porta XNOR resulta em nível lógico alto quando as entradas possuem níveis lógicos iguais
X =A⊕B
– As portas lógicas XOR ou XNOR podem ser facilmente utilizadas para realizar a comparação de
palavras binárias de 1 bit ou que possuem um conjunto de bits. !

Exercícios

1. Pesquise qual a vantagem de representar portas lógicas utilizando apenas portas NAND.
2. Mostre como as portas OR, AND e NOT podem ser criadas utilizando :
(a) Apenas portas NAND
(b) Apenas portas NOR
3. Implemente os circuitos IV.17, IV.18, IV.19 e IV.20 utilizando apenas portas lógicas
NAND.
IV.1 Combinação de portas lógicas 55

4. Implemente os circuitos IV.17, IV.18, IV.19 e IV.20 utilizando apenas portas lógicas
A

A
B
X
B
C
X
NOR.

Figura IV.17 – Circuito lógico.


Figura IV.18 – Circuito lógico.
A
A

B
B

C
C

Figura IV.19 – Circuito lógico. Figura IV.20 – Circuito lógico.


5. Implemente um circuito capaz de comparar dois bits. Se os bits forem iguais, a saída
deve ser igual a ‘1’. Caso contrário, a saída deve ser igual a ‘0’.
6. Implemente um circuito capaz de comparar duas palavras binárias de 2 bits cada. Se
as palavras forem iguais, a saída deve ser igual a ‘1’. Caso contrário, a saída deve ser
igual a ‘0’.
7. Exercícios dos livros texto.
– Sistemas Digitais (Tocci, 11a edição)
– Página 95, exercícios : 3.21.
– Página 96, exercício : 3.32.
– Página 164, exercícios : 4.9, 4.10.
= X X.X
0 =X
X+
X.0 A+B = B+A A . B + A . C
=0 C ) =
A.(B +
X.1 = X X+X = X A A.B = B.A
1 + A.B
=
X+1 V — ATeoremas Booleanos =
+ A.B = A A+
B

Nesta aula veremos os teoremas booleanos, que são teoremas utilizados para simplificar
expressões booleanas. Dentre os teoremas, veremos também os teoremas de De Morgan,
que permitem converter expressões lógicas AND em OR e vice-versa.

Objetivos
– Aprender teoremas booleanos e teoremas de De Morgan
– Utilizar os teoremas para realizar simplificações booleanas !

V.1 Teoremas Booleanos


Mostramos, no Capítulo III, que a álgebra booleana pode ser utilizada para analisar um
circuito lógico. Por exemplo, considere um circuito lógico com três entradas (A, B e C) e
uma saída (X) (Figura V.1). Para saber o comportamento do circuito, dependendo de suas
entradas, devemos analisar sua tabela verdade.

Você sabe como encontrar a tabela verdade a partir de um circuito lógico ? !

Como vimos no Capítulo III, para encontrar a tabela verdade a partir de um circuito
lógico devemos primeiramente encontrar a equação booleana (equação V.1) do circuito. A
partir da equação fica mais fácil encontrar a tabela verdade (tabela V.1).
58 Teoremas Booleanos

Tabela Verdade
A B C X
0 0 0 1
A

0 0 1 0
B
I_1
0 1 0 1
I_2
OR
X 0 1 1 0
C
I_3
1 0 0 0
1 0 1 1
1 1 0 0
Figura V.1 – Circuito lógico.
1 1 1 1

Tabela V.1 – Tabela verdade do cir-


cuito lógico da Figura V.1

X = A.B + C̄.(Ā + B̄) + B.(A + B̄) (V.1)

O circuito da Figura V.1 possui no total 10 portas lógicas. Será que não existe uma
forma de representar esse circuito de uma forma mais simplificada ?
Para isso, são utilizados os Teoremas Booleanos. Teoremas Booleanos são regras que
podem auxiliar na simplificação de expressões e circuitos lógicos.

V.1.1 Teoremas com apenas uma variável

Inicialmente vamos considerar os teoremas com apenas uma variável (teorema V.1).

Teorema V.1 e
1. X.0 = 0
2. X.1 = X
3. X.X = X
4. X.X̄ = 0
5. X + 0 = X
6. X + 1 = 1
7. X + X = X
8. X + X̄ = 1

Os teoremas V.1 analisam apenas as funções lógicas OR e AND de duas portas, além da
porta NOT. Para ajudar na análise destes teoremas, as tabelas V.2, V.3 e V.4 mostram as
tabelas verdade destas funções lógicas.
V.1 Teoremas Booleanos 59

Tabela Verdade Tabela Verdade


A B X A B X Tabela Verdade
0 0 0 0 0 0 A X
0 1 0 0 1 1 0 1
1 0 0 1 0 1 1 0
1 1 1 1 1 1
Tabela V.4 – Tabela
verdade da porta ló-
Tabela V.2 – Tabela Tabela V.3 – Tabela
gica NOT.
verdade da porta ló- verdade da porta ló-
gica AND. gica OR.
Prova Teorema V.1.1
O teorema V.1.1 diz que, se for realizada uma operação AND na qual uma das variáveis de entrada é
‘0’, a saída sempre será ‘0’. Analisando a tabela verdade V.2, vemos que quando a entrada A é ‘0’, a saída
é ‘0’, e que quando a entrada B é ‘0’, a saída também é ‘0’. Vimos que a operação AND é ‘0’ sempre que
alguma das variáveis de entrada for ‘0’, independente das outras variáveis de entrada. •
Prova Teorema V.1.2
No teorema V.1.2, é dito que, em um operação AND, quando uma das entradas tem valor lógico ‘1’, o
resultado será o valor lógico da outra variável de entrada. Para provar tal teorema, vamos analisar a tabela
verdade V.2.
– Linha 2 : A = 0, B = 1 → X = 0 = A
– Linha 3 : A = 1, B = 0 → X = 0 = B
– Linha 4 : A = 1, B = 1 → X = 1 = A = B •
Prova Teorema V.1.3
O teorema V.1.3 diz que uma operacão AND na qual todas as entradas são iguais, possui saída igual
à entrada. Na tabela V.2 pode-se ver que nas linhas 1 e 4, em que as entradas são iguais, as saídas são
iguais à entrada.
– Linha 1 : A = B = 0 → X = 0 = A = B
– Linha 4 : A = B = 1 → X = 1 = A = B •
Prova Teorema V.1.4
No teorema V.1.4 é dito que, em uma operacão AND na qual as duas entradas são uma o complemento
da outra, a saída é sempre zero. Se as entradas são X e X̄, uma das entradas necessariamente será zero :
– X = 0 → X̄ = 1 → X.X̄ = 0.1 = 0
– X = 1 → X̄ = 0 → X.X̄ = 1.0 = 0
Em ambos os casos, a operação de AND envolve um operador de nível lógico ‘0’. De acordo com o
teorema V.1.1, em uma operação de AND em que um dos operadores é ‘0’, o resultado é sempre ‘0’. Assim,
no teorema 4, a saída é sempre ‘0’. •
Prova Teorema V.1.5
O teorema V.1.5 diz que, em uma operação OR na qual uma das entradas é ‘0’, a saída é necessariamente
igual à outra entrada. Para provar isto, podemos anlisar a tabela verdade V.3.
– Linha 1 : A = 0, B = 0 → X = 0 = A = B
– Linha 2 : A = 0, B = 1 → X = 1 = B
– Linha 3 : A = 1, B = 0 → X = 1 = A •
Prova Teorema V.1.6
O teorema V.1.6, diz que uma operação OR na qual uma das entradas é ‘1’, sempre possui saída igual
a ‘1’. Analisando a tabela verdade V.3, vemos que isso realmente se aplica.
– Linha 2 : A = 0, B = 1 → X = 1
– Linha 3 : A = 1, B = 0 → X = 1
– Linha 4 : A = 1, B = 1 → X = 1 •
Prova Teorema V.1.7
O teorema V.1.7 declara que uma operação OR na qual as duas entradas possuem o mesmo valor,
possui saída lógica igual à entrada. Para provar isto, basta analisar a tabela verdade V.3 :
– Linha 1 : A = B = 0 → X = 0 = A = B
– Linha 4 : A = B = 1 → X = 1 = A = B •
Prova Teorema V.1.8
60 Teoremas Booleanos

O teorema V.1.8 é similar ao teorema V.1.4, mas se aplica à operação OR. Neste caso, em uma operação
OR na qual uma das entradas é o complemento da outra entrada, a saída será sempre ‘1’. Considere a
seguinte análise :
– X = 0 → X̄ = 1 → X + X̄ = 0 + 1 = 1
– X = 1 → X̄ = 0 → X + X̄ = 1 + 0 = 1
Assim, em ambos os casos, a expressão envolverá uma operação OR na qual uma das entradas é ‘1’ e
de acordo com o teorema V.1.6, a saída será sempre ‘1’. •

V.1.2 Teoremas com mais de uma variável


Os teoremas com mais de uma variável são os seguintes :

Teorema V.2 e
1. A + B = B + A
2. A.B = B.A
3. A + (B + C) = (A + B) + C = A + B + C
4. A.(B.C) = (A.B).C = A.B.C
5. (a) A.(B + C) = A.B + A.C
(b) (D + A).(B + C) = D.B + D.C + A.B + A.C
6. A + A.B = A
7. (a) A + Ā.B = A + B
(b) Ā + A.B = Ā + B

Os teoremas V.2 analisam também funções lógicas OR e AND de três portas. Para ajudar
na análise destes teoremas, as tabelas V.5 e V.6 mostram as tabelas verdade destas funções
lógicas.
Tabela Verdade Tabela Verdade
A B C X A B C X
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1
0 1 0 0 0 1 0 1
0 1 1 0 0 1 1 1
1 0 0 0 1 0 0 1
1 0 1 0 1 0 1 1
1 1 0 0 1 1 0 1
1 1 1 1 1 1 1 1

Tabela V.5 – Tabela verdade da Tabela V.6 – Tabela verdade da


porta lógica AND de três entradas. porta lógica OR de três entradas.
Prova Teoremas V.2.1 e V.2.2
Os teoremas V.2.1 e V.2.2 são chamados de leis comutativas, que mostram que a ordem das variáveis
nas operações OR e AND não altera o resultado. Por exemplo, considere A = 1 e B = 0.
– X =A+B =1+0=1
– X =B+A=0+1=1
V.1 Teoremas Booleanos 61

– X = A.B = 1.0 = 0
– X = B.A = 0.1 = 0 •
Prova Teoremas V.2.3 e V.2.4
Os teoremas V.2.3 e V.2.4 são chamados de leis associativas, que mostram que a ordem de agrupamento
das variáveis é irrelevante para o resultado. Por exemplo, considere A = 1, B = 0 e C = 1, e analise as
tabelas verdade V.2, V.3, V.5 e V.6.
– X = A + (B + C) = 1 + (0 + 1) = 1 + 1 = 1
– X = (A + B) + C = (1 + 0) + 1 = 1 + 1 = 1
– X =A+B+C =1+0+1=1
– X = A.(B.C) = 1.(0.1) = 1.0 = 0
– X = (A.B).C = (1.0).1 = 0.1 = 0
– X = A.B.C = 1.0.1 = 0 •
Prova Teorema V.2.5
O teorema V.2.5 é chamado de lei distributiva, que mostra que uma expressão pode ser expandida
termo a termo. Por exemplo, considere A = 0, B = 1 e C = 1, e analise as tabelas verdade V.3 e V.2.
– X = A.(B + C) = 0.(1 + 1) = 0.1 = 0
– X = A.B + A.C = 0.1 + 0.1 = 0 + 0 = 0
Agora, considere A = 1, B = 1, C = 0 e D = 0 :
– X = (D + A).(B + C) = (0 + 1).(1 + 0) = 1.1 = 1
– X = D.B + D.C + A.B + A.C = 0.1 + 0.0 + 1.1 + 1.0 = 0 + 0 + 1 + 0 = 1 •
Prova Teorema V.2.6
O teorema V.2.6 pode ser provado utilizando alguns dos teoremas vistos acima.
A + A.B = A.1 + A.B (teorema V.1.2)
A.1 + A.B = A.(1 + B) (teorema V.2.5a)
A.(1 + B) = A.1 = A (teoremas V.1.6 e V.1.2)
A + A.B = A •
Prova Teorema V.2.7a
O teorema V.2.7a pode ser provado utilizando alguns dos teoremas vistos acima.
A + Ā.B = A + A.B + Ā.B (teorema V.2.6)
A + A.B + Ā.B = A + B.(A + Ā) (teorema V.2.5a)
A + B.(A + Ā) = A + B.1 = A + B (teoremas V.1.8 e V.1.2)
A + Ā.B = A + B •
Prova Teorema V.2.7b
O teorema V.2.7b pode ser provado utilizando alguns dos teoremas vistos acima.
Ā + A.B = Ā + Ā.B + A.B (teorema V.2.6)
Ā + Ā.B + A.B = Ā + B.(Ā + A) (teorema V.2.5a)
Ā + B.(Ā + A) = Ā + B.1 = Ā + B (teoremas V.1.8 e V.1.2)
Ā + A.B = Ā + B •
Exemplo V.1 Simplifique a seguinte expressão : X = (A + B)(Ā + C)(B̄ + C̄)
X = (A + B)(Ā + C)(B̄ + C̄)
X = (A.Ā + A.C + Ā.B + B.C)(B̄ + C̄)
X = (A.C + Ā.B + B.C)(B̄ + C̄)
X = A.B̄.C + A.C.C̄ + Ā.B.B̄ + Ā.B.C̄ + B.B̄.C + B.C.C̄
X = A.B̄.C + Ā.B.C̄

Exercício V.1 e
1. Simplifique as seguintes expressões
(a) X = A + A.B.C.(Ā.B)
(b) X = A.B + A.C̄ + Ā.B + Ā.C̄ !
62 Teoremas Booleanos

V.1.3 Teoremas de De Morgan


Os Teoremas de De Morgan são regras usadas para converter operações lógicas OR em
AND e vice-versa, sendo muito importantes para a simplificação de expressões lógicas. As
regras de De Morgan são as seguintes :
– A negação de uma soma lógica é igual ao produto da negação
– A negação de um produto é igual à soma lógica da negação

X = A + B = Ā.B̄ (V.2)

X = A.B = Ā + B̄ (V.3)

Exemplo V.2 Simplifique a seguinte expressão lógica : X = A + B.B


X = A + B.B
X = Ā.B̄.B
X = Ā¯ + B̄
¯ + B̄
X = A + B + B̄
X=1 !
Exemplo V.3 Simplifique a seguinte expressão lógica : X = A.B + C + A + B
X = A.B + C + A + B
X = A.B + C + Ā.B̄
X = A.B + C̄.Ā.B̄
X = A.B + C̄.(A + B)
X = A.B + C̄.A + C̄.B
X = A.B.C̄.A.C̄.B
X = (Ā + B̄).(C + Ā).(C + B̄)
X = (Ā.C + Ā.Ā + B̄.C + B̄.Ā).(C + B̄)
X = (Ā.C + Ā + B̄.C + B̄.Ā).(C + B̄)
X = (Ā.(C + 1 + B̄) + B̄.C).(C + B̄)
X = (Ā + B̄.C).(C + B̄)
X = Ā.C + Ā.B̄ + B̄.C.C + B̄.C.B̄
X = Ā.C + Ā.B̄ + B̄.C + B̄.C
X = Ā.C + Ā.B̄ + B̄.C

V.1.4 Simplificação de expressões lógicas


No capítulo IV, vimos como as portas lógicas OR, AND e NOT podem ser obtidas a partir
de portas lógicas NAND e NOR. Nesta seção, utilizaremos os teoremas booleanos para
provar os circuitos do capítulo IV.

Porta NOT
X = A.A
X = Ā + Ā
V.1 Teoremas Booleanos 63

Figura V.2 – Implementando uma porta NOT a partir de uma porta NAND.

X = Ā

Figura V.3 – Implementando uma porta NOT a partir de uma porta NOR.

X =A+A
X = Ā.Ā
X = Ā

Porta AND
A
X = .B
B

Figura V.4 – Implementando uma porta AND a partir de portas NAND.

X = A.B.A.B
X = A.B + A.B
X = A.B + A.B
X = A.B

A
A X = .B
X = .B
B B

(a) (b)

Figura V.5 – Implementando uma porta AND a partir de portas NOR.

Circuito da figura V.5(a) :


X = Ā + B̄
X = Ā¯.B̄
¯
X = A.B
Circuito da figura V.5(b) :
X =A+A+B+B
X = A + A.B + B
X = (A + A).(B + B)
X = A.B
64 Teoremas Booleanos

Porta OR

A
A X = +B X = +B

B B

(a) (b)

Figura V.6 – Implementando uma porta OR a partir de portas NAND.

Circuito da figura V.6(a) :


X = Ā.B̄
X = Ā¯ + B̄
¯
X =A+B
Circuito da figura V.6(b) :
X = A.A.B.B
X = A.A + B.B
X = (A.A) + (B.B)
X =A+B

A X = +B
B
Figura V.7 – Implementando uma porta OR a partir de portas NOR.

X =A+B+A+B
X = A + B.A + B
X = (A + B).(A + B)
X =A+B

Resumo
e
– Os teoremas booleanos permitem simplificar expressões lógicas, facilitando a construção de cir-
cuitos lógicos.
– Existem teoremas que envolvem apenas uma variável, e teoremas que envolvem mais de uma
variável.
– Os teoremas de apenas uma variável podem ser vistos no teorema V.1, e envolvem as portas
lógicas AND e OR de duas entradas e a porta NOT.
– Os teoremas de duas variáveis podem ser vistos no teorema V.2, e envolvem as portas lógicas
AND e OR de duas ou mais entradas, e a porta NOT.
– Os Teoremas de De Morgan são teoremas que permitem a conversão de portas lógicas AND e OR,
envolvendo portas lógicas NOT, e são muito utilizados na simplificação de expressões lógicas.
– A negação de uma soma lógica é igual ao produto da negação : A.B = Ā + B̄.
– A negação de um produto é igual à soma lógica da negação : A + B = Ā.B̄. !
V.1 Teoremas Booleanos 65

Exercícios

1. Complete as seguintes expressões :


(a) X.1 = __
(b) X.0 = __
(c) X + 1 = __
(d) X + 0 = __
(e) X.X̄ = __
(f) X + X̄ = __
(g) X.X = __
(h) X + X = __
2. Prove os teoremas V.2.1 e V.2.2 testando todos os casos possíveis.
3. Prove os teoremas V.2.7a e V.2.7b testando todos os casos possíveis.
4. Simplifique as seguintes expressões utilizandos os teoremas V.1 e V.2 :
(a) X = Ā.B̄ + Ā.D̄ + Ā.C̄ + A.(C̄ + D̄ + A.B̄)
(b) X = A + Ā.B.C + A.B.C
(c) X = (A + B).(A.Ā + A.B̄) + A.B + A.B̄.C
(d) X = Ā.B.C̄ + A.B.C̄ + B.C̄.D
(e) X = B.C.D̄ + A.(C̄.D + C.D̄) + D̄
5. Simplifique as seguintes expressões :
(a) X = A.B.Ā.B̄
(b) X = A + B̄.A.B + A.B.C.D
(c) X = A + B + B.C.Ā + Ā
(d) X = A.B + B.Ā + A + C + B.C
(e) X = A.B.C.D.A + B + C + D
6. Simplifique as expressões lógicas correspondentes aos circuitos lógicos V.8, V.9, V.10
e V.11.
A

B
B I_1

C AND
C I_2 O

D
I_3

Figura V.8 – Circuito lógico.


Figura V.9 – Circuito lógico.
7. Desenhe o circuito lógico das equações simplificadas encontradas na questão 6, e com-
pare estes circuitos com os circuitos das figuras V.8, V.9, V.10 e V.11.
66 Teoremas Booleanos

I_1

AND
I_2 O

I_3

I_1
B
AND X
I_2 O

I_3
C

I_1

D
I_2 O
AND

I_3

I_4

Figura V.10 – Circuito lógico.

Figura V.11 – Circuito lógico.


V.1 Teoremas Booleanos 67

8. Exercícios dos livros texto.


– Sistemas Digitais (Tocci, 11a edição)
– Página 96, exercícios : 3.26, 3.27, 3.28, 3.29.
– Página 163, exercícios : 4.1, 4.2, 4.3.
VI — Mapas de Karnaugh

Neste capítulo veremos o que é o Mapa de Karnaugh, qual a sua função, e como montar e
preenche-lo a partir dos dados obtidos em uma tabela verdade.
A partir do Mapa de Karnaugh, aprenderemos como obter equações booleanas, e como
utilizar determinadas técnicas para facilitar a simplificação destas equações booleanas. Por
fim, veremos como as condições indiferentes presentes em um sistema podem ser utilizadas
para auxiliar na simplificação das equações booleanas.
Objetivos
– Explicar o que é o Mapa de Karnaugh
– Definir como montar e preencher um Mapa de Karnaugh a partir de uma tabela verdade
– Extrair uma equação booleana a partir de um Mapa de Karnaugh
– Utilizar técnicas para simplificar a equação booleana obtida
– Analisar Mapas de Karnaugh que possuem condições indiferentes !

No capítulo III, vimos como é feita a conversão da tabela verdade para a equação boo-
leana equivalente. Esta conversão pode ser feita a partir do uso de mintermos ou max-
termos, fazendo com que seja obtida uma equação booleana não-simplificada.
Exemplo VI.1 Considere a tabela verdade VI.1, e a partir dela obtenha a equação booleana
equivalente.
O primeiro passo é estabelecer os mintermos e maxtermos (tabela VI.2).
– Mintermos : X = Ā.B.C̄ + Ā.B.C + A.B̄.C̄ + A.B.C̄ + A.B.C
– Maxtermos : X = (A + B + C).(A + B + C̄).(Ā + B + C̄) !
Para simplificar a equação, devemos utilizar teoremas booleanos. Por exemplo, usando
a equação obtida a partir dos mintermos, obtemos a seguinte simplificação :
X = Ā.B.C̄ + Ā.B.C + A.B̄.C̄ + A.B.C̄ + A.B.C
70 Mapas de Karnaugh

Tabela Verdade
A B C X
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Tabela VI.1 – Tabela Verdade.

Tabela Verdade
A B C X Mintermos Maxtermos
0 0 0 0 Ā.B̄.C̄ A+B+C
0 0 1 0 Ā.B̄.C A + B + C̄
0 1 0 1 Ā.B.C̄ A + B̄ + C
0 1 1 1 Ā.B.C A + B̄ + C̄
1 0 0 1 A.B̄.C̄ Ā + B + C
1 0 1 0 A.B̄.C Ā + B + C̄
1 1 0 1 A.B.C̄ Ā + B̄ + C
1 1 1 1 A.B.C Ā + B̄ + C̄

Tabela VI.2 – Tabela Verdade com mintermos e maxtermos.

X = Ā.B.(C̄ + C) + A.B̄.C̄ + A.B.(C̄ + C)


X = Ā.B + A.B̄.C̄ + A.B
X = Ā.B + A.(B + B̄.C̄)
X = Ā.B + A.(B + C̄)
X = Ā.B + A.B + A.C̄
X = B.(Ā + A) + A.C̄
X = B + A.C̄

A partir do exemplo VI.1, podemos ver que a conversão de tabela verdade para expressão
booleana, e a posterior simplificação, pode ser um processo custoso. Além disso, o processo
de simplificação pode ocasionar erros de simplificação, sem contar a incerteza de se ter
obtido a equação mais simplificada possível. Neste capítulo conheceremos outra forma de
conversão, que exprime uma forma simplificada de converter uma tabela verdade em sua
respectiva expressão booleana, conhecida como Mapa de Karnaugh.

VI.1 Mapas de Karnaugh


O Mapa de Karnaugh é um método de simplificação gráfico criado em 1953 por Maurice
Karnaugh. O Mapa de Karnaugh é utilizado para obter uma equação booleana simplificada
a partir de sua tabela verdade.
O método do Mapa de Karnaugh se baseia no desenho de uma tabela, a partir da qual
VI.2 Desenhando o Mapa de Karnaugh 71

é possível fazer processo de simplificação de forma rápida e simples.


O Mapa de Karnaugh é um método prático para funções de até quatro variáveis, acima
disto, o gráfico gerado passa a ter uma dimensão de difícil processamento.

VI.2 Desenhando o Mapa de Karnaugh


O Mapa de Karnaugh de até 4 variáveis é representado por uma tabela, que possui 2n
células, sendo n o número de variáveis em questão. A partir de 5 variáveis, o Mapa de
Karnaugh é representado por uma tabela tridimensional.
Por exemplo, considere uma tabela verdade como a mostrada na tabela VI.3, que possui
2 variáveis. Já sabemos então que o Mapa de Karnaugh possuirá 2n = 4 células. A estrutura
do Mapa de Karnaugh correspondente é apresentada na tabela VI.4.
Tabela Verdade 0 1
B
A B X
0 0 1 0
0 1
0 1 0
1 A
1 0 1 2 3

1 1 1 Tabela VI.4 – Estrutura de um


Mapa de Karnaugh.
Tabela VI.3 – Tabela verdade.
Um Mapa de Karnaugh pode ser criado de várias formas diferentes. Por exemplo, consi-
derando um sistema com duas variáveis (A e B), os Mapas de Karnaugh VI.5 e VI.6 são
exemplos de diferentes Mapas de Karnaugh que representam o mesmo circuito. Em ambos
os mapas está destacada a posição em que será colocado o valor de saída da linha 1 da
tabela verdade (A = B = 0).
0 1 1 0

!# !#
B B̄

" $ " $
0 0
0 1 0 1

1 A 1 A
2 3 2 3

Tabela VI.5 – Mapa de Karnaugh. Tabela VI.6 – Mapa de Karnaugh.


Para desenhar o Mapa de Karnaugh, a única regra que deve ser respeitada é a seguinte :

Duas células adjacentes, seja na vertical ou horizontal, devem descrever duas linhas da Tabela Verdade
em que os estados das variáveis alterem somente um dígito. !

No caso de um sistema com duas variáveis de entrada, esta regra não se aplica, já que
uma variável ficará na vertical e a outra na horizontal, como mostrado no mapa VI.4.
Vamos considerar agora um sistema com três variáveis de entrada (A, B e C). Como
demonstrado acima, o mapa de Karnaugh pode ser montado de várias formas diferentes,
como por exemplo as formas mostradas nas tabelas VI.7 e VI.8. Em ambos os casos, há
duas variáveis na horizontal. Estas variáveis devem seguir a regra descrita acima, ou seja,
em duas células adjacentes os estados das variáveis só podem alterar um dígito.
72 Mapas de Karnaugh

A ordem seguida na tabela VI.7 é 00 → 01 → 11 → 10, enquanto que a ordem seguida na


tabela VI.8 é 01 → 00 → 10 → 11. Pode-se ver que em ambos os casos as células adjacentes
só alteram um dígito.
Um exemplo de combinação não aceitável é 00 → 01 → 10 → 11, pois a troca de 01 → 10
altera ambos os dígitos.

00 01 11 10 01 00 10 11
A A

C C̄

0 1
0 1 5 4 0 1 5 4

1 B 0 B̄
2 3 7 6 2 3 7 6

Tabela VI.7 – Mapa de Karnaugh. Tabela VI.8 – Mapa de Karnaugh.

Exercício VI.1 e
1. Desenhe um Mapa de Karnaugh de um sistema que possua 4 variáveis
2. Desenhe um Mapa de Karnaugh de um sistema que possua 3 variáveis, sendo que a combinação
de duas variáveis deve começar com 10.
3. Desenhe um Mapa de Karnaugh de um sistema que possua 3 variáveis, sendo que a combinação
de duas variáveis deve começar com 11.
4. Existem quantas formas diferentes de se desenhar um Mapa de Karnaugh de um sistema com 2
variáveis ? !

VI.3 Preenchendo o Mapa de Karnaugh


Depois que o Mapa de Karnaugh for completamente desenhado, é possível preenchê-lo com
os valores oriundos da tabela verdade. Vamos começar inicialmente com um Mapa de Kar-
naugh simples, de duas variáveis. A tabela verdade que será utilizada para preencher o
Mapa é a tabela VI.3. Como vimos na seção VI.2, o Mapa de Karnaugh pode ser desenhado
de várias formas diferentes. Por este motivo, durante o preenchimento do mapa, devemos
tomar cuidado com relação à posição das variáveis.
Para montar o Mapa de Karnaugh, temos que analisar cada linha da tabela verdade. Os
Mapas de Karnaugh VI.9 e VI.10 mostram a análise de cada uma das linhas. Nos mapas,
os números 1, 2, 3 e 4 representam cada uma das linhas da tabela verdade.
– Linha 1 = A = 0 e B = 0
– Linha 2 = A = 0 e B = 1
– Linha 3 = A = 1 e B = 1
– Linha 4 = A = 1 e B = 1
Substituindo os valores da tabela verdade, ficamos com os seguintes Mapas de Karnaugh
(tabelas VI.11 e VI.12).
VI.3 Preenchendo o Mapa de Karnaugh 73

0 1 1 0
B B̄

0 1 2 0 3 4
0 1 0 1

1 A 3 4 1 A 1 2
2 3 2 3

Tabela VI.9 – Mapa de Karnaugh. Tabela VI.10 – Mapa de Karnaugh.

0 1 1 0
B B̄

0 1 0 0 0 1
0 1 0 1

1 A 1 1 1 A 1 1
2 3 2 3

Tabela VI.11 – Mapa de Karnaugh. Tabela VI.12 – Mapa de Karnaugh.


Vamos agora preencher um Mapa de Karnaugh com três variáveis. A tabela verdade uti-
lizada para este preenchimento é a tabela VI.13. Agora vamos montar o mapa de Karnaugh
analisando a tabela VI.13.

Tabela Verdade
A B C X
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Tabela VI.13 – Tabela verdade.

– Linha 1 = A = 0, B = 0 e C = 0
– Linha 2 = A = 0, B = 0 e C = 1
– Linha 3 = A = 0, B = 1 e C = 0
– Linha 4 = A = 0, B = 1 e C = 1
– Linha 5 = A = 1, B = 0 e C = 0
– Linha 6 = A = 1, B = 0 e C = 1
– Linha 7 = A = 1, B = 1 e C = 0
– Linha 8 = A = 1, B = 1 e C = 1
00 01 11 10 00 01 11 10
A A

C B

0 1 2 6 5 0 1 3 7 5
0 1 5 4 0 1 5 4

1 B 3 4 8 7 1 C 2 4 8 6
2 3 7 6 2 3 7 6

Tabela VI.14 – Mapa de Karnaugh. Tabela VI.15 – Mapa de Karnaugh.


74 Mapas de Karnaugh

Os Mapas de Karnaugh são mostrados nas tabelas VI.16 e VI.17.


00 01 11 10 00 01 11 10
A A

C B

0 1 0 0 1 0 1 0 1 1
0 1 5 4 0 1 5 4

1 B 0 0 1 1 1 C 0 0 1 0
2 3 7 6 2 3 7 6

Tabela VI.16 – Mapa de Karnaugh. Tabela VI.17 – Mapa de Karnaugh.

Exercício VI.2 Preencha o Mapa de Karnaugh da tabela verdade VI.18. !

Tabela Verdade
A B C D X
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1

Tabela VI.18 – Tabela verdade.

VI.4 Obtendo a equação booleana a partir do Mapa de Karnaugh


Como vimos anteriormente, o Mapa de Karnaugh pode ser utilizado para obter a equação
booleana a partir dos valores oriundos de uma tabela verdade. Para obter a equação, deve-
mos analisar o Mapa de Karnaugh, levando em consideração apenas as células que possuem
valor igual a ’1’.
Por exemplo, considerando o Mapa de Karnaugh VI.19, há 10 células que possuem valores
iguais a ’1’. A expressão booleana é escrita como uma soma de produtos. Assim como visto
no Capítulo III, no qual aprendemos mintermos, a variável de entrada é complementada
sempre que seu valor é ’0’ na linha correspondente (Exemplo : Linha 2 - 01 = Ā.B). A
partir disto é possível escrever a expressão booleana correspondente a um dado Mapa de
Karnaugh. Para o Mapa VI.19, a expressão final é a seguinte :
VI.5 Simplificação de circuitos utilizando o Mapa de Karnaugh 75

X = Ā.B̄.C̄.D + Ā.B.C̄.D + A.B.C̄.D + A.B̄.C̄.D + Ā.B̄.C.D + Ā.B̄.C.D̄ + A.B̄.C.D̄ +


Ā.B̄.C̄.D̄ + Ā.B.C̄.D̄ + A.B.C̄.D̄
00 01 11 10
B

00 1 1 1 1
0 1 5 4

01 1 1 0 0
2 3 7 6
C
11 1 0 0 0
10 11 15 14
A
10 0 1 1 1
8 9 13 12

Tabela VI.19 – Mapa de Karnaugh.

Esta expressão não é nem um pouco simplificada. Por isso, temos que encontrar uma
forma de simplificar a análise de um Mapa de Karnaugh.
Exemplo VI.2 Vamos escrever a expressão lógica correspondente ao Mapa de Karnaugh
VI.20.
No total, temos 6 células que possuem valor igual a ’1’ :
X = Ā.B̄.C̄ + Ā.B.C̄ + A.B̄.C̄ + Ā.B̄.C + Ā.B.C + A.B̄.C !

00 01 11 10
A

0 1 1 1 1
0 1 5 4

1 B 1 1 0 0
2 3 7 6

Tabela VI.20 – Mapa de Karnaugh.

Exercício VI.3 Escreva a expressão lógica correspondente aos Mapas de Karnaugh VI.21 e VI.22. !

00 01 11 10 00 01 11 10
A A

C C

0 1 1 1 1 0 1 0 0 0
0 1 5 4 0 1 5 4

1 B 0 0 0 1 1 B 1 1 0 0
2 3 7 6 2 3 7 6

Tabela VI.21 – Mapa de Karnaugh. Tabela VI.22 – Mapa de Karnaugh.

VI.5 Simplificação de circuitos utilizando o Mapa de Karnaugh


O Mapa de Karnaugh pode ser utilizado para facilitar a simplificação de uma expressão
algébrica. Com algumas regras de agrupamento, é possível obter a equação mais simplificada
76 Mapas de Karnaugh

sem a necessidade de utilizar os teoremas booleanos. Por exemplo, vamos analisar o Mapa
de Karnaugh VI.23. É possível obter a equação booleana sem nenhuma simplificação :
X = Ā.B̄.C̄.D + Ā.B.C̄.D + Ā.B.C.D
Utilizando os teoremas booleanos, conseguimos simplificar esta equação :
X = Ā.B̄.C̄.D + Ā.B.D.(C̄ + C)
X = Ā.B̄.C̄.D + Ā.B.D
X = Ā.D.(B + B̄.C̄)
X = Ā.D.(B + C̄)
X = Ā.B.D + Ā.C̄.D
00 01 11 10 00 01 11 10
B B

!# !# ! !#
D D

" $"
! $
# " $
00 0 1 1 0 00 0 1 1 0
0 1 5 4 0 1 5 4

" $ " $
01 0 0 1 0 01 0 0 1 0
2 3 7 6 2 3 7 6
C C
11 0 0 0 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
10 0 0 0 0 10 0 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.23 – Mapa de Karnaugh. Tabela VI.24 – Mapa de Karnaugh.


Para auxiliar na simplificação das equações, são utilizados grupos de células. Os grupos
de células podem ser compostos por n células, sendo 2m = n uma expressão válida. Então,
os grupos de células podem ser compostos por 1, 2, 4, 8 ou 16 células.
No exemplo da tabela VI.23, podemos formar dois conjuntos de 2 células, como mostrado
no Mapa de Karnaugh VI.24. Agora, para formar a expressão lógica, são utilizados os grupos
de células.
E como saber a expressão de um grupo de células ?
Para isso precisamos identificar que variáveis possuem valores constantes em todo o
grupo. Por exemplo, considere o exemplo do Mapa VI.24. O grupo formado pela cor vermelha
possui duas células, que representam os seguintes valores : Ā.B̄.C̄.D e Ā.B.C̄.D. Ambas as
células possuem os seguintes valores constantes : Ā.C̄.D, e por isso este valor representa
este grupo.
Podemos ver que a utilização deste grupo de células substituiu a utilização do seguinte
teorema booleano :
B̄ + B = 1
Agora vamos analisar o outro grupo, também formado por duas células, representado
pela cor preta. As células que compõem este grupo possuem os seguintes valores : Ā.B.C̄.D
e Ā.B.C.D. O valor que representa o grupo, ou seja, os valores contantes em todo o grupo,
são os seguintes : Ā.B.D.
Assim, podemos concluir que a equação booleana do Mapa de Karnaugh VI.24 é a
seguinte :
X = Ā.C̄.D + Ā.B.D
VI.5 Simplificação de circuitos utilizando o Mapa de Karnaugh 77

Este valor foi o mesmo do encontrado utilizado os teoremas booleanos no início desta
seção.
Exemplo VI.3 Vamos encontrar a equação simplificada dos Mapas de Karnaugh VI.25 e
VI.26.
Mapa de Karnaugh VI.25 :
Neste Mapa de de Karnaugh existem dois grupos de 2 :
1. Ā.B̄.C̄ e Ā.B̄.C → Ā.B̄
2. A.B̄.C̄ e A.B.C̄ → A.C̄
X = Ā.B̄ + A.C̄
Mapa de Karnaugh VI.26 :
Neste Mapa de de Karnaugh existem três grupos de 2 :
1. Ā.B̄.C e A.B̄.C → B̄.C
2. A.B̄.C e A.B̄.C̄ → A.B̄
3. A.B̄.C e A.B.C → A.C
X = B̄.C + A.B̄ + A.C !
00 01 11 10 00 01 11 10
A A

! # !# ! !# #
C C

" $ " " $ $


0 1 1 0 1 0 0 1 1 1
0 1 5 4 0 1 5 4

" $ " $
1 B 0 0 0 1 1 B 0 0 1 0
2 3 7 6 2 3 7 6

Tabela VI.25 – Mapa de Karnaugh. Tabela VI.26 – Mapa de Karnaugh.

VI.5.1 Quantidade de células em um grupo


Como vimos anteriormente, um grupo de células pode ser formado por 1, 2, 4, 8 ou 16
células.
– Grupo com 16 células : este tipo de grupo só existe quando há pelo menos 4
variáveis.
– Se for um sistema de 4 variáveis, isso indica que todas as células tem valor ’1’, ou
seja, a equação booleana será a seguinte : X = 1.
– Grupo com 8 células : este tipo de grupo só existe quando há pelo menos 3 variáveis.
– Se for um sistema de 3 variáveis, isso indica que todas as células tem valor ’1’, ou
seja, a equação booleana será a seguinte : X = 1.
– Se for um sistema de 4 variáveis, o resultado será descrito utilizando apenas uma
variável.
– Grupo com 4 células : este tipo de grupo só existe quando há pelo menos 2 variáveis.
– Se for um sistema de 2 variáveis, isso indica que todas as células tem valor ’1’, ou
seja, a equação booleana será a seguinte : X = 1.
– Se for um sistema de 3 variáveis, o resultado será descrito utilizando apenas uma
variável.
78 Mapas de Karnaugh

– Se for um sistema de 4 variáveis, o resultado será descrito utilizando duas variáveis.


– Grupo com 2 células :
– Se for um sistema de 2 variáveis, o resultado será descrito utilizando apenas uma
variável.
– Se for um sistema de 3 variáveis, o resultado será descrito utilizando duas variáveis.
– Se for um sistema de 4 variáveis, o resultado será descrito utilizando três variáveis.
– Grupo com 1 células : o resultado será descrito utilizando todas as variáveis.

VI.5.2 Escolha do grupo


Para escolher os grupos de células em um Mapa de Karnaugh, deve-se levar em consideração
os seguintes pontos :

1. Uma mesma célula pode fazer parte de dois grupos diferentes.

2. Cada grupo deve possuir pelo menos uma célula que não pertence a nenhum outro
grupo. Caso isso não ocorra, este grupo deve ser eliminado da equação final.

3. Todas as células que possuem valor igual a ’1’ devem fazer parte de algum grupo de
células.

4. A melhor simplificação é conseguida sempre com o grupo com maior número de células
possíveis (Mapas VI.28 e VI.30).

00 01 11 10 00 01 11 10
A A

%' %' % '


C C

0 1 1 1 1 0 1 1 1 1
0 1 5 4 0 1 5 4

& (
& ( & (
1 B 1 1 1 1 1 B 1 1 1 1
2 3 7 6 2 3 7 6

Tabela VI.27 – Mapa de Karnaugh. Tabela VI.28 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
A A

!# !# %'
C C

0 0 1 1 0 0 0 1 1 0
0 1 5 4 0 1 5 4

" $
" $ & (
1 B 0 1 1 0 1 B 0 1 1 0
2 3 7 6 2 3 7 6

Tabela VI.29 – Mapa de Karnaugh. Tabela VI.30 – Mapa de Karnaugh.

VI.5.3 Exemplos de grupos de células


– Exemplos de grupos válidos :
VI.5 Simplificação de circuitos utilizando o Mapa de Karnaugh 79

00 01 11 10 00 01 11 10
A A

! # !# %'
C C

" $
0 1 1 0 1 0 0 1 1 0
0 1 5 4 0 1 5 4

" $ & (
1 B 0 0 0 1 1 B 0 1 1 0
2 3 7 6 2 3 7 6

Tabela VI.31 – Mapa de Karnaugh. Tabela VI.32 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

%' % '
D D

00 0 1 1 0 00 1 1 1 1
0 1 5 4 0 1 5 4

& (
01 0 1 1 0 01 1 1 1 1
2 3 7 6 2 3 7 6
C C
11 0 1 1 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
& (
10 0 1 1 0 10 0 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.33 – Mapa de Karnaugh. Tabela VI.34 – Mapa de Karnaugh.

– Exemplos de grupos não-válidos :

00 01 11 10 00 01 11 10
A A

! # % '
C C

" $
0 1 1 1 0 0 0 1 1 1
0 1 5 4 0 1 5 4

& (
1 B 0 0 0 0 1 B 0 1 1 1
2 3 7 6 2 3 7 6

Tabela VI.35 – Mapa de Karnaugh. Tabela VI.36 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

% ' % '
D D

00 0 1 1 1 00 0 1 1 1
0 1 5 4 0 1 5 4

01 0 1 1 1 01 0 1 1 1
2 3 7 6 2 3 7 6
C C
& (
11 0 1 1 1 11 0 1 1 1
10 11 15 14 10 11 15 14
A A
& (
10 0 1 1 1 10 0 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.37 – Mapa de Karnaugh. Tabela VI.38 – Mapa de Karnaugh.

Exercício VI.4 Separe, de forma correta, os grupos dos Mapas de Karnaugh VI.35, VI.36, VI.37 e
VI.38. !
80 Mapas de Karnaugh

VI.5.4 Exemplos de simplificação


Exemplo VI.4 Vamos encontrar a equação booleana simplificada do Mapa de Karnaugh
VI.39.
Neste caso, criamos dois grupos (Mapa VI.41), e obtemos o seguinte resultado :
X = C.D + Ā.B̄.C̄
Neste caso, podemos ver que há outro tipo de grupo de dois que poderia ser formado,
que está marcado pela cor vermelha. No entanto, este grupo não possui nenhuma célula que
não exista nos outros grupos, e por esse motivo pode ser removido, resultando apenas nos
grupos marcados de preto. !
Exemplo VI.5 Vamos encontrar a equação booleana simplificada do Mapa de Karnaugh
VI.40.
Para este caso, criamos dois grupos de quatro (Mapa VI.42), e obtemos o seguinte re-
sultado :
X = C.D + Ā.D !
00 01 11 10 00 01 11 10
B B

D D

00 1 1 0 0 00 0 1 1 0
0 1 5 4 0 1 5 4

01 0 1 1 0 01 0 1 1 0
2 3 7 6 2 3 7 6
C C
11 0 1 1 0 11 0 1 1 0
10 11 15 14 10 11 15 14
A A
10 0 0 0 0 10 0 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.39 – Mapa de Karnaugh. Tabela VI.40 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

! !# %'
D D

" % $ ' % '


00 1 1 0 0 00 0 1 1 0
0 1 5 4 0 1 5 4

" $ & (
01 0 1 1 0 01 0 1 1 0
2 3 7 6 2 3 7 6
C C
& ( & (
11 0 1 1 0 11 0 1 1 0
10 11 15 14 10 11 15 14
A A
10 0 0 0 0 10 0 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.41 – Mapa de Karnaugh. Tabela VI.42 – Mapa de Karnaugh.

VI.6 Simplificação utilizando grupos laterais


As células colocadas nas laterais de um Mapa de Karnaugh também podem formar grupos.
O Mapa de Karnaugh pode ser considerado uma figura em três dimensões onde as laterais
são adjacentes, formando uma espécie de canudo. Seguindo esta observação é possível criar
dois canudos com o Mapa de Karnaugh, o que permite criar grupos com as laterais verticais
VI.6 Simplificação utilizando grupos laterais 81

e horizontais.
Agora quando você for montar os grupos preste atenção na possibilidade da formação
de grupos laterais. Estes grupos devem seguir as regras apresentadas na seção VI.5.
Você pode montar grupos de 2, 4 ou 8 células utilizando as laterais do Mapa de Karnaugh.
Os Mapas VI.43, VI.44 e VI.45 mostram grupos formados utilizando as laterais do Mapa
de Karnaugh.
Além disso, também é possível utilizar os quatro cantos do Mapa de Karnaugh para
formar um grupo (Mapa VI.46), se os quatro cantos possuírem o valor ’1’.

00 01 11 10 00 01 11 10
B B

D D

"$
# ! & ' ( %
00 0 1 0 0 00 1 1 0 0
0 1 5 4 0 1 5 4

$ "
01 1 0 0 1 01 1 0 0 1
2 3 7 6 2 3 7 6
C C

!# % ( ' &
11 0 0 0 0 11 1 0 0 1
10 11 15 14 10 11 15 14
A A
10 0 1 0 0 10 1 1 0 0
8 9 13 12 8 9 13 12

Tabela VI.43 – Mapa de Karnaugh. Tabela VI.44 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

D D

& (
00 1 1 1 1 00 1 0 0 1
0 1 5 4 0 1 5 4

01 0 0 0 0 01 0 0 0 0
2 3 7 6 2 3 7 6
C C

% '
11 0 0 0 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
10 1 1 1 1 10 1 0 0 1
8 9 13 12 8 9 13 12

Tabela VI.45 – Mapa de Karnaugh. Tabela VI.46 – Mapa de Karnaugh.


Exemplo VI.6 Vamos encontrar a equação booleana simplificada do Mapa de Karnaugh
VI.47.
Neste caso, criamos dois grupos (Mapa VI.49), e obtemos o seguinte resultado :
X = C̄.D + A.B̄.D !
Exemplo VI.7 Vamos encontrar a equação booleana simplificada do Mapa de Karnaugh
VI.48.
Neste caso, criamos dois grupos de quatro (Mapa VI.50), e obtemos o seguinte resultado :
X = B̄.C̄.D̄ + Ā.C̄.D̄ !
82 Mapas de Karnaugh

00 01 11 10 00 01 11 10
B B

D D

00 0 1 1 0 00 1 0 0 1
0 1 5 4 0 1 5 4

01 0 0 0 0 01 0 0 0 0
2 3 7 6 2 3 7 6
C C
11 0 1 0 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
10 0 1 1 0 10 1 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.47 – Mapa de Karnaugh. Tabela VI.48 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

# !
D D

& ( "$ $ "


00 0 1 1 0 00 1 0 0 1
0 1 5 4 0 1 5 4

! #
01 0 0 0 0 01 0 0 0 0
2 3 7 6 2 3 7 6
C C

% ' !#
11 0 1 0 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
" $
10 0 1 1 0 10 1 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.49 – Mapa de Karnaugh. Tabela VI.50 – Mapa de Karnaugh.

Exercício VI.5 Encontre a equação booleana a partir dos Mapas de Karnaugh VI.51 e VI.52. !

00 01 11 10 00 01 11 10
B B

D D

00 0 0 0 1 00 0 0 0 0
0 1 5 4 0 1 5 4

01 1 1 1 0 01 1 1 1 0
2 3 7 6 2 3 7 6
C C
11 0 1 1 0 11 0 0 0 0
10 11 15 14 10 11 15 14
A A
10 1 1 1 1 10 1 0 1 1
8 9 13 12 8 9 13 12

Tabela VI.51 – Mapa de Karnaugh. Tabela VI.52 – Mapa de Karnaugh.

VI.7 Condições indiferentes


As condições indiferentes, também chamadas de don’t care conditions, são condições que
existem em uma função lógica em dois casos :

1. Determinadas combinações de entrada nunca ocorrem


2. Não é significativo o valor da função para determinadas combinações de entrada

Nos mapas de Karnaugh, as células correspondentes às condições indiferentes são assina-


ladas com o símbolo X. No processo de simplificação, as células correspondentes às condições
VI.7 Condições indiferentes 83

indiferentes podem ser incluídas ou não nos grupos, sempre que isso conduza a uma redução
do número de grupos ou de literais.
Exemplo VI.8 Qual a equação booleana corresponde ao Mapa de Karnaugh VI.53 ?
Podemos criar dois grupos de quatro células, sendo um deles composto também por X
(Tabela VI.54). Assim, a equação booleana simplificada é a seguinte :
X = Ā.C̄ + B.D
A célula 3 possui um X, que como nós podemos ver, não foi incluído na equação boo-
leana. !
00 01 11 10 00 01 11 10
B B

! !# #
D D

" $
00 x 1 1 x 00 x 1 1 x
0 1 5 4 0 1 5 4

01 0 x 1 0 01 0 x 1 0
2 3 7 6 2 3 7 6
C C
11 0 0 1 0 11 0 0 1 0
10 11 15 14 10 11 15 14
A A
" $
10 0 0 1 0 10 0 0 1 0
8 9 13 12 8 9 13 12

Tabela VI.53 – Mapa de Karnaugh. Tabela VI.54 – Mapa de Karnaugh.

Resumo
e
– O Mapa de Karnaugh é um método que permite a representação da tabela verdade em um
mapa, permitindo uma fácil conversão para sua devida equação booleana.
– O Mapa de Karnaugh possibilita a simplificação da equação booleana sem a utilização dos teore-
mas booleanos, utilizando apenas técnicas de simplificação.
– O Mapa de Karnaugh pode ser desenhado de várias formas diferentes, modificando a posição
das variáveis. Mesmo assim, todas os possíveis tipos de Mapa de Karnaugh resultarão na mesma
equação final.
– Para montar o Mapa de Karnaugh devemos analisar, linha a linha, a tabela verdade, encontrando
a posição que representa tal linha no Mapa de Karnaugh. O valor da saída da linha deve ser
colocado na respesctiva célula do Mapa.
– Depois que o Mapa de Karnaugh for formado, é possível obter a equação booleana não simplificada
buscando, no Mapa de Karnaugh, as células que possuem valor igual a ’1’. A equação final será
uma soma de produtos, sendo os produtos uma combinação das entradas de cada célula com valor
igual a ’1’.
– Para simplificar a equação booleana, podemos agrupar as células que possuem valor igual a ’1’
em grupos de 1, 2, 4, 8 ou 16 células. Quanto maior o número de células, mais simplificada será
a equação final.
– O agrupamento só envolve células adjacentes, ou seja, células que estão lado-a-lado, horizontal-
mente ou verticalmente.
– As células das bordas também podem ser agrupadas com células de outras bordas. Por exemplo,
as células da primeira linha podem se agrupar com as células da última linha.
– As condições indiferentes envolvem condições em que a combinação das entradas nunca ocorre,
ou quando não é significativo o valor da função para determinadas combinações de entrada.
– Nestes casos, a saída é representada por X. Estes valores podem ou não ser utilizados na sim-
plificação de Mapas de Karnaugh. A utilização deles só deve ser feita quando resultar em um
grupo maior de células. Por exemplo, sem utilizar o X, o grupo de células teria tamanho igual a
2, e utilizando o X, o grupo de células teria tamanho igual a 4. Neste caso eles devem sim ser
utilizados. !
84 Mapas de Karnaugh

Exercícios

1. O que é e para que serve um Mapa de Karnaugh ?


2. Crie um Mapa de Karnaugh de 2 variáveis de 4 formas diferentes.
3. Crie um Mapa de Karnaugh de 3 variáveis de 4 formas diferentes.
4. Preencha os Mapas de Karnaugh com os dados das seguintes tabelas verdades :
(a) Tabela VI.55 e Mapa VI.56
(b) Tabela VI.57 e Mapa VI.58
(c) Tabela VI.57 e Mapa VI.59
(d) Tabela VI.57 e Mapa VI.60
(e) Tabela VI.61 e Mapa VI.62
5. Obtenha a equação booleana não simplificada dos Mapas de Karnaugh da questão 4.
Compare o valor obtido dos Mapas VI.58, VI.59 e VI.60.
6. Utilize técnicas de simplificação no Mapa de Karnaugh para simplificar os equações
booleanas dos Mapas VI.56, VI.58, VI.59, VI.60 e VI.62.
7. Obtenha a equação booleana simplificada dos Mapas de Karnaugh VI.63, VI.64, VI.65,
VI.66, VI.67, VI.68, VI.69 e VI.70.
8. Exercícios dos livros texto.
– Sistemas Digitais (Tocci, 11a edição)
– Página 165, exercícios : 4.11, 4.12, 4.13, 4.14, 4.15, 4.16.
Tabela Verdade
0 1
A B X B
0 0 0
0
0 1 1 0 1

1 0 1 1 A
2 3

1 1 0
Tabela VI.56 – Mapa de Karnaugh.
Tabela VI.55 – Tabela verdade.
Tabela Verdade
A B C X
00 01 11 10
0 0 0 0 A
0 0 1 1
C
0 1 0 0
0 1 1 1 0
0 1 5 4
1 0 0 0
1 B
1 0 1 0 2 3 7 6

1 1 0 1 Tabela VI.58 – Mapa de Karnaugh.


1 1 1 1

Tabela VI.57 – Tabela verdade.


VI.7 Condições indiferentes 85

00 10 11 01 00 10 11 01
C B

A A

0 0
0 1 5 4 0 1 5 4

1 B 1 C
2 3 7 6 2 3 7 6

Tabela VI.59 – Mapa de Karnaugh. Tabela VI.60 – Mapa de Karnaugh.

Tabela Verdade
A B C D X
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1 00 01 11 10
0 0 1 1 0 B
0 1 0 0 1 D
0 1 0 1 0
0 1 1 0 1 00
0 1 5 4

0 1 1 1 0 01
2 3 7 6
1 0 0 0 1 C
11
1 0 0 1 1 A 10 11 15 14

1 0 1 0 0 10
8 9 13 12

1 0 1 1 1
Tabela VI.62 – Mapa de Karnaugh.
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0

Tabela VI.61 – Tabela verdade.

00 01 11 10 00 01 11 10
A A

C C

0 1 1 1 1 0 1 0 0 1
0 1 5 4 0 1 5 4

1 B 0 0 0 1 1 B 1 0 0 1
2 3 7 6 2 3 7 6

Tabela VI.63 – Mapa de Karnaugh. Tabela VI.64 – Mapa de Karnaugh.


86 Mapas de Karnaugh

00 01 11 10 00 01 11 10
B B

D D

00 1 0 0 1 00 0 0 1 1
0 1 5 4 0 1 5 4

01 1 0 0 1 01 0 1 1 0
2 3 7 6 2 3 7 6
C C
11 1 0 0 1 11 1 1 1 0
10 11 15 14 10 11 15 14
A A
10 0 0 0 1 10 1 1 1 1
8 9 13 12 8 9 13 12

Tabela VI.65 – Mapa de Karnaugh. Tabela VI.66 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

D D

00 1 0 1 1 00 x 1 0 x
0 1 5 4 0 1 5 4

01 0 0 0 0 01 x 0 1 1
2 3 7 6 2 3 7 6
C C
11 0 1 1 1 11 1 1 0 x
10 11 15 14 10 11 15 14
A A
10 1 1 1 1 10 x 0 0 0
8 9 13 12 8 9 13 12

Tabela VI.67 – Mapa de Karnaugh. Tabela VI.68 – Mapa de Karnaugh.

00 01 11 10 00 01 11 10
B B

D D

00 1 1 0 0 00 x 0 0 1
0 1 5 4 0 1 5 4

01 x x x 0 01 0 0 1 0
2 3 7 6 2 3 7 6
C C
11 0 0 0 0 11 0 x 1 0
10 11 15 14 10 11 15 14
A A
10 1 x 1 1 10 1 0 0 1
8 9 13 12 8 9 13 12

Tabela VI.69 – Mapa de Karnaugh. Tabela VI.70 – Mapa de Karnaugh.

Você também pode gostar