LÃGICA COMBINACIONAL - Wuala
LÃGICA COMBINACIONAL - Wuala
LÃGICA COMBINACIONAL - Wuala
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SANTA CATARINA<br />
GERÊNCIA EDUCACIONAL DE ELETRÔNICA<br />
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DIGITAIS<br />
LÓGICA <strong>COMBINACIONAL</strong><br />
Prof. Wilson B. Zapelini, Dr.<br />
FLORIANÓPOLIS<br />
2003
SUMÁRIO<br />
Página<br />
1 Lógica 2<br />
1.1 Introdução 2<br />
1.2 Principais características da lógica formal 2<br />
1.3 O silogismo 5<br />
1.4 Lógicas não clássicas 7<br />
1.5 A dualidade do pensamento 8<br />
1.6 A multiplicidade do pensamento 8<br />
2. Álgebra booleana 9<br />
2.1 Introdução - princípios 9<br />
2.2 Funções e portas (Gates) lógicas 10<br />
2.3 Descrição booleana de circuitos lógicos e de chaveamento 15<br />
2.4 Implementação de circuitos a partir expressões booleanas 16<br />
2.5 Representação booleana através da tabela da verdade 17<br />
3. Minimização de Expressões 19<br />
3.1 Método algébrico 19<br />
3.2 Método do diagrama de Veitch-Karnaugh 21<br />
3.3 Método de Quine-McCluskey 26<br />
4. Solução de problemas por lógica combinacional 28<br />
4.1 Sistemas digitais e sistemas analógicos 28<br />
4.2 Sistemas combinacionais e sistemas seqüenciais 28<br />
4.3 Especificação e implementação de um projeto 29<br />
4.4 Níveis de implementação de um sistema digital 30<br />
4.5 Resolução de projetos de sistemas digitais 31<br />
4.6 Fluxograma para desenvolvimento de projetos digitais 32<br />
5. Sistemas numéricos e Códigos 35<br />
5.1 Sistemas de numeração 35<br />
5.2 Códigos 42<br />
5.3 Codificador decimal/binário 44<br />
5.4 Decodificador para display de 7 segmentos 46<br />
6. Circuitos aritméticos 50<br />
6.1 Representação binária de números inteiros 50<br />
6.2 Adição e subtração binária 52<br />
6.3 Adição e subtração em BCD 53<br />
6.4 Multiplicação e divisão binária 55<br />
6.5 Meio somador 55<br />
6.6 Somador completo 55<br />
6.7 Meio subtrator 56<br />
6.8 Subtrator completo 57<br />
6.9 Somador/subtrator binário 57<br />
6.10 Somador/subtrator binário usando complemento de 2 58<br />
6.11 Unidade Lógica e Aritmética (ULA) 59<br />
7. Circuitos multiplex e demultiplex 62<br />
7.1 Multiplex 62<br />
7.2 Demultiplex 66<br />
7.3 Multiplex e Demultiplex utilizados na transmissão de dados 69<br />
Experimentos 72<br />
Referências Bibliográficas 81<br />
1
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SANTA CATARINA<br />
GERÊNCIA EDUCACIONAL DE ELETRÔNICA<br />
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DIGITAIS<br />
UNIDADE DE ENSINO: LÓGICA <strong>COMBINACIONAL</strong><br />
1 LÓGICA<br />
1.1 INTRODUÇÃO<br />
A lógica ocupa um lugar de destaque no pensamento contemporâneo, tanto por sua<br />
importância filosófica, como por suas implicações técnicas.<br />
A relação entre a lógica e a realidade foi sempre uma das mais importantes questões da<br />
filosofia e, através dessa, da teoria das ciências. Nascida na Grécia clássica, a lógica<br />
formal tendeu sempre a assumir o caráter de disciplina exata, terminando por se fundir<br />
intimamente com a matemática.<br />
A palavra lógica é familiar, pois freqüentemente, fala-se em comportamento lógico,<br />
explicação lógica, espírito lógico. Lógica, no sentido epistemológico, vem do latim logica,<br />
ciência das leis do raciocínio. É usada, fundamentalmente, na mesma acepção de<br />
razoável.<br />
O estudo da lógica é o estudo dos métodos e princípios usados para distinguir o raciocínio<br />
correto do incorreto. Naturalmente, não se pretende afirmar que só é possível argumentar<br />
corretamente com alguém que tenha estudado lógica. No entanto, uma pessoa com<br />
conhecimentos de lógica tem mais probabilidades de raciocinar corretamente do que<br />
aquela que não se aprofundou nos princípios gerais implicados nessa atividade.<br />
1.2 PRINCIPAIS CARACTERÍSTICAS DA LÓGICA FORMAL<br />
A lógica caracteriza-se como:<br />
? Instrumental: é o instrumento do pensamento para pensar corretamente e verificar a<br />
correção do que está sendo pensado;<br />
? Formal: não se ocupa com os conteúdos ou com os objetos referidos pelo<br />
pensamento, mas apenas com a forma pura e geral dos pensamentos, expressas<br />
através da linguagem.<br />
? Propedêutica: é o que devemos conhecer antes de iniciar uma investigação científica<br />
ou filosófica, pois somente ela pode indicar os procedimentos (métodos, raciocínios,<br />
demonstrações) que devemos empregar para cada modalidade de conhecimento;<br />
? Normativa: fornece princípios, leis, regras e normas que todo pensamento deve seguir<br />
se quiser ser verdadeiro;<br />
? Doutrina da prova: estabelece as condições e os fundamentos necessários de todas<br />
as demonstrações;<br />
? Geral e temporal: as formas do pensamento, seus princípios e suas leis não<br />
dependem do tempo e do lugar, nem das pessoas e circunstâncias, mas são<br />
universais, necessárias e imutáveis como a própria razão.<br />
O objeto da lógica é a proposição, que exprime, através da linguagem, os juízos<br />
formulados pelo pensamento. A proposição é a atribuição de um predicado a um sujeito:<br />
S é P. O encadeamento dos juízos constitui o raciocínio e este se exprime logicamente<br />
através da conexão de proposições, chamada silogismo. A lógica estuda os elementos<br />
que constituem uma proposição (as categorias), os tipos de proposições e de silogismos<br />
2
e os princípios necessários a que toda proposição e todo silogismo devem obedecer para<br />
serem verdadeiros.<br />
Na proposição, as categorias ou termos são os predicados atribuídos a um sujeito. O<br />
sujeito (S) é uma substância; os predicados (P) são as propriedades atribuídas ao sujeito;<br />
a atribuição ou predicação se faz por meio do verbo de ligação ser. Ex: Pedro é alto.<br />
A proposição é um discurso declarativo que enuncia ou declara verbalmente o que foi<br />
pensado e relacionado pelo juízo. A proposição reúne ou separa verbalmente o que o<br />
juízo reuniu ou separou mentalmente.<br />
A reunião ou separação dos termos recebe o valor de verdade ou de falsidade quando o<br />
que foi reunido ou separado em pensamento e linguagem está reunido ou separado na<br />
realidade (verdade), ou quando o que foi reunido ou separado em pensamento e<br />
linguagem não está reunido ou separado em realidade (falsidade). A reunião se faz pela<br />
afirmação (S é P). A separação se faz pela negação (S não é P).<br />
A proposição representa o juízo (coloca o pensamento na linguagem) e a realidade<br />
(declara o que está unido e o que está separado).<br />
Do ponto de vista do sujeito, existem dois tipos de proposições:<br />
- existencial: declara a existência, posição, ação ou paixão do sujeito. Ex: “Um homem<br />
é (existe)”; “Um homem anda”. E suas negativas: “Um homem não é (não existe)”; “Um<br />
homem não anda”.<br />
- predicativa: declara a atribuição de alguma coisa a um sujeito por meio da ligação é.<br />
Ex: “Um homem é justo”; Um homem não é justo”.<br />
As proposições se classificam segundo a qualidade e a quantidade. Do ponto de vista da<br />
qualidade, as proposições se dividem em:<br />
- afirmativas: as que atribuem alguma coisa a um sujeito: S é P.<br />
- negativas: as que separam o sujeito de alguma coisa: S não é P.<br />
Do ponto de vista da quantidade, as proposições se dividem em:<br />
- universais: quando o predicado se refere à extensão total do sujeito, afirmativamente<br />
(todos os S são P) ou negativamente (nenhum S é P);<br />
- particulares: quando o predicado é atribuído a uma parte da extensão do sujeito,<br />
afirmativamente (alguns S são P) ou negativamente (alguns S não são P);<br />
- singulares: quando o predicado é atribuído a um único indivíduo, afirmativamente<br />
(este S é P) ou negativamente (este S não é P).<br />
As proposições também se distinguem pela modalidade, sendo classificadas como:<br />
- necessárias: quando o predicado está incluído na essência do sujeito, fazendo parte<br />
dessa essência. Ex: “Todo triângulo é uma figura de três lados”.<br />
- não-necessárias ou impossíveis: quando o predicado não pode, de modo algum, ser<br />
atribuído ao sujeito. Ex: “Nenhum triângulo é figura de quatro lados”.<br />
- possíveis: quando o predicado pode ser ou deixar de ser atribuído ao sujeito. Ex:<br />
“Alguns homens são justos”.<br />
Como todo pensamento e todo juízo, a proposição está submetida aos três princípios<br />
lógicos fundamentais , condições de toda a verdade:<br />
1. Princípio da identidade: um ser é sempre idêntico a si mesmo: A é A;<br />
“O que é, é; o que não é, não é”.<br />
2. Princípio da não-contradição: é impossível que um ser seja e não seja idêntico a si<br />
mesmo ao mesmo tempo e na mesma relação. É impossível A é A e não-A;<br />
3
“O que é não é o que não é”.<br />
3. Princípio do terceiro excluído: das duas proposições com o mesmo sujeito e o<br />
mesmo predicado, uma afirmativa e outra negativa, uma delas é necessariamente<br />
verdadeira e a outra necessariamente falsa. A é x ou não-x, não havendo terceira<br />
possibilidade.<br />
Através destes princípios, as proposições podem ainda ser classificadas segundo a<br />
relação em:<br />
- contraditórias: quando se tem o mesmo sujeito e o mesmo predicado, uma das<br />
proposições é universal afirmativa (todos os S são P) e a outra é particular negativa<br />
(alguns S não são P); ou quando se tem uma universal negativa (nenhum S é P) e<br />
uma particular afirmativa (alguns S são P);<br />
- contrárias: quando, tendo o mesmo sujeito e o mesmo predicado, uma das<br />
proposições é universal afirmativa (todo S é P) e a outra é universal negativa (nenhum<br />
S é P); ou quando uma das proposições é particular afirmativa (alguns S são P) e a<br />
outra é particular negativa (alguns S não são P);<br />
- subalternas: quando uma universal afirmativa subordina uma particular afirmativa de<br />
mesmo sujeito e predicado, ou quando uma universal negativa subordina uma<br />
particular negativa de mesmo sujeito e predicado.<br />
Os lógicos medievais criaram uma figura, conhecida como o quadrado dos opostos, na<br />
qual pode-se visualizar as proposições segundo a qualidade, a quantidade, a modalidade<br />
e a relação. As vogais indicam a qualidade e a qualidade.<br />
A contrárias E<br />
subalternas<br />
contraditórias<br />
subalternas<br />
I sub-contrárias O<br />
Universal afirmativa<br />
Universal negativa<br />
Todos os homens são sábios (A) ---- Todos os homens não são sábios (E)<br />
Particular afirmativa<br />
Alguns homens são sábios<br />
Particular negativa<br />
( I ) ---- Alguns homens não são sábios (O)<br />
4
Pode-se utilizar os diagramas lógicos de Euler/Venn para visualizar as relações entre<br />
conjuntos, onde se associa cada termo a uma região do plano, limitado por uma curva<br />
fechada.<br />
A - Proposição universal afirmativa<br />
Todos os X são Y<br />
E - Proposição universal negativa<br />
Nenhum X é Y<br />
Y<br />
X<br />
Y<br />
X<br />
I - Proposição particular afirmativa<br />
O - Proposição particular negativa<br />
Algum X é Y Algum X é não-Y (algum X não é Y)<br />
Y<br />
Y<br />
X<br />
X<br />
1.3 O SILOGISMO<br />
Aristóteles elaborou uma teoria do raciocínio como inferência. Inferir é tirar uma<br />
proposição como conclusão de uma outra ou de várias outras proposições que a<br />
antecedem e são sua explicação ou sua causa. O raciocínio é uma operação do<br />
pensamento realizada por meio de juízos e enunciada lingüística e logicamente pelas<br />
proposições encadeadas, formando um silogismo. Raciocínio e silogismo são operações<br />
mediatas de conhecimento, pois a inferência significa que só conhecemos alguma coisa<br />
(a conclusão) por meio ou pela mediação de outras coisas. A teoria aristotélica do<br />
silogismo é o coração da lógica, pois é a teoria das demonstrações ou das provas, da<br />
qual depende o pensamento científico e filosófico.<br />
O silogismo possui três características principais:<br />
a) Mediato: exige um percurso de pensamento e de linguagem para que se possa<br />
chegar a uma conclusão;<br />
b) Dedutivo: movimento de pensamento e de linguagem que parte de certas afirmações<br />
verdadeiras para chegar a outras também verdadeiras e que dependem<br />
necessariamente das primeiras;<br />
c) Necessário: porque é dedutivo (as conseqüências a que se chega na conclusão<br />
resultam necessariamente da verdade do ponto de partida).<br />
Exemplo mais famoso de silogismo:<br />
Todos os homens são mortais.<br />
Sócrates é homem.<br />
Logo,<br />
Sócrates é mortal.<br />
5
Um silogismo é constituído de três proposições. A primeira é chamada de premissa<br />
maior, a segunda, de premissa menor e a terceira, de conclusão, inferida das<br />
premissas pela mediação de um termo chamado termo médio. As premissas possuem<br />
termos chamados extremos e a função do termo médio é ligar os extremos. Essa ligação<br />
é a inferência ou dedução e sem ela não há raciocínio nem demonstração. Por isso, a arte<br />
do silogismo consiste em saber encontrar o termo médio que ligará os extremos e<br />
permitirá chegar à conclusão.<br />
O silogismo deve obedecer a um conjunto complexo de regras para chegar a uma<br />
conclusão verdadeira, os quais são apresentadas a seguir as mais importantes.<br />
? A premissa maior deve conter o termo extremo maior (mortais) e o termo médio<br />
(homens);<br />
? A premissa menor deve conter o termo extremo menor (Sócrates) e o termo médio<br />
(homem);<br />
? A conclusão deve conter o maior (Sócrates) e o menor (mortal) e jamais deve conter o<br />
termo médio (homem). Sendo função do médio ligar os extremos, deve estar nas<br />
premissas, mas nunca na conclusão.<br />
Portanto, a idéia geral da dedução ou inferência silogística é:<br />
A é verdade de B.<br />
B é verdade de C.<br />
Logo, A é verdade de C.<br />
Pode a inferência silogística ser construída com negativas:<br />
Nenhum anjo é mortal (A é verdade de B).<br />
Miguel é anjo (B é verdade de C).<br />
Logo, Miguel não é mortal (A é verdade de C).<br />
Exemplos de enunciados, checando se é um argumento e identificando as<br />
premissas e conclusão:<br />
a) Ele é Leão, pois nasceu na primeira semana de agosto.<br />
Premissa: Ele nasceu na primeira semana de agosto.<br />
Conclusão: Ele é Leão.<br />
b) Eu não quero ir para cama, mamãe. O filme ainda não acabou.<br />
Premissa: O filme ainda não acabou.<br />
Conclusão: Eu não quero ir para cama.<br />
c) Nos Estados Unidos muitas pessoas não sabem se o seu país apóia ou se opõe ao<br />
governo da Nicarágua.<br />
Não é um argumento.<br />
Exercícios: Alguns dos enunciados seguintes são argumentos. Identifique as suas<br />
premissas e a sua conclusão.<br />
a) A economia não pode ser melhorada. O déficit comercial está crescendo todo dia.<br />
b) Nós estávamos superados em número e em armas pelo inimigo, e suas tropas estavam<br />
constantemente sendo reforçadas enquanto as nossas forças estavam diminuindo.<br />
Assim, um ataque direto teria sido suicida.<br />
c) Ele está respirando e, portanto, está vivo.<br />
d) Há alguém, aqui, que entende este documento?<br />
e) As pessoas talentosas como você deveriam receber uma educação superior. Vá para a<br />
faculdade!<br />
6
1.4 LÓGICAS NÃO-CLÁSSICAS<br />
A lógica de dois valores: verdadeiro-falso é dita clássica, com axiomas que traduzem, com<br />
certa fidelidade, a argumentação corriqueira. Entretanto, foi sendo, aos poucos,<br />
considerada insuficiente para o entendimento de situações. Surgem outras lógicas que<br />
utilizam diferentes axiomas, diferentes valores e diferentes classificações para as<br />
sentenças.<br />
1.4.1 LÓGICA TRIVALENTE<br />
A lógica trivalente nasce da contemplação de sentenças que não sejam definitivamente<br />
verdadeiras nem falsas, podendo admitir um terceiro status: indeterminação ou<br />
neutralidade.<br />
O terceiro estado, aquele que é indiferente ao sim e ao não, pode ser exemplificado numa<br />
forma mais concreta. Uma tomada de energia elétrica pode suprir a demanda de um<br />
aparelho que pode estar ligado ou desligado; mas pode também, ocorrer a falta de<br />
energia elétrica. Nesse caso, nenhum dos dois estado está presente, mas sim uma<br />
indiferença perante as duas possibilidades.<br />
Tal lógica encontra ampla aplicação nos circuitos de microprocessadores, rebatizada de<br />
tri-state. Os chamados circuitos integrados possuem três estados possíveis na saída: um,<br />
zero e desabilitado.<br />
1.4.2 LÓGICA PLURIVALENTE OU POLIVALENTE<br />
Um novo aperfeiçoamento da lógica formal, com uma classificação mais complicada, que<br />
leva em conta modalidades, como:<br />
- Certamente verdadeiro<br />
- Provavelmente verdadeiro<br />
- Indiferente<br />
- Provavelmente falso<br />
- Certamente falso<br />
1.4.3 LÓGICA DIFUSA (FUZZY LOGIC)<br />
A teoria da fuzzy logic foi desenvolvida por Lotfi Zadeh e permite que seja aplicada em<br />
máquinas/computadores processando informações vagas em termos relativos. Quando<br />
aplicada num equipamento, age como se um operador experiente estivesse presente em<br />
seu interior. Tem sua aplicação nos chamados sistemas especialistas, estabelecida por<br />
linguagem denominada inteligência artificial.<br />
Linguagens convencionais trabalham com informações do tipo sim ou não, podendo<br />
responder sem problemas se uma pessoa é homem ou mulher. Porém, haveria uma<br />
desorientação diante de uma questão mais vaga, como: a pessoa é alta? Se o<br />
computador for instruído para considerar alto quem tiver mais de 1,80 m, então ele vai<br />
classificar como baixo quem tiver 1,75 m. Entretanto, uma pessoa com 1,75 m é<br />
razoavelmente alta. Dessa forma, a linguagem utilizada não seria condizente para a<br />
questão proposta.<br />
Os sistemas especialistas utilizam técnicas específicas que codificam o conhecimento<br />
num conjunto de regras que, usadas por qualquer pessoa, permitem obter respostas a<br />
7
problemas relacionados a um determinado assunto. Devem estabelecer uma ajuda<br />
preciosa no diagnóstico, na concepção e na resolução de problemas.<br />
O conhecimento heurístico é o mais difícil de obter porque os especialistas raramente<br />
conseguem defini-lo. A representação do conhecimento num computador necessita de um<br />
procedimento de inferência, isto é, um método de raciocínio que utiliza o conhecimento<br />
juntamente com os dados do problema. O termo heurística deriva da mesma raiz grega de<br />
heureca (descobrir) e se refere às regras de aprender com a prática ou pela boa<br />
estimativa, ou ainda, pelo bom senso.<br />
O grande desafio dos cientistas que desenvolvem inteligência artificial é criar programas<br />
que aprendam com a experiência, isto é, criem conhecimento a partir do conhecimento<br />
que lhes foi fornecido.<br />
1.5 A DUALIDADE DO PENSAMENTO<br />
? Desenvolvimento do pensamento: teses e antíteses definem a síntese<br />
? Dualidade está profundamente ligada à própria consciência existencial humana:<br />
- palavras e seus antônimos<br />
- conceitos de afirmação e negação<br />
- questões filosóficas: - yin e yang da milenar sabedoria oriental<br />
- ter ou não ter do mundo capitalista<br />
? A concepção e diferenciação do pensamento dual no homem:<br />
ocidental: determina por exclusão – é bom ou é ruim, é positivo ou é negativo<br />
oriental: determina por associação – é bom e é ruim, é positivo e é negativo<br />
? Maniqueísmo (doutrina persa Mani/Manes): uma deturpação do dualismo(?)<br />
? Percepção do oriental: dois pólos estão presentes em qualquer situação ou objeto.<br />
Qual polaridade é determinante dependerá de quem vê ou sente<br />
? A estrutura biológica do pensamento: interligações entre neurônios (sinapses) ocorrem<br />
em série<br />
? A formação das estruturas mentais: através de agrupamentos seqüenciais de<br />
alternativas binárias<br />
? A complexidade da natureza humana inviabiliza sua reprodução artificial-clone<br />
? A questão de deter consciência inviabiliza a ação inteligente numa máquina<br />
? A memória muscular - todo corpo possui a característica de restabelecer ou recuperar<br />
sua antiga situação (tratamentos de Ortopedia e Ortodontia)<br />
? O homem condiciona-se a determinados procedimentos mentais que são programados<br />
pela máquina<br />
1.6 A MULTIPLICIDADE DO PENSAMENTO<br />
? Quando as idéias não obedecem à lógica dual: no amor e no ódio<br />
Apesar de complementares, rompem com qualquer princípio lógico<br />
? As pessoas agem de forma diversificada, têm comportamentos diferenciados em<br />
situações distintas<br />
Pode-se ter um lado romântico, artístico, sensitivo que convive com outro racional,<br />
objetivo, frio, prático<br />
8
2 ÁLGEBRA BOOLEANA<br />
2.1 INTRODUÇÃO - PRINCÍPIOS<br />
O período contemporâneo da lógica tem suas raízes estabelecidas nos trabalhos de<br />
George Boole (1815-1864), que imprime novos rumos para a matéria com sua obra<br />
Investigations of the laws of thought, publicada em 1854, onde compara as leis do<br />
pensamento com as leis da álgebra. Boole atribuiu grande importância à sua álgebra,<br />
imaginando que poderia provar as mais notáveis leis lógicas.<br />
A álgebra booleana difere da álgebra convencional no sentido de que esta trata de<br />
relações quantitativas, ao passo que a primeira se refere a relações lógicas. Na álgebra<br />
convencional utilizam-se quantidades simbólicas tais como x, y para representar números.<br />
Na solução de problemas algébricos, geralmente há interesse em saber o tamanho de x,<br />
ou se x é maior que y, ou outra informação qualquer relacionada com quantidades. Por<br />
outro lado, na álgebra booleana existe o interesse de conhecer um dos dois estados<br />
possíveis de um termo simbólico. Por exemplo, quando é usada em lógica filosófica,<br />
deseja-se saber se um enunciado pode assumir valores como falso ou verdadeiro. Um<br />
outro exemplo pode ser encontrado na lógica digital, quando se deseja saber se um termo<br />
algébrico apresenta valor um ou zero.<br />
Na álgebra da lógica, segundo Boole, a lei: x.x = x é verdadeira para quaisquer valores<br />
de x, uma vez que a classe formada com objetos que pertencem à classe x e com objetos<br />
que pertencem a classe x, é a própria classe x. Todavia, na álgebra essa lei não é<br />
geralmente válida. A equação x 2 = x tem duas soluções apenas, a saber x=0 e x=1.<br />
Levando em conta esse fato, o pensador conclui que na álgebra da lógica são válidas as<br />
leis da álgebra matemática quando os valores de x se limitam a 0 e 1. Assim, com tal<br />
restrição, x.x = x é verdadeira para todos os valores da variável (restritos ao par 0,1).<br />
Na sua álgebra da lógica, Boole interpretou os símbolos 0 e 1 como classes especiais, de<br />
modo que 1 representa a classe de todos os objetos (o universo) e 0 representa a classe<br />
a que nenhum objeto pertença (a classe vazia).<br />
Boole apresentou a adição e a subtração em sua lógica, interpretadas de um modo<br />
especial. Assim, x – y é a classe formada com os objetos da classe x, retirados os objetos<br />
da classe y. Por exemplo, se x é a classe dos homens e y a dos europeus, x – y é a<br />
classe dos homens não-europeus. De modo perfeitamente adequado, 1 – x seria a classe<br />
constituída por todos os objetos (do universo) que não fizessem parte da classe x.<br />
As igualdades eram, a seguir, tratadas por Boole de modo matemático. De x.x = x, por<br />
exemplo, subtraindo x em cada membro da expressão, viria: x – x.x = x – x<br />
Ou seja: x (1 – x) = 0 que é a legítima inferência , como se depreende de um exemplo<br />
facilmente compreensível, visto a seguir.<br />
Se x é a classe dos homens, então, 1 – x é a classe dos objetos que não são homens. O<br />
produto de x por 1 – x deve ser igual a zero, a classe vazia, pois que não pode haver<br />
objeto simultaneamente homem e não homem. Esse princípio é, para Boole, uma<br />
formulação do princípio da não contradição, isto é, nenhum objeto pode ter duas<br />
propriedades contraditórias.<br />
9
2.2 FUNÇÕES E PORTAS (GATES) LÓGICAS<br />
A álgebra de Boole é um sistema algébrico que consiste do conjunto {0, 1}; de duas<br />
operações binárias: OU (+) chamada adição lógica ou união e E (x) chamada produto<br />
lógico ou interseção; e de uma operação unária NÃO (barra sobreposta) chamada<br />
complementação lógica ou inversão.<br />
É importante destacar que um circuito lógico é definido como um circuito construído com<br />
vários dispositivos lógicos para a realização de operações com funções de verdade. Os<br />
dispositivos utilizados na construção destes circuitos variam com o estágio da tecnologia.<br />
Por esta razão, é conveniente não se ater a questões referentes a componentes, mas sim<br />
abordar circuitos lógicos em sua expressão universal como, por exemplo, os circuitos de<br />
chaveamento, os quais serão aqui tratados.<br />
2.2.1 FUNÇÃO E (AND)<br />
Executa o produto lógico de duas ou mais variáveis booleanas.<br />
Expressão<br />
S = A . B<br />
(lê-se: A e B)<br />
Circuito de chaveamento<br />
Tabela da verdade<br />
A B A B S<br />
0 0 0<br />
S 0 1 0<br />
1 0 0<br />
1 1 1<br />
Lógica: A saída será um, se e somente se, quando todas as entradas forem iguais a um.<br />
Símbolo<br />
A<br />
B<br />
S<br />
2.2.2 FUNÇÃO OU (OR)<br />
Executa a adição lógica de duas ou mais variáveis booleanas.<br />
Expressão<br />
S = A + B<br />
(lê-se: A ou B)<br />
10
Circuito de chaveamento<br />
A<br />
Tabela da verdade<br />
B A B S<br />
0 0 0<br />
S 0 1 1<br />
1 0 1<br />
1 1 1<br />
Lógica: A saída será um, se e somente se, quando uma ou mais entradas forem iguais a<br />
um.<br />
Símbolo<br />
A<br />
B<br />
S<br />
2.2.3 FUNÇÃO NÃO (NOT) OU INVERSORA<br />
Executa a complementação lógica ou inversão de uma variável booleana.<br />
Expressão<br />
_<br />
S = A<br />
(lê-se: A barra)<br />
Circuito de chaveamento<br />
Tabela da verdade<br />
R A S<br />
0 1<br />
A S 1 0<br />
Lógica: A saída terá nível lógico inverso ao da entrada.<br />
Símbolo<br />
A<br />
______ S<br />
2.2.4 FUNÇÃO NÃO-E (NAND)<br />
Executa a complementação da multiplicação lógica de duas ou mais variáveis booleanas.<br />
Expressão<br />
____<br />
S = A . B<br />
(lê-se: A e B barrados)<br />
11
Circuito de chaveamento<br />
Tabela da verdade<br />
R A A B S<br />
0 0 1<br />
S 0 1 1<br />
B 1 0 1<br />
1 1 0<br />
Lógica: A saída será um, se e somente se, quando uma ou mais entradas forem iguais a<br />
zero.<br />
Símbolo<br />
A<br />
B<br />
S<br />
2.2.5 FUNÇÃO NÃO-OU (NOR)<br />
Executa a complementação da adição lógica de duas ou mais variáveis booleanas.<br />
Expressão<br />
____<br />
S = A + B<br />
(lê-se: A ou B barrados)<br />
Circuito de chaveamento<br />
Tabela da verdade<br />
R A B S<br />
0 0 1<br />
A B S 0 1 0<br />
1 0 0<br />
1 1 0<br />
Lógica: A saída será um, se e somente se, quando todas as entradas forem iguais a zero.<br />
Símbolo<br />
A<br />
B<br />
S<br />
2.2.6 FUNÇÃO OU-EXCLUSIVO (EXOR – EXCLUSIVE OR)<br />
Expressão<br />
_ _<br />
S = A.B + A.B = A ? B<br />
(lê-se: A ou exclusivo B)<br />
12
Circuito equivalente<br />
Tabela da verdade<br />
A B S<br />
0 0 0<br />
0 1 1<br />
1 0 1<br />
1 1 0<br />
Lógica: A saída será um, se e somente se, quando as entradas forem diferentes entre si.<br />
Símbolo<br />
A<br />
B<br />
S<br />
2.2.7 FUNÇÃO COINCIDÊNCIA (NÃO OU-EXCLUSIVO - EXCLUSIVE NOR)<br />
Expressão<br />
_ _<br />
S = A.B + A.B = A ? B =<br />
A ? B<br />
(lê-se: A coincidência B)<br />
Circuito equivalente<br />
Tabela da verdade<br />
A B S<br />
0 0 1<br />
0 1 0<br />
1 0 0<br />
1 1 1<br />
Lógica: A saída será um, se e somente se, quando as entradas forem iguais entre si.<br />
13
Símbolo<br />
A<br />
B<br />
S<br />
2.2.8 INTERLIGAÇÃO DE BLOCOS OU-EXCLUSIVO E COINCIDÊNCIA PARA N<br />
VARIÁVEIS<br />
2.2.9 EQUIVALÊNCIA DE PORTAS LÓGICAS<br />
_<br />
a) Porta lógica Inversora (S = A)<br />
b) Porta lógica E (S = A.B)<br />
14
c) Porta lógica OU (S = A + B)<br />
___<br />
d) Porta lógica NÃO-E (S = A.B)<br />
____<br />
e) Porta lógica NÃO-OU (S = A + B)<br />
2.3 DESCRIÇÃO BOOLEANA DE CIRCUITOS LÓGICOS E DE CHAVEAMENTO<br />
Todo circuito lógico pode ser completamente descrito através de operações booleanas. A<br />
regra para a composição de uma expressão lógica é a mesma que se utiliza na álgebra<br />
comum para determinar a ordem das operações.<br />
Exercícios<br />
1) Escrever as expressões lógicas dos circuitos constituídos de portas lógicas abaixo.<br />
15
2) Obter as expressões lógicas dos circuitos de chaveamento abaixo.<br />
A<br />
B<br />
C<br />
D<br />
A<br />
C<br />
B<br />
D<br />
A<br />
B<br />
E<br />
C<br />
D<br />
F<br />
G<br />
I<br />
J<br />
H<br />
K<br />
L<br />
2.4 IMPLEMENTAÇÃO DE CIRCUITOS A PARTIR DE EXPRESSÕES BOOLEANAS<br />
A partir de uma expressão booleana que define a operação de um circuito, pode-se<br />
construir este circuito utilizando-se de procedimento inverso ao item anterior.<br />
Exercícios<br />
1) Desenhar os circuitos com portas lógicas a partir das expressões lógicas abaixo:<br />
16
------- ----- _<br />
a) S = (A+B).C.(B+D) d) S = [(A + B) + (C.D)].E<br />
------ ----- _ _ _<br />
b) S = A.B.C + (A+B).C e) S = [(A.B) + (C.D)].E + [(A.D.E) + (C.D.E)].A<br />
-------------<br />
c) S = (A.B + C.D)<br />
2) Desenhar os circuitos de chaveamento a partir das expressões lógicas abaixo.<br />
a) S = [A.(B+C).D] + E.(F+G+H)<br />
b) S = A .F.(C.E + B) + D.{[G.(H+I)] + J + K.L}<br />
2.5 REPRESENTAÇÃO BOOLEANA ATRAVÉS DA TABELA DA VERDADE<br />
O estudo de uma função booleana pode ser efetuado com o uso da tabela da verdade,<br />
onde se posicionam todas as situações possíveis e resultados assumidos de uma dada<br />
expressão lógica.<br />
2.5.1 TABELA DA VERDADE A PARTIR DA EXPRESSÃO BOOLEANA<br />
a) Estrutura-se a tabela a partir do número de variáveis da expressão booleana,<br />
estabelecendo todas as possibilidades;<br />
b) Incorporam-se as colunas correspondentes a cada membro da expressão;<br />
c) Preenchem-se as colunas com os resultados parciais e final.<br />
Exercícios<br />
1) A partir da expressão lógica, obtenha a tabela da verdade.<br />
___<br />
a) S = (A + B).(B.C)<br />
b) S = A.B.C + A.D + A.B.D<br />
2) Demonstre através da tabela da verdade as seguintes igualdades/desigualdades:<br />
_ _ ___ _ _ ____ _ _ ____ _ _ ___<br />
a) A.B ? A.B b) A + B ? A + B c) A.B = A + B d) A + B = A.B<br />
2.5.2 EXPRESSÃO BOOLEANA A PARTIR DA TABELA DA VERDADE<br />
a) Os termos da expressão são obtidos a partir da coluna com valores da saída iguais<br />
a um;<br />
b) O valor de cada termo é expresso pela multiplicação lógica das variáveis, sendo<br />
que para nível lógico zero se expressa uma determinada variável A por A e para<br />
nível lógico um a mesma é expressa apenas por A.<br />
c) Por último, somam-se os termos obtidos, compondo a expressão lógica.<br />
17
Exercícios<br />
Determine a expressão lógica para cada uma das saídas das tabelas da verdade abaixo.<br />
A B C S A B C D S<br />
0 0 0 1 0 0 0 0 0<br />
0 0 1 0 0 0 0 1 0<br />
0 1 0 1 0 0 1 0 0<br />
0 1 1 0 0 0 1 1 0<br />
1 0 0 0 0 1 0 0 1<br />
1 0 1 0 0 1 0 1 0<br />
1 1 0 1 0 1 1 0 1<br />
1 1 1 1 0 1 1 1 0<br />
1 0 0 0 1<br />
1 0 0 1 0<br />
1 0 1 0 0<br />
1 0 1 1 1<br />
1 1 0 0 0<br />
1 1 0 1 0<br />
1 1 1 0 0<br />
1 1 1 1 0<br />
18
3 MINIMIZAÇÃO DE EXPRESSÕES<br />
Uma expressão booleana relativa a determinado circuito lógico pode ser reduzida a uma<br />
forma mais simples, isto é, uma expressão que contenha o menor número possível de<br />
termos e de respectivas variáveis em cada termo. Esta nova expressão deve resultar num<br />
circuito lógico com menos portas lógicas e menos conexões entre tais portas.<br />
Três métodos serão aqui abordados: método algébrico, método do diagrama de Veitch-<br />
Karnaugh e método de Quine-McCluskey.<br />
3.1 MÉTODO ALGÉBRICO<br />
3.1.1 POSTULADOS<br />
a) Postulado da complementação<br />
Se A=0, então: A =1<br />
Se A=1, então: A =0<br />
Identidade obtida: A =A<br />
b) Postulados da adição<br />
0+0 = 0 Identidades obtidas: A+0=A<br />
0+1 = 1 A+1=1<br />
1+0 = 1 A+A=A<br />
1+1 = 1 A+ A =1<br />
c) Postulados da multiplicação<br />
0.0 = 0 Identidades obtidas: A.0=0<br />
0.1 = 0 A.1=A<br />
1.0 = 0 A.A=A<br />
1.1 = 1 A. A =0<br />
3.1.2 PROPRIEDADES<br />
a) Propriedade Comutativa<br />
Adição: A+B = B+A<br />
Multiplicação: A.B = B.A<br />
b) Propriedade Associativa<br />
Adição: A+(B+C) = (A+B)+C = A+B+C<br />
Multiplicação: A.(B.C) = (A.B).C = A.B.C<br />
c) Propriedade Distributiva<br />
A.(B+C) = A.B + A.C<br />
3.1.3 TEOREMAS DE AUGUSTUS DE MORGAN<br />
a) O complemento do produto é igual a soma dos complementos.<br />
A .B ? A ? B<br />
Para N variáveis: A .B.C....N ? A ? B ? C ? ...?<br />
N<br />
b) O complemento da soma é igual ao produto dos complementos.<br />
A ? B ? A.B<br />
Para N variáveis: A ? B?<br />
C?<br />
...?<br />
N ? A.B.C..... N<br />
19
3.1.4 IDENTIDADES AUXILIARES<br />
a) A + A.B = A<br />
Demonstração: A+A.B = A.(1+B) = A.1 = A<br />
b) (A+B).(A+C) = A + B.C<br />
Demonstração: (A+B).(A+C) = A.A + A.C + A.B + B.C = A + A.C + A.B + B.C<br />
= A.(1+B+C) + B.C = A.1 + B.C = A + B.C<br />
c) A ? A.B ? A?<br />
B<br />
Demonstração:<br />
A ? A.B ? A?<br />
A.B ? A.(A.B) ? A.(A?<br />
B) ? A.A?<br />
= A .B ? A?<br />
B ? A?<br />
B<br />
A. B<br />
3.1.5 SIMPLIFICAÇÃO ALGÉBRICA<br />
Os teoremas da álgebra booleana podem ser usados para simplificar uma expressão<br />
lógica. Entretanto, nem sempre são possíveis determinar quais os teoremas, postulados e<br />
propriedades que devem ser aplicados a uma determinada expressão, de modo a<br />
produzir o resultado mais simples. Além disso, não há uma regra para se determinar se a<br />
expressão já está em sua forma mais simples ou se ainda há mais simplificações a serem<br />
feitas. Sendo assim, muitas vezes, a simplificação algébrica se torna um processo de<br />
tentativa e erro. Com o tempo, pode-se começar a obter resultados razoavelmente bons<br />
com a aplicação desta metodologia.<br />
Dois passos podem ser descritos como essenciais na simplificação de determinada<br />
expressão booleana:<br />
a) A expressão original é colocada na forma de soma-de-produtos por aplicações<br />
repetidas dos teoremas de DeMorgan e pela multiplicação dos termos obtidos;<br />
b) Uma vez na forma de soma-de-produtos, os termos de cada produto são verificados de<br />
maneira a encontrar fatores comuns, sendo a fatoração executada, sempre que<br />
possível. Assim, a fatoração resultará na eliminação de dois ou mais termos.<br />
Exemplo<br />
S ? A.B.C?<br />
A.B.(A.C)<br />
Simplificação algébrica<br />
a) Aplica-se o teorema de DeMorgan para eliminar as barras de complementação e após<br />
a multiplicação dos termos resultantes:<br />
S ? A.B.C?<br />
A.B.(A ? C) ? A.B.C?<br />
A.B.(A?<br />
C)<br />
S ? A.B.C?<br />
A.B.A?<br />
A.B.C ? A.B.C?<br />
A.B ? A.B.C<br />
b) Com a expressão na forma de soma-de-produtos, procura-se por variáveis comuns<br />
entre os diversos termos da expressão, a fim de proceder a fatoração:<br />
S ? A.C.(B?<br />
B) ? A.B ? A.C.(1) ? A.B ? A.C?<br />
A.B<br />
S ? A(C ?<br />
B)<br />
Exercícios<br />
Simplifique as expressões booleanas:<br />
a) S ? A.B.C ? A.B. C<br />
20
) S ? (A?<br />
B ? C).(A?<br />
C)<br />
c) S ? (A?<br />
B?<br />
C).(A.B.C)<br />
d) S ? A?<br />
A.B?<br />
A.B?<br />
A.B ? A. B<br />
e) S ? A.B.C?<br />
A ? B ? C<br />
f) S ? A.B.C?<br />
A.C ? A. B<br />
g) S ? A.B.C?<br />
A.B.C?<br />
A.B.C ? A.B.C ? A.B. C<br />
h) S ? (A?<br />
B?<br />
C).(A ? B ? C)<br />
i) S ? [A.C ? B?<br />
D] ? C.(A.C.D)<br />
j) S ? (A?<br />
B).[B.(A?<br />
C) ? D.(A ? B?<br />
C) ]<br />
k) Prove que: S ? A?<br />
B ? A?<br />
B<br />
l) Demonstre em portas ou-exclusivo: S ? A.B.C ? A.B.C?<br />
A.B.C?<br />
A.B. C<br />
3.2 MÉTODO DO DIAGRAMA DE VEITCH-KARNAUGH<br />
É uma forma modificada da tabela da verdade, na qual as combinações das entradas<br />
estão arranjadas de uma forma particularmente conveniente. Portanto, é um método<br />
gráfico que usa o processo de mapeamento visual da função booleana a ser simplificada.<br />
Teoricamente o mapa de Karnaugh pode ser usado em problemas envolvendo qualquer<br />
número de variáveis de entrada, porém, sua utilização limita-se a circuitos com seis<br />
variáveis, no máximo.<br />
3.2.1 DIAGRAMA PARA 2 VARIÁVEIS<br />
A<br />
A<br />
B B<br />
A . B A .B<br />
A. B A.B<br />
Método de simplificação<br />
? Agrupam-se as regiões onde S=1, no menor número possível de pares (conjunto de 2<br />
regiões vizinhas);<br />
? As regiões que não puderem ser agrupadas em pares serão tratadas isoladamente;<br />
? Verifica-se em cada par o valor da variável: se a mesma muda de valor lógico, é<br />
desprezada; se a variável mantém seu nível lógico, será o valor do par;<br />
? Escreve-se a expressão de cada par, isto é, o valor que o mesmo ocupa no diagrama;<br />
? Somam-se os pares e/ou termos isolados.<br />
Obs: A simplificação baseia-se na Identidade do Postulado da Adição: A ? A ? 1<br />
21
Exemplos<br />
a) S ? A.B?<br />
A.B ? A.B<br />
B B<br />
A 0 1 Expressão simplificada: S = A + B<br />
A 1 1<br />
Circuitos antes e após a simplificação<br />
b) S ? A.B ? A.B ? A. B<br />
B B<br />
A 1 1 Expressão simplificada: S = A ? B<br />
A 1 0<br />
3.2.2 DIAGRAMA PARA 3 VARIÁVEIS<br />
A<br />
A<br />
B B<br />
A .B. C A .B.C<br />
A .B.C A .B. C<br />
A. B. C B.C<br />
C C C<br />
A. A.B.C A.B. C<br />
Método de simplificação<br />
? Localizam-se as quadras (agrupamento de 4 regiões) e escrevem-se suas expressões;<br />
? Localizam-se os pares e escrevem-se suas expressões, não considerando os pares já<br />
incluídos nas quadras. Todavia, pode-se ter um par formado por “1” externo à quadra<br />
e outro “1” pertencente à quadra;<br />
? Localizam-se os termos isolados que não puderam ser agrupados e escrevem-se suas<br />
expressões;<br />
? Somam-se as expressões das quadras, dos pares e dos termos isolados.<br />
Obs: O diagrama para 3 variáveis fecha-se nas laterais, como um cilindro.<br />
Exemplos<br />
a) S ? A.B.C?<br />
A.B.C ? A.B.C ? A.B.C ? A.B. C<br />
B B<br />
A 1 1 Expressão simplificada: S ? A.C?<br />
A.B ? A. C<br />
A 1 1 1<br />
C C C ou: S ? A.C ? B.C ? A. C<br />
22
) S ? A.B.C ? A.B.C ? A. B.C ? A.B.C ? A.B. C<br />
B B<br />
A 1 1 1 Expressão simplificada: S ? C ? A.B<br />
A 1 1<br />
C C C<br />
Exercícios: Simplifique as expressões lógicas abaixo<br />
a) S ? A.B.C ? A.B.C?<br />
A.B.C ? A.B.C ? A.B.C<br />
b) S ? A.B.C ? A.B.C ? A.B. C<br />
c) S ? A.B.C ? A.B.C ? A.B.C ? A.B.C ? A.B.C<br />
3.2.3 DIAGRAMA PARA 4 VARIÁVEIS<br />
A<br />
A<br />
C<br />
C<br />
A .B.C. D A .B.C .D A .B.C.D<br />
A .B.C. D B<br />
A .B.C.D A .B.C.D<br />
A .B.C.D A .B.C. D B<br />
A.B. C. D A.B. C.D<br />
A.B.C.D A.B.C. D<br />
A. B.C.D A. B.C.D<br />
A. B.C.D<br />
A. B.C. D B<br />
D D D<br />
Método de simplificação<br />
? Localizam-se as oitavas (agrupamento de 8 regiões) e escrevem-se suas expressões;<br />
? Localizam-se as quadras e escrevem-se suas expressões, não considerando as<br />
quadras já inclusas nas oitavas. Localizam-se os pares e escrevem-se suas<br />
expressões, não considerando os pares já incluídos nas oitavas e/ou quadras.<br />
Todavia, pode-se ter uma quadra/par formado por “1s” externos à oitava/quadra e<br />
outros “1s” pertencentes à oitava/quadra;<br />
? Localizam-se os termos isolados que não puderam ser agrupados e escrevem-se suas<br />
expressões;<br />
? Somam-se as expressões das oitavas, das quadras, dos pares e dos termos isolados.<br />
Obs: O diagrama para 4 variáveis fecha-se nas laterais, bem como nos extremos superior<br />
e inferior.<br />
Exemplos<br />
S ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ?<br />
a)<br />
? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D<br />
A.B.C.D ? A.B.C.D ?<br />
A.B.C.D ?<br />
C<br />
C<br />
A 1 1 1 B<br />
1 1 B Expressão simplificada:<br />
A 1 1 1 S ? D ? A.C ? A.B .C<br />
1 1 1 B<br />
D D D<br />
23
)<br />
S ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D?<br />
A.B.C.D ? A.B.C.D ? A.B.C.D<br />
C<br />
C<br />
A 1 1 1 B<br />
1 B Expressão simplificada:<br />
A 1 1 S ? A.B.D ? C.D ? B. D<br />
1 1 1 B<br />
D D D<br />
Exercícios: Simplifique as expressões lógicas abaixo<br />
a) S ? A.B.C.D ? A.B.C.D?<br />
A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D<br />
b)<br />
S ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ? A.B.C.D ?<br />
A.B.C.D ? A.B.C.D ? A.B.C.D<br />
A.B.C.D ?<br />
c)<br />
S ? A.B.C.D ? A.B.C.D?<br />
A.B.C.D ? A.B.C.D<br />
A.B.C.D ?<br />
A.B.C.D ? A.B.C.D ?<br />
A.B.C.D ? A.B.C.D ? A.B.C.D ?<br />
d) S ? A.B.C.D ? A.B.C.D ? A.B.C.D?<br />
A.B.C.D ? A.B.C.D ? A.B.C.D?<br />
A.B.C.D ? A.B.C.D<br />
FUNÇÕES INCOMPLETAS - CONDIÇÃO IRRELEVANTE (? OU X)<br />
Uma função pode ser apresentada sem ser definida para uma ou mais das combinações<br />
possíveis das variáveis de entrada. Neste caso, a variável pode assumir,<br />
indiferentemente, o valor 0 ou 1. Por conseguinte, adota-se o nível lógico que representar<br />
maior grau de simplificação de uma expressão.<br />
Exemplo:<br />
C<br />
C<br />
A X X 1 B<br />
1 1 1 B Expressão simplificada:<br />
A X X S ? A.C?<br />
A.D ? A.C .D<br />
1 X B<br />
D D D<br />
24
3.2.4 DIAGRAMA PARA 5 VARIÁVEIS<br />
A .B .C .D .E A .B.C.D .E<br />
A A<br />
D D D D<br />
A. B.C.D.E<br />
A..B.C.D.<br />
E C A. B.C.D. E A. B.C.D.E<br />
A. B.C.D.E<br />
A. B.C.D. E C<br />
B<br />
A .B.C. D. E A .B.C.D.E<br />
A .B.C. D.E A .B.C. D.E<br />
A.B.C.D.E<br />
A.B.C.D. E<br />
C<br />
B<br />
A. B.C. D. E A. B.C.D.E<br />
A. B.C.D.E<br />
A. B.C.D. E<br />
A .B.C.D.E A.B.C.D.<br />
E C A.B.C. D. E A.B.C. D.E<br />
A.B.C.D.E A.B.C.D. E<br />
C<br />
C<br />
B<br />
A. B. C .D . E A .B.C.D.E<br />
A .B.C.D.E<br />
.B.C.D. E<br />
A C B C.D.E<br />
A.B. A.B. C.D .E A.B. C .D.E A.B. C.D. E<br />
E E E E E E<br />
C<br />
Método de simplificação<br />
? Localizam-se as hexas (agrupamento de 16 regiões) e escrevem-se suas expressões;<br />
? Localizam-se as oitavas e escrevem-se suas expressões, não considerando as oitavas<br />
já inclusas nas hexas. Localizam-se as quadras e escrevem-se suas expressões, não<br />
considerando as quadras já inclusas nas oitavas e/ou hexas. Localizam-se os pares e<br />
escrevem-se suas expressões, não considerando os pares já incluídos nas hexas,<br />
oitavas e/ou quadras. Todavia, pode-se ter uma oitava/quadra/par formado por “1s”<br />
externos a hexa/oitava/quadra e outros “1s” pertencentes à hexa/oitava/quadra;<br />
? Localizam-se os termos isolados que não puderam ser agrupados e escrevem-se suas<br />
expressões;<br />
? Somam-se as expressões obtidas das hexas, das oitavas, das quadras, dos pares e<br />
dos termos isolados.<br />
Obs: O diagrama para 5 variáveis é constituído de dois diagramas para 4 variáveis.<br />
Exemplo: Obter a expressão lógica simplificada a partir da tabela da verdade abaixo<br />
A B C D E S1 S2<br />
0 0 0 0 0 0 1 1 0 0 0 0 0 0<br />
0 0 0 0 1 0 0 1 0 0 0 1 0 0<br />
0 0 0 1 0 1 0 1 0 0 1 0 1 0<br />
0 0 0 1 1 0 1 1 0 0 1 1 0 0<br />
0 0 1 0 0 0 1 1 0 1 0 0 0 0<br />
0 0 1 0 1 1 1 1 0 1 0 1 1 1<br />
0 0 1 1 0 1 0 1 0 1 1 0 1 1<br />
0 0 1 1 1 1 1 1 0 1 1 1 1 0<br />
0 1 0 0 0 1 1 1 1 0 0 0 1 0<br />
0 1 0 0 1 0 1 1 1 0 0 1 0 0<br />
0 1 0 1 0 0 1 1 1 0 1 0 0 0<br />
0 1 0 1 1 0 0 1 1 0 1 1 0 0<br />
0 1 1 0 0 0 0 1 1 1 0 0 0 1<br />
0 1 1 0 1 1 1 1 1 1 0 1 1 1<br />
0 1 1 1 0 0 1 1 1 1 1 0 0 1<br />
0 1 1 1 1 1 0 1 1 1 1 1 1 1<br />
Site alemão com programa para minimizar expressões lógicas por Karnaugh:<br />
http://maui.theoinf.tu-ilmenau.de/~sane/projekte/karnaugh/embed_karnaugh.html<br />
25
3.3 MÉTODO DE QUINE-McCLUSKEY<br />
Este método aplica-se exclusivamente a funções booleanas na forma de soma-deprodutos<br />
e notação binária. Supera as limitações do mapa de Karnaugh, que pode ser<br />
aplicado a funções com mais de seis variáveis e apresenta um procedimento que permite<br />
a utilização em computadores. Consiste na aplicação sucessiva do teorema expresso por:<br />
A .B? A.B ? A, termos que diferem entre si apenas por um dígito binário.<br />
Método de simplificação<br />
a) Classificam-se e agrupam-se em conjuntos os termos da função booleana de acordo<br />
com seus índices (mesmo números de 1’s em sua forma binária) de forma crescente.<br />
b) Comparam-se todos os termos de um dado grupo com cada termo do grupo seguinte,<br />
ou seja, de índice imediatamente superior, mediante a utilização do teorema<br />
A .B? A.B ? A. Aplica-se sucessivamente esse teorema comparando cada termo do<br />
grupo do índice i com todos os termos do grupo do índice i+1 até esgotarem-se as<br />
possibilidades. O termo resultante consiste na representação fixa original com o dígito<br />
diferente substituído por um x. Por outro lado, marcam-se com setas todos os termos<br />
comparados com ao menos outro termo.<br />
c) Após tabular os termos comparados, procede-se novamente conforme o exposto no<br />
item b até esgotarem-se as possibilidades. Os termos que ficarem sem a seta<br />
marcada formam o conjunto dos termos irredutíveis, ou seja, os termos da expressão<br />
simplificada.<br />
Exemplos<br />
1. Determinar a expressão simplificada:<br />
S(A, B, C) ? A.B.C?<br />
A.B.C ? A.B.C ? A.B.C?<br />
A.B.C?<br />
A.B.C<br />
Solução: S(A,B,C) = ? (1,4,2,3,5,7) = ? (001,100,010,011,101,111)<br />
Termos A B C Termos A B C Termos A B C<br />
1 0 0 1 ? 1,3 0 X 1 ? 1,3/5,7 X X 1 C<br />
2 0 1 0 ? 1,5 X 0 1 ? 1,5/3,7 X X 1 C<br />
4 1 0 0 ? 2,3 0 1 X A . B<br />
3 0 1 1 ? 4,5 1 0 X A . B<br />
5 1 0 1 ? 3,7 X 1 1 ?<br />
7 1 1 1 ? 5,7 1 X 1 ?<br />
A expressão simplificada é:<br />
S ? A.B?<br />
A.B ? C<br />
2. Determinar a expressão simplificada:<br />
S ? ABCDE ? A B CD E ? ABC D E ? A BCDE ? A BC D E ? A BC D E?<br />
ABC DE ? A BCDE ? A BC DE ? AB CDE<br />
Solução:<br />
S = ? (7,22,2,16,18,13,28,15,12,4)<br />
S = ? (00111,10110,00010,10000,10010,01101,11100,01111,01100,00100)<br />
26
Termos A B C D E Termos A B C D E<br />
2 0 0 0 1 0 ? 2,18 X 0 0 1 0 B .C.D. E<br />
4 0 0 1 0 0 ? 4,12 0 X 1 0 0 A .C.D. E<br />
16 1 0 0 0 0 ? 16,18 1 0 0 X 0 A .B.C. E<br />
12 0 1 1 0 0 ? 12,28 X 1 1 0 0 B .C.D. E<br />
18 1 0 0 1 0 ? 18,22 1 0 X 1 0 A .B.D. E<br />
7 0 0 1 1 1 ? 7,15 0 X 1 1 1 A .C.D. E<br />
13 0 1 1 0 1 ? 13,15 0 1 1 X 1 A .B.C. E<br />
22 1 0 1 1 0 ?<br />
28 1 1 1 0 0 ?<br />
15 0 1 1 1 1 ?<br />
A expressão simplificada é:<br />
S ? B.C.D.E ? A.C.D.E ? A.B.C.E ? B.C.D.E ? A.B.D.E ? A.C.D.E ?<br />
A.B.C.E<br />
27
4 SOLUÇÃO DE PROBLEMAS POR LÓGICA <strong>COMBINACIONAL</strong><br />
4.1 SISTEMAS DIGITAIS E SISTEMAS ANALÓGICOS<br />
Um sistema digital é um sistema no qual os sinais têm um número finito de valores<br />
discretos. Por outro lado, nos sistemas analógicos os sinais têm valores pertencentes a<br />
um conjunto contínuo (infinito).<br />
A utilização das técnicas digitais proporciona novas aplicações da eletrônica bem como<br />
de outras tecnologias, substituindo grande parte dos métodos analógicos existentes.<br />
Assim, a mudança para a tecnologia digital tem as seguintes vantagens:<br />
a) Os sistemas digitais são mais fáceis de projetar, devido ao fato de os circuitos<br />
empregados nos sistemas digitais serem circuitos de chaveamento, onde os valores<br />
exatos de tensão e corrente dos sinais manipulados não são tão importantes, bastando<br />
resguardar a faixa de operação (alto ou baixo) destes sinais.<br />
b) O armazenamento da informação é fácil, pois os circuitos especiais de chaveamento<br />
podem reter a informação pelo tempo que for necessário.<br />
c) Precisão e exatidão são maiores, pois os sistemas digitais podem trabalhar com<br />
tantos dígitos de precisão quantos forem necessários, com a simples adição de mais<br />
circuitos de chaveamento.<br />
d) As operações podem ser programadas, por um conjunto de instruções previamente<br />
armazenadas, chamado programa.<br />
e) Os circuitos digitais são menos afetados por ruídos, provocados por flutuações na<br />
tensão de alimentação ou de entrada, desde que o nível de ruído não atrapalhe a<br />
distinção entre os níveis alto e baixo.<br />
f) Os circuitos digitais são mais adequados à integração, onde os avanços da<br />
tecnologia microeletrônica possibilitaram a fabricação de sistemas digitais complexos,<br />
pequenos, rápidos e baratos.<br />
g) Os circuitos digitais podem ter diferentes implementações de sistemas que<br />
estabelecem um compromisso entre velocidade e quantidade de hardware.<br />
Só existe uma grande desvantagem para o uso das técnicas digitais: o mundo real é<br />
predominantemente analógico. A grande maioria das variáveis (quantidades) física é,<br />
em sua natureza, analógica, e geralmente elas são as entradas e saídas que devem ser<br />
monitoradas, operadas e controladas por um sistema. Sendo assim, três etapas devem<br />
ser executadas:<br />
a) Converter o mundo real das entradas analógicas para a forma digital;<br />
b) Processar (ou operar) a informação digital;<br />
c) Converter as saídas digitais de volta para o mundo real, em sua forma analógica.<br />
4.2 SISTEMAS COMBINACIONAIS E SISTEMAS SEQÜENCIAIS<br />
Os sistemas digitais dividem-se em duas classes: sistemas combinacionais e sistemas<br />
seqüenciais.<br />
28
Nos sistemas combinacionais, uma saída no tempo t depende somente da entrada no<br />
tempo t. Neste caso, o sistema não tem memória porque a saída não depende de<br />
entradas prévias. Portanto, a saída é dependente, única e exclusivamente, das variáveis<br />
de entrada.<br />
Exemplo: um cadeado de códigos (usado para prender bicicletas) – o cadeado será<br />
aberto num dado tempo t quando o código do cadeado é colocado nas entradas em t,<br />
sem considerar a história nas entradas. Se for o código 234, por exemplo, o cadeado será<br />
aberto quando esta combinação for colocada nas entradas, independentemente da ordem<br />
de colocação dos dígitos do código.<br />
Nos sistemas seqüenciais, uma saída no tempo t depende da entrada no tempo t e,<br />
possivelmente, também depende da entrada no tempo anterior a t. A saída é dependente<br />
das variáveis de entrada e/ou de seus estados anteriores armazenados.<br />
Exemplo: um sistema de discagem telefônica – o número de um assinante a ser discado<br />
será efetuado num dado instante t, se forem satisfeitas as seguintes condições: a) os<br />
dígitos discados antes do instante t devem seguir a seqüência daquela do número do<br />
assinante; b) o dígito discado no instante t, isto é, o último a ser discado, corresponde ao<br />
último dígito do número do assinante; c) todos os dígitos devem estar memorizados e<br />
disponibilizados na mesma seqüência da discagem no instante t.<br />
4.3 ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UM PROJETO<br />
Especificação<br />
(função e outras características)<br />
Análise<br />
Projeto<br />
Implementação<br />
(rede de módulos)<br />
A especificação de um sistema refere-se a uma descrição de sua função e de outras<br />
características, necessárias para seu uso, como por exemplo, a velocidade, a tecnologia e<br />
o consumo de energia. Está relacionada com o que o sistema faz sem referir-se a como<br />
ele executa a operação. Uma especificação deve ser a mais completa possível e mais<br />
simples possível, de modo a descrever a função do sistema de uma maneira adequada<br />
para dois propósitos:<br />
a) usar o sistema como um componente em sistemas complexos;<br />
b) servir como base para a implementação do sistema através de uma rede de<br />
componentes mais simples.<br />
Uma implementação de um sistema refere-se a como o mesmo é construído a partir de<br />
componentes mais simples, No caso de sistemas digitais, a implementação é uma rede<br />
digital que consiste na interconexão de módulos digitais. Esta rede pode ser definida em<br />
29
diversos níveis, dependendo da complexidade dos módulos primitivos usados, os quais<br />
podem variar de portas lógicas muito simples até processadores mais complexos.<br />
No nível físico, todos os sistemas digitais são implementados através de uma<br />
interconexão complexa de componentes eletrônicos elementares, como por exemplo,<br />
transistores, resistores, etc. Entretanto, a representação ou descrição desta<br />
implementação não é prática, devida à complexidade da maioria dos sistemas digitais.<br />
Assim, é necessário definir níveis intermediários de módulos de crescente complexidade,<br />
cuja descrição inclua somente características que são relevantes para o uso dos mesmos<br />
num sistema mais complexo.<br />
A análise de um sistema tem como objetivo a determinação de sua especificação a partir<br />
de uma implementação. O sistema assim analisado pode ser um módulo num sistema de<br />
maior porte, resultando num processo de análise de múltiplos níveis.<br />
O processo de projeto consiste na obtenção de uma implementação que satisfaça a<br />
especificação de um sistema. Se o sistema for complexo, também será necessário usar<br />
uma abordagem de múltiplos níveis.<br />
Abordagem descendente<br />
Abordagem ascendente<br />
Abordagem descendente – decompõe o sistema em subsistemas que são, por sua vez,<br />
decompostos em outros subsistemas mais simples, até que um nível seja alcançado, no<br />
qual o subsistema possa ser realizado diretamente com módulos disponíveis.<br />
Abordagem ascendente – conecta vários módulos disponíveis para formar subsistemas<br />
que, por sua vez, são conectados a outros subsistemas até que a especificação funcional<br />
necessária seja preenchida.<br />
4.4 NÍVEIS DE IMPLEMENTAÇÃO DE UM SISTEMA DIGITAL<br />
A implementação de um sistema pode ser descrita em diferentes níveis, como a seguir é<br />
ilustrado.<br />
30
Nível de módulo – o sistema consiste de dois registradores e um somador.<br />
Nível lógico – o sistema é implementado com portas lógicas e flip-flops. Estes<br />
componentes são conectados para formarem redes que implementam funções mais<br />
complexas (como, por exemplo, os registradores e o somador).<br />
Nível físico – neste nível os componentes são realizados em alguma tecnologia<br />
eletrônica, como, por exemplo, os transistores.<br />
4.5 RESOLUÇÃO DE PROJETOS DE SISTEMAS DIGITAIS<br />
As etapas básicas de um projeto de sistema digital são:<br />
a) descrição (especificação);<br />
b) projeto (síntese), incluindo várias otimizações para reduzir o custo e melhorar o<br />
desempenho;<br />
c) verificação (por simulação ou formalmente) do projeto com relação a sua<br />
especificação.<br />
a) Descrição<br />
O modo mais comum de descrever sistemas digitais consiste em uma descrição de sua<br />
estrutura através de uma forma gráfica (desenho), onde fornece um diagrama lógico do<br />
sistema em diferentes níveis, mostrando os módulos e suas interligações. Estes desenhos<br />
podem ser elaborados manualmente, porém, atualmente há ferramentas computacionais<br />
que permitem gerar e editar estes desenhos. O processo é chamado de captura de<br />
esquemáticos, porque a ferramenta é usada para capturar a descrição esquemática do<br />
31
sistema digital. O processo é suportado por bibliotecas de componentes-padrão, de forma<br />
que um sistema pode ser construído usando-se partes-padrão que são reunidas para<br />
compor uma implementação.<br />
Uma abordagem alternativa e que está se tornando amplamente aceita é o uso da<br />
linguagem de descrição de hardware (HDL). Diversas linguagens deste tipo têm sido<br />
propostas com a recente padronização de duas delas: a Verilog e a VHDL.<br />
b) Projeto<br />
As ferramentas de síntese e otimização ajudam a obter uma implementação a partir de<br />
determinada descrição e a melhorar algumas características como, por exemplo, o<br />
número de módulos e os retardos da rede.<br />
c) Verificação<br />
As ferramentas de simulação são utilizadas para verificar a operação do sistema, onde<br />
usam a descrição do sistema para produzir os valores dos sinais (internos e externos)<br />
para determinada entrada. A simulação é usada para detectar erros num projeto e para<br />
determinar características, como retardos e consumo de energia, as quais são difíceis de<br />
obter analiticamente.<br />
4.6 FLUXOGRAMA PARA DESENVOLVIMENTO DE PROJETOS DIGITAIS<br />
Análise da<br />
Situação<br />
Tabela da<br />
verdade<br />
Expressão<br />
lógica<br />
simplificada<br />
Circuito<br />
lógico<br />
A seqüência do processo de desenvolvimento de projetos digitais se estabelece,<br />
inicialmente, com a análise da situação prática, buscando identificar as variáveis de<br />
entrada e de saída, bem como um modelo que irá solucionar o problema. Em seguida,<br />
constrói-se a tabela da verdade, simulando todas as possibilidades para as variáveis de<br />
entrada e obtendo-se os respectivos valores na(s) saída(s). Na continuação, obtêm-se as<br />
expressões lógicas simplificadas por um dos métodos já vistos. Por último, desenha-se<br />
o circuito lógico esquemático constituído de portas lógicas.<br />
EXERCÍCIOS DE PROJETOS DIGITAIS<br />
1. Projeto com 2 variáveis<br />
Instalação de um sistema automático para controle dos semáforos<br />
Situação: - carros na rua B ? verde no semáforo 2<br />
- carros na rua A ? verde no semáforo 1<br />
- carros nas ruas A e B ? verde no semáforo 1, porque rua A é preferencial<br />
Rua<br />
B<br />
- Rua A<br />
Semáforos 1 Semáforos 2<br />
32
2. Projeto com 3 variáveis<br />
Conexão de 3 aparelhos a um amplificador, obedecendo às prioridades:<br />
1 a ) CD player<br />
2 a ) Tape playback<br />
3 a ) Radio receptor<br />
Situação:<br />
CD player Tape playback Radio<br />
receptor<br />
Amplificador<br />
3. Projeto com 4 variáveis<br />
Conexão de 4 setores, via intercomunicadores, a central da Secretária, obedecendo às<br />
prioridades:<br />
1 a ) Presidente<br />
2 a ) Vice Presidente<br />
3 a ) Engenharia<br />
4 a ) Chefes de Seção<br />
Situação:<br />
Presidente<br />
Vice<br />
Presidente<br />
Engenharia<br />
Chefes de Seção<br />
Central<br />
Secretária<br />
4. Desenhe um circuito lógico para, em um conjunto de três chaves, detectar um número<br />
ímpar destas ligadas. Convencionar que chave fechada equivale a nível lógico 0.<br />
Situação:<br />
A<br />
B<br />
Circuito<br />
lógico<br />
S<br />
C<br />
5. Num entroncamento de três ruas A, B e C deseja-se instalar um conjunto de semáforos<br />
para as seguintes funções:<br />
a) Quando o semáforo 1 abrir para a rua A, automaticamente os semáforos 2 e 3<br />
devem fechar, para possibilitar ao motorista ambas as conversões;<br />
b) Analogamente, quando o semáforo 2 abrir, devem fechar os semáforos 1 e 3;<br />
c) Pelo mesmo motivo, quando o semáforo 3 abrir, devem fechar os semáforos 1 e 2.<br />
Deve-se seguir também, as seguintes prioridades:<br />
33
a) O motorista que está na rua A tem prioridade em relação ao motorista que está na<br />
rua B;<br />
b) O motorista que está na rua B tem prioridade em relação ao motorista que está na<br />
rua C;<br />
c) O motorista que está na rua C tem prioridade em relação ao motorista que está na<br />
rua A;<br />
d) Quando houver carros nas três ruas, a rua A é preferencial;<br />
e) Quando não houver nenhum carro nas ruas, deve-se abrir o sinal para a rua A.<br />
Obtenha as expressões e os circuitos dos sinais verdes e vermelhos, dos semáforos 1, 2<br />
e 3.<br />
Situação:<br />
Rua B<br />
3 1<br />
Rua A<br />
Rua C<br />
2<br />
6. Projete um circuito lógico para acender 3 leds, isoladamente, nas seguintes situações:<br />
a) um número par acende o led 1;<br />
b) um número ímpar acende o led 2;<br />
c) um número múltiplo de 3 acende o led 3.<br />
7. Projetar um circuito lógico para comparar 2 números binários de 2 bits cada, tal que:<br />
A 1 A 0 < B 1 B 0 ? acende led 1;<br />
A 1 A 0 = B 1 B 0 ? acende led 2;<br />
A 1 A 0 > B 1 B 0 ? acende led 3.<br />
8. Desenhe um circuito com portas lógicas para detectar um número par de chaves<br />
ligadas, num conjunto de 5 chaves. Convencionar que chave fechada equivale a nível<br />
lógico 0.<br />
34
5 SISTEMAS NUMÉRICOS E CÓDIGOS<br />
5.1 SISTEMAS DE NUMERAÇÃO<br />
DECIMAL<br />
(base 10)<br />
BINÁRIO<br />
OCTAL<br />
(base 2)<br />
(base 8)<br />
0 0 0 0<br />
1 1 1 1<br />
2 10 2 2<br />
3 11 3 3<br />
4 100 4 4<br />
5 101 5 5<br />
6 110 6 6<br />
7 111 7 7<br />
8 1000 10 8<br />
9 1001 11 9<br />
10 1010 12 A<br />
11 1011 13 B<br />
12 1100 14 C<br />
13 1101 15 D<br />
14 1110 16 E<br />
15 1111 17 F<br />
16 10000 20 10<br />
17 10001 21 11<br />
18 10010 22 12<br />
19 10011 23 13<br />
20 10100 24 14<br />
21 10101 25 15<br />
22 10110 26 16<br />
23 10111 27 17<br />
24 11000 30 18<br />
25 11001 31 19<br />
26 11010 32 1A<br />
27 11011 33 1B<br />
28 11100 34 1C<br />
29 11101 35 1D<br />
30 11110 36 1E<br />
31 11111 37 1F<br />
32 100000 40 20<br />
33 100001 41 21<br />
34 100010 42 22<br />
35 100011 43 23<br />
36 100100 44 24<br />
37 100101 45 25<br />
38 100110 46 26<br />
39 100111 47 27<br />
40 101000 50 28<br />
41 101001 51 29<br />
42 101010 52 2A<br />
43 101011 53 2B<br />
44 101100 54 2C<br />
45 101101 55 2D<br />
46 101110 56 2E<br />
47 101111 57 2F<br />
48 110000 60 30<br />
49 110001 61 31<br />
50 110010 62 32<br />
35<br />
HEXADECIMAL<br />
(base 16)
5.1.1 Introdução<br />
O sistema numérico de maior importância utilizado pelos sistemas digitais é o binário,<br />
embora existam alguns outros também importantes. Um deles, o decimal, tem relativa<br />
importância em função de ser universalmente usado para representar quantidades<br />
utilizadas fora dos sistemas digitais. Isto significa que, em determinadas situações, os<br />
valores decimais têm de ser convertidos em valores binários antes de serem utilizados em<br />
sistemas digitais. Por exemplo, quando teclamos um número decimal em nossa<br />
calculadora, ou em nosso computador, um circuito interno destas máquinas converte o<br />
valor decimal digitado para seu correspondente em binário.<br />
Da mesma forma, existem situações onde os valores binários presentes na saída de um<br />
circuito digital devem ser convertidos para valores decimais, que serão apresentados no<br />
display de sua calculadora ou no dispositivo de saída de seu computador. Por exemplo,<br />
sua calculadora (ou computador) usa números binários para calcular o resultado de<br />
determinada operação solicitada e, então, converte tal resultado em decimal, colocando-o<br />
no display neste formato.<br />
Além dos sistemas decimal e binário, dois outros são utilizados em sistemas digitais, o<br />
sistema octal (base 8) e o hexadecimal (base 16). Ambos os sistemas são utilizados para<br />
a mesma finalidade: representar números binários muito grandes de uma forma eficiente<br />
e simples.<br />
Um número pode ser explicitado através de seu valor ou de sua representação. O valor<br />
corresponde à quantidade que ele expressa. A representação corresponde aos dígitos<br />
que se utiliza para simbolizá-lo. Exemplificando, no sistema decimal expressa-se a<br />
quantidade doze (valor) para o número 12 (representação). No sistema hexadecimal, a<br />
mesma quantidade é representada pelo número C.<br />
De modo geral, um sistema posicional pode ser especificado em termos de uma<br />
constante denominado base, que determina o valor de um número e sua representação<br />
através da expressão:<br />
n=i<br />
Valor = ? d i . B i<br />
i=0<br />
d i ? i-ésimo dígito do número, contado da direita para a esquerda<br />
n ? número de dígitos<br />
B ? base<br />
Exemplos<br />
a) Número no sistema decimal: 1234 10 = 4.10 0 + 3.10 1 + 2.10 2 + 1.10 3 = 1234 10<br />
b) Número no sistema binário: 1101 2 = 1.2 0 + 1.2 1 + 0.2 2 + 1.2 3 = 13 10<br />
c) Número no sistema hexadecimal: 4D2 16 = 2.16 0 + 13.16 1 + 2.16 2 = 1234 10<br />
Também se utiliza uma notação para especificar a base em que se representa um valor.<br />
Nesse sentido, é estabelecido que, para:<br />
- números binários são seguidos pela letra Y;<br />
- números decimais são seguidos pela letra T;<br />
- números octais são seguidos pela letra Q;<br />
- números hexadecimais são seguidos pela letra H.<br />
Exemplos<br />
100Y (binário), 100T (decimal), 100Q (octal), 100H (hexadecimal)<br />
36
5.1.2 Conversão Binário-Decimal<br />
O sistema de numeração binário é posicional, onde a cada dígito binário (bit) são<br />
atribuídos dois valores: o valor absoluto e o valor posicional. O valor absoluto é 0 ou 1, e<br />
o posicional é uma potência inteira de 2, começando de 2 0 (bit menos significativo), que<br />
depende da posição do bit em relação ao bit menos significativo. Qualquer número binário<br />
pode ser convertido em decimal simplesmente somando os valores posicionais de todos<br />
os bits com valor absoluto igual a 1. Exemplos:<br />
1 1 0 1 1 2 (binário)<br />
2 4 + 2 3 + 0 + 2 1 + 2 0 = 16 + 8 + 2 + 1 = 27 10 (decimal)<br />
1 0 1 1 1 0 1 1 2 (binário)<br />
2 7 + 0 + 2 5 + 2 4 + 0 + 2 2 + 0 + 2 0 = 187 10 (decimal)<br />
Composição de n o binário fracionário ? 101,101 (2) = 1x2 2 + 0x2 1 + 1x2 0 + 1x2 -1 + 0x2 -2 +<br />
1x2 -3 = 4 + 0 + 1 + 1/2 + 0 + 1/8 = 5,625 (10)<br />
Exercícios<br />
Converter os seguintes números binários para decimais:<br />
a) 11111 (2) =<br />
b) 1001100 (2) =<br />
c) 1011,11 (2) =<br />
d) 1100,0011 (2) =<br />
5.1.3 Conversão Decimal-Binário<br />
O método mais confiável para conversão decimal-binário utiliza as divisões sucessivas<br />
por 2. No exemplo a seguir, o número decimal 25 é dividido várias vezes por 2, sendo os<br />
restos destas divisões colocados à parte, até que o quociente seja igual a zero. Observe<br />
que o valor binário equivalente é obtido, escrevendo-se o primeiro resto como o bit menos<br />
significativo e o último como o mais significativo. Exemplos:<br />
37
8,375 (10) ? 8 ?_2__ 0,375<br />
0 4 ?_2__ x 2_<br />
0 2 ?_2__ 0,750<br />
0 1 Obtenção da parte inteira ? 1000 (2) x 2_<br />
1,500 ? 0,500<br />
x2_<br />
1,000<br />
Obtenção da parte fracionária ? 0,011 (2)<br />
Composição da parte inteira + fracionária ? 1000 + 0,011 = 1000,011 (2)<br />
Exercícios<br />
Converter os seguintes números decimais para binários:<br />
a) 215 (10) ?____ c) 9,92 (10) ? 9?___ 0,92<br />
x 2_<br />
b) 102 (10) ?_____ d) 7,47 (10) ? 7?_____ 0,47<br />
__x 2_<br />
5.1.4 Sistema Numérico Octal<br />
O sistema numérico octal é muito importante no estudo dos computadores digitais. Este<br />
sistema utiliza a base oito, o que significa que ele tem oito dígitos: 0, 1, 2, 3, 4, 5, 6 e 7.<br />
Os pesos de cada dígito no sistema octal são mostrados na tabela abaixo:<br />
8 4 8 3 8 2 8 1 8 0 8 -1 8 -2 8 -3 8 -4<br />
8<br />
,<br />
-5<br />
Vírgula octal<br />
O maior dígito octal é 7, de modo que para contar em octal basta começar do zero e<br />
incrementar uma unidade até chegar a 7. Ao alcançar 7, devemos recomeçar a contagem<br />
do zero, acrescentando uma unidade ao dígito imediatamente superior. Isto é ilustrado<br />
nas seguintes seqüências de contagem octal:<br />
(a) 65, 66,67,70,71,.....<br />
(b) 275, 276, 277, 300,301,.....<br />
5.1.5 Conversão Octal-Decimal<br />
Um valor octal pode ser facilmente convertido em decimal multiplicando-se cada dígito<br />
octal por seu valor posicional (peso). Exemplo:<br />
372 8 = 3 x 8 2 + 7 x 8 1 + 2 x 8 0 = 3 x 64 + 7 x 8 + 2 x 1 = 250 10<br />
5.1.6 Conversão Decimal-Octal<br />
Um valor decimal inteiro pode ser convertido em seu equivalente octal pelo método das<br />
divisões sucessivas, conforme já visto para o caso da conversão decimal-binário, só que<br />
utilizando divisões por oito em vez de por 2. Exemplo:<br />
38
O resto da primeira divisão passa a ser o dígito menos significativo do número octal, e o<br />
resto da última divisão é o bit mais significativo.<br />
5.1.7 Conversão Octal-Binário<br />
A principal vantagem do sistema octal é a facilidade para se converter um número binário<br />
em octal e vice-versa. Para passar de octal para binário, cada dígito octal deve ser<br />
convertido em seu equivalente binário.<br />
Dígito Octal<br />
Equivalente Binário<br />
0<br />
000<br />
1<br />
001<br />
2<br />
010<br />
3<br />
011<br />
4<br />
100<br />
5<br />
101<br />
6<br />
110<br />
7<br />
111<br />
Por exemplo, podemos converter o valor octal 472 em binário da seguinte forma:<br />
Portanto, o octal 472 é igual ao binário 100111010.<br />
Como outro exemplo, considere a conversão de 5431 8 para binário.<br />
5.1.8 Conversão Binário-Octal<br />
A conversão binário-octal é obtida através de processo inverso do descrito anteriormente.<br />
Os bits do número binário devem ser agrupados de 3 em 3, a partir do menos<br />
significativo, e convertidos no seu equivalente octal. Para ilustrar, considere a conversão<br />
de 100111010 2 em octal.<br />
Nem sempre o número binário tem grupos completos de três bits. Nestes casos, podemos<br />
acrescentar um ou dois zeros à esquerda do bit mais significativo do número binário.<br />
Observe o seguinte exemplo, onde o valor 11010110 2 deve ser convertido em seu<br />
equivalente octal.<br />
39
Exercícios<br />
1. Converter 614 8 em decimal.<br />
2. Converter 146 10 em binário, passando por octal.<br />
3. Converter 10011101 2 em octal.<br />
4. Complete a seqüência em octal: 624, 625, 626,____,____,____.<br />
5. Converter 975 10 em binário, passando por octal.<br />
6. Converter o valor binário 1010111011 em decimal, passando por octal.<br />
5.1.9 Sistema Numérico Hexadecimal<br />
O sistema hexadecimal, também conhecido como sistema hexa, utiliza a base 16.<br />
Portanto, este sistema tem 16 dígitos, representados pelos dígitos decimais de 0 a 9 e<br />
pelas letras maiúsculas de A a F.<br />
Hexadecimal<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
Decimal<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
Binário<br />
0000<br />
0001<br />
0010<br />
0011<br />
0100<br />
0101<br />
0110<br />
0111<br />
1000<br />
1001<br />
1010<br />
1011<br />
1100<br />
1101<br />
1110<br />
1111<br />
Observe que cada dígito hexadecimal é representado por um grupo de quatro bits. É<br />
importante lembrar que os dígitos hexa de A a F são equivalentes aos valores decimais<br />
de 10 a 15, respectivamente.<br />
Quando contamos em hexa, cada dígito de 0 a F deve ser incrementado de 1. Ao chegar<br />
a F, esta posição volta a zero, e a próxima posição é então incrementada. As seqüências<br />
abaixo ilustram contagens em hexa:<br />
(a) 38, 39, 3A, 3B, 3C, 3D, 3E, 3F, 40, 41, 42<br />
(b) 6F8, 6F9, 6FA, 6FB, 6FC, 6FD, 6FE, 6FF, 700<br />
40
5.1.10 Conversão Hexadecimal-Decimal<br />
Um número em hexa pode ser convertido em seu equivalente decimal através do valor<br />
posicional (peso) que cada dígito ocupa no número. O dígito menos significativo tem peso<br />
igual a 16 0 = 1, o seguinte 16 1 = 16, o seguinte 16 2 = 256, e assim por diante.<br />
Exemplos:<br />
356 16 = 3 x 16 2 + 5 x 16 1 + 6 x 16 0<br />
= 768 + 80 + 6<br />
= 854 10<br />
2AF 16 = 2 x 16 2 + 10 x 16 1 + 15 x 16 0<br />
= 512 + 160 + 15<br />
= 687 10<br />
Observe que, no segundo exemplo, o valor 10 substituiu o dígito hexadecimal A, e o valor<br />
15 entrou no lugar do dígito hexa F, na conversão em decimal.<br />
5.1.11 Conversão Decimal-Hexadecimal<br />
Para converter decimal em binário usamos a divisão por 2 repetidas vezes, e na<br />
conversão decimal-octal empregamos a divisão por 8. Desta mesma forma, para<br />
convertermos um número decimal em hexa, devemos dividi-lo sucessivamente por 16.<br />
Exemplos:<br />
Converter 423 10 em hexa:<br />
Converter 214 10 em hexa:<br />
Observe novamente como os restos formam os dígitos do número hexa. Além disso, os<br />
restos maiores que 9 são representados pelas letras de A a F.<br />
5.1.12 Conversão Hexa-Binário<br />
Assim como o sistema octal, a principal utilidade do sistema hexadecimal é "abreviar" a<br />
representação de seqüências binárias muito grandes. Cada dígito hexa é convertido em<br />
seu equivalente binário de quatro bits.<br />
41
5.1.13 Conversão Binário-Hexa<br />
Converter de binário para hexa é justamente fazer ao contrário o processo que acabamos<br />
de ver. O número binário é separado em grupos de quatro bits, e cada grupo é convertido<br />
no seu equivalente hexa. Acrescentam-se zeros à esquerda, se for necessário completar<br />
o grupo:<br />
Para realizar conversões entre números binários e hexa, é imprescindível saber a<br />
equivalência entre os dígitos hexa e os números binários de quatro bits (0000 até 1111).<br />
Uma vez memorizadas, as conversões não precisam de calculadora. Essa é uma das<br />
razões da utilidade destes sistemas (hexa e octal) na representação de grandes números<br />
binários.<br />
Exercícios<br />
1. Converta 24CE 16 para decimal.<br />
2. Converta 3117 10 para hexa e depois para binário.<br />
3. Converta 1001011110110101 2 para hexa.<br />
4. Encontre os quatro números seguintes da seqüência hexa:<br />
E9A, E9B, E9C, E9D,_____,_____,_____.<br />
5. Converta 3527 8 para hexa.<br />
5.2 CÓDIGOS<br />
São grupos de símbolos representados por números, letras ou palavras que estabelecem<br />
uma determinada característica ou combinação entre dois sistemas de numeração.<br />
CÓDIGO<br />
SIGNIFICADO<br />
BCD 8421 Binary-Coded-Decimal – Binário Codificado em Decimal<br />
8421 – valores dos algarismos: 2 3 =8, 2 2 =4, 2 1 =2, 2 0 =1<br />
EXCESSO 3 Código BCD 8421 adicionado de três unidades binárias<br />
GRAY Código cuja variação de um número para outro é de apenas 1 bit<br />
2 ENTRE 5 Código que apresenta 2 bits iguais a 1 dentre 5 bits. Usado em<br />
código de barras, por evitar grandes repetições de espaços ou de<br />
barras<br />
42
DECIMAL BINÁRIO BCD 8421 EXCESSO 3 GRAY 2 ENTRE 5<br />
0 0 0000 0011 0000 00011<br />
1 1 0001 0100 0001 00101<br />
2 10 0010 0101 0011 00110<br />
3 11 0011 0110 0010 01001<br />
4 100 0100 0111 0110 01010<br />
5 101 0101 1000 0111 01100<br />
6 110 0110 1001 0101 10001<br />
7 111 0111 1010 0100 10010<br />
8 1000 1000 1011 1100 10100<br />
9 1001 1001 1100 1101 11000<br />
10 1010 0001 0000 1111<br />
11 1011 0001 0001 1110<br />
12 1100 0001 0010 1010<br />
13 1101 0001 0011 1011<br />
14 1110 0001 0100 1001<br />
15 1111 0001 0101 1000<br />
Código ASCII – American Standard Code for Information Intercharge<br />
É um código alfanumérico usado para obter informações pelo computador. Seus 7 bits<br />
fornecem 128 combinações, das quais 96 se referem a caracteres de impressão e 32 a<br />
comandos de controle.<br />
X6X5X4X3X2X1X0 => onde cada X pode ser 0 ou 1<br />
A tabela mostrou ser insuficiente para outras exigências, como a necessidade de<br />
padronizar a representação de caracteres acentuados, caracteres usados em molduras<br />
de janelas de texto e outros. Sendo assim, surge a tabela ASCII de 8 bits (code pages),<br />
englobando a representação de 256 caracteres. Os primeiros 128 caracteres são<br />
idênticos ao da tabela ASCII de 7 bits e os demais variam de acordo com as<br />
necessidades da língua em cada país. No Brasil é utilizada a página de código 850<br />
apresentada a seguir.<br />
43
5.3 CODIFICADOR DECIMAL/BINÁRIO<br />
Codificar significa transformar informações conhecidas, de uso comum e de fácil<br />
entendimento, em um conjunto de símbolos, letras, números ou palavras de forma a<br />
minimizar ou facilitar o armazenamento, o processamento e a transmissão da informação<br />
original. Em sistemas digitais, na maioria dos casos, codificar significa transformar um<br />
número decimal em um número binário para a manipulação desses sistemas, utilizandose<br />
qualquer um dos códigos citados anteriormente.<br />
A entrada do código decimal é feita através de um conjunto de chaves numeradas de 0 a<br />
9 e a saída por 4 fios, para fornecer um código binário de 4 bits, correspondente à chave<br />
acionada.<br />
Obs: A chave fechada equivale a nível lógico 0, para evitar o problema prático,<br />
principalmente da família TTL, do terminal aberto seja equivalente a nível lógico 1.<br />
ch0<br />
ch1<br />
ch2<br />
............<br />
ch9<br />
Codificador<br />
Decimal/Binário<br />
A<br />
B<br />
C<br />
D<br />
44
Tabela da verdade<br />
Relação da entrada decimal com a saída em binário<br />
Chave A B C D<br />
Ch0 0 0 0 0<br />
Ch1 0 0 0 1<br />
Ch2 0 0 1 0<br />
Ch3 0 0 1 1<br />
Ch4 0 1 0 0<br />
Ch5 0 1 0 1<br />
Ch6 0 1 1 0<br />
Ch7 0 1 1 1<br />
Ch8 1 0 0 0<br />
Ch9 1 0 0 1<br />
S0 S1 S2 S3 S4 S5 S6<br />
S7<br />
S8<br />
S9<br />
74LS00<br />
A<br />
74LS20<br />
B<br />
74LS20<br />
C<br />
74LS30<br />
D<br />
Circuito integrado TTL 74147 – Codificador Decimal-BCD<br />
45
5.4 DECODIFICADOR PARA DISPLAY DE 7 SEGMENTOS<br />
Decodificar significa transformar informações que estão escritas de forma codificada,<br />
pouco conhecida ou identificável, de volta à sua forma original, completa ou em outra<br />
informação de mais fácil compreensão. Nos sistemas digitais, decodificar significa, na<br />
maioria dos casos, transformar um número binário de volta a seu formato decimal para a<br />
manipulação ou visualização pelo homem.<br />
5.4.1 Display de 7 segmentos<br />
Com o desenvolvimento do LED (diodo emissor de luz), surgiu a possibilidade de se<br />
construir elementos que “desenhavam” os algarismos. Chamados de display’s<br />
(mostradores) de 7 segmentos, estes elementos se popularizaram rapidamente. Na<br />
seqüência da evolução tecnológica, construíram-se os LCD (display de cristal líquido) que<br />
tem o mesmo princípio de funcionamento do display de 7 segmentos. No entanto, gastam<br />
menos energia, pois funcionam através da polarização das moléculas dos cristais via<br />
campo elétrico (corrente nula). Para os LED’s, além da tensão de polarização, há a<br />
necessidade de uma corrente considerável.<br />
O display de LED’s de 7 segmentos é um elemento passivo construído por 7 LED’s em<br />
forma de barra (retangular) e um oitavo LED que é utilizado como ponto decimal. Montado<br />
da forma como é mostrado abaixo, permite “desenhar” o algarismo que se quer visualizar<br />
mediante o acendimento de alguns LED’s. Os demais permanecem apagados para uma<br />
melhor nitidez do “desenho”.<br />
a<br />
f<br />
e<br />
g<br />
d<br />
h<br />
b<br />
c<br />
Os display’s de 7 segmentos podem ser encontrados em duas construções diferentes:<br />
cátodo comum ou ânodo comum.<br />
Ânodo<br />
comum<br />
Cátodo<br />
comum<br />
Para acender, normalmente o display necessita de uma corrente entre 10 e 20 mA, o que<br />
provoca uma queda de tensão da ordem de 1,2 V. Desta forma, trabalhando-se com 5<br />
Volts de alimentação, é comum utilizarmos um resistor de 330 ? para cada segmento<br />
visando atingir estes valores.<br />
46
5.4.2 Projeto de um decodificador BCD para display de 7 segmentos<br />
Para a elaboração do projeto de um decodificador, basta montar a tabela da verdade,<br />
simplificar as expressões de saída e implementar o circuito.<br />
CARACTERES DISPLAY BCD 8421 CÓDIGO P/ 7 SEGMENTOS<br />
A B C D a b c d e f g<br />
0 0 0 0 0 1 1 1 1 1 1 0<br />
1 0 0 0 1 0 1 1 0 0 0 0<br />
2 0 0 1 0 1 1 0 1 1 0 1<br />
3 0 0 1 1 1 1 1 1 0 0 1<br />
4 0 1 0 0 0 1 1 0 0 1 1<br />
5 0 1 0 1 1 0 1 1 0 1 1<br />
6 0 1 1 0 1 0 1 1 1 1 1<br />
7 0 1 1 1 1 1 1 0 0 0 0<br />
8 1 0 0 0 1 1 1 1 1 1 1<br />
9 1 0 0 1 1 1 1 1 0 1 1<br />
Simplificando as expressões lógicas através do Diagrama de Veitch-Karnaugh:<br />
a) a ? A ? C ? B?<br />
D<br />
b) b ? B?<br />
C ? D<br />
c) c ? B?<br />
C ? D<br />
d) d ? A ? B.D ? B.C ? C.D ? B.C.D<br />
e) e ? B.D?<br />
C. D<br />
f) f ? A ? C.D ? B.C ? B. D<br />
g) g ? A ? B ? C ? C. D<br />
47
Circuito simplificado do Decodificador para display de 7 segmentos<br />
A<br />
B<br />
C<br />
D<br />
a<br />
b<br />
c<br />
d<br />
e<br />
f<br />
g<br />
Circuito integrado 9368 – Decodificador BCD para display de 7 segmentos (catodo<br />
comum)<br />
48
Circuito integrado 7447 – Decodificador BCD para display de 7 segmentos (anodo<br />
comum)<br />
Exercícios<br />
a) Projete um decodificador que efetue a conversão do código Gray para o sistema<br />
binário comum.<br />
b) Elabore um codificador decimal/binário para, a partir de um teclado com chaves<br />
numeradas de 0 a 3, fornecer nas saídas o código binário correspondente. Considere<br />
que as entradas das portas lógicas em aberto equivalem à aplicação de nível lógico 1.<br />
c) Faça o projeto e desenhe o circuito para, a partir de um código binário, escrever a<br />
seqüência do sistema hexadecimal em um display de 7 segmentos anodo comum.<br />
d) Projete um decodificador para, a partir de um código binário, escrever a seqüência<br />
ilustrada abaixo em um display de 7 segmentos catodo comum.<br />
49
6 CIRCUITOS ARITMÉTICOS<br />
6.1 REPRESENTAÇÃO BINÁRIA DE NÚMEROS INTEIROS<br />
6.1.1 Representação binária de números positivos<br />
Representam-se números inteiros positivos através do valor do próprio número binário.<br />
Porém, existe um limite estabelecido por memórias finitas, onde normalmente é definido<br />
por um conjunto de 4 bits. Portanto, pode-se representar 2 4 = 16 números diferentes, de<br />
0000 a 1111.<br />
A representação estabelecida em função da limitação de bits é explicitada pelos números<br />
ao redor de um círculo, e não ao longo de um eixo infinito, como na matemática<br />
convencional. Para a operação de adição de dois números a e b, basta encontrar a<br />
representação de a no círculo e avançar b posições no sentido horário. Para efetuar a<br />
subtração a-b, basta recuar b posições a partir de a, no sentido anti-horário.<br />
0000<br />
1111 0001<br />
1110 0010<br />
1101 0011<br />
1100 0100<br />
1011 0101<br />
1010 0110<br />
1001 0111<br />
1000<br />
6.1.2 Representação binária de números negativos<br />
Inicialmente, consideram-se positivos os números cujo bit mais significativo é 0 e<br />
negativos os números cujo bit mais significativo é 1, portanto, dividindo ao meio o<br />
conjunto dos números representáveis no círculo em questão. Assim, numa formação de<br />
um número com 4 bits, têm-se 8 números com representação negativa e 8 números com<br />
representação positiva. Com esta formação, a capacidade de representação de números<br />
vai de –8 até +7. Para representar números além destes limites, é necessário adotar<br />
registradores maiores, por exemplo, de 8, 16 ou 32 bits.<br />
50
0000(0)<br />
1111(-1) 0001(1)<br />
1110(-2) 0010(2)<br />
1101(-3) 0011(3)<br />
1100(-4) 0100(4)<br />
1011(-5) 0101(5)<br />
1010 (-6) 0110(6)<br />
1001(-7) 0111(7)<br />
1000(-8)<br />
6.1.3 Obtenção do valor simétrico de um número<br />
Para se obter um número simétrico de um número a, trocam-se os zeros por 1’s e viceversa.<br />
O resultado da operação chama-se complemento de 1. A expressão do simétrico<br />
de um número qualquer do círculo é definida como:<br />
-a = (complemento de 1 de a) + 1 = (complemento de 2 de a)<br />
0000(0)<br />
1111(-1) 0001(1)<br />
1110(-2) 0010(2)<br />
1101(-3) 0011(3)<br />
1100(-4) 0100(4)<br />
1011(-5) 0101(5)<br />
1010 (-6) 0110(6)<br />
1001(-7) 0111(7)<br />
1000(-8)<br />
51
6.2 ADIÇÃO E SUBTRAÇÃO BINÁRIA<br />
Adição binária<br />
0 + 0 = 0<br />
0 + 1 = 1<br />
1 + 0 = 1<br />
1 + 1 = 0 e “vai-1”<br />
Exemplos:<br />
110 11001 111<br />
+111 +1011 +111<br />
+111<br />
Obs<br />
a) É importante entender a diferença entre adição lógica e adição binária. A adição lógica<br />
corresponde à função lógica OU, que estabelece uma saída 1 sempre que uma ou mais<br />
entradas for 1. A adição binária é uma operação aritmética que produz a soma algébrica<br />
de dois números distintos. Embora o símbolo + seja empregado para indicar ambas as<br />
operações, o seu significado deverá estar claramente definido pelo contexto em que for<br />
utilizado.<br />
b) Também é importante destacar a diferença entre adição e soma. Enquanto adição é o<br />
processo aritmético, a soma representa o resultado da operação aritmética de adição.<br />
Subtração binária<br />
0 – 0 = 0<br />
1 – 1 = 0<br />
1 – 0 = 1<br />
0 – 1 = 1 e “empresta-1”<br />
Exemplos:<br />
1110 1000 11000<br />
-1001 -111 - 111<br />
Subtração usando o complemento de 2<br />
A subtração pelo processo do complemento é um método de executar a subtração pela<br />
soma, permitindo que o mesmo circuito seja usado para soma e para subtração.<br />
Utiliza-se o bit mais significativo para simbolizar o sinal do número, onde: 0 indica número<br />
positivo e 1 indica número negativo. Os bits restantes indicam a magnitude do número.<br />
Para a representação de um número negativo, usa-se o seguinte procedimento:<br />
a) Dado um número inteiro positivo, complementa-se o mesmo, trocando todos os 0s<br />
por 1s e todos os 1s por 0s;<br />
b) Soma-se 1 ao resultado do item anterior, obtendo-se o número negativo.<br />
Portanto, para efetuar a subtração a-b com auxílio da adição, utiliza-se a expressão:<br />
a – b = a + (complemento de 2 de b)<br />
52
Exemplo de obtenção do complemento de um número:<br />
+ 24 ? 00011000<br />
complemento de 24 ? 11100111<br />
soma-se 1 ? +1<br />
- 24 ? 11101000<br />
Exemplo de subtração usando complemento de 2:<br />
+ 49 ? 00110001 (menos) + 12 ? 00001100<br />
- 12 ? 11110100<br />
+ 37 ? 00100101<br />
6.3 ADIÇÃO E SUBTRAÇÃO EM BCD<br />
O formato BCD (Binary Coded Decimal), ou decimal codificado como binário, utiliza o<br />
sistema hexadecimal apenas para os dígitos de 0 a 9, correspondentes aos mesmos<br />
dígitos no sistema decimal.<br />
BCD 8421 é um código de 4 bits, onde os termos 8421 significam os valores dos<br />
algarismos num dado número binário:<br />
2 3 =8, 2 2 =4, 2 1 =2, 2 0 =1<br />
A tabela a seguir mostra a diferenciação entre o código binário e o código BCD.<br />
DECIMAL BINÁRIO BCD 8421<br />
0 0 0000<br />
1 1 0001<br />
2 10 0010<br />
3 11 0011<br />
4 100 0100<br />
5 101 0101<br />
6 110 0110<br />
7 111 0111<br />
8 1000 1000<br />
9 1001 1001<br />
10 1010 0001 0000<br />
11 1011 0001 0001<br />
12 1100 0001 0010<br />
13 1101 0001 0011<br />
14 1110 0001 0100<br />
15 1111 0001 0101<br />
As adições e subtrações com números BCD são efetuadas pelo modo convencional<br />
desde que o resultado não ultrapasse de 9. Quando um valor ultrapassar de 9, podem<br />
surgir letras no resultado (2+8=AH) ou o resultado pode estar incorreto (9+9=12H).<br />
O problema pode ser solucionado se as seis letras que compõem o sistema hexadecimal<br />
fossem “saltadas”, representando um atalho para o resultado esperado, ao invés de<br />
avançar sobre o círculo, como mostra a linha tracejada no círculo abaixo.<br />
53
0000 (0)<br />
1111 (F) 0001 (1)<br />
1110 (E) 0010 (2)<br />
1101 (D) 0011 (3)<br />
1100 (C) 0100 (4)<br />
1011 (B) 0101 (5)<br />
1010 (A) 0110 (6)<br />
1001 (9) 0111 (7)<br />
1000 (8)<br />
A adição em BCD de dois números a e b pode ser elaborada pelo seguinte algoritmo:<br />
- adicionar os dígitos como hexadecimais;<br />
- se a soma for superior a 9, adicionar mais 6.<br />
A subtração em BCD de dois números a e b pode ser elaborada pelo seguinte algoritmo:<br />
- obter o complemento de 9 do número b + 1<br />
- efetuar a adição a+(-b)<br />
- corrigir o resultado, substituindo letras em hexadecimal para números BCD<br />
- Descartar o último número à esquerda<br />
Exemplo de adição em BCD:<br />
84+26 = AA em hexadecimal, cujo resultado não é válido como BCD. Aplicando o<br />
algoritmo:<br />
- soma-se 4 com 6 = AH. Como o resultado é superior a 9, soma-se mais 6 e<br />
obtém-se 10H, onde o 0 é o dígito menos significativo do resultado e “vai-1”;<br />
- soma-se o “vai-1” com 8 e com 2, obtendo-se BH, também superior a 9.<br />
Sendo assim, soma-se novamente mais 6 e obtém-se 11H, totalizando 110H, que é a<br />
representação correta do número BCD.<br />
1<br />
84<br />
+ 26<br />
BA<br />
+ 66<br />
110<br />
Exemplo de subtração em BCD:<br />
45-37 = 0E em hexadecimal, cujo resultado não é válido como BCD.<br />
- Obtém-se o complemento de 9 de 37 + 1 = 62 + 1 = 63<br />
- Soma-se 45+63 = A8 em hexadecimal<br />
- Substitui-se A do resultado por 10, obtendo-se 108<br />
- Descartar o último número à esquerda, resultando em 08.<br />
54
6.4 MULTIPLICAÇÃO E DIVISÃO BINÁRIA<br />
Multiplicação binária<br />
0 x 0 = 0<br />
0 x 1 = 0<br />
1 x 0 = 0<br />
1 x 1 = 1<br />
Exemplos:<br />
11010 11011 1011101<br />
x 11 x 101 x 1001<br />
Divisão binária<br />
0 ? 1 = 0<br />
1 ? 1 = 1<br />
Exemplos:<br />
10100 ?100_ 110110 ?110_ 101010 ?11_<br />
6.5 MEIO SOMADOR (HALF ADDER)<br />
A B SOMA TS<br />
0 0 0 0<br />
0 1 1 0<br />
1 0 1 0<br />
1 1 0 1<br />
TS – Transporte de Saída (vai um)<br />
SOMA = A ? B<br />
TS = A . B<br />
A B<br />
Meio<br />
Somador<br />
TS S<br />
6.6 SOMADOR COMPLETO (FULL ADDER)<br />
Soma-se coluna a coluna, levando em conta o TE (Transporte de Entrada), que é o TS da<br />
coluna anterior. Dessa forma, o circuito efetua a soma completa de uma coluna, na forma:<br />
S = (A+B)+TE<br />
55
A B TE S TS<br />
0 0 0 0 0 Expressões simplificadas:<br />
0 0 1 1 0<br />
0 1 0 1 0 S = A ? B ? TE<br />
0 1 1 0 1 TS = B.TE + A.TE + A.B<br />
1 0 0 1 0<br />
1 0 1 0 1<br />
1 1 0 0 1<br />
1 1 1 1 1<br />
A B TE<br />
Somador<br />
Completo<br />
TS<br />
S<br />
Diagrama em blocos de um Somador de 2 números binários de 4 bits<br />
A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0<br />
A 3 A 2 A 1 A 0<br />
+ B 3 B 2 B 1 B 0<br />
________<br />
A B TE<br />
A B TE<br />
A B TE<br />
A<br />
B<br />
TS<br />
S<br />
TS<br />
S<br />
TS<br />
S<br />
TS<br />
S<br />
S 4 S 3 S 2 S 1 S 0<br />
S 4 S 3 S 2 S 1 S 0<br />
6.7 MEIO SUBTRATOR (HALF SUBTRACTOR)<br />
A B SUB TS<br />
0 0 0 0<br />
0 1 1 1<br />
1 0 1 0<br />
1 1 0 0<br />
TS – Transporte de Saída (empresta um)<br />
SUB = A ? B<br />
T S ? A.B<br />
56
A<br />
B<br />
Meio<br />
Subtrator<br />
TS S<br />
6.8 SUBTRATOR COMPLETO (FULL SUBTRACTOR)<br />
Subtrai-se coluna a coluna, levando em conta o TE (Transporte de Entrada), que é o TS<br />
da coluna anterior. Dessa forma, o circuito efetua a subtração completa de uma coluna,<br />
na forma: S = (A-B) -TE<br />
A B TE S TS<br />
0 0 0 0 0 Expressões simplificadas:<br />
0 0 1 1 1<br />
0 1 0 1 1 S = A ? B ? TE<br />
0 1 1 0 1 TS ? A.B ? A.TE ? B.TE<br />
1 0 0 1 0<br />
1 0 1 0 0<br />
1 1 0 0 0<br />
1 1 1 1 1<br />
A B TE<br />
Subtrator<br />
Completo<br />
TS<br />
S<br />
6.9 SOMADOR/SUBTRATOR BINÁRIO<br />
Para M=0 (Adição) ? S = (A + B) + TE<br />
Para M=1 (Subtração) ? S = (A – B) - TE<br />
57
M A B TE S TS<br />
0 0 0 0 0 0 Expressões simplificadas:<br />
0 0 0 1 1 0<br />
0 0 1 0 1 0 S = A ? B ? TE<br />
0 0 1 1 0 1 TS ? B.TE ? (M ? A) . (B ? TE)<br />
0 1 0 0 1 0<br />
0 1 0 1 0 1<br />
0 1 1 0 0 1<br />
0 1 1 1 1 1<br />
1 0 0 0 0 0<br />
1 0 0 1 1 1<br />
1 0 1 0 1 1<br />
1 0 1 1 0 1<br />
1 1 0 0 1 0<br />
1 1 0 1 0 0<br />
1 1 1 0 0 0<br />
1 1 1 1 1 1<br />
6.10 SOMADOR/SUBTRATOR BINÁRIO USANDO COMPLEMENTO DE 2<br />
A subtração pelo processo do complemento é um método de executar a subtração pela<br />
soma, permitindo que o mesmo circuito seja usado para soma e para subtração.<br />
Utiliza-se o bit mais significativo para simbolizar o sinal do número, onde: 0 indica número<br />
positivo e 1 indica número negativo. Os bits restantes indicam a magnitude do número.<br />
Para a representação de um número negativo, usa-se o seguinte procedimento:<br />
c) Dado um número inteiro positivo, complementa-se o mesmo, trocando todos os 0s<br />
por 1s e todos os 1s por 0s;<br />
d) Soma-se 1 ao resultado do item anterior, obtendo-se o número negativo.<br />
Exemplo:<br />
+ 24 ? 00011000<br />
complemento de 24 ? 11100111<br />
soma-se 1 ? +1<br />
- 24 ? 11101000<br />
58
Exemplo de subtração usando complemento de 2:<br />
+ 49 ? 00110001 (menos) + 12 ? 00001100<br />
- 12 ? 11110100<br />
+ 37 ? 00100101<br />
A<br />
74LS83A<br />
A4<br />
A3<br />
A2<br />
A1<br />
B4<br />
B3<br />
B2<br />
B1<br />
Cin<br />
s4<br />
s3<br />
s2<br />
s1<br />
Cout<br />
B<br />
VccSubt<br />
0VSomador<br />
6.11 UNIDADE LÓGICA E ARITMÉTICA (ULA)<br />
O circuito integrado 74181 é uma ULA de 4 bits, executa 16 operações lógicas e 16<br />
operações aritméticas entre duas palavras de 4 bits.<br />
As duas palavras A e B devem ser colocadas nas entradas, respectivamente, A 3 -A 2 -A 1 -A 0<br />
e B 3 -B 2 -B 1 -B 0 .<br />
As entradas S 3 -S 2 -S 1 -S 0 selecionam que tipo de operação será executado entre as<br />
entradas A e B. O resultado da operação é apresentado nas saídas F 3 -F 2 -F 1 -F 0 .<br />
A entrada M determina se a saída é uma função aritmética ou lógica das entradas. Por<br />
sua vez, C n (carry in) seleciona um dos grupos de 16 operações aritméticas possíveis.<br />
A saída A=B avisa quando as duas palavras são iguais em magnitude. A saída C n+4 (carry<br />
out) corresponde ao carry do último estágio e é usada no cascateamento com outras<br />
ULAs.<br />
A saída G (geração) e P (propagação) são usadas em operações especiais quando os<br />
CIs 74181 e 74182 são combinados para aumentar o tempo de processamento.<br />
59
Obs: O sinal (+) expressa a função lógica e a palavra (mais) significa a operação<br />
aritmética.<br />
60
Exercícios<br />
1. Elabore um módulo subtrator de 2 números binários de 4 bits, usando blocos de<br />
subtrator completo.<br />
2. Elabore um módulo somador que efetue a adição de 3 números de 2 bits, usando<br />
blocos somadores completos e meio somadores.<br />
A 1 A 0<br />
+B 1 B 0<br />
+C 1 C 0<br />
S 3 S 2 S 1 S 0<br />
3. Projete um circuito lógico meio somador/meio subtrator.<br />
Adote: M=0 ? meio somador<br />
M=1 ? meio subtrator<br />
4. Esquematize, em blocos, um sistema somador/subtrator completo para 2 números de 4<br />
bits.<br />
5. Utilizando blocos de somadores completos, elabore um sistema subtrator para 2<br />
números de 2 bits.<br />
6. Obtenha um circuito somador completo usando 2 blocos meio somadores e porta lógica<br />
OU.<br />
7. Obtenha um circuito subtrator completo usando 2 blocos meio subtratores e porta<br />
lógica OU.<br />
8. Em um a ULA 74181, são estabelecidos para as entradas A 3 A 2 A 1 A 0 = 1010 2 e<br />
B 3 B 2 B 1 B 0 = 0111 2 . Monte uma tabela com os valores a serem obtidos, simulando todas as<br />
entradas de controle C n , M e S 3 S 2 S 1 S 0<br />
61
7. CIRCUITOS MULTIPLEX E DEMULTIPLEX<br />
7.1 MULTIPLEX<br />
Usado para enviar informações contidas em vários canais (fios), a um só canal (fio).<br />
I0<br />
Canais de I1 S Saída da Informação<br />
Informação<br />
MUX<br />
multiplexada<br />
de Entrada I2<br />
....<br />
IN<br />
...........<br />
Entradas de Seleção (endereçamento) ? escolhe qual canal de<br />
informação de entrada será<br />
conectada à saída.<br />
Circuito elementar analógico que efetua uma multiplexação: chave de 1 polo x n<br />
posições<br />
I0<br />
I1<br />
I2<br />
I3<br />
entradas de seleção<br />
S<br />
IN<br />
Circuito lógico básico de um multiplex de 2 canais<br />
Entrada de Saída Multiplexada<br />
Seleção<br />
A<br />
S<br />
0 I0<br />
1 I1<br />
62
7.1.1 - Projeto e funcionamento de um Multiplex de 4 canais<br />
a) Relaciona-se as entradas de seleção com a informação de entrada que deve ser<br />
conectada à saída. Monta-se uma tabela da verdade com as entradas de seleção e as<br />
respectivas informações que devem ter na saída.<br />
Para as 4 entradas que serão conectadas à saída, necessita-se de 2 variáveis de<br />
seleção (2 N ).<br />
Variáveis de Saída<br />
seleção<br />
A B S<br />
0 0 I0<br />
0 1 I1<br />
1 0 I2<br />
1 1 I3<br />
b) Monta-se o circuito multiplex que executa a função lógica.<br />
I0<br />
I1<br />
I2<br />
I3<br />
MUX de<br />
4 canais<br />
S<br />
A<br />
B<br />
63
7.1.2 - Multiplex de 16 canais<br />
I0<br />
MUX de<br />
16 canais<br />
S<br />
I15<br />
A B C D<br />
7.1.3 - Ampliação da capacidade de um Sistema Multiplex<br />
A partir de circuitos multiplex de baixa capacidade, podem-se obter outros multiplex de<br />
maior capacidade.<br />
Exemplo 1: Multiplex de 4 canais a partir de Multiplex de 2 canais<br />
I0<br />
I1<br />
MUX-2<br />
S0<br />
MUX-2<br />
S<br />
I2<br />
I3<br />
MUX-2<br />
S1<br />
B<br />
A<br />
Exemplo 2: Multiplex de 16 canais usando Multiplex de 8 canais<br />
I0<br />
MUX-8<br />
S0<br />
I7<br />
I0<br />
MUX-8<br />
S<br />
MUX-8<br />
S1<br />
I7<br />
B C D A<br />
64
7.1.4 - Endereçamento seqüencial num Sistema Multiplex<br />
I0<br />
MUX-8<br />
S<br />
I7<br />
Contador 0-7<br />
7.1.5 - Utilização de Multiplex na construção de Circuitos Combinacionais<br />
Inicialmente, obtém-se a tabela da verdade do circuito lógico que se deseja. Na<br />
seqüência, as saídas do circuito combinacional devem ser injetadas nos canais de<br />
entrada de informação do Multiplex. E ainda, as entradas do circuito combinacional<br />
definem o endereçamento da informação no circuito Multiplex.<br />
A grande vantagem é a facilidade de esquematização de circuitos combinacionais para<br />
um elevado número de variáveis.<br />
Exemplo: Implementar a lógica da tabela da verdade abaixo utilizando circuito multiplex.<br />
1<br />
A B C S1 S2<br />
0 0 0 0 0<br />
0 0 1 1 0<br />
0 1 0 1 0<br />
0 1 1 0 1<br />
1 0 0 1 0<br />
1 0 1 0 1<br />
1 1 0 0 1<br />
1 1 1 1 1<br />
MUX-8<br />
S1<br />
MUX-8<br />
S2<br />
0<br />
A B C<br />
65
7.2 DEMULTIPLEX<br />
Usado para enviar informações vindas de um só canal (fio) para vários canais (fios).<br />
Efetua a função inversa do Multiplex.<br />
Entrada de S1 Canais de Saída<br />
Informação E DEMUX<br />
de Informações<br />
S2<br />
....<br />
SN<br />
...........<br />
S0<br />
Entradas de Seleção (endereçamento) ? escolhe qual canal de<br />
informação de saída será<br />
conectada à entrada.<br />
Circuito elementar analógico que efetua uma demultiplexação: chave de 1 polo x n<br />
posições<br />
E<br />
entradas de seleção<br />
S0<br />
S1<br />
S2<br />
S3<br />
SN<br />
Circuito lógico básico de um Demultiplex de 2 canais<br />
Entrada de<br />
Seleção<br />
Canais de<br />
Informação<br />
A S0 S1<br />
0 E 0<br />
1 0 E<br />
66
7.2.1 - Projeto e funcionamento de um Demultiplex de 4 canais<br />
a) Relaciona-se as entradas de seleção com o canal de saída da informação que deve<br />
ser conectada à entrada. Monta-se uma tabela da verdade com as entradas de<br />
seleção e os respectivos canais de informação, que serão conectados à entrada.<br />
Para as 4 saídas que serão conectadas à entrada, necessita-se de 2 variáveis de<br />
seleção (2 N ).<br />
Variáveis de Canais de saída<br />
seleção<br />
A B S0 S1 S2 S3<br />
0 0 E 0 0 0<br />
0 1 0 E 0 0<br />
1 0 0 0 E 0<br />
1 1 0 0 0 E<br />
b) Monta-se o circuito demultiplex que executa a função lógica.<br />
S0<br />
E<br />
DEMUX de<br />
4 canais<br />
S1<br />
S2<br />
S3<br />
A<br />
B<br />
7.2.2 - Ampliação da capacidade de um Sistema Demultiplex<br />
67
A partir de circuitos demultiplex de baixa capacidade, podem-se obter outros demultiplex<br />
de maior capacidade.<br />
Exemplo 1: Demultiplex de 4 canais a partir de Demultiplex de 2 canais<br />
DEMUX-2<br />
S0<br />
S1<br />
E<br />
DEMUX-2<br />
DEMUX-2<br />
S2<br />
S3<br />
A<br />
B<br />
Exemplo 2: Demultiplex de 16 canais usando Demultiplex de 8 canais<br />
S0<br />
DEMUX-8<br />
S7<br />
E<br />
DEMUX-8<br />
S8<br />
DEMUX-8<br />
S15<br />
A<br />
B C D<br />
7.2.3 - Endereçamento seqüencial num Sistema Demultiplex<br />
E<br />
DEMUX-8<br />
S0<br />
S7<br />
Contador 0-7<br />
68
7.3 - MULTIPLEX E DEMULTIPLEX UTILIZADOS NA TRANSMISSÃO DE DADOS<br />
7.3.1 - Formas de transmissão<br />
Transmissão paralela<br />
E<br />
Transmissor<br />
DEMUX<br />
S0 LT I0<br />
Receptor<br />
MUX<br />
S<br />
A1<br />
S1<br />
I1<br />
A2<br />
Transmissão série<br />
I0 Transmissor S LT E Receptor S0<br />
I1<br />
MUX<br />
DEMUX<br />
S1<br />
A1<br />
A2<br />
7.3.2 - Sistema de transmissão de dados usando mux e demux de 8 canais, com<br />
endereçamento seqüencial<br />
I0<br />
S0<br />
MUX-8<br />
S<br />
E<br />
DEMUX-8<br />
I7<br />
S7<br />
Contador 0-7<br />
Contador 0-7<br />
sincronismo<br />
69
EXERCÍCIOS<br />
1. Forme um demultiplex de 8 canais, a partir de 3 blocos demultiplex de 4 canais.<br />
2. Determine os gráficos de saída (S 0 – S 1 – S 2 – S 3 ) para o sistema esquematizado,<br />
sabendo-se que o nível 1 corresponde a +5 V.<br />
S 0<br />
1<br />
DEMUX - 4<br />
S 1<br />
S 2<br />
S 4<br />
Ck<br />
Contador 0 - 3<br />
3. Esquematize um circuito multiplex de 64 canais, utilizando apenas blocos de 8 canais.<br />
4. A figura abaixo apresenta os sinais de seleção e de informações de entrada de um<br />
multiplex de 2 canais. Esboce o sinal multiplexado na saída.<br />
A<br />
I0<br />
I0<br />
I1<br />
MUX - 2<br />
S<br />
I1<br />
A<br />
S<br />
5. Considere as formas de onda da figura abaixo. Aplique estes sinais ao 74138 da<br />
seguinte forma: W em A 0 , X em A 1 , Y em A 2 e Z em E 3 . As entradas E 1 e E 2 devem<br />
permanecer em nível baixo. Desenhe as formas de onda para as saídas S 0 , S 3 , S 6 e<br />
S 7 .<br />
70
6. Determine a função realizada pelo circuito abaixo, implementado com três<br />
multiplexadores de duas entradas de dados de 1 bit.<br />
7. Dado um MUX de oito entradas de dados (1 bit cada), mostre como o mesmo pode ser<br />
utilizado para implementar a função lógica Z=AB+BC+AC.<br />
8. Mostre como um MUX de 16 entradas de dados (1 bit cada) pode ser usado para gerar<br />
a função lógica .<br />
9. Projete um MUX com quatro entradas de dados (1 bit cada) usando 5 portas NAND e 2<br />
portas NOT.<br />
10. Usando um MUX de oito entradas de dados (1 bit cada) implemente a função lógica<br />
que produz um nível alto somente quando suas quatro variáveis de entrada (A, B, C e<br />
D) estiverem no mesmo nível lógico, ou quando as variáveis B e C estiverem em<br />
níveis diferentes.<br />
11. Obtenha a função lógica simplificada implementada pelo circuito abaixo.<br />
71
EXPERIÊNCIA 1 - PORTAS LÓGICAS BÁSICAS<br />
1. Identifique a pinagem dos circuitos integrados e efetue a montagem no equipamento<br />
didático os seguintes circuitos digitais:<br />
1.1 - Porta lógica E de 2 e de 3 entradas (7408 e 7411);<br />
1.2 - Porta lógica OU de 2 entradas (7432);<br />
1.3 - Porta lógica Inversora (7404);<br />
1.4 - Porta lógica NÃO-E de 2 e de 4 entradas (7400 e 7420);<br />
1.5 - Porta lógica NÃO-OU de 2 entradas (7432 + 7404);<br />
1.6 - Porta lógica Ou-Exclusivo (7486);<br />
1.7 - Porta lógica Coincidência (7486 + 7404);<br />
1.8 - Bloco lógico Ou-Exclusivo de 4 entradas (7486). Qual é a lógica na saída?<br />
72
2. Na seqüência, energize o equipamento e simule, via chaves, os valores possíveis para<br />
as entradas;<br />
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores<br />
encontrados na saída correspondem à análise teórica do circuito, através da tabela da<br />
verdade;<br />
4. Finda a experiência, desmonte os circuitos e reponha o equipamento e componentes<br />
aos seus respectivos lugares;<br />
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa.<br />
Questões<br />
a) Como obter um circuito que necessita de uma porta lógica X de 3 entradas usando-se<br />
apenas portas lógicas X de 2 entradas?<br />
b) Num circuito que necessita de uma porta lógica Y de 2 entradas, têm-se apenas portas<br />
lógicas Y de 3 entradas. O que fazer com a terceira entrada?<br />
c) Pode-se conectar entre si as saídas de 2 portas lógicas? Explique.<br />
73
EXPERIÊNCIA 2 – COMPARADOR DE MAGNITUDES<br />
1. Identifique a pinagem do circuito integrado e monte em matriz de contatos os<br />
seguintes circuitos digitais:<br />
1.1 Circuito comparador de 2 números de 2 bits (exercício 7 – p. 34)<br />
A 1 A 0 < B 1 B 0 ? acende led 1 ? S<br />
1<br />
? A1.B1<br />
? A1.A<br />
0.B0<br />
? A0.B1.B0<br />
A 1 A 0 > B 1 B 0 ? acende led 3 ? S<br />
3<br />
? A<br />
1.B1<br />
? A0.B 1.B<br />
0<br />
? A1.A0.<br />
B0<br />
A 1 A 0 = B 1 B 0 ? acende led 2 ? S<br />
2<br />
? S1<br />
? S3<br />
1.2 Comparador integrado de 2 números de 4 bits (7485)<br />
Vcc A3 B2 A2 A1 B1 A0 B0<br />
16 15 14 13 12<br />
9<br />
7485<br />
Comparador de Magnitudes de 4 bits<br />
2 3 4 5 6<br />
1 7 8<br />
B3 AB A>B A=B A
EXPERIÊNCIA 3 - CODIFICADORES E DECODIFICADORES<br />
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os<br />
seguintes circuitos digitais:<br />
1.2 - Codificador Decimal/Binário<br />
S0 S1 S2 S3 S4 S5 S6<br />
S7<br />
S8<br />
S9<br />
74LS00<br />
A<br />
74LS20<br />
B<br />
74LS20<br />
C<br />
74LS30<br />
D<br />
1.2 - Decodificador para display de 7 segmentos - catodo comum<br />
Vcc f g a b c d e<br />
16 15 14 13 12<br />
11 10<br />
Decodificador para display de 7 segmentos - catodo<br />
comum<br />
9368<br />
9<br />
2 3 4 5 6<br />
1 7 8<br />
A1 A2 EL RB O RB I A3 A0 GND<br />
RB=Supressor de zeros (RB O =0 quando A,B,C,D,RB I =0)<br />
g f cc a b<br />
Display PD560<br />
Catodo comum<br />
e d cc c DP<br />
75
1.3 - Decodificador para display de 7 segmentos - anodo comum<br />
Vcc f g a b c d e<br />
16 15 14 13 12 11 10 9<br />
Decodificador BCD para 7 segmentos – anodo comum<br />
7447<br />
1 2 3 4 5 6 7 8<br />
B C Lamp. RB RB D A GND<br />
Test output input<br />
RB=Supressor de zeros (RB O =0 quando A,B,C,D,RB I =0)<br />
g<br />
f ac a b<br />
a<br />
Display<br />
f PD507 b<br />
g<br />
e<br />
c<br />
d<br />
e d ac c<br />
. DP<br />
dp<br />
Obs: Devem ser interconectados 7 resistores limitadores de corrente (330? ) entre<br />
decodificador e display.<br />
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as<br />
entradas;<br />
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores<br />
encontrados na saída correspondem à análise teórica do circuito, através da tabela da<br />
verdade;<br />
4. Finda a experiência, desmonte os circuitos e reponha o equipamento e componentes<br />
aos seus respectivos lugares;<br />
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa.<br />
76
EXPERIÊNCIA 4 –CIRCUITOS ARITMÉTICOS<br />
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os<br />
seguintes circuitos digitais:<br />
1.1 – Somador binário completo de 4 bits (7483)<br />
B4 E4 C4 C0 GND B1 A1 E1<br />
16 15 14 13 12<br />
11 10<br />
Somador Binário Completo de 4 bits<br />
7483<br />
9<br />
A4A3A2A1C0<br />
+ B4B3B2B1<br />
---------------------<br />
C4E4E3E2E1<br />
1 2 3 4 5 6 7 8<br />
A4 E3 A3 B3 Vcc E2 B2 A2<br />
1.2 – Somador/subtrator binário completo de 4 bits (7483 + 7486)<br />
7483<br />
A4<br />
A3<br />
A2<br />
A1<br />
B4<br />
B3<br />
B2<br />
B1<br />
Cin<br />
s4<br />
s3<br />
s2<br />
s1<br />
Cout<br />
VccSubt<br />
0VSomador<br />
77
1.3 – Unidade Lógica e Aritmética (74181)<br />
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as<br />
entradas;<br />
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores<br />
encontrados na saída correspondem à análise teórica do circuito, através da tabela da<br />
verdade;<br />
SOMADOR/SUBTRATOR BINÁRIO DE 4 BITS<br />
ENTRADAS<br />
SAÍDAS<br />
Vem 1 Número A Número B Vai 1 Adição Emp. 1 Subtração<br />
C0 A4 A3 A2 A1 B4 B3 B2 B1 C4 E4 E3 E2 E1 C4 E4 E3 E2 E1<br />
0 0 0 0 0 0 0 0 0<br />
0 0 0 1 1 0 0 0 1<br />
0 0 1 1 0 0 0 1 0<br />
0 1 0 1 1 0 0 1 1<br />
0 0 1 1 0 0 1 0 0<br />
0 1 1 0 1 0 1 0 1<br />
0 0 1 1 1 0 1 1 0<br />
0 1 1 1 1 0 1 1 1<br />
0 1 0 0 1 1 0 0 0<br />
0 1 0 1 1 1 0 0 1<br />
0 1 0 1 1 1 0 1 0<br />
0 1 1 1 1 1 0 1 1<br />
0 1 1 0 1 1 1 0 0<br />
0 1 1 1 1 1 1 0 1<br />
0 1 1 1 0 1 1 1 1<br />
0 1 1 0 0 1 1 1 1<br />
78
UNIDADE LÓGICA E ARITMÉTICA<br />
Entrada de dados: A 3 A 2 A 1 A 0 = 1010 2 = 10 10<br />
B 3 B 2 B 1 B 0 = 0111 2 = 7 10<br />
UNIDADE LÓGICA E ARITMÉTICA<br />
Seleção M = 1 M = 0 (operações aritméticas)<br />
(funções Sem Carry Com Carry<br />
lógicas)<br />
S 3 S 2 S 1 S 0 Cn ? 1<br />
Cn ? 0<br />
0 0 0 0<br />
0 0 0 1<br />
0 0 1 0<br />
0 0 1 1<br />
0 1 0 0<br />
0 1 0 1<br />
0 1 1 0<br />
0 1 1 1<br />
1 0 0 0<br />
1 0 0 1<br />
1 0 1 0<br />
1 0 1 1<br />
1 1 0 0<br />
1 1 0 1<br />
1 1 1 0<br />
1 1 1 1<br />
4. Finda a experiência, desmonte os circuitos e reponha o equipamento e componentes<br />
aos seus respectivos lugares;<br />
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa.<br />
79
EXPERIÊNCIA 5 - CIRCUITOS MULTIPLEX E DEMULTIPLEX<br />
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os<br />
seguintes circuitos digitais:<br />
1.1 - Demultiplexador de 4 canais (74155)<br />
Data Strobe Select ___ ___ ___ ___<br />
Vcc 2C 2G A 2Y3 2Y2 2Y1 2Y0<br />
16 15 14 13 12 11 10 9<br />
DEMUX-4 (2)<br />
DEMUX-4 (1)<br />
1 2 3 4 5 6 7<br />
8<br />
Data Strobe Select ___ ___ ___ ___<br />
1C 1G B 1Y3 1Y2 1Y1 1Y0 GND<br />
1.2 - Multiplexador de 4 canais (74153)<br />
Vcc 2G A 2C3 2C2 2C1 2C0 2Y<br />
16 15 14 13 12 11 10 9<br />
MUX-4 (2)<br />
MUX-4 (1)<br />
1 2 3 4 5 6 7<br />
8<br />
1G B 1C3 1C2 1C1 1C0 1Y GND<br />
1.3 - Interconexão do mux e demux de 4 canais.<br />
I0 S E S0<br />
I1 MUX - 4 DEMUX - 4 S1<br />
I2<br />
S2<br />
I3<br />
S3<br />
A1 B1<br />
A2 B2<br />
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para<br />
as entradas;<br />
3. Organize e interprete os dados coletados na experimentação. Verifique se os<br />
valores encontrados na saída correspondem à análise teórica do circuito;<br />
4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares;<br />
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa.<br />
80
REFERÊNCIAS BIBLIOGRÁFICAS<br />
ARISTÓTELES. Metafísica. Porto Alegre: Globo, 1969.<br />
BIGNELL, J. W. e DONOVAN, R. L.. Eletrônica digital. Volumes 1 e 2, São Paulo:<br />
Makron Books, 1995<br />
BONATTI, Ivanil e MADUREIRA, Marcos. Introdução à análise e síntese de circuitos<br />
lógicos. Campinas: Editora da UNICAMP, 1990.<br />
CAPUANO, Francisco G.. Exercícios de eletrônica digital. São Paulo: Érica, 1991.<br />
CHAUI, Marilena. Convite à filosofia. São Paulo: Ática, 1995.<br />
COPI, Irving M. Introdução à lógica. São Paulo: Mestre Jou, 1978.<br />
DAGHLIAN, Jacob. Lógica e álgebra de Boole. São Paulo: Atlas, 1988.<br />
DATAPOOL. Módulo 8410: teoria e prática. Itajubá: Datapool Eletrônica.<br />
ERCEGOVA, Milos et alii. Introdução aos sistemas digitais. Porto Alegre: Bookman,<br />
2002.<br />
GIMENEZ, Salvador P. Microcontroladores 8051. São Paulo: Pearson Education, 2002.<br />
HEGENBERG, Leônidas. Lógica: o cálculo sentencial. São Paulo: Herder (USP), 1972.<br />
IDOETA, I.V. e CAPUANO, F.G. Elementos de eletrônica digital. São Paulo: Érica,<br />
1987.<br />
KNELLER, G. F. A ciência como atividade humana. Rio de Janeiro: Zahar, 1980.<br />
MALVINO, A. P. e LEACH, D. P.. Eletrônica digital: princípios e aplicações. Volumes 1<br />
e 2, São Paulo: McGraw-Hill, 1987.<br />
MELO, Mairton de Oliveira. Eletrônica digital. São Paulo: Makron Books, 1994.<br />
MENDELSON, Elliott. Álgebra booleana e circuitos de chaveamento. São Paulo:<br />
McGraw-Hill, 1977.<br />
NOLT, John e ROHATYN, Dennis. Lógica. São Paulo: McGraw-Hill, 1991.<br />
PENROSE, Roger. A mente nova do rei. Rio de Janeiro: Campus, 1991.<br />
QUINE, W. V. Filosofia da lógica. Rio de Janeiro: Zahar Editores, 1972.<br />
SANGIORGI, Osvaldo. Comunicação e Boole. São Paulo: Ciência e Cultura, 1979.<br />
SZAJNBERG, Mordka. Eletrônica digital. Rio de Janeiro: Livros Técnicos e Científicos<br />
Ltda, 1988.<br />
TOCCI, Ronald J. e WIDMER. Sistemas digitais: princípios e aplicações. Rio de<br />
Janeiro: Livros Técnicos e Científicos, 2002.<br />
WIENER, Norbert. Cibernética e sociedade. São Paulo: Cultrix, 1968.<br />
ZAPELINI, Wilson B. Aquisição de conhecimento via lógica binária: evolução e<br />
análise. Florianópolis: UFSC, 1990. Ensaio.<br />
ZILLER, Roberto M. Microprocessadores: conceitos importantes. Florianópolis: Ed. do<br />
autor, 2000.<br />
81