23.04.2014 Views

LÓGICA COMBINACIONAL - Wuala

LÓGICA COMBINACIONAL - Wuala

LÓGICA COMBINACIONAL - Wuala

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!