Nivel: Básico – Construir un contador binario de 0 a 3 con reloj manual, reinicio y un indicador de cuenta máxima.
Objetivo y caso de uso
En este caso práctico, construirás un contador digital de 2 bits utilizando un CI 74HC393 y decodificarás su estado máximo (11 en binario, 3 en decimal) utilizando una puerta AND 74HC08. Un pulsador que simula la señal de reloj incrementa la cuenta, mientras que un pulsador de reinicio manual fuerza el contador de vuelta a cero.
Por qué es útil:
* Demuestra cómo la lógica secuencial (contadores) realiza el seguimiento de eventos discretos a lo largo del tiempo.
* Muestra cómo la lógica combinacional (puerta AND) se utiliza para decodificar estados binarios específicos y desencadenar eventos.
* Proporciona una comprensión fundamental del disparo por flanco de reloj y los reinicios asíncronos.
* Actúa como bloque de construcción para máquinas de estados, temporizadores y secuenciadores de pasos en la electrónica industrial o de aficionados.
Resultado esperado:
* Al presionar y soltar el botón de reloj avanzará el estado binario secuencialmente: 00 → 01 → 10 → 11.
* Dos LEDs mostrarán la cuenta binaria actual (LSB y MSB).
* Un tercer LED (indicador de fin de ciclo) se encenderá estrictamente cuando la cuenta alcance el estado 3.
* Al presionar el botón de reinicio se apagarán inmediatamente todos los LEDs, devolviendo el circuito al estado 00 independientemente de la cuenta actual.
* Público objetivo: Principiantes en electrónica que aprenden lógica digital y seguimiento básico de estados.
Materiales
- V1: fuente de alimentación de 5 V CC
- S1: pulsador normalmente abierto, función: generador de pulsos de reloj
- S2: pulsador normalmente abierto, función: disparador de reinicio manual
- R1: resistencia de 10 kΩ, función: pull-down para el nodo CLK
- R2: resistencia de 10 kΩ, función: pull-down para el nodo MR
- R3: resistencia de 330 Ω, función: limitadora de corriente para el LED QA
- R4: resistencia de 330 Ω, función: limitadora de corriente para el LED QB
- R5: resistencia de 330 Ω, función: limitadora de corriente para el LED MAX_VAL
- D1: LED verde, función: indicador del LSB (QA)
- D2: LED amarillo, función: indicador del MSB (QB)
- D3: LED rojo, función: indicador de fin de ciclo
- U1: contador binario dual de 4 bits 74HC393, función: conteo de estados
- U2: puerta AND cuádruple de 2 entradas 74HC08, función: decodificación de estados
Pin-out del CI utilizado
74HC393 (Contador binario dual de 4 bits – Solo se usa la mitad)
| Pin | Nombre | Función lógica | Conexión en este caso |
| :—
Más Casos Prácticos en Prometeo.blog
Encuentra este producto y/o libros sobre este tema en Amazon
Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.
Netlist SPICE y simulación
Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)
* Practical case: 2-Bit Binary Counter with End-of-Cycle
.width out=256
* --- Power Supply ---
V1 VCC 0 DC 5
* --- User Inputs (Pushbuttons modeled as Voltage-Controlled Switches) ---
* Clock Pushbutton (S1) connects VCC to CLK
S1 VCC CLK S1_ctrl 0 mySW
Vctrl1 S1_ctrl 0 PULSE(0 5 20u 1u 1u 40u 100u)
R1 CLK 0 10k
* Manual Reset Pushbutton (S2) connects VCC to MR
S2 VCC MR S2_ctrl 0 mySW
* Initialize reset at start, then trigger again at 280us to clear the MAX_VAL state
Vctrl2 S2_ctrl 0 PWL(0 5 10u 5 11u 0 280u 0 281u 5 290u 5 291u 0)
R2 MR 0 10k
.model mySW SW(Ron=1 Roff=100Meg Vt=2.5 Vh=0.5)
* ... (truncated in public view) ...Copia este contenido en un archivo .cir y ejecútalo con ngspice.
* Practical case: 2-Bit Binary Counter with End-of-Cycle
.width out=256
* --- Power Supply ---
V1 VCC 0 DC 5
* --- User Inputs (Pushbuttons modeled as Voltage-Controlled Switches) ---
* Clock Pushbutton (S1) connects VCC to CLK
S1 VCC CLK S1_ctrl 0 mySW
Vctrl1 S1_ctrl 0 PULSE(0 5 20u 1u 1u 40u 100u)
R1 CLK 0 10k
* Manual Reset Pushbutton (S2) connects VCC to MR
S2 VCC MR S2_ctrl 0 mySW
* Initialize reset at start, then trigger again at 280us to clear the MAX_VAL state
Vctrl2 S2_ctrl 0 PWL(0 5 10u 5 11u 0 280u 0 281u 5 290u 5 291u 0)
R2 MR 0 10k
.model mySW SW(Ron=1 Roff=100Meg Vt=2.5 Vh=0.5)
.model logic_sw SW(Ron=1k Roff=100Meg Vt=2.5 Vh=0.1)
* --- Subcircuits for Logic ---
* Falling-edge triggered T-Flip-Flop with active-high asynchronous reset
.subckt TFF_falling CLK CLR Q
B1 CLK_b 0 V=5-V(CLK)
S1 Q_b master CLK 0 logic_sw
C1 master 0 100p
R1 master 0 1G
S2 master slave CLK_b 0 logic_sw
C2 slave 0 100p
R2 slave 0 1G
* Asynchronous Reset Switches
S3 master 0 CLR 0 logic_sw
S4 slave 0 CLR 0 logic_sw
* Output formatting with RC filter to prevent timestep discontinuities
B2 Q_raw 0 V=V(slave)>2.5?5:0
R3 Q_raw Q 1k
C3 Q 0 100p
B4 Q_b 0 V=5-V(Q_raw)
.ends
* U1: 74HC393 Dual 4-bit Binary Counter (Only first 2 bits QA, QB modeled)
.subckt 74HC393 CLK MR QA QB GND VCC
X1 CLK MR QA TFF_falling
X2 QA MR QB TFF_falling
.ends
* U2: 74HC08 Quad 2-input AND Gate
.subckt 74HC08 A B Y GND VCC
B1 Y_raw 0 V=(V(A)>2.5)&&(V(B)>2.5)?5:0
R1 Y_raw Y 1k
C1 Y 0 100p
.ends
* --- Main Circuit ---
* U1: 74HC393 Dual 4-bit Binary Counter
XU1 CLK MR QA QB 0 VCC 74HC393
* U2: 74HC08 Quad 2-input AND gate
XU2 QA QB MAX_VAL 0 VCC 74HC08
* --- Output LEDs ---
R3 QA N_D1 330
D1 N_D1 0 LED_green
R4 QB N_D2 330
D2 N_D2 0 LED_yellow
R5 MAX_VAL N_D3 330
D3 N_D3 0 LED_red
.model LED_green D(IS=1e-19 N=1.8 RS=10)
.model LED_yellow D(IS=1e-19 N=1.7 RS=10)
.model LED_red D(IS=1e-19 N=1.6 RS=10)
* --- Simulation and Output ---
.op
.tran 1u 600u
.print tran V(CLK) V(MR) V(QA) V(QB) V(MAX_VAL)
.endResultados de Simulación (Transitorio)
Show raw data table (1035 rows)
Index time v(clk) v(mr) v(qa) v(qb) v(max_val) 0 0.000000e+00 4.999500e-04 4.999500e+00 1.094960e-64 1.402927e-64 1.824146e-64 1 1.000000e-08 4.999500e-04 4.999500e+00 9.954179e-65 1.275388e-64 1.658315e-64 2 2.000000e-08 4.999500e-04 4.999500e+00 9.049254e-65 1.159444e-64 1.507559e-64 3 4.000000e-08 4.999500e-04 4.999500e+00 7.403935e-65 9.486357e-65 1.233457e-64 4 8.000000e-08 4.999500e-04 4.999500e+00 4.935957e-65 6.324238e-65 8.223048e-65 5 1.600000e-07 4.999500e-04 4.999500e+00 2.115410e-65 2.710388e-65 3.524164e-65 6 3.200000e-07 4.999500e-04 4.999500e+00 2.350456e-66 3.011542e-66 3.915737e-66 7 6.400000e-07 4.999500e-04 4.999500e+00 -5.42413e-67 -6.94971e-67 -9.03632e-67 8 1.280000e-06 4.999500e-04 4.999500e+00 2.841210e-67 3.640325e-67 4.733309e-67 9 2.280000e-06 4.999500e-04 4.999500e+00 -1.89414e-67 -2.42688e-67 -3.15554e-67 10 3.280000e-06 4.999500e-04 4.999500e+00 1.262760e-67 1.617922e-67 2.103693e-67 11 4.280000e-06 4.999500e-04 4.999500e+00 -8.41840e-68 -1.07861e-67 -1.40246e-67 12 5.280000e-06 4.999500e-04 4.999500e+00 5.612267e-68 7.190766e-68 9.349746e-68 13 6.280000e-06 4.999500e-04 4.999500e+00 -3.74151e-68 -4.79384e-68 -6.23316e-68 14 7.280000e-06 4.999500e-04 4.999500e+00 2.494341e-68 3.195896e-68 4.155443e-68 15 8.280000e-06 4.999500e-04 4.999500e+00 -1.66289e-68 -2.13060e-68 -2.77030e-68 16 9.280000e-06 4.999500e-04 4.999500e+00 1.108596e-68 1.420398e-68 1.846863e-68 17 1.000000e-05 4.999500e-04 4.999500e+00 -6.26598e-69 -8.02834e-69 -1.04388e-68 18 1.010000e-05 4.999500e-04 4.999500e+00 -3.13299e-69 -4.01417e-69 -5.21940e-69 19 1.030000e-05 4.999500e-04 4.999500e+00 1.566513e-78 2.007109e-78 2.609729e-78 20 1.035875e-05 4.999500e-04 4.999500e+00 8.551514e-79 1.095671e-78 1.424639e-78 21 1.046156e-05 4.999500e-04 4.999500e+00 2.744610e-79 3.516558e-79 4.572383e-79 22 1.049002e-05 4.999500e-04 4.999500e+00 2.060863e-79 2.640500e-79 3.433294e-79 23 1.053982e-05 4.999500e-04 4.999500e+00 1.239160e-79 1.587686e-79 2.064379e-79 ... (1011 more rows) ...
Quiz rápido
Diagrama de bloques conceptual





