electrónica digital
DESCRIPTION
Electrónica DigitalTRANSCRIPT
ELECTR
ÓNICA
DIGITA
Módulo 2 - Álgebra e Lógica Booleana
Álgebra de Boole
ÍNDICE
1. - INTRODUÇÃO...................................................................................................................................................5
2. - LÓGICA DE CONTACTOS...................................................................................................................................6
2.1 - Contactos..................................................................................................................................................6
2.2 - Operações Lógicas efectuadas por contactos...........................................................................................6
2.3 - Operação Igualdade..................................................................................................................................7
2.4 - Operação Negação ou "NOT"...................................................................................................................8
2.5 - Operação Conjunção ou "AND"................................................................................................................9
2.5.1 - Ligação em série de dois contactos..................................................................................................9
2.6 - Operação Disjunção ou "OR"..................................................................................................................10
2.6.1 - Ligação em paralelo de dois contactos...........................................................................................10
2.7 - Operações mistas com contactos...........................................................................................................11
3. - EXERCÍCIOS RESOLVIDOS................................................................................................................................12
4.- EXERCÍCIOS PROPOSTOS.................................................................................................................................13
5.- VALORES, VARIÁVEIS E OPERAÇÕES LÓGICAS.................................................................................................13
5.1 - Operação Lógica Negação ou "NOT".......................................................................................................14
5.2 - Operação Lógica Conjunção ou "AND"...................................................................................................15
5.2.1 - Propriedades da conjunção............................................................................................................16
5.2.2 - Tabela de verdades e simbologia da conjunção.............................................................................17
5.3 - Operação Lógica Disjunção ou "OR".......................................................................................................18
5.3.1 - Propriedades da disjunção.............................................................................................................19
5.3.2 - Tabela de verdades e simbologia da disjunção..............................................................................20
5.4 - Operação Lógica Disjunção Exclusiva ou "XOR"......................................................................................21
5.4.1 - Propriedades da disjunção exclusiva..............................................................................................22
5.4.2 - Tabela de verdades e simbologia da disjunção exclusiva...............................................................22
5.5 - Operação Lógica NAND...........................................................................................................................24
5.6 - Operação Lógica NOR.............................................................................................................................25
5.7 - Propriedades entre Funções Lógicas.......................................................................................................26
5.7.1 - Leis de Morgan...............................................................................................................................26
5.7.2 - Outras Propriedades Importantes..................................................................................................26
5.7.3 - Simplificação de Expressões Lógicas..............................................................................................26
6. - DESENHO DE CIRCUITOS LÓGICOS.................................................................................................................28
7. - IMPLEMENTAÇÃO DE CIRCUITOS SÓ COM NAND OU SÓ COM NOR..............................................................29
8. - TABELAS DE VERDADE....................................................................................................................................31
9. - MAPAS DE KARNAUGH...................................................................................................................................33
I
Álgebra de Boole
10. - RESOLUÇÃO DE PROBLEMAS 3911 - EXERCÍCIOS RESOLVIDOS...............................................................................................................................41
12 - EXERCÍCIOS PROPOSTOS...............................................................................................................................57
13. - MONTAGENS PRÁTICAS...............................................................................................................................59
13.1 - Valores lógicos na prática.....................................................................................................................59
13.2 - Circuitos Integrados..............................................................................................................................59
13.3 - Caixas de Montagem - Bread-Boards....................................................................................................61
13.3.1 - Exemplo 1 - Estudo prático da negação........................................................................................62
13.3.2 - Exemplo 2 - Estudo prático da conjunção....................................................................................65
II
Álgebra de Boole
1. - INTRODUÇÃO
Este capítulo tem como objetivo dar conhecimento das técnicas usadas na conceção de circuitos lógicos
simples. Partindo da análise das operações lógicas simples e das suas propriedades mostram-se algumas
técnicas usadas no projeto de circuitos combinatórios.
Trata-se, portanto, do primeiro passo a dar para quem pretende estudar a eletrónica digital e os
microprocessadores.
III
Álgebra de Boole
2. - LÓGICA DE CONTACTOS
A lógica de contactos é o primeiro passo para entender algumas operações lógicas aplicadas à realidade da
eletrónica digital. Através de dispositivos chamados contactos normalmente abertos ou normalmente
fechados, podemos efetuar combinações, para obtermos um objetivo final. Estes contactos podem deixar
passar corrente elétrica ou não, permitindo assim acionar saídas de circuitos lógicos com um determinado fim.
2.1 - Contactos
Contactos são dispositivos elétricos simples, que por acionamento mecânico mudam de posição permitindo ou não a passagem de corrente elétrica.
As figuras seguintes representam um contacto normalmente fechado e outro normalmente aberto.
Este é o símbolo do contacto normalmente fechado, pois sem ser atuado mecanicamente, deixa passar a corrente elétrica. Quando atuado mecanicamente, não deixa passar a corrente elétrica.
Este é o símbolo do contacto normalmente aberto, pois só depois de ser atuado mecanicamente, deixa passar a corrente elétrica.
Para abreviar as designações dos contactos, utilizamos contacto NF para normalmente fechado e contacto NA para normalmente aberto.
2.2 - Operações Lógicas efetuadas por contactos
Operações lógicas, são as operações que se podem efetuar com valores lógicos, tal como a soma ou a
subtração são operações que se podem efetuar com números reais.
Os valores lógicos servem para podermos saber se determinada afirmação é verdadeira ou falsa. Como tal, no
universo dos valores lógicos só existem dois valores: o verdadeiro e o falso.
As operações lógicas entre valores lógicos possuem normalmente as entradas (variáveis a operar) e uma saída,
que também é um valor lógico e que é o resultado dessa operação.
IV
Álgebra de Boole
2.3 - Operação Igualdade
Poderemos definir já uma operação lógica: a igualdade. Da igualdade entre variáveis lógicas resulta um valor
lógico que é igual ao primeiro membro da igualdade.
Se se afirmar que S = A, o valor lógico de S (verdadeiro ou falso) terá de ser o mesmo de A. Se A for verdadeiro,
então S também é verdadeiro. Se por acaso A for falso, então S também será falso.
Podemos exprimir eletricamente a igualdade S = A. Basta para isso pensarmos que A será o contacto e que S
será um recetor de corrente elétrica, por exemplo uma lâmpada. Assim a entrada do circuito elétrico será o
contacto A, e a saída a lâmpada S.
Neste caso se A for verdadeiro, ou seja atuado ("ON"), deixará passar corrente elétrica que atravessará o filamento da lâmpada fazendo-a acender (A lâmpada S fica ativo ou verdadeiro ou "ON").Se não atuarmos o contacto A, ou seja, se o deixarmos aberto (falso ou "OFF"), não haverá passagem de corrente elétrica, pelo que, a lâmpadaS ficará desativa
(estado falso "OFF").
Nas nossas casas esta operação acontece todos os dias quando ligamos e desligamos os nossos interruptores para acendermos ou apagarmos as nossas lâmpadas.
Vejamos a tabela de verdades da função identidade:
A S
Falso ou OFF Falso ou OFF
Verdadeiro ou ON Verdadeiro ou ON
V
Álgebra de Boole
2.4 - Operação Negação ou "NOT"
Podemos efetuar uma operação semelhante, mas pensando na lâmpada normalmente acesa e quando atuarmos no contacto fazer com que ela se apague. Para efetuar esta operação designada de negação, utilizamos um contacto normalmente fechado.
A operação negação envolve duas variáveis lógicas, e afeta a saída S com a negação da entrada A. Podemos pensar que a lâmpada S, é a negação do contacto A, ou seja, a saída S é igual a um contacto normalmente fechado, pois este comporta-se de forma contrária ao contacto normalmente aberto.
Desta forma, quando A é falso, S é verdadeiro e quando A é verdadeiro, S é falso.
Neste caso o contacto
normalmente fechado, permite que haja passagem de corrente e a lâmpada acende-se mesmo quando não houve atuação mecânica sobre o contacto.
Quando atuarmos no contacto, ele abre-se, deixando de haver passagem de corrente elétrica através dele, ficando assim a lâmpada acesa. Este comportamento é o inverso da igualdade, pelo que se designou por negação.Como a lâmpada S só acende quando A estiver negado, designou-se também esta operação de "NOT".
Para concluir, observemos a tabela de verdades da negação ou "NOT".
A S
Falso ou OFF Verdadeiro ou ON
Verdadeiro ou ON Falso ou OFF
VI
Álgebra de Boole
2.5 - Operação Conjunção ou "AND"
Este tipo de operação lógica envolve dois ou mais contactos ligados em série. Este tipo de ligação é conseguida
ligando uma só extremidade de um dos contactos a outra extremidade de outro contacto tal como se mostra
na figura seguinte, os contactos só têm um terminal em comum.
2.5.1 - Ligação em série de dois contactos
Como se pode observar, a lâmpada S só acende se ambos os contactos Ae Bestiverem atuados (estado
verdadeiro). Só haverá passagem de corrente elétrica seA e B estiverem fechados pelo que qualquer outra
combinação dos contactos A e B não faz acender a lâmpada S. Como a lâmpada só acende quando A e B
estiverem atuados, designou-se também esta operação como "AND".
Em termos de lógica, considerando os contactos A e B como entradas lógicas e a lâmpada S como saída lógica, podemos aferir o estado da saída para cada combinação das entradas.
A tabela seguinte mostra as quatro combinações que se podem realizar com as duas entradas lógicas (contactos), ou seja a tabela de verdades da conjunção ou "AND".
A B S
Falso ou OFF Falso ou OFF Falso ou OFF
Falso ou OFF Verdadeiro ou ON Falso ou OFF
Verdadeiro ou ON Falso ou OFF Falso ou OFF
Verdadeiro ou ON Verdadeiro ou ON Verdadeiro ou ON
VII
Álgebra de Boole
Nunca nos devemos esquecer que a lâmpada S só acende quando o estado da saída lógica respetiva for verdadeiro.
VIII
Álgebra de Boole
2.6 - Operação Disjunção ou "OR"
A operação disjunção envolve uma ligação em paralelo entre dois contactos. Uma ligação em paralelo obtém-
se ligando uma extremidade de um contacto a outra extremidade de outro; a segunda extremidade do
primeiro contacto liga-se à segunda extremidade do segundo contacto. Este tipo de ligação é exemplificada na
figura seguinte.
2.6.1 - Ligação em paralelo de dois contactos
Como se pode verificar na figura abaixo, ambos os contactos possuem os seus dois terminais ligados entre si,
ou seja os contactos têm os dois terminais em comum.
Como se pode ainda observar, basta que um dos contactos ou ambos estejam ativos para que a lâmpada S
acenda, ou seja, a lâmpada só se apaga se nenhum dos contactos estiver atuado.
Como basta que A ou B estejam atuados para que a lâmpada S acenda, designou-se também esta operação como "OR".Daqui podemos concluir a seguinte tabela de verdades da operação disjunção ou "OR".
A B S
Falso ou OFF Falso ou OFF Falso ou OFF
Falso ou OFF Verdadeiro Verdadeiro ou ON
Verdadeiro ou ON Falso ou OFF Verdadeiro ou ON
Verdadeiro ou ON Verdadeiro ou ON Verdadeiro ou ON
IX
Álgebra de Boole
2.7 - Operações mistas com contactos
Quase de certeza que já todos nós observámos o funcionamento de uma comutação de escada nas nossas casas. Uma comutação de escada, é um circuito elétrico onde existem dois pontos para acendermos ou apagarmos uma lâmpada.Se pensarmos bem no assunto, podemos concluir que este circuito possui uma saída (lâmpada) e dois contactos A e B com as respetivas negações (inversores).
Neste circuito, podemos observar que se A fechar não A abre e vice-versa. O mesmo se pode dizer do inversor
B. Assim, em ambos os pontos podemos acender ou apagar a lâmpada S, podendo assim em qualquer altura
acender num ponto e apagar noutro. Este é o comportamento típico de uma comutação de escada. Analisando
o circuito, a Lâmpada que poderemos designar de S, acende se Adesativo e Bativo ou Aativo e Bdesativo.
Podemos escrever a expressão de S : S = (not A and B) or (A andnot B).
Trata-se do paralelo de duas séries: a série de not A com B e a de A com not B. Também se pode dizer que se
trata da disjunção de duas conjunções: a conjunção de not A com B e a conjunção de A com not B.
X
Álgebra de Boole
3. -EXERCÍCIOS RESOLVIDOS
1. Pretende-se comandar um motor através de dois pontos independentes.
Para resolver este circuito, basta pensar em dois contactos e no motor. Os contactos devem ser colocados no
circuito de tal forma que um ou outro ou ambos liguem o motor quando se ativarem. Trata-se de um paralelo
de dois contactos ou da disjunção dos dois contactos.
2. Pretende-se controlar um tapete rolante através de dois motores (um para andar num sentido e outro para o sentido inverso). Cada motor deverá ter um contacto para se ligar ou desligar. Por razões de segurança pretende-se efectuar o encravamento dos motores, ou seja, se o motor M1 estiver ligado, nunca se poderá ligar o motor M2 e se M2 estiver ligado nunca se poderá ligar o motor M1.
Para resolver esta situação devemos pensar em dois contactos normalmente abertos e seus complementares, ou seja cada contacto desdobra-se num normalmente aberto e noutro normalmente fechado em oposição de tal forma que ao fechar A, abre-se not A e vice-versa.
Sendo assim basta analisar o esquema da figura seguinte para verificar que os dois motores nunca poderão ser ligados em simultâneo evitando assim quaisquer problemas.
XI
Álgebra de Boole
4. - EXERCÍCIOS PROPOSTOS
1. Desenhe um circuito baseado em três contactos e numa lâmpada onde a lâmpada só acenda quando os três contactos estiverem ativos.
2. Desenhe um circuito baseado em três contactos e numa lâmpada onde a lâmpada acenda quando um número par de contactos estiver ativo.
5. - VALORES, VARIÁVEIS E OPERAÇÕES LÓGICAS
Tal como existe o conjunto dos números inteiros e podemos efetuar operações aritméticas com eles, também
existe o conjunto das variáveis lógicas ou binárias e podemos efetuar operações lógicas ou booleanas entre
eles.
Uma variável booleana ou binária é uma variável que pode tomar um valor lógico.
O conjunto dos valores lógicos binários só possui dois valores: o verdadeiro e o falso também designados de 0
(zero) e de 1 (um)respetivamente.
Uma variável booleana só pode ser verdadeira ou falsa, nunca verdadeira e falsa em simultâneo.
Operações lógicas ou booleanassão operações em que os operandos são variáveis booleanas e o resultados
dessas operações é também obrigatoriamente um booleano.
Na eletrónica digital, implementam-se as operações lógicas que vamos falar em seguida através de
transístores. Os níveis de tensão utilizados na família TTL (TransistorTransistorLogic) são os 5 V para o valor
lógico 1 e os 0 V para o valor lógico 0. No entanto, existem margens. De 0 a 0.8 V, o TTL interpreta um 0 lógico,
de 2.8 a 5 V, o TTL interpreta um 1 lógico. Valores entre 0.8 e 2.8 V, não são interpretados corretamente pelas
portas TTL, pelo que esta zona se designa por zona proibida.
XII
Álgebra de Boole
5.1 - Operação Lógica Negação ou "NOT"
A operação lógica "NOT" é uma operação booleana (opera uma variável booleana) e realiza a negação dessa
variável.
Tomemos o exemplo da seguinte variável booleana: "Hoje vou a Lisboa". Se eu realizar a ação de ir a Lisboa, a
variável torna-se verdadeira e se eu não for a Lisboa ela tornar-se-á falsa. Se eu for hoje a Lisboa, a variável fica
verdadeira e a sua negação"Hoje não vou a Lisboa" ficará falsa. Se eu não for a Lisboa, a variável ficará falsa e
a sua negação "Hoje não vou a Lisboa" ficará verdadeira.
Com este tipo de análise, podemos definir algumas propriedades da operação lógica negação:
O símbolo usado para representar a negação de A éA (o traço por cima da variável).
O resultado da negação da negação de uma variável lógica é a própria variável.
Podemos definir a operação negação por uma tabela de verdades. A tabela de verdades de uma expressão
representa os resultados possíveis para as várias combinações possíveis nas entradas. A negação só tem uma
entrada, pelo que, podemos representar o resultado da negação através da seguinte tabela de verdades:
A A
0 1
1 0
Usa-se 1 (um) para representar verdadeiro e 0 (zero) para representar o falso.A variável Ase for falsa A ficará verdadeira e vice-versa, se A for verdadeira,A ficará falsa.
O Símbolo lógico da negação (também chamado de porta lógica) é o seguinte:
XIII
Álgebra de Boole
5.2 - Operação Lógica Conjunção ou "AND"
A operação lógica "AND" é uma operação booleana (opera variáveis booleanas) que realiza a conjunção dessas
variáveis. Se pensarmos em duas ações (variáveis), elas podem sempre tomar o valor lógico de verdadeiro ou
de falso (nunca os dois em simultâneo). Imaginemos então as ações de "ir jantar" e "ir ao cinema" como
programa de fim-de-semana. Note-se a importância da preposição "e". É esta pequena palavra que invoca a
conjunção, ou seja ter de realizar as duas ações. Cada uma destas ações pode ser verdadeira ou falsa, e
consoante o valor lógico de cada uma, a ação"programa de fim-de-semana"que se pretende que seja a
conjunção ou anddas duas ações anteriores toma também um valor lógico de verdadeiro ou falso. Vejamos
então o comportamento da conjunção:
A ação programa de fim-de-semana é a conjunção de ir jantar e de ir ao cinema, ou seja para cumprir a ação programa de fim de semana, obviamente que terei de cumprir as duas ações anteriores. Sendo assim:
Se não fui jantar (ir jantar = falso) e não fui ao cinema (ir ao cinema = falso), é lógico que não cumpri o programa de fim-de-semana (programa de fim-de-semana = falso).
Se fui jantar (ir jantar = verdadeiro) e não fui ao cinema (ir ao cinema = falso), é lógico que não cumpri o programa de fim-de-semana (programa de fim-de-semana = falso).
Se não fui jantar (ir jantar = falso) e fui ao cinema (ir ao cinema = verdadeiro), é lógico que não cumpri o programa de fim-de-semana (programa de fim-de-semana = falso).
Se fui jantar (ir jantar = verdadeiro) e fui ao cinema (ir ao cinema = verdadeiro), é lógico que cumpri o programa de fim-de-semana (programa de fim-de-semana = verdadeiro).
Para concluir, a conjunção é uma operação lógica que exige que os seus operandos (variáveis lógicas) sejam todas verdadeiras para que o resultado dessa conjunção seja verdadeira.
XIV
Álgebra de Boole
5.2.1 - Propriedades da conjunção
Algumas propriedades se podem concluir da análise da conjunção:
O símbolo matemático para representar a conjunção é o . (ponto) ou então não se usa nenhum símbolo.
Elemento neutro: O elemento neutro da conjunção é o valor lógico verdadeiropois se uma das variáveis
lógicas for sempre verdadeira o resultado da conjunção depende apenas da outra variável lógica. No caso
do exemplo anterior, se "ir ao cinema" for um dado adquirido, ou seja se for sempre verdadeiro, o
resultado do "programa de fim-de-semana" fica igual ao de "ir jantar"; se for jantar (verdadeiro), o
programa de fim-de-semana fica verdadeiro (cumpri-o), senão for jantar (falso) o programa de fim-de-
semana fica falso (não o cumpri).
A . 1 = A
Elemento absorvente:O elemento absorvente da conjunção é o valor lógico falso pois se uma das acções
for sempre falsa, o resultado do programa de fim-de-semana é falso, pois não cumpri uma das acções.
A . 0 = 0
Idempotência: A propriedade da idempotência refere a conjunção de uma variável lógica com ela própria.
Se o programa de fim-de-semana se alterar para uma só acção, ir ao cinema, o resultado da conjunção de ir
ao cinema com ir ao cinema é o valor lógico de ir ao cinema.
A . A = A
Complementação:Se o programa de fim-de-semana for a conjunção ir jantar com a negação de ir jantar, se
ir jantar for verdadeiro, não ir jantar é falso, o que torna a conjunção falsa. Se por outro lado ir jantar for
falso, não ir jantar é verdadeiro ou que torna a conjunção falsa também.
A .A = 0
Comutatividade:Esta propriedade refere que o resultado da conjunção "ir jantar" e "ir ao cinema" é o
mesmo que o da conjunção de "ir ao cinema" e "ir jantar". Não importa a ordem, importa sim é realizar ou
não as duas ações para cumprir o programa de fim-de-semana.
A . B = B . A.
Associatividade:No caso de se ter uma conjunção de três ou mais ações. Pode-se realizar em primeiro lugar
a conjunção de duas delas (quaisquer) e depois realizar a conjunção dessa conjunção com a terceira.
(A .B) . C = A .(B . C) = A .B . C.
XV
Álgebra de Boole
5.2.2 - Tabela de verdades e simbologia da conjunção
Uma forma de representar ou de descrever o "and" é através da sua tabela de verdades. A tabela de verdades
usa 1 (um) e 0 (zero) para representar o verdadeiro e o falso respetivamente. Na eletrónica digital, usa-se
sempre o 1 (um) e o 0 (zero) para representar o verdadeiro e o falso respetivamente.
A B A . B
0 0 0
0 1 0
1 0 0
1 1 1
O símbolo lógico ou porta lógica do and está representado na figura seguinte:
Como se pode verificar, F é o resultado da conjunção das variáveis A e B
Para concluir, um resumo das propriedades do and:
Elemento neutro 1
Elemento absorvente 0
Idempotência A . A = A
Complementação A .A = 0
Comutatividade A . B = B . A
Associatividade (A .B) . C = A .(B . C) = A .B . C
XVI
Álgebra de Boole
5.3 - Operação Lógica Disjunção ou "OR"
A operação lógica "or" é uma operação booleana (opera variáveis booleanas) que realiza a disjunção dessas
variáveis. Se pensarmos em duas ações (variáveis), elas podem sempre tomar o valor lógico um (verdadeiro)
ou zero (falso), conforme se realizem ou não. Imaginemos as duas ações ou variáveis lógicas: "Hoje vou a
Santarém" e "Hoje vou ao Cartaxo". Ambas as ações anteriores poderão ser verdadeiras ou falsas conforme
sejam ou não realizadas. Uma disjunção entre elas ou um "or" delas será qualquer coisa do estilo: "Hoje vou a
Santarém ou ao Cartaxo".
Note-se a importância da palavra "ou"na disjunção das duas variáveis.
A disjunção sendo uma função booleana, o seu resultado tomará também um e um só valor lógico: verdadeiro
ou falso (um ou zero).
Vejamos agora o comportamento da disjunção:
A ação resultante de ir a Santarém ou ao Cartaxo depende das ações separadas de ir a Santarém e de
ir ao Cartaxo. Neste caso, basta realizar uma destas duas ações para que a disjunção se torne
verdadeira.
Se for a Santarém (ir a Santarém = verdadeiro) e não for ao Cartaxo (ir ao Cartaxo = falso), ir a
Santarém ou ao Cartaxo é verdadeira pois fui a Santarém.
Se não for a Santarém (ir a Santarém = falso) e for ao Cartaxo (ir ao Cartaxo = verdadeiro), ir a
Santarém ou ao Cartaxo é também verdadeira pois fui ao Cartaxo.
Se for a Santarém (ir a Santarém = verdadeiro) e for ao Cartaxo (ir ao Cartaxo = verdadeiro), ir a
Santarém ou ao Cartaxo é verdadeira pois até fui aos dois locais.
Se não for a Santarém (ir a Santarém = falso) e não for ao Cartaxo (ir ao Cartaxo = falso), então sim, ir a
Santarém ou ao Cartaxo torna-se falso pois não cumpri a frase de ir a um local ou ao outro.
Concluindo esta análise, basta que uma das variáveis de entrada da disjunção seja verdadeira para que o
resultado da mesma seja verdadeira.
XVII
Álgebra de Boole
5.3.1 - Propriedades da disjunção
Algumas propriedades podem-se concluir da análise da disjunção:
O símbolo matemático para representar a disjunção é o + .
Elemento neutro:O elemento neutro da disjunção é o falso (zero), pois se uma das variáveis for falsa, o
resultado da disjunção depende da outra. No exemplo anterior se ir a Santarém for sempre falso, se for
ao Cartaxo, então a disjunção ir a Santarém ou ao Cartaxo é verdadeira (valor de ir ao Cartaxo) pois fui
ao Cartaxo. Se ir ao Cartaxo é falso, então ambas as variáveis são falsas, pelo que a disjunção toma o
valor de falso, ou seja o valor de ir ao Cartaxo. Pode-se traduzir esta propriedade, dizendo A+0 = A,
sendo A uma variável lógica e 0 o valor lógico falso.
Elemento absorvente: O elemento absorvente da disjunção é o verdadeiro, pois basta que uma variável
tome o valor de verdadeiro para que a disjunção seja verdadeira independentemente do valor da outra
variável. A+1 = 1. Se ir a Santarém é verdadeiro, ir a Santarém ou ao Cartaxo, já é sempre verdadeira e
não depende do valor lógico de ir ao Cartaxo porque se cumpre sempre a disjunção.
Idempotência:Esta propriedade refere a disjunção de uma variável com ela própria. Neste caso é óbvio
que o resultado dessa disjunção toma o valor da variável em causa. A+A = A. Se a disjunção for ir ao
Cartaxo ou ir ao Cartaxo, esta é verdadeira se ir ao Cartaxo for verdadeira e é falsa se ir ao Cartaxo for
falsa.
Complementação:Se a disjunção for ir a Santarém ou não ir a Santarém, logo o resultado é sempre
verdadeiro, pois existe sempre um verdadeiro na disjunção. Se ir a Santarém for falso, por exemplo, não
ir a Santarém é verdadeiro, logo aplicando o elemento absorvente, a disjunção é verdadeira.
Comutatividade:O resultado da disjunção de ir a Santarém ou ao Cartaxo é igual a ir ao Cartaxo ou ir a
Santarém. A ordem não interessa aqui, logo a disjunção é comutativa.
A+B = B+A
Associatividade: No caso de ter a disjunções de três ou mais variáveis lógicas, a ordem com que se
efetuam as disjunções não é relevante.
(A+B)+C = A+(B+C) = A+B+C
XVIII
Álgebra de Boole
5.3.2 - Tabela de verdades e simbologia da disjunção
Uma forma de representar ou descrever a operação lógica "or" ou disjunção como já se sabe é através da
tabela de verdades que mostra o comportamento da disjunção de duas variáveis em cada combinação das
mesmas. Usando 1 e 0 para representar o verdadeiro e o falso respetivamente, temos então a tabela de
verdades da disjunção.
O Símbolo lógico ou porta lógica do or está representado em seguida:
Para concluir, o resumo das propriedades do or:
Elemento neutro 0
Elemento absorvente 1
Idempotência A + A = A
Complementação A +A = 1
Comutatividade A + B = B + A
Associatividade (A + B) + C = A + (B + C) = A + B + C
XIX
A B A + B
0 0 0
0 1 1
1 0 1
1 1 1
Álgebra de Boole
XX
Álgebra de Boole
5.4 - Operação Lógica Disjunção Exclusiva ou "XOR"
A operação lógica "xor" é uma operação booleana (opera variáveis booleanas) que realiza a disjunção exclusiva
dessas variáveis. Se pensarmos em duas ações (variáveis), elas podem sempre tomar o valor lógico um
(verdadeiro) ou zero (falso), conforme se realizem ou não. Imaginemos as duas ações ou variáveis lógicas:
"Hoje vou a Santarém" e "Hoje vou ao Cartaxo". Ambas as ações anteriores poderão ser verdadeiras ou falsas
conforme sejam ou não realizadas. Uma disjunção exclusiva entre elas ou um "xor" delas será qualquer coisa
do estilo: "Hoje, ou vou a Santarém ou ao Cartaxo".
Note-se a importância da palavra "ou"na disjunção exclusiva das duas variáveis.
A disjunção sendo uma função booleana, o seu resultado tomará também um e um só valor lógico: verdadeiro
ou falso (um ou zero).
Vejamos agora o comportamento da disjunção exclusiva:
A ação resultante de ou ir a Santarém ou ao Cartaxo depende das ações separadas de ir a Santarém e
de ir ao Cartaxo. Neste caso, basta realizar uma destas duas ações para que a disjunção exclusiva se
torne verdadeira, no entanto, não podemos realizar as duas ações pois exclui-se isso no sentido da
frase ou ir a Santarém ou ir ao Cartaxo. Só se pode realizar uma destas ações.
Se for a Santarém (ir a Santarém = verdadeiro) e não for ao Cartaxo (ir ao Cartaxo = falso), ou ir a
Santarém ou ao Cartaxo é verdadeira pois fui a Santarém.
Se não for a Santarém (ir a Santarém = falso) e for ao Cartaxo (ir ao Cartaxo = verdadeiro), ou ir a
Santarém ou ao Cartaxo é também verdadeira pois fui ao Cartaxo.
Se for a Santarém (ir a Santarém = verdadeiro) e for ao Cartaxo (ir ao Cartaxo = verdadeiro), ou ir a
Santarém ou ao Cartaxo é falso pois fui aos dois locais e isso não é permitido pelo sentido da frase
(exclusão).
Se não for a Santarém (ir a Santarém = falso) e não for ao Cartaxo (ir ao Cartaxo = falso), ou ir a
Santarém ou ao Cartaxo torna-se falso pois não cumpri a frase de ir a um local ou ao outro.
Concluindo esta análise, sempre que se verificar uma e uma só ação, a disjunção exclusiva é verdadeira.
XXI
Álgebra de Boole
5.4.1 - Propriedades da disjunção exclusiva
Algumas propriedades podem-se concluir da análise da disjunção exclusiva:
O símbolo matemático para representar a disjunção exclusiva é o .
Comutatividade: O resultado da disjunção exclusiva de ou ir a Santarém ou ao Cartaxo é igual à de ou ir ao Cartaxo ou ir a Santarém. A ordem não interessa aqui, logo a disjunção exclusiva é comutativa.
A B = B A.
Associatividade: No caso de ter a disjunção exclusiva de três ou mais variáveis lógicas, a ordem com que se efetuam as disjunções exclusivas não é relevante.
(A B) C = A (B C) = A B C
A A = 0: A ação resultante da disjunção exclusiva de ou ir a Santarém ou ir a Santarém é falsa pois não posso ir aos dois locais (Santarém) e tenho de ir pelo menos a um local. Se não for a Santarém, ou ir a Santarém ou ir a Santarém é falso, pois não fui. Se for a Santarém, ou ir a Santarém ou ir a Santarém é também falso pois fui aos dois locais ao mesmo tempo.
A 1 =A: Se se fizer a disjunção exclusiva de uma variável booleana com verdadeiro, obtemos a negação dessa variável booleana.
A 0 = A: pode-se dizer que o falso é o elemento neutro da disjunção exclusiva.
A B = AB +A B: Basta para perceber esta propriedade olhar para a tabela de verdades da disjunção exclusiva. Se eu realizar uma e uma só condição, o resultado é verdadeiro, e isso traduz-se por realizar A e não realizar B ou realizar B e não realizar A.
5.4.2 - Tabela de verdades e simbologia da disjunção exclusiva
Uma forma de representar ou descrever a operação lógica "xor" ou disjunção exclusiva como já se sabe é
através da tabela de verdades que mostra o comportamento da disjunção exclusiva de duas variáveis em cada
combinação das mesmas. Usando 1 e 0 para representar o verdadeiro e o falso respetivamente, temos então a
tabela de verdades da disjunção exclusiva.
XXII
Álgebra de Boole
Tabela de verdades da disjunção exclusiva:
A B A B
0 0 0
0 1 1
1 0 1
1 1 0
O Símbolo lógico ou porta lógica do xor está representado em seguida:
Para concluir, o resumo das propriedades do xor:
Comutatividade A B = B A
Associatividade (A B) C = A (B C) = A B C
A A = 0
A 1 =A
A 0 = A (elemento neutro)
A B = AB +A B
XXIII
Álgebra de Boole
5.5 - Operação Lógica NAND
Esta operação resulta da junção de um AND e de um NOT. Como se vai observar, esta operação é muito útil nos sistemas digitais.
AB é o NAND de A com B. Vejamos como se constrói um NAND:
A função F é o resultado da negação da conjunção de A com B. Esta função implementa-se e resulta uma função cujas propriedades se explicam em seguida:
O símbolo do NAND é: O símbolo lógico ou porta lógica NAND é:
A Tabela de verdades do NAND é:
A B AB
0 0 1
0 1 1
1 0 1
1 1 0
Como se pode verificar, é a negação da conjunção.
A 0 = 1, pois A . 0 = 1
A 1 =A pois A . 1 = A
A A =A pois A . A = A e pode-se fazer um NOT com um NAND
A A = 1 pois A .A = 0
XXIV
Álgebra de Boole
5.6 - Operação Lógica NOR
Esta operação resulta da junção de um OR e de um NOT. Como se vai observar, esta operação é muito útil nos sistemas digitais.
AB é o NOR de A com B. Vejamos como se constrói um NOR:
A função F é o resultado da negação da disjunção de A com B. Esta função implementa-se e resulta uma função cujas propriedades se explicam em seguida:
O símbolo do NOR é: O símbolo lógico ou porta lógica NOR é:
A Tabela de verdades do NOR é:
A B AB
0 0 1
0 1 0
1 0 0
1 1 0
Como se pode verificar, é a negação da conjunção.
A 0 =A, pois A + 0 = A
A 1 = 0 pois A + 1 = 1
A A =A pois A + A = A (pode-se fazer um NOT com um NOR)
A A = 0 pois A +A = 1
XXV
Álgebra de Boole
5.7 - Propriedades entre Funções Lógicas
5.7.1 - Leis de Morgan
As leis de Morgan são duas que se enunciam em seguida:
1. A negação de uma conjunção de duas variáveis é a disjunção das negações dessas variáveis.
A B =A +B
2. A negação de uma disjunção de duas variáveis é a conjunção das negações dessas variáveis.
A B =A .B
5.7.2 - Outras Propriedades Importantes
Distributividade do AND em relação ao OR
A .(B + C) = (B + C) .A = A . B + A . C
O inverso também é verdadeiro, ou seja podemos evidenciar uma variável
A . B + A . C = A . (B + C)
Por último, a seguinte igualdade
A +A B = A + B
5.7.3 - Simplificação de Expressões Lógicas
Quando uma função lógica depende de várias operações e variáveis lógicas, convém efetuar simplificações
usando as propriedades que se explicaram anteriormente. Este tipo de simplificações tem dois grandes
objetivos: dar a perceber a lógica booleana e tornar mais barata e mais simples a implementação real de
circuitos baseados em portas lógicas.
As normas pelas quais nos devemos reger para efetuar as simplificações são:
1. Efetuar sempre as disjunções exclusivas em primeiro lugar.
(A B = AB +A B)
2. Desembaraçar de negações. Podemos aplicar as leis de Morgan para tal.
3. Aplicar as propriedades do AND e do OR para simplificar.
Em relação a prioridades, o XOR é a operação mais prioritária. Em seguida vem o AND e depois o OR.
XXVI
Álgebra de Boole
Exemplo:_____
Simplificar a seguinte expressão: F = A B
_______________1. Libertar o XOR: F = A .B +A . B mantendo é claro a negação do XOR
2. Aplicar a Lei de Morgan à disjunção. A negação de uma disjunção é a conjunção das suas variáveis negadas:
_____ _____F = A .B .A. B
3. Aplicar a Lei de Morgan às duas conjunções. A negação de uma conjunção é a disjunção das suas variáveis negadas:
F = (A + B) . (A +B)
4. Propriedade distributiva da conjunção em relação à disjunção
F =A . A +A .B + B . A + B .B
5. Simplificar usando as seguintes propriedades:
A . A = 0 Complementação
B . B = 0 Complementação
F = 0 +A .B + A . B + 0
Pelo elemento neutro da disjunção (0), podemos fazer:
F =A .B + A . B o que é o resultado final da simplificação de F.
Torna-se necessário um domínio completo de todas as propriedades estudadas para efetuar com rapidez e
segurança as simplificações.
Deve, por último observar os exercícios resolvidos que lhe mostram outros exemplos de simplificações
algébricas de expressões.
XXVII
Álgebra de Boole
6. - DESENHO DE CIRCUITOS LÓGICOS
O desenho de circuitos lógicos é uma representação através das portas lógicas de um circuito ou da função lógica. Assim, vejamos os seguintes exemplos:
Desenhar o circuito lógico de:
a) F = A + B
Como se pode verificar a porta lógica or implementa a função F.
b) F = A .B . C
Como se pode verificar, recorreu-se à associatividade do and e usaram-se assim duas portas. A primeira traduz A.B e a segunda implementa a saída da primeira conjugado com C.
c) F = (A . B) + (C . D)
Nesta situação, resolveram-se primeiro os ands (A.B) e o (C.D). Depois efetuou-se o or destas duas saídas dos ands. O resultado fica assim na saída do or.
d) F = (A . B) + (C . D)
Como se pode verificar, primeiro temos de efetuar a negação de A e obtemos A. Depois efetua-se a conjunção desse resultado com B ficando comA.B. Após isso resolvemos a conjunção de C.D e do resultado do primeiro and e do resultado do segundo and fazemos a disjunção final obtendo o circuito lógico de F. Se por ventura a expressão fosse a negação de F, tínhamos de negar a saída F ou seja poderíamos aplicar um NOR em vez do OR final.
XXVIII
Álgebra de Boole
7. - IMPLEMENTAÇÃO DE CIRCUITOS SÓ COM NAND OU SÓ COM NOR
Se se pensar que as portas lógicas se vendem em circuitos integrados e cada circuito integrado tem várias
portas do mesmo tipo, o que se pretende é implementar circuitos com o mínimo de circuitos integrados
possível. Este tipo de filosofia minimiza o custo dos circuitos pois diminui-lhes o número de integrados, a
dimensão das placas de circuito impresso, em fim, diminui toda a realização do circuito tornando-o mais
barato.
Ao simplificarmos as expressões, diminuímos o número de portas lógicas e se pudermos usar o mesmo tipo de
portas lógicas no circuito diminuímos o número de circuitos integrados pois não desperdiçamos portas.
O que acontece é que qualquer função lógica pode ser efetuada com NANDS ou com
NORS.
Se pensarmos que AA =A já efetuamos um NOT com um NAND.
Também é verdade que AA = A o que permite efetuar um NOT com um NOR.
____Pode-se de igual forma efetuar um AND com NANDS fazendo A.B = AB ou seja negar o NAND, fico com um AND.
XXIX
Álgebra de Boole
Pode-se efetuar um OR com NANDs pois A + B = A B, o que se percebe aplicando a Lei de Morgan:
__ __A B =A +B o que dá A + B
Pode-se de forma análoga realizar um AND com um NORS, pois A . B = A B, o que se entende aplicando a Lei de Morgan:
_____A B =A .B o que dá A . B
Pode-se por último realizar um OR com um NOR. Basta para isso negar a saída do NOR.
XXX
Álgebra de Boole
8. - TABELAS DE VERDADE
As tabelas de verdades são uma forma de representar uma função lógica. Tal como se viu nas funções lógicas
básicas (ands, ors, nots e xors) qualquer função lógica é possível de representar através de uma tabela de
verdades.
Para conseguir isso, devemos em primeiro lugar obter as variáveis da função a representar. A tabela de
verdades depende dessas variáveis e do número delas. A tabela de verdades apresenta um valor para a função
(saída) em cada combinação das variáveis lógicas (entradas). Assim, o número de combinações possíveis resulta
da potência de 2 (dois) elevado ao número de variáveis da função. Se a função tiver duas variáveis de entrada,
o número de casos ou combinações é quatro; se tiver três variáveis de entrada, o número de casos é oito e
assim sucessivamente. Temos de perceber o que são estes casos ou combinações.
Vejamos a seguinte função lógica: F = A .B . C. Já podemos concluir que temos oito combinações e então passamos a desenhar a tabela de verdades:
ENTRADA SAÍDA
A B C F
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
Para preencher e achar as combinações de A, B e C temos de pensar que: primeiro A, B e C só podem tomar
valores lógicos (0 ou 1) pois são variáveis lógicas. Começamos por colocar a variável C a variar entre 0 e 1 com B
a 0. Depois podemos colocar C a varia entre 0 e 1 com B a 1. Estas quatro combinações de C e B podem
acontecer com A a 0 e podem-se repetir com A a 1. Se observarmos a tabela de verdades temos já as oito
combinações diferentes de A, B e C. Para concluir, a função F só pode ser verdadeira quando as três variáveis
tomarem o valor 1 e isso só acontece no último caso.
XXXI
Álgebra de Boole
Outro exemplo:
Representar a tabela de verdades da função F = A . B + C . DComo se pode verificar existem quatro variáveis, logo temos 2 elevado a quatro ou seja dezasseis casos diferentes.
ENTRADAS SAÍDA
A B C D F
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
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
Para preencher a tabela, basta fazer variar a variável D entre 0 e 1 com C. Fazer depois o mesmo com C a 1.
Repetir estas combinações feitas com B a 0 agora com B a 1. Repetir todas as combinações feitas com A a 0
agora com A a 1. Depois basta pensar que F é 1 quando C.D forem 1 ou quando A.B forem 1. Verifique os casos
em que F é 1. Existem outras formas de representar funções como veremos já de seguida.
XXXII
Álgebra de Boole
9. - MAPAS DE KARNAUGH
Os mapas de Karnaugh são um método direto de simplificar expressões lógicas.
Surge a partir da propriedade de A +A = 1.
Ora, os mapas de Karnaugh são uma forma de representar funções e de as simplificar. Para desenhar um mapa
de Karnaugh temos de conhecer a expressão lógica:
Temos de saber quantas e quais as variáveis de entrada. Através deste conhecimento, determinamos o
número de partes que tem o mapa.
Temos de conhecer a saída da função, ou seja a expressão em si.
Das entradas determinamos o número de partes do mapa. O número de partes do mapa calcula-se fazendo
dois elevado ao número de entradas. O mapa desenha-se tendo em conta que tem de haver uma e uma só
parte para cada combinação das entradas. Cada parte do mapa é um dos casos possíveis da tabela de verdades
da expressão. Como exemplo vamos desenhar o mapa de Karnaugh da expressão: F=A.
Temos uma só variável, logo o número de partes é: 2 elevado a 1 (uma variável). O número de partes é dois.
Desenhamos agora um mapa com duas partes, uma para cada combinação possível das variáveis.
A A
1 0
A função é verdadeira, ou seja toma o valor lógico 1 quando A = 1. Logo na parte que pertence a A colocamos
1. Na parte deA colocamos 0. Se se pensar bem, este mapa é outra forma de representar a tabela de
verdades, mas tem uma vantagem: podemos simplificar logo a expressão agrupando os “uns”. Os “uns”
agrupam-se desde que estejam contíguos no mapa, ou seja, têm de estar pegados. Os “uns” agrupam-se em
potências inteiras de dois, ou seja, podem-se fazer grupos de 1 “um”, dois “uns”, quatro “uns”, oito “uns”,
etc. ...
Podemos agrupar os “uns” pensando num mapa esférico, ou seja, nos cantos do mapa os “uns” estão
contíguos.
Neste caso podemos efetuar um grupo de 1 “um”.
O grupo está feito e agora temos de escrever a expressão deste grupo. Este grupo só depende de A, logo é A . A expressão F = A tem esta representação em mapa de Karnaugh.
XXXIII
Álgebra de Boole
XXXIV
Álgebra de Boole
O próximo exemplo já tem duas variáveis:Vamos tentar desenhar o mapa de Karnaugh da seguinte expressão lógica:
F =A .B + A .B + A . B
O mapa tem duas variáveis: A e B. Como tal, temos um mapa com dois elevado a duas variáveis, ou seja um mapa com quatro partes.
Como se pode verificar o mapa apresenta as quatro partes de uma tabela de verdades. Assim, existe uma parte
para cada combinação possível das duas variáveis. Agora, basta preencher o mapa com os “uns” e os “zeros”
em cada parte do mapa. As partes A .B, A .B e A . B devem ser preenchidas com “uns” e a parte A . B deve
ser preenchida com “zero”.
Seguindo a regra dos agrupamentos, podemos fazer grupos de dois “uns”. Neste caso temos de agrupar o
maior número de “uns” possíveis. Temos de fazer dois grupos de dois “uns” cada. O primeiro grupo, o vertical,
é um espaço caracterizado por não pertencer a B, logo éB. O segundo grupo, o horizontal, é um espaço que
pertence a A, logo é A. Assim a expressão F é B + A, F = A + B. Foi assim simplificada a expressão F de uma
forma muito simples.
XXXV
Álgebra de Boole
XXXVI
Álgebra de Boole
Vamos agora analisar um exemplo de três variáveis:Suponhamos a seguinte expressão: F =A .B .C + A .B. C + A .B .C + A .B . C
Para construir o mapa de Karnaugh, vamos em primeiro lugar pensar que esta função depende de três variáveis
de entrada: A, B e C, logo o mapa terá oito partes, (2 elevado a três variáveis de entrada).
Temos também de ter algum cuidado em construir o mapa, pois este terá de ter uma parte para cada
combinação das entradas.
Como se pode verificar, existe então uma parte para cada combinação das entradas.Vamos agora preencher o mapa com os “uns” e com os “zeros”.A função é “um” em cada uma das seguintes partes conforme a expressão da função:
XXXVII
Álgebra de Boole
Depois do mapa preenchido, com o “um” de cada parte da função no seu local respetivo, vamos realizar os
grupos de “uns”.
Olhando para o mapa, podemos fazer dois grupos de dois “uns”, pois não se podem fazer grupos de três “uns”
e os “uns” de cada grupo têm de estar contínuos.
O mapa fica então assim:
O grupo de um “um”, é a porção do mapa que pertence aA e aB e aC. É a intersecção deA,B,C.
O grupo de dois “uns” da esquerda do mapa representa a porção do mapa que pertence a B e a A,
independentemente de C, logo esta porção é o resultado da intersecção de A com A com B.
O grupo de dois “uns” da direita do mapa representam a parte do mapa que é de A e de C, logo é a intersecção
de A com C.
A expressão de F simplificada é a disjunção das representações de cada grupo de “uns”, logo F =ABC + AB +
AC.
XXXVIII
Álgebra de Boole
Passemos agora ao último exemplo, agora com quatro variáveis de entrada. Desde já fica o mapa com a
respetiva distribuição de cada uma das suas porções e a expressão da função F:
F =ABCD +ABC D +AB CD +A BC D +A B C D + A BCD + A BC D + A B CD + A B C D + ABCD + ABC D + AB CD
Vamos agora colocar um “um” em cada porção do mapa correspondente a cada parcela da função F e já agora podemos construir os grupos de “uns”:
XXXIX
Álgebra de Boole
Ficaram quatro grupos de quatro “uns” cada. Estes grupos aparecem seguindo as regras de agrupamento:
Apesar de haverem 12 “uns”, não se pode fazer um grupo de oito, pois não estão contíguos. Temos de tentar
agrupar os “uns” em grupos do maior número de “uns” possíveis. Neste caso, tentámos fazer grupos de quatro
“uns”. Conseguiram-se fazer os seguintes grupos: o dos cantos, pois o mapa é esférico, e logo os “uns” ficam
contíguos; o vertical, pois os “uns” estão pegados; o horizontal pois os “uns” estão também contíguos. O do
meio, porque ficaram dois “uns” sozinhos, mas podiam-se agrupar com mais dois ficando um grupo de quatro
(os grupos quanto mais “uns” tiverem mais simples fica a expressão).
Falta só escrever o resultado da simplificação da expressão:
Do grupo dos cantos, temos a porção do mapa que não pertence a B nem a D, logoBD.Do grupo vertical, temos a porção do mapa que é D e que não é de C, logoC D.Do grupo horizontal, temos a porção do mapa que é de A e de B, logo A B.Do grupo do meio, temos a porção do mapa que é B e D, logo B D.
Fazendo a disjunção das expressões dos grupos, temos:
F =BD +C D + A B + B D, ou seja a expressão F simplificada.
XL
Álgebra de Boole
10. - RESOLUÇÃO DE PROBLEMAS
Vamos agora saber para que serviu toda esta matéria em que se esteve a falar. Todas estas técnicas são
importantes quando tentamos resolver um problema e queremos chegar a um circuito para o implementar.
Temos de fasear a resolução dos problemas para termos sucesso na sua resolução. As grandes fases da
resolução e implementação de um enunciado devem ser realizadas por esta ordem:
A caixa preta: por muito simples que seja, esta fase é indispensável para a compreensão das entradas e saídas
do circuito final. Nunca deixe de a desenhar pois só com a caixa preta se ganha sensibilidade para o enunciado
dividindo desde logo as entradas e saídas do problema e do circuito.
As tabelas de verdades das saídas do problema: deve ter em atenção o enunciado do problema e preencher
uma tabela de verdades para cada uma das saídas do problema em dependência das entradas.
Extração e simplificação das expressões das saídas do problema: retire as expressões das saídas e simplifique-as
usando o método algébrico ou os mapas de Karnaugh (o que interessa é simplificar).
Desenho do circuito lógico: desenhe os circuitos lógicos das saídas partindo da expressão de cada uma já
simplificada.
Implementação prática: escolha os circuitos integrados para montar e testar o circuito final do problema.
Eis um exemplo:
Problema:Pretende-se um circuito para um sistema de segurança de um automóvel que obedeça às seguintes regras:
Existem no veículo três sensores: um que se ativa quando uma das portas do automóvel estiver aberta, outro
que se ativa quando os cintos de segurança dos passageiros não estiverem colocados e outro que se ativa
quando for detetado uma taxa de álcool no sangue do condutor superior a 0.5 g/l.
Desenhe um circuito que impeça a ignição do automóvel quando um destes sensores estiver ativo.
Primeiro passo: desenhar a caixa preta.As entradas deste circuito são os três sensores: o de portas abertas (PA), o de cinto não colocado (CNC) e o de álcool (A).Estas são as entradas, pois a saída ignição (I) depende destas entradas para poder funcionar.
XLI
Álgebra de Boole
Aqui fica então a caixa preta do circuito. O que se vai fazer agora é projetar o interior desta caixa preta.
Vamos agora ao segundo passo, a tabela de verdades da saída:
Ora temos três entradas, logo, a tabela de verdades terá dois elevado a três entradas, ou seja oito casos.
Entradas Saída
PA CNC A I
0 0 0 1
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 0
Como se pode ver, o carro só pode trabalhar quando nenhum dos sensores está ativo, ou seja, quando PA = 0, CNC = 0 e A = 0.
A função I, sai já simplificada: I =PACNCA.O circuito será o seguinte:
XLII
Álgebra de Boole
11 - EXERCÍCIOS RESOLVIDOS
1. Simplifique cada uma das seguintes funções usando as propriedades das operações lógicas:
__________________________________________
a) F =A B + C + A Lei de Morgan. A negação está aplicada à disjunção
______________________________________
= (A B + C) A A negação de uma negação.
= (A B + C) A distributividade da conjunção em relação à disjunção
=A A B + C A AA = 0 e elemento absorvente da conjunção (0 B = 0)
= 0 + C A Elemento neutro da disjunção (0 + C A = C A)
= C A
F = C A
b) F =A BCD +A BC D +ABC D +AB C D EvidenciarAC
=AC (BD + B D +B D) +AB C D Evidenciar B
=AC (B (D + D) +B D) +AB C D D + D = 1
=AC (B +B D) +AB C D B +B D = B + D
=AC (B + D) +AB C D
=AC B +AC D +AB C D ColocarA em evidência
=A (C B +C D +B C D) Evidenciar D
=A (C B + D (C + CB)) C + CB =C +B
=A (C B + D (C +B)) Distributiva
F = A (C B + DC + DB)
XLIII
Álgebra de Boole
c) F = A B C (D + D) + A C D (B + A + C) + A C (B + D)
D + D = 1 e 1 . A B C = A B C
= A B C + A C D (B + A + C) + A C (B + D) Distributividade
= A B C + A C D B + A C D A + A C D C + A C B + A C D Evidenciar A C B
= ABC (D + 1 + 1) + ACDA + ACDC + ACD D + 1 + 1 = D
= A B C + A C D + A D C + A C D A C D + A D C + A C D = A C D
= A B C + A C D Evidenciar A C
F = A C (B + D)
___d) F = (A + A C A B) (A B) Tirar o XOR
___ ___ ___= (A + A C .A B + A C + A B) (A B) X Y = XY + X Y
= (A + A C (A +B) + (A +C) A B) (A +B) Lei de Morgan
= (A + A CA + A CB +A A B + C A B) (A +B) Distributiva
= (A + A CB +C A B) (A +B) AA X = 0
= (A (1 + CB +C B)) (A +B) Evidenciar A
= A (A +B) 1 + X = 1 e Y . 1 = Y
= AA + AB Distributiva
= AB AA = 0
F = AB
XLIV
Álgebra de Boole
2. Desenhe os circuitos lógicos das funções anteriores após a simplificação:
a)
b)
c)
d)
XLV
Álgebra de Boole
3. Para as seguintes expressões desenhe as suas tabelas de verdade e simplifique-as usando mapas de Karnaugh e desenhe os seus circuitos lógicos.
a) F = AB C + A BC + ABC + A B C + AB C + A B C
Esta função tem três variáveis, logo o seu mapa de Karnaugh terá dois elevado e três casos possíveis ou seja oito porções:
Vamos agora colocar os “uns” nos locais onde a função toma o valor de verdadeira:
XLVI
Álgebra de Boole
O grupo de quatro “uns” foi feito porque existiam quatro “uns” contíguos. Depois fizeram-se dois grupos de
“uns”. O primeiro fez-se porque o mapa é esférico e os cantos inferiores estão pegados, logo podem-se agrupar
os dois “uns” dos cantos inferiores. Ficou assim, só um “um” sem grupo, mas como ele se encontra pegado a
outro “um”, agrupou-se com ele apesar deste último já pertencer ao grupo de quatro “uns”.
Falta só retirar as expressões dos grupos e fazer a expressão final de F já simplificada.
O grupo de quatro representa a porção do mapa que pertence a C. O grupo dos cantos representa a porção do
mapa que pertence a A e aB. O outro grupo de dois “uns” representa a porção do mapa que pertence a B e
aA. Logo a expressão final de F é: F = C + AB +A B.
O circuito lógico de F é:
XLVII
Álgebra de Boole
b) F =ABCD + ABCD + ADBC + ABCD + A B DC + A B DC + A B C D + A C DB
Esta função já depende de quatro variáveis, logo o mapa terá de ter dois elevado a quatro (dezasseis) porções, uma para cada combinação das entradas.
Colocando agora os “uns” da função F nos respetivos locais ficamos com o seguinte mapa e os seguintes grupos:
XLVIII
Álgebra de Boole
O grupo de quatro “uns” surgiu porque se podem agrupar grupos de quatro “uns” contíguos. O grupo de dois
“uns” dos cantos surgiu porque o mapa é esférico o que pega os cantos. Os outros grupos de dois “uns”
surgiram do agrupamento de “uns” isolados com “uns” do grupo de quatro (claro que estavam contíguos aos
isolados).
Assim, temos as expressões dos grupos:
O grupo de quatro é a porção do mapa que pertence a D e a A, logo é D A. O grupo dos cantos é a porção do mapa que pertence a B,D eC, logo é BCD. O grupo de dois “uns” vertical é a porção do mapa que pertence a D, B eC, logo é
B DC. Por último, o grupo de dois “uns” horizontal é a porção do mapa que pertence a A,
B e C, logo é A B C.
A expressão de F é finalmente:
F = D A + BDC + D BC + A B C
O circuito lógico de F é o seguinte:
XLIX
Álgebra de Boole
4. Desenhe só com portas NAND o circuito seguinte:
Transformando os AND em NAND, temos de negar as suas saídas. Para a função se manter equivalente,
temos de negar as entradas do OR. Um OR com as entradas negadas é um NAND segundo as Leis de
Morgan. O circuito fica:
5. Desenhe só com portas NOR o circuito seguinte:
Transformando os OR em NOR basta negar os OR. Para a função não se alterar, temos de negar as entradas
do AND. Um AND com as entradas negadas é um NOR segundo as Leis de Morgan, logo o circuito fica:
L
Álgebra de Boole
6. Extraia as expressões simplificadas dos seguintes mapas de Karnaugh:
a)
Fazemos neste mapa dois grupos de “uns”: um grupo dos quatro “uns” dos cantos, pois o mapa é esférico e um grupo de dois “uns” do meio do mapa.
A expressão do grupo de quatro “uns” éBD porque eles ocupam o espaço que não pertence a D e não pertence a B.A expressão do grupo de dois “uns” é CDB pois eles ocupam o espaço comum a D, a B e a não C.Sendo assim, a expressão final de F é: F =BD +C D B.
LI
Álgebra de Boole
b)
Fazemos neste mapa os seguintes grupos: um grupo de quatro “uns” envolvendo os “uns” das extremidades
direita e esquerda. Outro grupo de dois “uns” envolvendo os dois “uns” mais abaixo. Outro grupo de dois “uns”
envolvendo os “uns” mais acima.
Do grupo de quatro “uns” tira-se a expressãoB, pois eles ocupam o espaço deB.Do grupo de dois “uns” mais acima, tira-se AC, pois eles ocupam o espaço que é comum a A e aC.Do grupo de dois “uns” mais abaixo, tira-se CA, pois eles ocupam o espaço comum a C e aA.Logo, a expressão de F é: F =B +A C + AC.
LII
Álgebra de Boole
7. O Conselho de Administração de uma Empresa é formado por quatro pessoas (um Presidente (P) e três Vogais (V1, V2 e V3)).Na mesa onde eles se reúnem, existe um interruptor para cada um deles, e uma lâmpada.Durante as votações cada uma das pessoas exerce o seu direito de voto ativando ou não o seu interruptor para votar a favor ou contra.O Presidente tem direito de veto, ou seja, se ele votar contra, a proposta não poderá ser aprovada. Se o Presidente votar a favor, a proposta deverá ser aprovada por maioria dos quatro votantes.Implemente um circuito que permita acender a lâmpada quando a proposta for aprovada.O primeiro passo é o desenho da caixa preta. As entradas deste circuito são os interruptores P, V1, V2 e V3. A saída deste circuito é a lâmpada S.
LIII
Álgebra de Boole
Depois de bem identificadas, as entradas e as saídas do circuito, vamos desenhar a tabela de verdades para extrairmos a expressão da saída S e a simplificarmos nummapa de Karnaugh.
P V1 V2 V3 S
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
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 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
LIV
Álgebra de Boole
Quando P = 0, a proposta não pode ser aprovada, pois o Presidente votou contra. Nos outros casos, a proposta é aprovada quando houver pelo menos três votos a favor.
O mapa da Karnaugh é o seguinte:
A expressão da lâmpada S resulta da extração do mapa de Karnaugh:
S = P V1 V2 + P V2 V3 + P V1 V3
O circuito lógico da saída S é:
LV
Álgebra de Boole
8. Numa equipa de atletismo existe a necessidade de selecionar alguns atletas para uma prova internacional. Devido à preparação física dos atletas de nomes A, B, C e D, têm de ser respeitadas as seguintes condições:
Têm de participar pelo menos dois atletas Se A participar, então C também tem de participar Se A e D participarem, então não pode participar o C Se B participar, é forçoso que participe D, mas não pode participar A
Desenhe um circuito que permita acender uma lâmpada quando for escolhida uma seleção possível.Vamos então desenhar a caixa preta do circuito:
Onde A, B, C e D representam as participações dos atletas e S representa a saída para a lâmpada S.
LVI
Álgebra de Boole
Passemos então à tabela de verdades da saída S
Entradas Saída
A B C D S
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
LVII
Álgebra de Boole
Posto isto, vamos passar ao mapa de Karnaugh da saída S:
Do grupo vertical, tira-se B DA.Do grupo horizontal tira-se C DADo grupo de um “um” tira-se A CBDLogo a expressão de S é: S = A D (B + C) + A CBD
O circuito lógico de S é então:
LVIII
Álgebra de Boole
12 - EXERCÍCIOS PROPOSTOS
1. Simplifique as seguintes expressões lógicas:
a) F = AC + A D + A B + AD +BD
b) F = (AB + A C + B C + C D) (A +B) (A +C) (B + D)
c) F = A B A B (A B)
2. Desenhe os circuitos lógicos das seguintes funções:
a) F = AC +A D + A B + AD +BD
b) F = (AB + A C +B C + C D) (A +B) (A +C) (B + D)
c) F = A B A B (A B) + C
3. Desenhe o circuito lógico das seguintes funções:
F = A B + A B
G = A + (BC) (A C)
a) só com portas lógicas NAND.
b) só com portas lógicas NOR.
4. Extraia as expressões lógicas das seguintes tabelas de verdade e simplifique-as usando mapas de Karnaugh e usando os métodos algébricos.
a)
Entradas Saída
A B C F
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
LIX
Álgebra de Boole
Entradas Saída
A B C D G
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
5. Cinco alunos, A, B, C , D e E oferecem-se para executar uma tarefa, se as seguintes condições forem satisfeitas:
A ou B ou ambos devem participar C ou E, mas não ambos devem participar A e C ou participam juntos, ou não participa nenhum Se D participar, então E deve também participar Se B participar, então A e D devem participar também
Desenhe a caixa preta e a tabela de verdades. Extraia e simplifique a expressão da solução e desenhe o circuito lógico.
LX
Álgebra de Boole
13. - MONTAGENS PRÁTICAS
Iniciamos aqui a parte prática da Álgebra de Boole. Esta parte pretende completar a parte teórica já
apresentada e familiarizar o aluno com o material e as técnicas de implementação de circuitos. A prática tem
como finalidade esclarecer e até ampliar as noções já apresentadas na teórica.
Escolhemos para implementação circuitos integrados TTL (Transistor, TransistorLogic) porque têm muitas
funções integradas e não oferecem qualquer risco no seu manuseamento (desde que se manuseie com
cuidado) nem na sua utilização.
13.1 - Valores lógicos na prática
Nas montagens elétricas trabalhamos com tensões e correntes mas nesta fase de estudo, basta pensarmos nas
tensões. Os valores lógicos, verdadeiro e falso (0 e 1), têm nas montagens práticas um significado elétrico. Em
lógica TTL, o valor lógico 0 é representado por uma tensão de 0 Volt e o valor lógico 1 é representado com uma
tensão de 5 Volt. Os circuitos eletrónicos que implementam as funções lógicas são circuitos integrados
destinados a essas funções. Existem muitos circuitos integrados TTL, cada um deles tem a sua função
específica. Para que um circuito integrado TTL interprete o valor lógico 1 numa das suas entradas, temos de lhe
aplicar uma tensão entre 2.8 e 5 Volt. Para que um circuito integrado TTL interprete numa das suas entradas o
valor lógico 0, temos de lhe aplicar uma tensão entre 0 e 0.7 Volt. Os valores de tensão entre 0.7 e 2.8 Volt são
mal interpretados pelas portas TTL, pelo que chamamos a este intervalo de tensões de zona proibida.
13.2 - Circuitos Integrados
Circuitos integrados ou chips são circuitos que implementam funções específicas. No caso dos circuitos
integrados TTL, eles implementam funções com valores lógicos.
São alimentados com uma tensão de 5 Volt ligando num pino o polo positivo de uma fonte de 5 Volt (pilha), e
noutro pino o polo negativo, a massa. Sem estes dois pinos ligados convenientemente, o circuito integrado não
funciona e não pode, portanto, realizar a sua função.
A figura ao lado, mostra um circuito integrado visto de cima. Tem nos lados os pinos de ligação, tendo cada um
deles a sua função.
Os pinos dos circuitos integrados identificam-se com uma numeração. Esta numeração é feita começando no
pino abaixo da marca de orientação e contando os pinos no sentido inverso ao dos ponteiros do relógio, como
se pode ver na figura abaixo.
LXI
Álgebra de Boole
Como se pode verificar, na figura de baixo, o chip tem 14 pinos. Numa das suas extremidades existe uma marca
de orientação. A marca pode ser uma ranhura ou um ponto vincado no chip. Estas marcas indicam o pino n.º 1.
Depois basta contá-los no sentido inverso ao dos ponteiros do relógio.
Como já se referiu, cada pino tem uma função. Os fabricantes fornecem a descrição da função de cada pino.
Esta informação chama-se normalmente pin-out do circuito integrado. Por exemplo, a figura seguinte mostra o
pin-out do circuito integrado 7408 que possui quatro portas AND no seu interior.
Como pode verificar, o chip 7408 implementa quatro funções and de duas entradas. Se se pretender realizar
uma função and, basta ligar nos pinos 1 e dois as entradas e ligar o pino três à saída. Devo sempre alimentar o
chip, ou seja, ligar o polo de 5Volt ao pino catorze e ligar a massa ao pino sete.
LXII
Álgebra de Boole
13.3 - Caixas de Montagem - Bread-Boards
Quando se estão a desenvolver protótipos de circuitos e necessitamos de experimentá-los, não vamos logo
soldar os componentes definitivamente sob o risco mais do que certo de termos de efetuar alterações nos
circuitos.
Existem umas placas de montagem e de teste designadas por Bread-Board. Estas placas aparecem em vários
formatos e tamanhos. A configuração mais habitual é a apresentada na figura seguinte.
Estas placas são constituídas por pequenos orifícios onde podemos introduzir os pinos dos componentes
eletrónicos. Os orifícios têm ligações internas por forma a efetuarem contacto elétrico entre eles. As bread-
boards têm estas ligações definidas e o utilizador tem de as conhecer.
Os orifícios dispostos na horizontal, em cima a começar pela esquerda, estão todos ligados entre si até ao meio
da placa. Do meio até ao fim, estão todos ligados entre si também, apesar de independentes dos anteriores.
Existem assim duas réguas de contactos na parte de cima da placa. Na parte de baixo e também na horizontal,
existem duas réguas de contactos da mesma forma que em cima.
Depois na vertical, existem réguas de cinco orifícios ligados entre si tanto na parte de cima como na parte de
baixo da placa. Cada um destes conjuntos de cinco orifícios é independente dos outros.
As réguas de contactos servem normalmente para ligar os pólos da alimentação porque chegam assim com
facilidade a todos os componentes que necessitam de alimentação. Os conjuntos verticais de cinco orifícios
servem para introduzir os componentes e ligá-los entre si.
LXIII
Álgebra de Boole
13.3.1 - Exemplo 1 - Estudo prático da negação
Vamos, agora realizar uma montagem para testar a negação. Existe um circuito integrado, que contém seis portas not (7404). O seu pin-out mostra-se na figura seguinte:
Vamos então utilizar as três portas lógicas da parte inferior do chip para realizarmos três negações.
Necessitamos para colocar nas saídas de um dispositivo luminoso designado por Led (Light EmitorDiode). Este
dispositivo quando atravessado por uma corrente elétrica emite luz de uma determinada cor e existem leds de
várias cores. Normalmente, estes dispositivos só funcionam com 1.2 Volt aplicados e só estão preparados para
uma corrente de 20mA. Quem sabe a lei de Ohm (U=RI), facilmente percebe que se aplicarmos um led numa
saída TTL, quando esta se ativa, tem 5 Volt relativamente à massa. É uma tensão exagerada para um led, pelo
que temos de a reduzir. Temos de colocar uma resistência em série com o led para provocarmos uma queda de
tensão de 5 para 1.2 Volt numa corrente de 20 mA. Se U=RI, R=U/I , a tensão na resistência será de 5 Volt
menos 1.2 Volt do led, ou seja, 3,8 Volt. Para que uma resistência provoque uma queda de tensão de 3.8 Volt
com uma corrente de 20 mA, temos de fazer R=U/I, ou seja, R=3.8/0.02=190 Ohm.
Nas entradas das portas not colocamos interruptores por forma a obtermos nas entradas das portas os valores
lógicos 0 e 1 (0 Volt e 5 Volt).
A figura seguinte apresenta uma fotografia de um led.
LXIV
Álgebra de Boole
O esquema da montagem é o seguinte:
Teoricamente, quando ativarmos os interruptores, o led correspondente ficará apagado e quando desativarmos os interruptores o led correspondente ficará aceso.
Vamos agora a montagem prática.
LXV
Álgebra de Boole
Não aparece nos esquemas normalmente a alimentação dos chips, mas temos que ligar a alimentação em
todos os circuitos integrados que usamos para que eles possam efetuar as suas funções convenientemente.
Como se pode ver na figura acima, introduz-se o circuito integrado 7404 a meio da placa utilizando os
conjuntos de cinco orifícios para que não exista curto - circuitos entre os pinos do chip. Os circuitos integrados
devem ser colocados com muito cuidado para não danificar os seus pinos. A alimentação liga-se às réguas,
normalmente na régua inferior a massa e na régua superior os 5 Volt. Os pinos 14 e 7 do chip devem ser
utilizados para efetuar a alimentação do mesmo. Os 5 Volt ligam ao pino 14 (Vcc) e a massa ao pino 7 (Gnd).
Deve ser a primeira ação a realizar em todos os componentes, pois normalmente esquecemo-nos de a efetuar.
Depois de ligada a alimentação, ligamos os interruptores E1, E2 e E3 às entradas das portas lógicas not, ou seja
nos pinos 1, 3 e 5 do 7404.
As saídas das portas lógicas not (pinos 2, 4 e 6), ligam cada uma à sua resistência através de um dos terminais
das mesmas. O terminal que fica disponível em cada resistência liga a cada um dos leds no terminal positivo. O
terminal negativo dos leds liga à massa.
Ligando os interruptores E1, E2 e E2 a 5 Volt, os leds ficarão apagados. Se ligarmos os interruptores à massa, os
leds ficarão acesos (negação).
LXVI
Álgebra de Boole
13.3.2 - Exemplo 2 - Estudo prático da conjunção
Para estudarmos a conjunção na prática, resolvemos efetuar a montagem representada na figura abaixo através do seu esquema:
Já deve ser óbvio que o led só acenderá quando todos os interruptores A, B e C estiverem ativos.
A montagem prática envolve um circuito integrado 7408 que contem quatro portas and no seu interior.
Sendo assim, vamos aproveitar as duas portas and da parte inferior do chip para realizar o nosso and de três
entradas.
LXVII
Álgebra de Boole
Num primeiro passo, devemos colocar o circuito integrado com muito cuidado para não danificar os pinos.
Depois, devemos ligar a alimentação. No pino 14 ligo o Vcc (5 Volt) e no pino 7 ligo a massa (0 Volt). Devemos,
em seguida, ligar as entradas. O interruptor A deve ser ligado no pino 1 do chip (1ª entrada da and 01). O
interruptor B deve ser ligado no pino 2 do chip (2ª entrada do and 01). O interruptor C deve ser ligado no pino
5 do chip (2ª entrada do and 02). Da saída do primeiro and (pino 3) ligo um fio até à primeira entrada do and 02
(pino 5). A saída do circuito, ou seja, a saída do and 02 (pino 6) devo ligá-la ao conjunto resistência led.
Quando ligar todos os interruptores o led acenderá. Se desligar um deles ou mais, o led ficará
automaticamente apagado.
LXVIII
Álgebra de Boole
Bibliografia:
SEIA, Mário Araújo; RODRIGUES, Victor Pimenta, “123 Projecto de Sistemas Digitais”, Editora Presença.
LXIX