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