1
Universidade Federal do ABC
Prof. Rodrigo Reina Muñoz
Aula 7: Codificadores e Decodificadores
Eletrônica Digital
Códigos
• Sistemas digitais trabalham com informações que devem ser codificadas. Calculadora Numérica
Computadores Alfanumérica
• Sistemas Digitais não trabalham com números ou letras, mas sim com códigos binários (2 níveis lógicos para representar qualquer informação).
• Um número decimal codificado pelo seu binário equivalente está
codificado em binário puro. Ex. (9)10 = (1001)2.
• Dependendo da aplicação e complexidade da conversão entre decimal e binário, alguns códigos são constantemente utilizados na área de
3
Códigos (cont.)
Código BCD – Decimal Codificado em Binário
• Cada digito de um número decimal é representado por seu equivalente em binário.
Exemplo: 25010 = 111110102 25010 = 0010 0101 0000 BCD
• Código de 4 bits que representa números de 0 a 9 no sistema binário.
1010,1011,.... inválido 10,11,... 1001 1001 9 : : : 0001 0001 1 0000 0000 0 Binário BCD Decimal
Converta os números a seguir:
157010 = ? BCD
1001001BCD = ?10 (forme grupos de 4 bits).
Observações:
• O BCD é pouco eficiente, porque usa mais bits na conversão; • O BCD é de fácil conversão, fato importante para o hardware. • BCD não é o mesmo que binário puro.
Códigos (cont.)
Código Gray
• Variação de um 1 bit entre números subsequentes (adjacência). - Maior confiabilidade.
• Útil para representar grandezas analógicas.
0 0 1 1 1 1 7 1 0 1 0 1 1 6 1 1 1 1 0 1 5 0 1 1 0 0 1 4 0 1 0 1 1 0 3 1 1 0 0 1 0 2 1 0 0 1 0 0 1 0 0 0 0 0 0 0 G0 G1 G2 B0 B1 B2 D Binário Gray Gray Binário
5
Códigos (cont.)
Exemplo de aplicação do código Gray
- Codificadores de rotação de eixo;
- Produz um valor binário que representa a rotação de um eixo; - Na prática, são usados mais de três bits, dividindo a rotação em
Representação de Números em Complemento
Complemento é a diferença entre cada algarismo do número e o maior
algarismo possível na base. Uma vantagem da utilização da representação em complemento é que a subtração entre dois números pode ser substituída pela sua soma em complemento.
Representação de números negativos em complemento a (base - 1)
A representação dos números inteiros negativos é obtida efetuando-se: (base - 1) menos cada algarismo do número.
Exemplo:
Calcular o complemento a (base - 1) do número 29710.
Se a base é 10, então 10-1 = 9, e o complemento a (base -1) será igual a complemento a 9.
Assim, o complemento a 9 do número 297 é: 999
Representação de Números em Complemento
Caso Particular: Números na
Base 2 (Complemento a 1)
Para se obter o
complemento a 1
de um número binário,
devemos subtrair cada algarismo de 1.
Uma particularidade
dos números binários é que, para efetuar esta operação, basta
inverter todos os bits.
Exemplo: Calcular o complemento a 1 (C1) do número binário
0011 com 4 dígitos.
1 1 1 1 - 0 0 1 1 1 1 0 0
Códigos (cont.)
Código Excesso 3
- Facilita a subtração no sistema binário - Corresponde ao BCD + 3 (0011) 0111 4 0110 3 0101 2 0100 1 0011 0 Excesso 3 Decimal 1100 9 1011 8 1010 7 1001 6 1000 5 Excesso 3 Decimal Observações:
- Quando se inverte o código de um número decimal, chega-se ao
código do complemento de nove deste número.
9
Códigos (cont.)
020 985 005 1 006 = +6 014 979 993 = - 6 006 = +6 –14+20 =+6 +14 – 20 = – 6 1- Complementa-se cada dígito com relação ao 9;
- Recicla-se o vai-um;
- Se resultado negativo, então está em complemento de 9.
+ + 0111 4 0110 3 0101 2 0100 1 0011 0 Excesso 3 Decimal 1100 9 1011 8 1010 7 1001 6 1000 5 Excesso 3 Decimal
• Com 3 dígitos a representação do número + 54 = 054 e – 54 = 945. • Verificar que (0 +) e (9 –)
Códigos (cont.)
Código ASCII
(Código Padrão Americano para Troca de Informações)
Criado para padronizar a troca de informações entre computador e seus periféricos;
Exemplo
- Computador Computador; - Computador Impressora.
Composto por 7 (8) bits que codificam: números, letras, símbolos matemáticos, sinais de controle, etc;
Utiliza páginas de código: Tabelas alternativas com conjunto de códigos especiais (p.ex. alf. grego).
11
Códigos (cont.)
- Formação do código: B6 B5 B4 B3 B2 B1 B0;
- Pressionando-se a tecla M do teclado do computador, internamente é gerado o código (1001101);
- Pressionando-se a barra de “espaço” (SP) do teclado, internamente é gerado o código (0100000).
Decodificadores
- Um decodificador binário completo é um módulo que tem n entradas e 2n saídas;
- A cada instante uma única saída é ativada;
- Recebe em sua entrada um código binário e na saída identifica o código recebido.
• Em alguns casos as saídas são ativas em nível baixo. • Neste caso as saídas
possuem inversores
• No caso de um decodificador BCD para decimal, existem apenas 10 saídas (0 a 9) para os 4 bits de entrada.
13 S0 S3 S2 S1 A1 A0 E 1 0 0 0 1 1 1 0 0 0 0 S3 1 0 0 0 S2 0 1 0 0 S1 0 1 0 X A0 1 0 0 X A1 0 1 0 1 1 1 0 0 S0 E Saída Entrada 2 x 4
Decodificadores (cont.)
Exemplo: Monte o circuito lógico que implementa o decodificador de
2 para 4(ou 1 de 4) apresentado a seguir:
Analogamente: Um decodificador de 8 bits deveria possuir 8 entradas
(para o código) e 256 saídas(uma para cada combinação de entrada). Dado um valor na entrada, existem 255 saídas inativas para apenas 1 saída ativa.
• A entrada enable (E) é utilizada para controlar a operação do decodificador e pode ser ativa em nível baixo ou alto.
Decodificadores (cont.)
• Um decodificador 3 para 8 pode ser construído associando-se
dois decodificadores 2 para 4.
1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 S7 0 0 0 0 0 S6 0 0 1 0 0 S2 0 0 0 1 0 S1 0 1 0 1 0 E0 0 1 0 0 0 1 0 0 0 0 S5 0 0 0 0 S4 1 0 0 0 S3 1 1 0 0 E1 E2 0 0 0 0 0 0 1 0 S0 Saída Entrada S0 S3 S2 S1 A1 A0 E S0 S3 S2 S1 A1 A0 E S0 S1 S2 S3 S4 S6 S7 S5 E0 E1 E2 E0 E1
15
Decodificadores (cont.)
• A implementação direta de um decodificador de 3 para 8 (ou 1 de 8) é apresentada na sequência.
Obs: Somente 1 de 8 saídas está
Decodificadores (cont.)
• O circuito lógico do decodificador 74ALS138 é apresentado a seguir:
Observações:
• Apesar da porta AND estar fora do bloco, ela faz parte do circuito interno do CI; • As saídas são ativas em nível baixo;
• As entradas E1’, E2’ e E3 facilitam a interligação sem lógica adicional.
17
Decodificadores (cont.)
• Utilizando as entradas de controle, 4 decodificadores de 3 para 8 podem ser interligados para formar um decodificador de 5 para 32.
Exemplos:
1-Qual faixa de código ativará cada decodificador ?
Decodificadores (cont.)
No decodificador BCD para decimal (de 4 para 10) não há saída ativa para códigos inválidos.
• Observe que neste
decodificador não há entrada enable.
19
Aplicações de Decodificadores
Gerador de Função Lógica
O seguinte esquema pode ser utilizado para gerar as funções lógicas S1 = A’B’C + ABC e S2 = A’B’C’ + A’BC’ + ABC
Questão: Como o circuito seria desenvolvido, caso as saídas do
decodificador fossem ativas em nível alto?
NAND NAND S1 S2 A B C “0” “1”
Aplicações de Decodificadores (cont.)
• O uso mais comum do decodificador é selecionar um entre vários dispositivos, a partir do endereço associado a cada um deles.
S0 S3 S2 S1 A1 A0 E Dispositivo 0 Dispositivo 1 Dispositivo 2 Dispositivo 3 Ativa 0 Ativa 1 End 0 End 1 “1” Ativa 2 Ativa 3
• Variando o endereço (End 0 e End 1) pode-se ativar qualquer um dos dispositivos D0, D1, D2 ou D3.
• Assim são ativados os pentes de memória. O endereço de entrada irá ativar o sinal de seleção do chip.
21
Aplicações de Decodificadores (cont.)
Codificadores
- O código de saída de N bits depende de qual entrada está ativa.
- Somente um entrada é ativa por vez.
Codificador Binário de 4 para 2
E I0 I1 I2 I3 S1 S0 0 X X X X 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1
• Dispositivo que possui 2N entradas e N saídas
• Gera um código, na saída, relativo a entrada ativa
I0 I1 I2 I3 E S0 S1 COD 4 X 2 SO = E.I3’.I2’.I1.I0’ + E.I3.I2’.I1’.I0’ S1 = E.I3’.I2.I1’.I0’ + E.I3.I2’.I1’.I0’
23
Codificadores (cont.)
Exemplo: Codificador octal para Binário, com portas OR e entradas
ativas em zero.
• Caso as entradas A3’ e A5’ sejam acionadas simultaneamente, o código de saída é 111 (errado).
• A entrada A0’ está desconectada, pois a saída é 000 quando nenhuma das entradas está em nível baixo.
Codificadores de Prioridade
• Possui a lógica necessária para obter na saída um código binário relativo à entrada ativa de mais alta ordem.
• Elimina o problema de duas ou mais entradas serem acionadas simultaneamente.
Codificador de Prioridade Decimal para BCD
Questão: Quais são os códigos de saída para as seguintes entradas
ativas: A2’ ; A3’ e A6’ ; A7’ e A8’ e A9’ ; A8’.
25
Codificadores de Prioridade (cont.)
Codificador de Chaves
• Chaves normalmente abertas;
• Entradas em nível 1 (desativadas); • Saídas BCD em 0000.
• Entrada 5 em nível 0 (ativada); • Demais entradas em nível alto; • Saídas BCD em 0101.
Nenhuma chave pressionada