introdução circuitos digitais -...
TRANSCRIPT
1
Circuitos Digitais
Circuitos Combinacionais
Parte II
Prof. Sergio Ribeiro
Ciência da Computação
Circuitos Digitais
� Introdução� Códigos Binários� Código BCD 8421� Outros Códigos BCD� Código Excesso de 3� Código Gray� Códigos de 5 bits� Código 9876543210� Codificadores e Decodificadores� Codificador Decimal/Binário e Binário/Decimal� Projetos de Decodificadores� Decodificador para Display de 7 Segmentos
Conteúdo
2
Circuitos Digitais
Introdução� Anteriormente, vimos como obter circuitos lógicos
combinacionais para solucionar problemas relacionados asituações práticas.
� Agora estudaremos problemas destinados a aplicaçõesespecíficas empregados na arquitetura interna de circuitosintegrados e em sistemas digitais.
� Exemplos de circuitos destinados a esta finalidade:� Codificadores� Decodificadores� Circuitos aritméticos� Multiplexadores
� Tais circuitos são encontrados em CI’s comerciais ou emsistemas complexos como microprocessadores.
3
Códigos
� São vários os códigos dentro do campo da EletrônicaDigital.
� Em algumas situações a utilização de um código évantajosa em relação a outro.
� Serão descritos os códigos mais conhecidos:� BCD 8421� Outros códigos BCD de 4 bits� Código Excesso de 3� Código Gray� Códigos de 5 bits� Código 9876543210
Circuitos Digitais 4
Código BCD 8421� BCD (Binary Coded Decimal) ⇒ codificação do sistema
decimal em binário.� 8421 ⇒ valores dos algarismos num dado número
binário, representando respectivamente: 23,22,21, e 20.
Circuitos Digitais
Decimal BCD 8421
A B C D
0123456789
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
O código BCD 8421é um código de 4bits, e é válido de 0a 910.
5
Outros Códigos BCD de 4 Bits� Exemplos:
� BCD 7421� BCD 5211� BCD 2421
� A regra de conversão destes códigos para o decimal é análoga à do BCD 8421.
Circuitos Digitais
Decimal BCD 7421
0123456789
0000000100100011010001010110100010011010
0000000100110101011110001001101111011111
0000000100100011010010111100110111101111
BCD 5211 BCD 2421
6
2
Código Excesso de 3� Corresponde à transformação do número decimal no
binário correspondente, somando-se 3 unidades.� Exemplo: 010 = 0000 → somando-se 3 unidades,
temos: 0011.
Circuitos Digitais
Decimal Excesso de 3
A B C D
0123456789
0 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 0
Este código éutilizado em algunscasos nos circuitosaritméticos.
7
Código Gray
� Sua principal característica é que de um número a outro apenas um bit varia.
� Sua formação é mostrada na tabela ao lado:
Circuitos Digitais
Decimal Gray
A B C D
0123456789101112131415
0 0 0 00 0 0 10 0 1 10 0 1 00 1 1 00 1 1 10 1 0 10 1 0 01 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 11 0 0 11 0 0 0
8
Circuitos Digitais
Código Gray
O código Gray, transpondo para o diagrama deVeitch-Karnaugh, apresenta a seguinte ordem decolocação:
0 1 2 3
7 6 5 4
8 9 10 11
15 14 13 12A
B
C
D
9 Circuitos Digitais
Destacaremos apenas os dois mais importantes:
1. Código 2 entre 5� Este código possui sempre 2 bits iguais a 1, dentro de 5 bits.
� Sua formação é assim vista:
Códigos de 5 Bits
Decimal 2 entre 5
A B C D E
0123456789
0 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 00 1 1 0 01 0 0 0 11 0 0 1 01 0 1 0 01 1 0 0 0
10
Circuitos Digitais
2. Código Johnson� Trata-se de um código que será utilizado na construção do
Contador Johnson.
� Sua formação é assim vista:
Códigos de 5 Bits
Decimal Johnson
A B C D E
0123456789
0 0 0 0 00 0 0 0 10 0 0 1 10 0 1 1 10 1 1 1 11 1 1 1 11 1 1 1 01 1 1 0 01 1 0 0 01 0 0 0 0
11
Código 9876543210� Código de 10 bits bastante utilizado em sistemas antigos
em que mostradores de algarismos eram a válvulas.� Nota-se, no código, que em 10 saídas somente uma vale
1 em cada caso, acendendo assim o algarismo correspon-dente.
Circuitos Digitais
Decimal 9 8 7 6 5 4 3 2 1 0
0123456789
0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0
12
3
Circuitos Digitais
� Vamos, agora, tratar de circuitos que efetuam a passagem de um determinado código para outro.
� Codificador ⇒ circuito combinacional que torna possível a passagem de um código conhecido para um desconhecido.� Ex: circuito inicial de uma calculadora ⇒ entrada decimal
(chaves do teclado) para saída binária (para que processe e faça a operação).
� Decodificador ⇒ circuito que faz o inverso (passa um código desconhecido para um conhecido).� Ex: calculadora ⇒ transforma o resultado de uma operação
em binário em uma saída decimal no mostrador.
Codificadores e Decodificadores
13 Circuitos Digitais
� Os termos codificador e decodificador diferenciam-se em função do referencial.
� Ex: sistema de entrada da calculadora.� Para o usuário: é um codificador.
� Para o processador: é um decodificador, pois passa de um código desconhecido para ele (decimal), para um conhecido (binário).
� Na prática, é comum se usar o termo decodificador para o sistema que passa de um código pra outro, quaisquer que sejam.
Codificadores e Decodificadores
14
Circuitos Digitais
� Objetivo: elaborar um codificador para transformar um código decimal em binário (BCD 8421).
� Entrada (código decimal) ⇒ conjunto de chaves de 0 a 9.
� Saída (BCD 8421) ⇒ 4 fios (para fornecer um código binário de 4 bits, correspondente à chave acionada).
� A figura abaixo mostra a estrutura geral deste sistema, convencionando-se que chave fechada equivale a nível 0, e que terminal de entrada em vazio (chave aberta) equivale a nível 1.
Codificador Decimal/Binário
15 Circuitos Digitais
� Tabela verdade do codificador que relaciona cada chave de entrada decimal com a respectiva saída em binário:
Codificador Decimal/Binário
Decimal A B C D
Ch0Ch1Ch2Ch3Ch4Ch5Ch6Ch7Ch8Ch9
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
Conclusão:� Saída A valerá 1 quando Ch8 ou Ch9
for acionada.� Saída B quando Ch4, Ch5, Ch6 ou Ch7
for acionada.� Saída C quando Ch2, Ch3, Ch6 ou Ch7
for acionada.� Saída D quando Ch1, Ch3, Ch5, Ch7 ou
Ch9 for acionada.
16
Circuitos Digitais
� Usaremos, para a construção do circuito, uma porta NE em cada saída, pois esta fornece nível 1 quando qualquer uma de suas entradas assumir nível 0 (situação compatível com a convenção adotada para o conjunto de chaves).
� O circuito é assim construído:
Codificador Decimal/Binário
Nota-se que a chave Ch0 não está ligada a nenhuma das entradas das portas, sendo irrelevante o seu acionamento, pois a saída também será 0 (A = B = C = D = 0) quando nenhuma das chaves for acionada.
17 Circuitos Digitais
� A estrutura geral deste decodificador é:
Decodificador Binário/Decimal
� Vamos montar a tabela verdade do circuito ⇒ as entradas são bits do código BCD 8421 e as saídas são os respectivos bits do código decimal 9876543210.
� O código BCD 8421 não possui números maiores que 9.� Logo, não importa quando o valor excede o limite, uma vez
que ao converter o código BCD 8421 para o código 987654 3210, os valores excedentes não irão ocorrer.
18
4
Circuitos Digitais
� Nos diagramas de Veitch-Karnaugh, estes casos excedentes são vistos como condições irrelevantes.
Decodificador Binário/Decimal
BCD 8421 Código 9876543210
A B C D S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0
19
� As figuras abaixo mostram os diagramas de todas as saídas do decodificador (S9 a S0) e suas respectivas simplificações.
Circuitos Digitais
Decodificador Binário/Decimal
0 0 0 0
0 0 0 0
x x x x
0 1 x xA
B
C
D
S9: 0 0 0 0
0 0 0 0
x x x x
1 0 x xA
B
C
D
S8:
0 0 0 0
0 0 1 0
x x x x
0 0 x xA
B
C
D
S7: 0 0 0 0
0 0 0 1
x x x x
0 0 x xA
B
C
D
S6:
S9 = AD S8 = AD�
S7 = BCD S6 = BCD�20
Circuitos Digitais
Decodificador Binário/Decimal
0 0 0 0
0 1 0 0
x x x x
0 0 x xA
B
C
D
S5: 0 0 0 0
1 0 0 0
x x x x
0 0 x xA
B
C
D
S4:
0 0 1 0
0 0 0 0
x x x x
0 0 x xA
B
C
D
S3: 0 0 0 1
0 0 0 0
x x x x
0 0 x xA
B
C
D
S2:
S5 = BC�D S4 = BC�D�
S3 = B�CD S2 = B�CD�
21 Circuitos Digitais
Decodificador Binário/Decimal
A partir das expressões simplificadas, obtemos o circuito do decodificador, como visto na figura seguinte.
0 1 0 0
0 0 0 0
x x x x
0 0 x xA
B
C
D
S1: 1 0 0 0
0 0 0 0
x x x x
0 0 x xA
B
C
D
S0:
S1 = A�B�C� D S0 = A�B�C� D�
22
Circuitos Digitais
Decodificador Binário/Decimal
23
� De forma análoga ao processo visto no decodificadoranterior, podemos construir decodificadores que passemde qualquer código para qualquer outro.
� Para isso, basta montarmos a tabela verdade, simplificaras expressões de saída e implementarmos o circuito.
� Para exemplificar, vamos implementar o decodificadorBCD 8421 para Excesso de 3.
� Inicialmente, montamos a tabela verdade.
Circuitos Digitais
Projetos de Decodificadores
24
5
Circuitos Digitais
Decodificador BCD 8421 / Excesso de 3
� Podemos notar que o código BCD 8421 é utilizado para representar até o algarismo 9.
� As outras possibilidades não irão ocorrer ⇒ para estas condições a resposta torna-se irrelevante.
BCD 8421 Excesso de 3
A B C D S3 S2 S1 S0
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
0 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 0
25 Circuitos Digitais
Decodificador BCD 8421 / Excesso de 3
� Para simplificar as expressões, vamos montar osdiagramas de Veitch-Karnaugh.
0 0 0 0
0 1 1 1
x x x x
1 1 x xA
B
C
D
Agrupamentos: 1 oitava e2 quadras
S3 = A + B⋅D + B⋅C
S3:
0 1 1 1
1 0 0 0
x x x x
0 1 x xA
B
C
D
Agrupamentos: 2 quadras e1 par
S2 = B⋅�D + B�⋅C + B⋅C⋅�D�
S2:
26
Circuitos Digitais
Decodificador BCD 8421 / Excesso de 3
O circuito decodificador, obtido a partir das expressões, é assimrepresentado:
1 0 1 0
1 0 1 0
x x x x
1 0 x xA
B
C
D
Agrupamentos: 2 quadras
S1 = C⋅�D�+ C⋅D ou
S1 = C ʘ D
S1:
1 0 0 1
1 0 0 1
x x x x
1 0 x x
B
C
D
Agrupamentos: 1 oitava
S0 = D�
S0:
A
27 Circuitos Digitais
Decodificador BCD 8421 / Excesso de 3
28
Circuitos Digitais
� No circuito, ao ser aplicado o código BCD 8421 nosterminais de entrada A, B, C e D, teremos nos terminaisde saída S3, S2, S1 e S0, o código Excesso de 3.
� Agora fica como atividade implementar o decodificadorinverso, ou seja, que transforme do código Excesso de 3para BCD 8421.
Decodificador BCD 8421 / Excesso de 3
29 Circuitos Digitais
� O display de 7 segmentos possibilita escrevermos números decimais de 0 a 9 e alguns outros símbolos que podem ser letras ou sinais.
� A figura abaixo ilustra um display genérico com a forma usual de identificação dos segmentos.
Display de 7 Segmentos
� Existem diversas tecnologias de fabricação de display.Usaremos o mais comum: display a led (cada segmentoé composto por um led).
30
6
Circuitos Digitais
� Existem displays de 7 segmentos do tipo catodo comum e anodo comum.
� Display do tipo catodo comum ⇒ possui todos os catodos (terminais negativos) dos led’s interligados.� É necessário aplicar nível 1 no anodo respectivo para acender cada
segmento.
� Display do tipo anodo comum ⇒ possui todos os anodos (terminais positivos) interligados.� É preciso aplicar nível 0 ao catodo respectivo para acender cada
segmento.
Display de 7 Segmentos
31
Decodificador para Display de 7 Segmentos
Circuitos Digitais
� O objetivo agora é projetar um decodificador para a partir deum código binário (BCD 8421) escrever a sequência de 0 a 9em um display de 7 segmentos catodo comum.
� O esquema geral deste decodificador é mostrado na figuraabaixo.
� Para projetar este decodificador, devemos verificar em cadacaracter quais segmentos devem ser acesos e atribuir nível 1(no caso do catodo comum).
� A tabela a seguir apresenta a sequência de caracteres, orespectivo código de entrada e os níveis nos segmentos.
32
Decodificador para Display de 7 Segmentos
Circuitos Digitais 33
Decodificador para Display de 7 Segmentos
Circuitos Digitais 34
Decodificador para Display de 7 Segmentos
Circuitos Digitais
Resumindo, temos a seguinte tabela verdade:
BCD 8421 Código para 7 SegmentosDisplay
A B C D a b c d e f g
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1
1 1 1 1 1 1 00 1 1 0 0 0 01 1 0 1 1 0 11 1 1 1 0 0 10 1 1 0 0 1 11 0 1 1 0 1 11 0 1 1 1 1 11 1 1 0 0 0 01 1 1 1 1 1 11 1 1 1 0 1 1
Para fins de simplificação, vamos considerar os casos fora da sequência como irrelevantes. Transpondo as saídas para os diagramas, temos:
0123456789
35 Circuitos Digitais
Decodificador para Display de 7 Segmentos
1 0 1 1
0 1 1 1
x x x x
1 1 x x
B
C
D
a:1 1 1 1
1 0 1 0
x x x x
1 1 x xA
B
C
D
b:
1 1 1 0
1 1 1 1
x x x x
1 1 x xA
B
C
D
c: 1 0 1 1
0 1 0 1
x x x x
1 1 x xA
B
C
D
d:
c = B + C� + D
A
a = A + C + BD + B�D� ou
a = A + C + B ʘ D
d = A + CD� + B�C + B�D� + BC�D
b = B� + C�D� + CD ou
b = B� + C ʘ D
36
7
Circuitos Digitais
Decodificador para Display de 7 Segmentos
1 0 0 1
0 0 0 1
x x x x
1 0 x x
B
C
D
e: 1 0 0 0
1 1 0 1
x x x x
1 1 x xA
B
C
D
f:
0 0 1 1
1 1 0 1
x x x x
1 1 x xA
B
C
D
g:
A
f = A + C�D� + BC� + BD�e = CD� + B�D�
g = A + BC� + CD� + B�C ou
g = A + CD� + B ⊕ C
37 Circuitos Digitais
Circuito do decodificadorBCD 8421 para display de7 segmentos.
38
Circuitos Digitais
� Observe que o circuito poderia ser otimizado, pois asexpressões dos segmentos possuem vários termos emcomum ⇒ circuito com um número menor de portas.
� Porém, para melhor clareza didática, o circuito foideixado na sua forma original.
� Numa montagem prática, a ligação do display se fazatravés de resistores a fim de limitar a corrente nos leds.
� Os displays de 7 segmentos podem escrever outroscaracteres:
Decodificador para Display de 7 Segmentos
39
1. Elabore o decodificador BCD 8421 para 2 entre 5.
2. Projete um decodificador que transforme do código Gray para o sistema binário comum.
3. Projete um decodificador para, a partir de um código binário, escrever a sequência da figura abaixo em um display de 7 segmentos catodo comum.
Circuitos Digitais
Exercícios
40