Electrónica Digital · Tema 21

Display de 7 segmentos

Del nibble a la luz: siete LED, un decoder y una resistencia por segmento que no se negocia.

01 · Punto de partida

Siete LED que saben contar

Un dígito son 7 segmentos (a–g) + punto: el decoder BCD→7seg enciende la combinación justa. Con 7448/4511 (cátodo común) o 7447 (ánodo común), 4 bits entran y un número se ve.

  • ¿Qué segmentos prende cada dígito?
  • ¿Ánodo o cátodo común?
  • ¿Qué R lleva cada segmento?
  • ¿Qué pasa con A–F?

02 · Segmentos

El mapa a–g

Segmentos por dígito (1 = prendido).
Dígabcdefg
01111110
10110000
21101101
51011011
81111111

El 8 prende todo (70 mA); el 1 solo 2 (20 mA): la corriente depende del dígito. Por eso una R por segmento: con una común, el 8 se ve tenue y el 1 encandila.

03 · Común

Ánodo o cátodo

Ánodo común + 7447

Común a Vcc

El 7447 hunde corriente (open-collector): segmento a 0 prende. Clásico TTL.

Cátodo común + 7448/4511

Común a masa

El driver entrega 1: segmento a 1 prende. El 4511 suma latch (memoria del dígito).

A–F se apagan
7448/4511 hacen blanking con 10–15: solo 0–9. Letras custom piden decoder propio (o micro).
Punto decimal
Va aparte con su R: no lo maneja el decoder. No olvidarlo en el conteo de pines.

04 · Corriente

El dígito que más come

Consumo a 10 mA por segmento.
DígitoSegmentosTotal
1220 mA
5550 mA
8770 mA

70 mA superan lo que da una salida lógica: el driver (7447/4511) los maneja; varios dígitos multiplexados piden transistores por común.

05 · Dígitos en código

Dibujar con ASCII

Mapa de segmentos + display en texto + presupuesto de corriente.

Python en tu navegador. Pedí tu dígito y contá sus mA.

SEG = {"0": "abcdef", "1": "bc", "2": "abdeg", "3": "abcdg", "4": "bcfg",
       "5": "acdfg", "6": "acdefg", "7": "abc", "8": "abcdefg", "9": "abcdfg"}

def display(d):
    s = SEG[str(d)]
    art = f" {'_' if 'a' in s else ' '} \n" \
          f"{'|' if 'f' in s else ' '}{'_' if 'g' in s else ' '}{'|' if 'b' in s else ' '}\n" \
          f"{'|' if 'e' in s else ' '}{'_' if 'd' in s else ' '}{'|' if 'c' in s else ' '}"
    print(art)
    print(f"digito {d}: {len(s)} segmentos -> {len(s)*10}mA")
    return s


display(5)
display(8)

5 → 5 segmentos, 50 mA. 8 → 7 segmentos, 70 mA. ¿Y el 1?

Blanking A–F

def decoder_7448(nibble):
    if 0 <= nibble <= 9:
        return display(nibble)
    print(f"0x{nibble:X}: apagado (blanking 7448)")
    return ""


decoder_7448(5)
decoder_7448(0xA)

06 · Analogía programador

Font de 7 píxeles

  1. 1
    Segmentos = bitmap.

    Cada dígito, 7 bits: como una font de 7 píxeles con decoder incluido.

  2. 2
    Blanking = validación.

    Entrada inválida → nada: como rechazar input fuera de rango en vez de dibujar basura.

  3. 3
    R por segmento = rate limit.

    Corriente pareja por canal: un solo limitador global castiga a los que más usan.

07 · Taller

Laboratorio: encender dígitos

Nibble 0–15 al 7448: el laboratorio muestra segmentos, corriente y blanking.

TALLER 21

Probador 7448

5 → acdfg · 50 mA

Muestra5
Segmentosa c d f g
Corriente50 mA
EstadoBCD ✓

5: acdfg, 50 mA.

Preguntas para explorar

  1. Llevá a 8 y a 1. ¿Segmentos y mA de cada uno?
  2. Llevá a 10–15. ¿Qué muestra? ¿Por qué?
  3. ¿Qué R pondrías por segmento a 5 V y 10 mA? (Ver fórmula.)
Ver respuestas sugeridas
  1. 8: 7 seg, 70 mA. 1: bc, 20 mA. El dígito define el consumo.
  2. Nada (blanking): el 7448 apaga A–F. Solo BCD 0–9.
  3. 270 Ω (250 calculados, E12 arriba). Una por segmento, nunca una común.

08 · Comprensión

Confusiones frecuentes

«Una R común para todo»

El brillo variaría con el dígito (8 tenue, 1 fuerte): una R por segmento, siempre.

«Ánodo/cátodo da igual»

Define el chip (7447 vs 7448/4511) y el cableado del común: equivocarse = display al revés.

«A–F se ven solos»

El 7448 los apaga: letras custom necesitan decoder propio o micro. Leer la hoja antes de prometer hex.

«Sin R, más brillo»

Sin R hay quemado (LED o driver): el brillo se diseña con corriente, no con coraje.

09 · Práctica guiada

Ejercicios de display

Ejercicio 1: R exacta

Display rojo (Vf = 1,8 V) a 5 V con 7448 (Vsat ≈ 0,5 V), 12 mA por segmento. ¿R? ¿E12? ¿Total con 8?

Ver solución razonada

(5−1,8−0,5)/0,012 = 225 Ω → 220 Ω. Con 8: 7×12 = 84 mA (el 7448 los da; verificar disipación).

Ejercicio 2: dos dígitos

Contador 00–99 con dos 4511. ¿Qué ventaja da el latch? ¿Cómo cargás el “42”?

Ver solución

El latch congela el dígito mientras cambia el bus: LE=1 carga, LE=0 muestra. “42”: BCD 0100/0010 + pulsos LE.

Ejercicio 3: montar dígito

4511 + display cátodo común + 7×270 Ω. Recorré 0–9 y 10–15. ¿Qué ves en A–F?

Ver solución

0–9 perfectos, A–F apagados (blanking). Si un segmento no prende nunca, revisar su R y pin.

10 · Síntesis

Ideas para recordar

  • 7447 → ánodo; 7448/4511 → cátodo (+latch).
  • Una R por segmento: 270 Ω a 10 mA.
  • 8 = 70 mA; 1 = 20 mA; A–F apagados.
  • Punto aparte con su R.
  • Corriente por dígito manda en la fuente.

Dígitos visibles. Ahora el camino inverso: en el próximo tema, codificadores.