13 janeiro 2016

Eletrônica Digital: Código BCD, Gray e ASCII

No tutorial anterior falei sobre a conversão de um número de um sistema de numeração para o outro e também sobre faixa de contagem. Neste tutorial falarei sobre tabelas e códigos BCD, Gray e ASCII.


Código BCD

O código BCD foi criado para codificar os números decimais de 0 a 9, com 4 bits para cada dígito, ou seja, o BCD é a conversão dos decimais em um número binário de 4 bits. Porém, com 4 bits podemos contar de 0 a 15 em um total de 16 valores diferentes. Mas, o BCD é a conversão de números decimais que possui 10 símbolos (0 a 9). Isso significa que no BCD é usado apenas os dez primeiros dígitos e o restante é adotado como erro.

A seguir uma tabela do código BCD.

Figura 1 - Tabela de comparação com o código BCD.

Uma observação muito importante é que o código BCD não representa um número em binário puro, ou seja, o código binário puro é obtido a partir da conversão do decimal completo para binário. No código BCD, cada dígito decimal é convertido individualmente em binário. Observe o exemplo a seguir para compreender esse procedimento.

Figura 2 - Dígito BCD comparado ao binário puro.

Pelo exemplo acima vê-se claramente a diferença do binário puro e o número decimal em BCD. Isso é muito útil para diferenciar nas conversões de números binários puros e os números em BCD.

Mais adiante veremos que a codificação em BCD será muito útil ao utilizarmos display de 7 segmentos, pois com a combinação dos bits de entrada formaremos os números apresentados pelo display.


Código Gray

O código Gray é um  código elaborado para evitar erros de interpretação em circuitos digitais, ou seja, para evitar que na mudança de números ocorra erros de interpretação. Este código aparentemente simples utiliza-se de uma estratégia interessante, é usada a variação de um único bit do número por vez, ao contrário do código BCD. Observe na tabela a seguir como todo procedimento é feito.

Figura 3 - Tabela com código Gray.

O código Gray tem uma aplicação prática muito interessante, ele é comumente utilizado em codificadores de posição, os famosos encoders. Geralmente acoplados à eixos de peças girantes como o rotor de um motor.

Observando a tabela é possível compreender o código Gray, aparentemente ele parece ser complexo, porém com prática vemos sua importante diferença ao código BCD.

Código ASCII

O código ASCII é um código alfanumérico utilizado para troca de informações entre dispositivos eletrônicos, também chamado de Código Padrão Americano Para Troca de Informações (ASCII). O código possui 7 bits com um total de 2^7 = 128 representações codificadas. 

A princípio sua grande aplicação está em dispositivos (nossos eletrônicos) que trabalham e codificam textos. Sua origem data do ano de 1960 e esta é a base para muitas outras codificações existentes por aí.

Infelizmente não é viável apresentar toda tabela ASCII aqui no blog, porém basta acessar este link e você verá toda a tabela e a codificação em binário, decimal, octal e hexadecimal dos caracteres. Além de muita informação a respeito do assunto.

Ao todo as 128 representações estão divididas em: 95 sinais gráficos (letras do alfabeto, sinais matemáticos) e 33 sinais de controle.

Para o próximo tutorial apresentarei mais dois novos assuntos, display de 7 segmentos e detecção de erros. Pode parecer chato esta quantidade de teoria, porém ela é indispensável quando se trata de eletrônica digital e para que no fim não nos reste muitas dúvidas.

Se você gostou deste tutorial, compartilhe em suas redes sociais com seus amigos, curta nossa página no Facebook, assim você ajuda o blog Eletrônica de Garagem a alcançar um público maior e mais pessoas ficaram conhecendo nosso trabalho.

Dúvidas, já sabe né? deixe seu comentário.

Até o próximo tutorial!

Referência bibliográfica:


TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: Princípios e Aplicações. 10 ed. São Paulo: Pearson Prentice Hall, 2008. 804 p

10 comentários

Muito bom trabalho, parabéns!

valeu mano esta ajudando bastante sou engengeiro senior em informatica

Muito bom! Tutorial simples e conciso!!!

Muito obrigado. Me foi muito util.

Muito bom! Sou estudante de eletrônica do Senai e estamos estudando esses códigos... Obrigado amigo!


EmoticonEmoticon