Prévia do material em texto
28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 1/15 DI2022802 2023 2 AULA07 Codificadores e Decodificadores Códigos Binários Código BCD 8421 Código excesso 3 Código 2 entre 5 Código Johnson Código 9876543210 Código Gray Códigos Alfanuméricos Código ASCII Conversor de código BCD 8421 para 9876543210 Conversor BCD 8421 para Excesso 3 Conversor BCD 8421 para Display de 7 Segmentos Implementação do conversor BCD para 7 segmentos Lista de Exercícios Referências Codificadores e Decodificadores OBJETIVOS O aluno deverá ser capaz de: Identificar codificadores e decodificadores; Diferenciar tipos de códigos digitais; e Projetar um decodificador digital. METODOLOGIA A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão mostrados e simulados exemplos de circuitos com codificadores e decodificadores, também a projeto de circuitos digitais utilizando o mapa de Karnaugh. INTRODUÇÃO Estes termos diferenciam-se por uma questão de referência dos circuitos combinacionais. O termo decodificador significa obter informação a partir de um código. O termo codificador significa gerar um código a partir de uma informação. A Figura 1 ilustra a diferença entre codificador e decodificador. Índice 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 2/15 Figura 1 - Exemplo de codificação e decodificação digital. O teclado faz o papel de um codificador, transformando a linguagem natural (conhecida) em linguagem digital. O codificador transforma essa linguagem e códigos binários para serem utilizadas no processamento. Depois do processamento, essa linguagem binária é decodificada para a linguagem natural para ser exibida num display de 7 segmentos. Resumidamente o teclado converte um número em código decimal para uma número em código binário e depois do binário para decimal para mostrar no display. Mas antes de entrarmos mais a fundo nos codificadores e decodificadores, vamos apresentar alguns códigos (linguagens) utilizados em sistemas digitais. O código binário é a forma de traduzir a necessidades de representação das informações em um sistema binário. Codificação é a solução padrão para estes casos, ou seja, cada informação pode ser associada a uma palavra binária. Dependendo a situação um código apresenta vantagens em relação a outros. Existem códigos muito difundidos para representar caracteres numéricos ou alfanuméricos tais como ASC e EBCDIC, sendo que ASC ou ASCII os mais conhecidos. A sigla BCD representa as iniciais de Binary-Coded Decimal, que significa decimal codificado em binário. Os dígitos 8421 representam o valor em decimal do correspondente dígito em binário ( ). A Tabela 1 mostra o código BCD. Códigos Binários Código BCD 8421 https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig45_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig45_DIG222802.png 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 3/15 Tabela 1 - Código BCD 8421 Decimal BCD 8421 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Este código é obtido transformando-se o número decimal no binário correspondente e somando-se três unidades a este. Exemplo Tabela 2 - Código Excesso 3 Decimal Excesso 3 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100 Código excesso 3 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 4/15 Este código sempre possui dois bits 1 dentre 5. Tabela 3 - 2 entre 5 Decimal 2 entre 5 0 00011 1 00101 2 00110 3 01001 4 01010 5 01100 6 10001 7 10010 8 10100 9 11000 Utilizado pelo contador deslocador em anel com saída invertida, conhecido como contador Johnson. Tabela 4 - Código Johnson Decimal Johnson 0 00000 1 10000 2 11000 3 11100 4 11110 5 11111 6 01111 7 00111 8 00011 9 00001 Código 2 entre 5 Código Johnson 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 5/15 Este código utiliza 10 dígitos binários para representar um dígito decimal. Notem que o bit 1 vai na posição correspondente ao dígito binário da direita para esquerda começando do 0 (zero). Tabela 5 - Código 9876543210 Decimal 9876543210 0 0000000001 1 0000000010 2 0000000100 3 0000001000 4 0000010000 5 0000100000 6 0001000000 7 0010000000 8 0100000000 9 1000000000 De todos os código estudados até aqui, esse é o mais conhecido e também o mais utilizado. Caracteriza-se pelo fato que entre um número e outro apenas um bit varia. Porém, é importante lembrar que esse código não é ponderado nem é um código aritmético, isto é, não há pesos específicos atribuídos às posições dos bits. O caráter importante do código Gray é que ele exibe só uma mudança de um bit de um número de código para o seguinte. Esta propriedade é muito importante em muitas aplicações, tais como codificadores, onde a suscetibilidade a erros se incrementa com o número de mudanças de bit em sequência entre números adjacentes. A Tabela 6 mostra o código Gray comparado ao binário. Código 9876543210 Código Gray 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 6/15 Tabela 6 - Código Gray Decimal Binário Gray 0 0000 0000 1 0001 0001 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 7/15 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 A Tabela 6 representa o código Gray de quatro bits para números decimais de 0 a 15. Como os números binários, o código Gray pode ter qualquer número de bits. Note a mudança de único bit entre os números sucessivos do código Gray. Por exemplo, lendo do decimal 3 ao 4, o código Gray muda de 0010 a 0110, enquanto a mudança binária vai de 0011 para 0100, uma mudança de três bits. Em uma única mudança, no terceiro bit da direita, origina-se o código Gray, sendo que os bits restantes permanecem iguais. Para a representação de números em sistemas digitais, existem diversos códigos como os que estudamos até agora. Porém, a linguagem moderna precisa representar os símbolos, como texto, por exemplo. Ao longo do tempo, muitos códigos foram utilizados para representar letras, números e símbolos como BAUDOT, EBCDIC, TRANSCODE e ASCII. Este último foi universalmente adotado para a maior parte dos sistemas digitais. O código ASCII (American Standart Code for Information Interchange) surgiu em 1963 é um dos códigos mais amplamente utilizados para representar informações textuais. Os caracteres do PC, e nos computadores mais modernos, ocupam um byte de 8 bits, de forma que pode haver , ou seja, 256 caracteres diferentes. A figura abaixo mostra cada um destes caracteres, e os seus códigos numéricos em decimal e respectivo valor em hexadecimal. Se observarmos mais atentamente para a tabela ASCII, veremos que ela começa com um grupo de caracteres bem estranho (os primeiros 32 caracteres, cujos códigos decimais vão de 0 a 31), seguidos por três colunas bem conhecidas: os dígitos de 0 a 9, as letras maiúsculas e minúsculas do alfabeto, e diversos sinais de pontuação. Estas quatro colunas constituem a primeira metade do conjunto de caracteres do PC, os caracteres ASCII, pois seguem um padrão universal em computadores. O ASCII propriamente dito são 128 caracteres, com códigos decimais de 0-127. Nosso conjunto de caracteres do PC tem o dobro, incluindo os códigos de 128 até 256. Em geral estes códigos maiores, que compõem a outra metade, são chamados Códigos AlfanuméricosCódigo ASCII 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 8/15 caracteres ASCII estendidos. Estritamente falando, somente na primeira metade, os códigos 0-127, há códigos ASCII, mas ouviremos frequentemente as pessoas usando o termo ASCII como conjunto estendido, ou forma padrão de bits que representa um caractere. Desta forma, permite codificar cada letra e numero num código decimal que depois é armazenado no formato binário. Um grupo de caracteres especiais A metade ASCII de nosso conjunto de caracteres tem significado e definição que vão além da família PC - é um código universal usado por muitos computadores e outros equipamentos eletrônicos. Os caracteres ASCII estendidos, no entanto, constituem uma outra justificativa. Não há regras para esta metade de 128 a 255, e estes caracteres da figura foram especialmente criados para o PC. Por causa da importância e popularidade do PC, Os caracteres ASCII estendidos são usados não só pela família PC, mas também foram adotados no conjunto de caracteres de muitos computadores, parentes distantes do PC. Estes caracteres são organizados em três grupos principais: o grupo de caracteres estrangeiros, caracteres de desenho e os caracteres científicos. A Figura 2 mostra a tabela ASCII completa e seus respectivos códigos binário, octal e Hexadecimal. Figura 2 - Tabela ASCII e conversão para outros sistemas. Caracteres ASCII comuns Os caracteres convencionais da escrita possuem códigos de 32 a 127. Embora pareça que não há muito a falar sobre estes caracteres há diversos detalhes que podem ser extraídos com o intuito do entendimento. A tabela deixa bem claro que há uma separação entre letras maiúsculas e minúsculas, que A não é a mesma coisa que a. Então, quando se usa um programa que ordene em ordem alfabética o a aparecerá depois que o A ou o Z, por exemplo. Caracteres de controle ASCII https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig46_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig46_DIG222802.png 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 9/15 Os primeiros 32 códigos no conjunto de caracteres ASCII, códigos de 0 a 31, têm um uso especial que não tem nada a ver com a aparência dos caracteres mostrados. Eles são utilizados para funções especiais de impressão e em protocolos de comunicação. Eles podem por exemplo ser utilizados para informar o final de uma linha ou final de uma página, etc. A tabela a seguir mostra estes caracteres de controle e seu significado. Resumo "A tabela ASCII existe dentro de todos os computadores do planeta terra!" Permite codificar cada letra e numero num código decimal que depois é armazenado no formato binário. Deseja-se encontrar o conversor que transforme as informações codificadas em BCD 8421 para 9876543210. A Tabela 7 mostra um processo de conversão BCD - Decimal - 9876543210. Tabela 7 - BCD - Decimal - 9876543210 BCD 8421 ABCD Decimal 9876543210 S9S8S7S6S5S4S3S2S1S0 0000 0 0 0 0 0 0 0 0 0 0 1 0001 1 0 0 0 0 0 0 0 0 1 0 0010 2 0 0 0 0 0 0 0 1 0 0 0011 3 0 0 0 0 0 0 1 0 0 0 0100 4 0 0 0 0 0 1 0 0 0 0 0101 5 0 0 0 0 1 0 0 0 0 0 0110 6 0 0 0 1 0 0 0 0 0 0 0111 7 0 0 1 0 0 0 0 0 0 0 1000 8 0 1 0 0 0 0 0 0 0 0 1001 9 1 0 0 0 0 0 0 0 0 0 1010 -- X X X X X X X X X X 1011 -- X X X X X X X X X X 1100 -- X X X X X X X X X X 1101 -- X X X X X X X X X X 1110 -- X X X X X X X X X X 1111 -- X X X X X X X X X X Conversor de código BCD 8421 para 9876543210 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 10/15 Notem que não existe representação dos números 10, 11, 12, 13, 14 e 15 no código 9876543210 e nem no código BCD 8421, mas existe representação destes números quando da utilização de 4 dígitos binários. Assim a solução consiste em não permitir a ocorrência dos números de 10 até 15 e considerar o código 9876543210 irrelevante nestas condições, o que poderá resultar na simplificação das funções. Exercício de fixação Faça a simplificação da Tabela 8 utilizando os Mapas de Karnaugh considerando dos termos irrelevantes (10 a 15) para uma melhor simplificação. Tabela 8 - Expresssões simplificadas pelo Mapa de Karnaugh ABCD S9S8S7S6S5S4S3S2S1S0 Expressão 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 A Tabela 9 mostra o processo do circuito digital conversor do código BCD 8421 para Excesso 3. Conversor BCD 8421 para Excesso 3 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 11/15 [Ocultar] Tabela 9 - BCD - Decimal - Excesso 3 BCD 8421 ABCD Decimal Excesso 3 S3S2S1S0 0000 0 0011 0001 1 0100 0010 2 0101 0011 3 0110 0100 4 0111 0101 5 1000 0110 6 1001 0111 7 1010 1000 8 1011 1001 9 1100 1010 -- XXXX 1011 -- XXXX 1100 -- XXXX 1101 -- XXXX 1110 -- XXXX 1111 -- XXXX Abaixo estão as funções simplificadas, utilizando o Mapa de Karnaugh e condições irrelevantes. Lembrando que, diferentemente da simplificação BCD - 9876543210, - onde apenas uma saída por vez era atvida, agora existem mais saídas que devem fazer parte da simplificação. Solução Este conversor é comumente chamado decodificador BCD para 7 segmentos. O display de 7 segmentos permite à escrita de números de 0 a 9 e alguns símbolos que podem ser letras ou sinais. A Figura 3 apresenta o um display de 7 segmentos com a identificação de cada um dos seus segmentos. Conversor BCD 8421 para Display de 7 Segmentos 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 12/15 Figura 3 - Display de 7 segmentos. Existem dois tipos de display de 7 segmentos: cátodo comum e ânodo comum. Para acender qualquer dos segmentos é necessário ativar o referido segmento. No caso do cátodo comum a lógica é positiva ou ativo alto, ou seja, se acende segmento colocando em nível lógico alto, como por exemplo (na lógica TTL) coloca-se: +5V. Também é preciso de um resistor limitador de corrente para que o segmento do display não queime, a corrente máxima que passa em cada segmento, deve ficar entre 10 e 20mA. Sendo um valor muito utilizado um resistor de 330 ohms para cada segmento. No caso de ânodo comum a lógica é negativa ou ativo baixo. Para se acender um dos segmentos é necessário aplicar o nível lógico baixo (0V da lógica TTL). Mas lembres-se, também é preciso fazer uso do resistor limitador de corrente sobre pena de queimar o segmento do display. A Figura 4 mostra como é a representação de cada número conforme os LEDs acessos no display de 7 segmentos. Figura 4 - Representação dos números no Display de 7 segmentos. A Tabela 10 mostra conversor do código BCD 8421 para display de 7 segmentos cátodo comum. Implementação do conversor BCD para 7 segmentos https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig47_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig47_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig48_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig48_DIG222802.png 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 13/15 [Ocultar] Tabela 10 - BCD - Decimal - 7 segmentos BCD 8421 ABCD Decimal 7 segmentos a b c d e f g 0000 0 1 1 1 1 1 1 0 0001 1 0 1 1 0 0 0 0 0010 2 1 1 0 1 1 0 1 0011 3 1 1 1 1 0 0 1 0100 4 0 1 1 0 0 1 1 0101 5 1 0 1 1 0 1 1 0110 6 0 0 1 1 1 1 1 0111 7 1 1 1 0 0 0 0 1000 8 1 1 1 1 1 1 1 1001 9 1 1 1 1 0 1 1 1010 -- X X X X X X X 1011 -- X X X X X X X 1100 -- X X X X X X X 1101 -- X X X X X X X 1110 -- X X X X X X X 1111 -- X X X X X X X As expressões simplificadas são: Solução Lista de Exercícios 1. Desenhe os circuitos lógicos para o codificador e decodificador BCD 8421 e Exesso3. 2. Projetar os seguintesconversores de código: 1. Excesso 3 para BCD 8421; 2. BCD 8421 para 2 entre 5; 3. BCD 8421 para Johnson; 4. BCD 8421 para Gray; 5. Gray para BCD 8421. 3. Desenhe o circuito do conversor BCD para 7 segmentos. 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 14/15 4. Projete o circuito do conversor BCD para 16 segmentos (de 0 a 9). Figura 5 - Display de 16 segmentos. Figura 6 - Representação dos números e alfabeto (maíusculas) no Display de 16 segmentos. Referências [1] CASAGRANDE, Jorge H. B.. Apostila: ELETRÔNICA DIGITAL 1 CAPÍTULO 3 – Circuitos Combinacionais. CEFET/SC, 2005. [2] Mapa de Veitch-Karnaugh On-line (http://32x8.com/index.html) https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig47b_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig47b_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig48b_DIG222802.png https://wiki.sj.ifsc.edu.br/index.php/Arquivo:Fig48b_DIG222802.png http://32x8.com/index.html https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA06 https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA06 https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2#Aulas https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2#Aulas https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA08 https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA08 28/11/2023, 08:05 DI2022802 2023 2 AULA07 - MediaWiki do Campus São José https://wiki.sj.ifsc.edu.br/index.php/DI2022802_2023_2_AULA07 15/15 Disponível em “https://wiki.sj.ifsc.edu.br/index.php?title=DI2022802_2023_2_AULA07&oldid=190994” Esta página foi modificada pela última vez em 11 de setembro de 2023, às 09h40min. https://wiki.sj.ifsc.edu.br/index.php?title=DI2022802_2023_2_AULA07&oldid=190994