Apostila
Apostila
Apostila
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
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
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.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.
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
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)
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)
!
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)
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 ? !
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
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
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.
"
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 .
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
"
Vk = 0 (I.13)
Exemplo I.4 Considere o circuito da figura I.11. Utilizando a Lei das Malhas, encontre a
corrente I2 .
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)
−R3 i2 − R1 (i2 − i1 ) = 0
2i1 − 6i2 = 0
i1 − 3i2 = 0 (I.15)
i1 = 3i2 (I.16)
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)
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. !
Exercício I.4 Um circuito digital pode produzir a mesma saída para diferentes entradas ? !
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.
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
– 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
(a) (b)
(c)
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. !
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.
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.
Nb = an .bn + ... + a2 .b2 + a1 .b1 + a0 .b0 + a−1 .b−1 + a−2 .b−2 + ... + a−n .b−n (II.1)
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
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 ? !
Exercício II.2 Converta o número 101100112 para as bases octal, decimal e hexadecimal. !
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. !
23 2
1 11 2
1 5 2
1 2 2
0 1 2
1 0
2310 = 101112
223 8
7 27 8
3 3 8
3 0
22310 = 3378
II.3 Conversões 21
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. !
F 4A516 = F
#$%& 4
#$%& A
#$%& 5
#$%&
1111 0100 1010 0101
F 4A516 = 11110100101001012
1A2516 = 1
#$%& A
#$%& 2
#$%& 5
#$%&
0001 1010 0010 0101
1A2516 = 00011010001001012
Exercício II.5 Converta o número F A3E16 para as bases binária, octal e decimal. !
1A2, F16 = 1
#$%& A
#$%& 2
#$%& , F
#$%&
0001 1010 0010 , 1111
1A2, F16 = 000110100010, 11112
164, 248 = 1.82 + 6.81 + 4.80 + 2.8−1 + 4.8−2 = 64 + 48 + 4 + 0, 25 + 0, 0625 = 116, 312510
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
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. !
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
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.
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
Exercícios
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. !
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
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.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
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
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
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
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
Exercício III.3 Escreva a tabela verdade de uma porta AND com 4 entradas. !
34 Circuitos Lógicos
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. !
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
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
Tabela Verdade
A B X
0 0 0
0 1 1
1 0 0
1 1 1
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
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
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. !
A
B
A
B
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).
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
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.
A X = A.B
B
(d) B̄(A.C̄) (e) A.B
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. !
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).
Estes conceitos podem ser utilizados para realizar a conversão de tabela verdade para
expressão lógica.
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’
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
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 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
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)
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. !
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)
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
X =A+B (IV.2)
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
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.
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)
A
A X = .B
X = .B
B B
(a) (b)
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)
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)
Exemplo IV.1 Implemente o circuito da figura IV.11 utilizando apenas portas NAND.
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
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̄
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. !
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
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̄
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.
B
B
C
C
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 !
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
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.
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
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’. •
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
– 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
X = A + B = Ā.B̄ (V.2)
X = A.B = Ā + B̄ (V.3)
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
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)
Porta OR
A
A X = +B X = +B
B B
(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
B
B I_1
C AND
C I_2 O
D
I_3
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
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 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̄
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.
!# !#
B B̄
" $ " $
0 0
0 1 0 1
1 A 1 A
2 3 2 3
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
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
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 ? !
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
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 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
– 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
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 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
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
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
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
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
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
" $ " $
1 B 0 0 0 1 1 B 0 0 1 0
2 3 7 6 2 3 7 6
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
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
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
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
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
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
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
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
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
00 01 11 10 00 01 11 10
B B
! !# %'
D D
" $ & (
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
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
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
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
00 01 11 10 00 01 11 10
B B
# !
D D
! #
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
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
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
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 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
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 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
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
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
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
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