Projete um conversor de código que aceite como entrada a representação BCD de um dígito decimal e, como saídas, linhas que acionem os segmentos apropriados de um display de sete segmentos (catodo comum) que mostre o dígito decimal que aparece na entrada.

Passo 1

Beleza, o enunciado pede pra gente montar um “decoder” que pega um dígito em BCD (4 bits) e acende os segmentos certos de um display de 7 segmentos (cátodo comum) pra mostrar esse dígito.
Conteúdo: tabela-verdade de BCD→7 seg, mapas de Karnaugh e álgebra booleana pra simplificar. Vamos precisar:
  • Definir as entradas: D3,D2,D1,D0 (BCD, D3 é MSB).
  • Definir as saídas: segmentos a,b,c,d,e,f,g (nível alto = segmento aceso).
  • Fazer tabela-verdade dos dígitos 0–9 (10–15 = “don’t care”).
  • Aplicar mapas de Karnaugh pra cada saída e obter expressões mínimas.

Passo 2

Montamos a tabela BCD→7 seg (1 = aceso, 0 = apagado). Usei “–” nas entradas 10–15 para indicar DC (não importa).
BCD | a b c d e f g
0000 | 1 1 1 1 1 1 0 (0)
0001 | 0 1 1 0 0 0 0 (1)
0010 | 1 1 0 1 1 0 1 (2)
0011 | 1 1 1 1 0 0 1 (3)
0100 | 0 1 1 0 0 1 1 (4)
0101 | 1 0 1 1 0 1 1 (5)
0110 | 1 0 1 1 1 1 1 (6)
0111 | 1 1 1 0 0 0 0 (7)
1000 | 1 1 1 1 1 1 1 (8)
1001 | 1 1 1 1 0 1 1 (9)
10–15| DC DC DC DC DC DC DC

Passo 3

Para cada segmento ( a até g) a gente monta um mapa de Karnaugh em 4 variáveis ( D3,D2,D1,D0), agrupa 1’s e DC’s pra simplificar. Por exemplo, no mapa de a você engole vários “1” e “–” formando grupos de 8, 4, 2 células, até achar a soma de produtos mínima. Repetimos pra todos os segmentos.

Passo 4

Depois de simplificar, chegam-se às funções Booleanas (nível “1” acende o led) abaixo. Usei Di pra negar Di.
a = D3D2D1D0;+;D3D2D1D0;+;D3D2D1D0;+;D3D2D1D0
b = D3D2D1D0;+;D2D1D0;+;D2D1D0;+;D3D1D0
c = D3D2D1D0;+;D2D1D0;+;D3D1D0
d = D3D2D1D0;+;D3D2D1D0;+;D2D1D0;+;D3D2D1D0
e = D3D2D1D0;+;D3D2D1D0;+;D3D0
f = D3D2D1;+;D3D2D0;+;D3D1D0;+;D3D2D1D0
g = D3D2D1;+;D3D2D1D0;+;D3D2D1;+;D2D1D0

Resposta

As saídas a,b,c,d,e,f,g do decoder comum-cátodo são dadas por:
a &= D3' D2' D1' D0 + D3' D2 D1' D0' + D3 D2' D1 D0 + D3 D2 D1 D0', b &= D3' D2 D1' D0 + D2 D1' D0' + D2 D1 D0 + D3 D1 D0, c &= D3' D2' D1 D0' + D2 D1' D0' + D3 D1 D0, d &= D3' D2' D1' D0 + D3' D2 D1' D0' + D2 D1 D0 + D3 D2' D1 D0', e &= D3' D2' D1' D0 + D3' D2' D1 D0' + D3' D0, f &= D3' D2' D1' + D3' D2' D0 + D3' D1 D0 + D3 D2' D1' D0, g &= D3' D2' D1' + D3' D2 D1 D0 + D3 D2' D1' + D2 D1 D0'
Pronto! Essas expressões ligam cada segmento ao BCD de entrada e exibem o dígito correto.

Exercícios relacionados