Skip to content
Circuits digitalsLogo Càtedra Chip

Dígits BCD

En circuits digitals, un nombre Decimal Codificat en Binari (Binary Coded Decimal, BCD) és una manera de representar dígits decimals fent servir 4 bits. Cada dígit del 0 al 9 es converteix en una combinació binària fixa.

Dígit decimalBCD
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001

Aquesta codificació és molt utilitzada en displays numèrics i calculadores.

Exemple: Disseny d’un circuit per a un display de 7 segments

Volem construir un circuit que rebi un dígit BCD i encengui els segments corresponents d’un display de 7 segments (de càtode comú) per mostrar-lo.

D[3:0]=[D3 D2 D1 D0]Display de 7 segments

La figura següent mostra com s’anomenen els segments:

Disposició segments

A la taula següent indiquem quins segments s’han d’encendre per a cada dígit decimal d'entrada D[3:0]. Un 1 significa segment encès; un 0, apagat.

digit
decimal
BCD
D3D2D1D0
abcdefgdisplay
000001111110
100010110000
200101101101
300111111001
401000110011
501011011011
601101011111
701111110000
810001111111
910011111011
10
don't care
1010xxxxxxx
11
don't care
1011xxxxxxx
12
don't care
1100xxxxxxx
13
don't care
1101xxxxxxx
14
don't care
1110xxxxxxx
15
don't care
1111xxxxxxx

Condicions indiferents (don’t care)

Els 4 bits d’entrada poden codificar valors del 0 al 15. Però un dígit BCD només fa servir els valors del 0 al 9. Els casos del 10 al 15 no es mostraran mai i, per tant, els marquem com a x (don’t care).

A l’hora de buscar agrupacions al mapa de Karnaugh, els podem assignar els valors que més ens convinguin per tal obtenir expressions més simples.

Expressions booleanes simplificades

Cal fer un mapa de Karnaugh per a cadascuna de les sortides del circuit per tal d'obtenir l'expressió booleana per cada segment.

Pel que fa a les condicions indiferents, el valor de x=1 dona com a resultat equacions més simples.

El procés complet i detallat es pot trobar a diverses fonts: enllaç 1, enllaç 2, enllaç 3

Obtenim les expressions següents per als segments:

  • Segment a:

    a=D3+D1+D2D0+D2D0
  • Segment b:

    b=D2+D1D0+D1D0
  • Segment c:

    c=D2+D1+D0
  • Segment d:

    d=D3+D2D0+D1D0+D2D1+D2D1D0
  • Segment e:

    e=D2D0+D1D0
  • Segment f:

    f=D3+D2D1+D1D0+D2D0
  • Segment g:

    g=D3+D2D1+D2D1+D1D0

Aquestes expressions booleanes permeten implementar el circuit amb portes AND, OR i NOT. Les entrades són els bits D3,D2,D1,D0 i les sortides són els segments a,b,c,d,e,f,g.

Aquest tipus de decodificador és molt habitual en electrònica digital bàsica.

Comprovació amb exemples

Per assegurar-nos que les fórmules funcionen correctament, calculem alguns dígits.

Exemple: dígit 2 D=0010

Resultats esperats: segments a, b, d, e, g encès; c, f apagats.

  • segmenta=0+1+0·0¯+0¯·0=1

  • segmentb=0¯+1¯·0¯+1·0=1

  • segmentc=0+1¯+0=0

  • segmentd=0+0¯·0¯+1·0¯+0¯·1¯+0·1¯+0=1

  • segmente=0¯·0¯+1·0¯=1

  • segmentf=0+0·1¯+1¯·0¯+0·0¯=0

  • segmentg=0+0¯·1+0·1¯+1·0¯=1

Exemple: dígit 4 (D=0100

Resultats esperats: segments b, c, f, g encès.

  • segmenta=0+0+1·0¯+1¯·0=1

  • segmentb=1¯+0¯·0¯+0·0=1

  • segmentc=1+0¯+0=1

  • segmentd=0+1¯·0¯+0·0¯+1¯·0¯+1·0¯·0=0

  • segmente=1¯·0¯+0·0¯=0

  • segmentf=0+1·0¯+0¯·0¯+1·0¯=1

  • segmentg=0+1¯·0+1·0¯+0·0¯=1

Exemple: dígit 9 D=1001

Resultats esperats: segments a, b, c, d, f, g encès.

  • segmenta=1+0+0·1¯+0¯·1=1

  • segmentb=0¯+0¯·1¯+0·1=1

  • segmentc=0+0¯+1=1

  • segmentd=1+0¯·1¯+0·1¯+0¯·0¯+0·0¯·1=1

  • segmente=0¯·1¯+0·1¯=0

  • segmentf=1+0·0¯+0¯·1¯+0·1¯=1

  • segmentg=1+0¯·0+0·0¯+0·1¯=1

Exercicis a Jutge.org: Introduction to Digital Circuit Design

Recorda que per accedir als exercicis i perquè el Jutge valori les teves solucions has d'estar inscrit al curs. Trobaràs totes les instruccions aquí.



Logos Càtedra Chip

Xavier Casas, Francesc Madrid
Lliçons.jutge.org
© Universitat Politècnica de Catalunya, 2025

lliçons.jutge.org