Sistemas Digitais · Ibmec RJ

Cap. 6 — Circuitos
Codificadores e Decodificadores

leitura ~30 min Prof. Clayton J A Silva Rev 2026.1

Objetivos de aprendizagem

  • Diferenciar códigos BCD, UDC (código de Gray) e alfanuméricos (ASCII)
  • Projetar a tabela-verdade de um codificador binário
  • Compreender o funcionamento do CI CD4511 (BCD para 7 segmentos)
  • Projetar a tabela-verdade de um decodificador binário e seu sinal de enable

Códigos binários

O processo de codificação digital consiste na definição de um grupo de dígitos binários para representar um conjunto discreto de elementos. Sinteticamente, um código é uma representação simbólica de uma transformação da informação.

palavra do código

Cada palavra do código define uma representação binária inequívoca — única para cada elemento discreto. Se duas palavras distintas representam o mesmo elemento, o código é ambíguo — característica indesejável.

Existem diferentes esquemas de codificação, cada um com particularidades, vantagens e desvantagens (não discutidas aqui).

6.1.1 Código BCD (Binary Coded Decimal)

O código BCD representa os dígitos decimais. Existem vários tipos; trataremos do código 8421 BCD, também designado NBCD (Natural Binary Coded Decimal).

PalavraDecimal
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019

6.1.2 Códigos UDC (Unit Distance Code)

Em aplicações onde é desejável que, entre palavras adjacentes, apenas uma posição mude por vez, usa-se um código de distância unitária — o código UDC.

Um código UDC conhecido é o código de Gray de 4 bits:

PalavraDecimal
00000
00011
00112
00103
01104
01115
01016
01007
11008
11019
111110
111011
101012
101113
100114
100015

6.1.3 Códigos alfanuméricos

Quando os elementos discretos incluem, além dos dígitos decimais, caracteres alfabéticos e símbolos especiais, caracteriza-se um código alfanumérico.

O código ASCII (American Standard Code for Information Interchange) é o mais amplamente usado. Cada palavra possui 8 bits, mas utiliza efetivamente 7 bits para representar 128 sinais:

O bit não utilizado (8º bit) pode ser empregado de diferentes formas (por exemplo, paridade).

b4 b3 b2 b1000001010011100101110111
0000NULLDLESP0@P`p
0001SOHDC1!1AQaq
0010STXDC2"2BRbr
0011ETXDC3#3CScs
0100EOTDC4$4DTdt
0101ENQNAK%5EUeu
0110ACKSYN&6FVfv
0111BELETB'7GWgw
1000BSCAN(8HXhx
1001HTEM)9IYiy
1010LFSUB*:JZjz
1011VTESC+;K[k{
1100FFFS,<L\l|
1101CRGS-=M]m}
1110SORS.>N^n~
1111SIUS/?O_oDEL
exemplo Caractere B → 0100 0010 → 0x42 → 66 (decimal)
Cada caractere pode ser referenciado por sua representação binária e, de modo equivalente, pela representação decimal ou hexadecimal.

Circuitos codificadores

São circuitos lógicos que aceitam M entradas, em que somente uma entrada é ativada por vez, e ativam as saídas correspondentes à palavra do código de N bits que representa a entrada. A entrada ativada representa o símbolo discreto.

Circuito codificador

Fig. 6.1 — Circuito codificador típico

É necessário que $2^N \geq M$, de modo que todos os elementos discretos de entrada sejam representados sem ambiguidade.

Um codificador binário de 8 bits pode ter o comportamento representado pela tabela-verdade:

A7A6A5A4A3A2A1A0O2O1O0
00000001000
00000010001
00000100010
00001000011
00010000100
00100000101
01000000110
10000001111

As entradas são $A_7A_6A_5A_4A_3A_2A_1A_0$; as saídas são $O_2O_1O_0$. A tabela sugere que pelo menos uma entrada sempre estará ativada: a entrada $A_j$ ativada implica a palavra binária de 3 bits equivalente ao decimal j.

Dependendo do projeto, o codificador também pode definir palavras relacionadas a outra combinação binária própria das entradas.

Exemplo: CD4511B

Um exemplo típico é o CD4511B — CI com 4 bits de entradas lógicas e 7 bits de saídas lógicas. Funcionalmente, converte as entradas ABCD de um código BCD para as saídas associadas a um display de 7 segmentos.

O display de 7 segmentos é o encapsulamento de 7 LEDs, identificados pelas letras a, b, c, d, e, f, g, que formam caracteres alfanuméricos quando ativados:

a
b
c
d
e
f
g
Display de 7 segmentos

Fig. 6.2 — Display de 7 segmentos

Circuito decoder-display

Fig. 6.3 — Esquema elétrico da conexão decoder-display

O CD4511 também possui entradas de controle que influenciam a palavra gerada na saída.

nomenclatura do datasheet

Embora o datasheet trate o CD4511 como BCD-to-7-Segment Decoder, ele satisfaz exatamente a definição de codificador apresentada aqui — realiza de fato a decodificação do código BCD e a codificação para o código de 7 segmentos.

Circuitos decodificadores (decoders)

Realizando a operação inversa dos codificadores, os decoders são circuitos lógicos que aceitam N entradas de um código, cada combinação representando uma palavra, e ativam somente uma das M saídas correspondente ao elemento associado àquela palavra.

Circuito decodificador

Fig. 6.4 — Circuito decodificador típico

Um decodificador binário de 3 bits pode ter o comportamento representado pela tabela-verdade:

CBAO7O6O5O4O3O2O1O0
00000000001
00100010010
01000100100
01101001000
10010010000
10100100000
11001000000
11110000000

Como já visto no CD4511, os circuitos integrados operam não somente com sinais lógicos, mas também com sinais de controle:

Sinal de controle - enable

Fig. 6.5 — Sinal de controle (enable)

sinal de enable

O sinal de controle é chamado de enable. Normalmente habilita ou desabilita o circuito para realizar a função para a qual foi projetado.

O esquema geral de um decoder BCD produzindo saída decimal:

Decoder BCD-decimal

Fig. 6.6 — Decoder BCD-decimal

Diferentemente da tabela-verdade anterior, nem todas as combinações de entrada ativam uma saída — somente as palavras binárias válidas do código BCD ativam saída.

Datasheets de referência

Teste seus conhecimentos

? Pergunta 1 de 3

No código de Gray, o que caracteriza a "distância unitária" entre palavras adjacentes?

? Pergunta 2 de 3

Em um circuito codificador com M entradas e N bits de saída, qual condição deve ser satisfeita?

? Pergunta 3 de 3

Qual é a função do sinal de enable em um decoder?

Para ir além

← anteriorCap. 5 — Circuitos Comparadores