Murilo Soares Pereira, RA: 298468 Pedro Henrique de Freitas, RA: 321443 Experimento 03 Circuito Decodificador e Multiplex Prof. Takashi Utsonomiya Universidade Federal de São Carlos São Carlos - SP
Sumário 1 Resumo p. 4 2 Objetivos p. 5 3 Componentes p. 6 4 Introdução Teórica p. 7 4.1 Códigos Binários............................... p. 7 4.1.1 Decimal Codificado em Binário................... p. 7 4.1.2 Código BCD 8421........................... p. 8 4.1.3 Conversão Decimal para BCD.................... p. 9 4.1.4 Conversão BCD para Decimal.................... p. 11 4.2 Display de 7 segmentos............................ p. 11 4.2.1 Decodificador para display de 7 segmentos............. p. 13 4.3 Multiplexador................................. p. 16 4.3.1 Aplicações de Mux.......................... p. 16 5 Procedimento Experimental p. 17 5.1 Primeira parte do Experimento....................... p. 17 5.2 Segunda Parte do Experimento....................... p. 21
6 Tarefas p. 26 6.1 Mapa de Karnaugh para todas as letras do Display de 7 Segmentos... p. 26 6.2 Display de 7 Segmentos com 2 Dígitos................... p. 28 6.3 Implementação de Subtrator Completo utilizando Multiplex....... p. 29 6.3.1 Subtrator utilizando Mux 4x1.................... p. 29 7 Conclusões p. 32 8 Bibliografia p. 33
4 1 Resumo No primeira parte do terceiro experimento da disciplina de Laboratorio de Circuitos Digitais, foi utilizado um decodificador de 7 segmentos - no caso, um decodificador 74LS48 - o qual convertia um numero em formato de codigo BCD, para uma saida que podia ser interpretada como um numero decimal, atraves de um display que acende seus filamentos. Quando combinados de diferentes maneiras, os filamentos exibiram numeros interpretados no codigo decimal.
5 2 Objetivos No terceiro experimento foram analisados o comportamento de um decodificador de 7 segmentos utilizando um componente (decodificador 74LS48) e um display (PHO500) de exibição de números decimais. Na segunda parte do experimento, realizado uma semana depois, foi analisado o comportamento de um multiplex (74LS153) e como implementar um somador completo utilizando este componente.
6 3 Componentes Prot-o-board Circuito integrado (74LS48) Componente (display PHO500) Fios Alicate Multímetro Fonte de alimentação
7 4 Introdução Teórica 4.1 Códigos Binários A conversão de um número decimal no seu equivalente binário é chamada codificação. Um número decimal é expresso como um código binário ou número binário. O sistema numérico binário, como apresentado, é conhecido como código binário puro. Este nome o diferencia de outros tipos de códigos binários. 4.1.1 Decimal Codificado em Binário O sistema numérico decimal é fácil de se usar devido à familiaridade. Já o sistema numérico binário é menos conveniente de se usar, pois nos é menos familiar.. Por exemplo, o número binário 1010011 representa o número decimal 83. É difícil dizer imediatamente, por inspeção do número, qual seu valor decimal. Entretanto, em alguns minutos, usando os procedimentos de conversão de base, pode-se calcular o seu valor decimal. A quantidade de tempo necessária para converter ou reconhecer um número binário é uma desvantagem em trabalhar com este código, a despeito das numerosas vantagens do ponto de vista de trabalhar com hardware. Os engenheiros reconheceram este problema cedo, e desenvolveram uma forma especial de código binário mais compatível com o sistema decimal. Como uma grande quantidade de dispositivos digitais, instrumentos e equipamentos usam entradas e saídas decimais, este código especial tornou-se muito difundido e utilizado. Esse código especial é chamado decimal codificado em binário (BCD - binary coded decimal). O código BCD combina algumas das características dos sistemas numéricos binário e decimais.
8 4.1.2 Código BCD 8421 O código BCD é um sistema de representação dos dígitos decimais de 0 a 9 com um código binário de 4 bits. Esse código BCD usa o sistema de pesos posicionais 8421 do código binário puro. O usual código 8421 BCD e os equivalentes decimais são mostrados na tabela abaixo, onde representamos os decimais de 0 a 9 (1 dígito). Exatamente como binário puro, pode-se converter os números BCD em seus equivalentes decimais simplesmente somando os pesos das posições de bits onde aparece 1. Decimal BCD 8421 Binário 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 9 1001 1001 Tabela 4.1: Decimal, BCD, Binário Observamos, entretanto, que existem apenas dez códigos válidos. Os números binários de 4 bits representando os números decimais desde 10 até 15 são inválidos no sistema BCD. Para representar um número decimal em notação BCD substitui-se cada dígito decimal pelo código de 4 bits apropriados. Por exemplo, o inteiro decimal 834 em BCD é 1000 0011 0100. Cada dígito decimal é representado pelo seu código BCD 8421 equivalente. Um espaço pode ser deixado entre cada grupo de 4 bits para evitar confusão do formato BCD com o código binário puro. Este método de representação também se aplica às frações decimais. Por exemplo, a fração decimal 0,764 é 0.0111 0110 0100 em BCD. Novamente, cada
9 dígito decimal é representado pelo seu código equivalente 8421, com um espaço entre cada grupo. Uma vantagem do código BCD é que as dez combinações do código BCD são fáceis de lembrar. Conforme se começa a trabalhar com números binários regularmente, os números BCD tornam-se tão fáceis e automáticos como números decimais. Por esta razão, por simples inspeção da representação BCD de um número decimal pode-se efetuar a conversão quase tão rápido como se já estivesse na forma decimal. O código BCD simplifica a interface Homem-máquina, mas é menos eficiente que o código binário puro, pelo motivo de usar mais bits para representar um dado número decimal em BCD em relação à representação em notação binária pura. Por exemplo, o número decimal 83 é escrito como 1000 0011. Em código binário puro, usam-se apenas 7 bits para representar o número 83. Em BCD, usam-se 8 bits. O código BCD é ineficiente, pois, para cada bit numa palavra de dado, há usualmente alguns circuitos digitais associados. Os circuitos extras associados com o código BCD aumentam o preço, a complexidade do equipamento e consomem mais energia. Operações aritméticas com números BCD também consomem mais tempo e são mais complexas que aquelas com números binários puros. Com quatro bits de informação binária, podemos representar um total de 24 = 16 estados diferentes ou os números decimais equivalentes desde o 0 ao 15. No sistema BCD, seis destes estados (10-15) são desperdiçados. Quando o sistema numérico BCD é usado, alguma eficiência é perdida, mas aumenta-se o entendimento entre o equipamento digital e o operador humano. 4.1.3 Conversão Decimal para BCD A conversão de decimal para BCD é simples e direta. Entretanto, a conversão de binário para BCD não é direta. Uma conversão intermediária deve ser realizada primeiro. Por exemplo, o número 1011.01 é convertido no seu equivalente BCD. Primeiro o número binário é convertido para decimal. 1011.01 2 = (1x2 3 ) + (0x2 2 ) + (1x2 1 ) + (1x2 0 ) + (0x2 1 ) + (1x2 2 ) = 8 + 0 + 2 + 1 + 0 + 0,25 = 11,25 10 Então o resultado decimal é convertido para BCD. 11,25 10 = 00010001.00100101 2
10 Para converter de BCD para binário, as operações anteriores são invertidas. Por exemplo, o número BCD 1001 0110.0110 0010 0101 é convertido no seu equivalente binário. 1. o número BCD é convertido para decimal. 1001 0110.0110 0010 0101 = 96,625 2. o resultado decimal é convertido para binário Vários códigos binários são chamados códigos alfanuméricos pois eles são usados para representar caracteres assim como números. Figura 4.1: Codificador decimal para BCD Figura 4.2: Esquema interno do codificador
11 4.1.4 Conversão BCD para Decimal É o contrário do processo de conversão de Decimal para BCD Figura 4.3: Esquema interno do codificador 4.2 Display de 7 segmentos Um display de 7 segmentos é um dispositivo eletrônico bastante usado para indicação de valores numéricos. Ele mostra ao usuário de um sistema digital um algarismo decimal de 0 a 9, conforme a figura abaixo:
12 Figura 4.4: Formato de um display de 7 segmentos mostrando a localização de cada um dos segmentos (a, b, c, d, e, f, g) Desde que ele pode indicar dígitos de 0 a 9 (10 no total), a informação binária precisa ter 4 dígitos binários, pois com apenas 3, só 8 valores poderiam ser exibidos. Os displays de 7 segmentos podem ser do tipo ânodo comum, onde todos os ânodos são ligados juntos (fig. 4.5), ou do tipo cátodo comum, onde todos os cátodos são ligados juntos (fig. 4.6). Com o tipo de ânodo comum da figura 4.5, deve-se ligar um resistor limitador de corrente entre cada LED e o terra. O valor desse resistor determina quanta corrente flue através do LED (a corrente típica do LED está entre 1mA e 50mA) O tipo cátodo comum da figura 4.6 usa um resistor limitador de corrente entre cada LED e +Vcc. Figura 4.5: Ânodo comum
13 Figura 4.6: Cátodo comum 4.2.1 Decodificador para display de 7 segmentos Deve-se saber que a informação binária não tem necessariamente relação com o número binário que ela representa. Por exemplo, para a combinação 0 da tabela mostrada abaixo a b c d e f g ficam 1111110. Esse número binário não é igual ao dígito correspondente no display (que seria o 0). Isto é, na realidade, um código para o display de sete segmentos. O circuito lógico que converte a entrada para o código é chamado decodificador. A própria entrada de 4 bits ABCD, que tem relação direta com o valor decimal, é também chamada de código BCD. (tabela ABCDEFG). Um decodificador para display de 7 segmentos é um circuito digital formado por portas lógicas que, ao receber uma palavra binária de 4 bits representativa do algarismo a ser mostrado, aciona os segmentos correspondentes no display, conforme mostra a figura abaixo: Figura 4.7: Interligação de um decodificador para display de 7 segmentos com o display
14 Há dois tipos de decodificadores correspondendo aos displays de ânodo comum e cátodo comum. Cada decodificador tem 4 pinos de entrada (entrada em código BCD) e 7 pinos de saída (os segmentos de A a G). A figura 4.8 mostra um 7446 acionando um indicador de ânodo comum. Os circuitos lógicos internos do 7446 convertem a entrada BCD para a saída necessária. Por exemplo, se a entrada BCD é 0111, a lógica interna do 7446 irá forçar os LED s a, b, e c a conduzirem, porque os correspondentes transístores entram em saturação. Como resultado, o dígito 7 aparecerá no display de 7 segmentos. Figura 4.8: Decodificador-acionador 7446 acionando um indicador de ânodo comum Observe os resistores limitadores de corrente entre o display de 7 segmentos e o 7446 da figura 4.8. Deve-se ligar esses resistores externos para limitar a corrente em cada segmento
15 a um valor seguro entre 1mA e 50mA, dependendo da intensidade do brilho que desejamos que o display apresente. A figura 4.9 mostra a decodificação alternativa. Nela, um 7448 aciona um indicador de cátodo comum. Novamente, a lógica converte a entrada BCD para a saída necessária. Por exemplo, quando é usada uma entrada BCD igual a 0100, a lógica interna força os LED s b, c, f e g a conduzirem. O display de 7 segmentos mostra, então, o número decimal 4. Ao contrário do 7446, que necessita resistores limitadores de corrente externos, o 7448 tem seus próprios resistores limitadores de corrente na pastilha. Figura 4.9: Decodificador 7448 acionando um cátodo comum
16 4.3 Multiplexador Basicamente, o multiplexador (também conhecido por Mux) é composto por várias linhas de entrada e uma única linha de saída, e entre eles uma chave que varia a entrada ocasionando várias respostas. Cada entrada tem seu nível lógico ou sinal próprio. A chave é controlável, sendo assim o controle determina qual será a linha de entrada escolhida. Pode-se implementar um multiplexador com portas lógicas, tendo em vista que através da chave se habilita ou não uma porta. O número de entradas sempre equivale a 2n, no qual n é o número de chaves do Mux. Figura 4.10: Exemplo de Mux (8x1) Um multiplexador pode se comportar como um gerador de funções, pois tendo várias entradas, nós podemos colocar várias funções, uma em cada linha, assim alternando a chave em função do tempo, nós conseguiríamos ter funções específicas, de acordo com a entrada. 4.3.1 Aplicações de Mux Na vida real, observamos várias situações análogas ao multiplexador. Entre eles estão o semáforo de 3 tempos, que seleciona quem deve passar a cada instante. Várias filas de carros que se afunilam para atravessar uma ponte onde só é possível passar um carro por vez.
17 5 Procedimento Experimental 5.1 Primeira parte do Experimento Nos foi explicado o funcionamento básico de um display de 7 segmentos. Ele pediu-nos que colocássemos o circuito integrado 74LS48 na prot-o-board. Assim, implementamos o circuito esquematizado abaixo: Figura 5.1: Circuito integrado 74LS48 B, C, D, A correspondem às entradas do número BCD (binários de 0 a 9) F, g, a, b,c, d, e correspondem aos segmentos do display em catodo comum
18 RBI (Ripple-blanking input) quando em nível baixo, indica que o zero é suprimido. Utilizado para a representação de números com casas decimais (casas depois do ponto do PHO500) RBO /BI (Ripple-blanking output)/ (Blanking input) pode ser interpretado como a saída RBO ou como a entrada BI. Como pino de saída, indica, quando em nível baixo, que o dígito atual teve um zero suprimido. Se este pino estiver em nível baixo, todos os segmentos serão apagados LT, denominado Light Test, testa se os filamentos estão funcionando corretamente. Quando seu sinal é baixo, todas as saídas são altas (os LEDs acendem)
19 Entradas BI/ Saídas LT RBI D C B A RBO a b c d e f g 0 H H L L L L H H H H H H H L 1 H X L L L H H L H H L L L L 2 H X L L H L H H H L H H L H 3 H X L L H H H H H H H L L H 4 H X L H L L H L H H L L H H 5 H X L H L H H H L H H L H H 6 H X L H H L H L L H H H H H 7 H X L H H H H H H H L L L L 8 H X H L L L H H H H H H H H 9 H X H L L H H H H H L L H H 10 H X H L H L H L L L H H L H 11 H X H L H H H L L H H L L H 12 H X H H L L H L H L L L H H 13 H X H H L H H H L L H L H H 14 H X H H H L H L L L H H H H 15 H X H H H H H L L L L L L L BI H H X X X L L L L L L L L L RBI H L L L L H L L L L L L L L LT L X X X X H H H H H H H H H Tabela 5.1: Tabela de entradas e saídas (H: nível alto, L: nível baixo, X: irrelevante) Iniciamos o experimento com o decodificador de 7 segmentos, utilizando como saída os LEDs da prot-o-board para testar as saídas. A partir disso, é testado o display. Apresentamos o resultado ao professor e explicamos as propriedades acima. O próximo passo foi o estudo do display de 7 segmentos (circuito integrado PHO500), que também foi incluído em nossa prot-o-board, como esquematizado a seguir:
20 Figura 5.2: Implementação do display de 7 segmentos Para que as saídas do display (a, b, c, d, e) possam ser ativadas, são necessários que RBI, LT e BI/RBO estejam em Vcc. Mostramos ao professor todas as numerações que tal display podia exibir (0 a 9) alternando-se as chaves B, C, D, A. A tabela abaixo mostra as combinações necessárias para gerar os dígitos decimais de 0 a 9 dos filamentos do display.
21 Decimal a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 1 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 1 1 1 1 0 1 1 Tabela 5.2: Display de 7 segmentos (0: filamento apagado, 1: filamento aceso) 5.2 Segunda Parte do Experimento A segunda parte do experimento descrito neste relatório refere-se ao Multiplexador e suas propriedades. O professor explicou-nos os fundamentos de um multiplexador e suas aplicações. Foinos entregue o circuito integrado 74LS153 (Multiplexador) com a finalidade de testar o seu funcionamento correto. Analizamos seu funcionamento e verificamos que o Strobe, localizado no pino 1, tem a função de ativar ou desativar o multiplex. Isso pode ser verificado na tabela abaixo, uma vez que, quando o nível do Strobe é alto, a entrada de dados e a seleção de entradas torna-se irrelevante, e a saída de dados tem sempre nível baixo.
22 Figura 5.3: Circuito integrado 74LS153 Seleção de entradas Entrada de dados Strobe Saída de dados B A C3 C2 C1 C0 G Y X X X X X X H L L L X X X L L L L L X X X H L H L H X X L X L L L H X X H X L H H L X L X X L L H L X H X X L H H H L X X X L L H H H X X X L H Tabela 5.3: Tabela de entradas e saídas (H: 5V, L: 0V, X: irrelevante) Apresentamos os resultados ao professor e discutimos a propriedade do Strobe, citada acima. A próxima etapa foi a implementeção de um somador utilizando um multiplex e uma porta inversora (74LS04).
23 Soma = A XOR B XOR Vem-Um Vem-um / BA 0 1 11 10 0 0 1 0 1 1 0 0 1 0 Tabela 5.4: Mapa de Karnaugh para Soma Vai-Um = A.B + A.Vem-Um + B.Vem-Um Vem-um / BA 0 1 11 10 0 0 0 1 0 1 0 1 1 1 Tabela 5.5: Mapa de Karnaugh para o Vai-Um Entradas Saídas B A Vem-Um Soma Vai-Um 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Tabela 5.6: Entradas e saídas Soma : 1C 0 = 1C 3 = Vem Um 1C 1 = 1C 2 = Vem Um Barrado Vai Um = 2C 0 = 0V 2C 1 = 2C 2 = Vem Um
24 2C 3 = VCC Analisando a tabela verdade, pode-se observar que as entradas A e B mantêm os mesmos valores quando o Vem-Um é alterado. Logo, é possível impor o Vem-Um como a entrada dos multiplexadores, as entradas A e B como controle, e, assim, obtemos as saídas do multiplex. O esquema abaixo mostra um somador completo simplificado utilizando dois multiplexadores: Figura 5.4: Somador com 2 multiplex
25 A implementação do somador utilizando dois multiplexadores e uma porta inversora foi feita de acordo com o esquema abaixo: Figura 5.5: Diagrama esquemático do somador utilizando 2 multiplex
26 6 Tarefas 6.1 Mapa de Karnaugh para todas as letras do Display de 7 Segmentos A(D, C, B, A) = (C + B + A). (D + C + B + A) BA/DC 00 01 11 10 00 1 0 x 1 01 0 1 x 1 11 1 1 x x 10 1 1 x x Tabela 6.1: Mapa para a letra a B(D, C, B, A) = (C + B + A). (C + B + A) BA/DC 00 01 11 10 00 1 1 x 1 01 1 0 x 1 11 1 1 x x 10 1 0 x x Tabela 6.2: Mapa para a letra b
27 C(D, C, B, A) = (C + B + A). (B + A) BA/DC 00 01 11 10 00 1 1 x 1 01 1 0 x 1 11 1 1 x x 10 0 0 x x Tabela 6.3: Mapa para a letra c D(D, C, B, A) = (C + A + B). (C + B + A ). (C + B + A ). (D + A ) BA/DC 00 01 11 10 00 1 0 x 1 01 0 1 x 0 11 1 0 x x 10 1 1 x x Tabela 6.4: Mapa para a letra d E(D, C, B, A) = (C + B). (D + A ). (D + A ) BA/DC 00 01 11 10 00 1 0 x 1 01 0 x 0 0 11 0 x x x 10 1 1 x x Tabela 6.5: Mapa para a letra e
28 F(D, C, B, A) = (D + C + A ). (D + C + B ). (B + A ) BA/DC 00 01 11 10 00 1 1 x 1 01 0 1 x 1 11 0 0 x x 10 0 1 x x Tabela 6.6: Mapa para a letra f 6.2 Display de 7 Segmentos com 2 Dígitos Para realizarmos tal tarefa, basta dispormos de 4 componentes: 2 circuitos 74LS48 e mais 2 circuitos PHO500. Como queremos exibir 2 dígitos, o display da esquerda (dezenas) não poderá exibir o número 0. Para tanto, acrescentarmos uma porta NOT à entrada BI. Figura 6.1: Display da esquerda
29 Figura 6.2: Display da direita 6.3 Implementação de Subtrator Completo utilizando Multiplex 6.3.1 Subtrator utilizando Mux 4x1 Para produzir um subtrator completo a partir de multiplexadores, devemos primeiramente analisar a tabela verdade deste.
30 B A Empresta-Um Subtração Deve-Um 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 Tabela 6.7: Tabela-verdade da operação subtração Separamos então a coluna do empresta-um e agrupamos em pares, comparando os pares de saída com os do empresta-um, como a seguir. B A Empresta-Um Subtração Deve-Um 0 0 0 0 (E-1) 0 (E-1) 0 0 1 1 1 0 1 0 1 (E-1) 1 (1) 0 1 1 0 1 1 0 0 1 (E-1) 0 (0) 1 0 1 0 0 1 1 0 0 (E-1) 0 (E-1) 1 1 1 1 1 Verificamos que as entradas são as seguintes: Empresta-um: 1E0, 1E3, 2E0, 2E3 Empresta-um : 1E1, 1E2 Vcc: 2E1
31 GND: 2E2 A partir disso, montamos o seguinte esquema do circuito: Figura 6.3: Subtrator utilizando Mux (4x1)
32 7 Conclusões Os objetivos do experimento em questão foram alcançados. Além de estudarmos o código BCD, efetuamos a sua implementação e percebemos que o seu funcionamento é mais intuitivo em relação ao código binário, o que facilita a interação homem-máquina. O código BCD foi decodificado para o display de 7 segmentos e pudemos verificar o funcionamento deste dispositivo. Vimos, também, as diversas aplicações de um multiplex em nossas vidas. O multiplex também facilitou a implementação de um somador completo, já estudado anteriormente. Tal fato também se verificou ao subtrator.
33 8 Bibliografia MALVINO e LEACH. Eletrônica Digital: Princípios e Aplicações. TOCCI, WIDMER E MOSS. Sistemas Digitais: Princípios e Aplicações. www.ee.pucrs.br www2.eletronica.org www.inf.ufrgs.br