Caso práctico: Contador binario de 2 bits con fin de ciclo

Prototipo de Contador binario de 2 bits con fin de ciclo (Maker Style)

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

Ir a 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.

🔒 Este contenido es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Desbloquéalo — 7 días gratis
* 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)
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The simulation shows the clock signal toggling and the manual reset (MR) signal initializing high then pulsing later. The QA output toggles in response to the clock, but QB and MAX_VAL remain near zero throughout the sampled data, indicating the counter may not be fully reaching the higher states or the clock pulses are insufficient to trigger QB.
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

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el texto?




Pregunta 2: ¿Qué circuito integrado (CI) se utiliza como contador digital de 2 bits en este proyecto?




Pregunta 3: ¿Qué función cumple la puerta AND 74HC08 en el circuito?




Pregunta 4: ¿Qué sucede al presionar y soltar el botón de reloj (S1)?




Pregunta 5: ¿Cuándo se enciende el tercer LED (indicador de fin de ciclo)?




Pregunta 6: ¿Qué tipo de lógica demuestra el uso del contador para el seguimiento de eventos a lo largo del tiempo?




Pregunta 7: ¿Qué efecto tiene presionar el botón de reinicio manual (S2)?




Pregunta 8: ¿Qué tipo de lógica se utiliza para decodificar estados binarios específicos según el texto?




Pregunta 9: ¿Qué tipo de reinicio se menciona como un concepto fundamental que se aprende en este proyecto?




Pregunta 10: ¿Qué componentes muestran la cuenta binaria actual (LSB y MSB)?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:

Diagrama de bloques conceptual

Conceptual block diagram — CONTADOR Binary counter
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.
Scroll al inicio