Caso práctico: Divisor de frecuencia por 2, 4 y 8

Prototipo de Divisor de frecuencia por 2, 4 y 8 (Maker Style)

Nivel: Básico – Verificar la relación de división de frecuencia en las salidas Q de un contador binario con respecto al reloj.

Objetivo y caso de uso

En este caso práctico, construirá un circuito digital utilizando un contador binario de 4 bits (74HC393) para dividir la frecuencia de una señal de reloj de entrada por factores de 2 (2^1), 4 (2^2) y 8 (2^3).

  • Relojes digitales: Se utilizan para dividir señales de osciladores de cristal de alta frecuencia hasta 1 Hz para mantener el tiempo (segundos).
  • Síntesis de audio: Se utiliza para generar octavas más bajas a partir de un tono base (la reducción de la frecuencia a la mitad da como resultado un tono una octava más bajo).
  • Generación de velocidad de baudios: Se utiliza en la comunicación UART para derivar velocidades de transmisión de datos específicas a partir de un reloj maestro del sistema.
  • Contadores de direcciones: Se utilizan para secuenciar direcciones de memoria en microcontroladores.

Resultado esperado:
* Salida Q0: Una onda cuadrada con una frecuencia exactamente la mitad del reloj de entrada (f/2).
* Salida Q1: Una onda cuadrada con una frecuencia de un cuarto del reloj de entrada (f/4).
* Salida Q2: Una onda cuadrada con una frecuencia de un octavo del reloj de entrada (f/8).
* Público objetivo: Estudiantes de nivel básico y aficionados.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Fuente de alimentación principal.
  • V_CLK: Generador de pulsos (0 V a 5 V, 1 kHz, ciclo de trabajo del 50%), función: Señal de reloj de entrada.
  • U1: 74HC393, función: Contador binario dual de 4 bits.
  • R1: Resistencia de 330 Ω, función: Limitación de corriente para el LED D1.
  • R2: Resistencia de 330 Ω, función: Limitación de corriente para el LED D2.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED D3.
  • D1: LED rojo, función: Indicador visual para Q0 (f/2).
  • D2: LED verde, función: Indicador visual para Q1 (f/4).
  • D3: LED amarillo, función: Indicador visual para Q2 (f/8).
  • Scope: Osciloscopio de 4 canales, función: Análisis de formas de onda.

Pin-out del CI utilizado

Chip seleccionado: 74HC393 (Contador binario dual de 4 bits). Usaremos el primer bloque contador (Lado 1).

Pin Nombre Función lógica Conexión en este caso
1 1CP (CLK) Entrada de reloj (Disparo por flanco de bajada) Conectado a CLK_IN
2 1MR Reset maestro (Activo en alto) Conectado a 0 (GND)
3 1Q0 Salida Bit 0 (Divide por 2) Conectado a Q0
4 1Q1 Salida Bit 1 (Divide por 4) Conectado a Q1
5 1Q2 Salida Bit 2 (Divide por 8) Conectado a Q2
7 GND Tierra Conectado a 0
14 VCC Alimentación (+5 V) Conectado a VCC

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • U1 pin 14 se conecta al nodo VCC.
  • U1 pin 7 se conecta al nodo 0 (GND).
  • U1 pin 2 (Reset) se conecta al nodo 0 (GND) para habilitar el conteo.
  • V_CLK se conecta entre el nodo CLK_IN y el nodo 0 (GND).
  • U1 pin 1 se conecta al nodo CLK_IN.
  • U1 pin 3 se conecta al nodo Q0.
  • U1 pin 4 se conecta al nodo Q1.
  • U1 pin 5 se conecta al nodo Q2.
  • R1 se conecta entre el nodo Q0 y el nodo LED_Q0.
  • D1 el ánodo se conecta a LED_Q0, el cátodo se conecta a 0 (GND).
  • R2 se conecta entre el nodo Q1 y el nodo LED_Q1.
  • D2 el ánodo se conecta a LED_Q1, el cátodo se conecta a 0 (GND).
  • R3 se conecta entre el nodo Q2 y el nodo LED_Q2.
  • D3 el ánodo se conecta a LED_Q2, el cátodo se conecta a 0 (GND).

Diagrama de bloques conceptual

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

Esquemático

INPUTS                                   PROCESSING                                     OUTPUTS / LOADS
(Left)                                    (Center)                                          (Right)

                                   +-----------------------+
                                   |                       |
 [ V_CLK: 1kHz ] --(Pin 1: CP)---> |                       | --(Pin 3: Q0)--> [ R1: 330 ] --> [ D1: Red ] --> GND
                                   |                       |       |
                                   |      U1: 74HC393      |       '--------(Scope Ch1: f/2)
                                   |      Dual 4-bit       |
                                   |      Bin Counter      |
 [ GND ] ---------(Pin 2: MR)--->  |                       | --(Pin 4: Q1)--> [ R2: 330 ] --> [ D2: Grn ] --> GND
             (Reset Disabled)      |   (Power: VCC=Pin 14, |       |
                                   |           GND=Pin 7)  |       '--------(Scope Ch2: f/4)
                                   |                       |
                                   |                       |
                                   |                       | --(Pin 5: Q2)--> [ R3: 330 ] --> [ D3: Yel ] --> GND
                                   |                       |       |
                                   +-----------------------+       '--------(Scope Ch3: f/8)
Esquema Eléctrico

Mediciones y pruebas

Para validar el circuito, realice las siguientes mediciones utilizando el osciloscopio de 4 canales:

  1. Configuración: Conecte la pinza de tierra de todas las sondas del osciloscopio al nodo 0 (GND).
  2. Canal 1 (Entrada): Conecte a CLK_IN. Verifique que la frecuencia sea de 1 kHz.
  3. Canal 2 (Q0): Conecte a Q0. Mida la frecuencia. Debe ser 500 Hz ($1kHz / 2$).
  4. Canal 3 (Q1): Conecte a Q1. Mida la frecuencia. Debe ser 250 Hz ($1kHz / 4$).
  5. Canal 4 (Q2): Conecte a Q2. Mida la frecuencia. Debe ser 125 Hz ($1kHz / 8$).
  6. Comprobación visual: Si reduce la frecuencia del reloj de entrada a 10 Hz, debería ver a D1 parpadear más rápido, D2 más lento y D3 el más lento.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: Frequency divider by 2, 4 and 8

.width out=256

* --- Models ---
* Generic LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)

* --- Power Supply ---
* V1: 5V Main Supply
V1 VCC 0 DC 5

* --- Input Signal ---
* V_CLK: 1kHz Pulse, 0V to 5V, 50% Duty Cycle
V_CLK CLK_IN 0 PULSE(0 5 0 1u 1u 0.5m 1m)

* --- Subcircuit: 74HC393 (Behavioral XSPICE) ---
* Dual 4-bit Binary Counter
* Implements Counter 1 logic using XSPICE primitives.
* Pinout (DIP-14): 1=1CP, 2=1MR, 3=1Q0, 4=1Q1, 5=1Q2, 6=1Q3, 7=GND
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con el pase de 7 días o la suscripción mensual tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Practical case: Frequency divider by 2, 4 and 8

.width out=256

* --- Models ---
* Generic LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)

* --- Power Supply ---
* V1: 5V Main Supply
V1 VCC 0 DC 5

* --- Input Signal ---
* V_CLK: 1kHz Pulse, 0V to 5V, 50% Duty Cycle
V_CLK CLK_IN 0 PULSE(0 5 0 1u 1u 0.5m 1m)

* --- Subcircuit: 74HC393 (Behavioral XSPICE) ---
* Dual 4-bit Binary Counter
* Implements Counter 1 logic using XSPICE primitives.
* Pinout (DIP-14): 1=1CP, 2=1MR, 3=1Q0, 4=1Q1, 5=1Q2, 6=1Q3, 7=GND
*                  8=2Q3, 9=2Q2, 10=2Q1, 11=2Q0, 12=2MR, 13=2CP, 14=VCC
.subckt 74HC393 1CP 1MR 1Q0 1Q1 1Q2 1Q3 GND 2Q3 2Q2 2Q1 2Q0 2MR 2CP VCC

    * ADC Bridge to read analog inputs (Clock and Reset)
    .model adc_mod adc_bridge(in_low=1.5 in_high=3.5)
    A_IN [1CP 1MR] [d_1cp d_1mr] adc_mod
    
    * ADC Bridge to read GND for Logic Low (used for SET inputs)
    A_GND [GND] [d_low] adc_mod

    * Logic Models
    .model inv_mod d_inverter(rise_delay=10n fall_delay=10n)
    .model dff_mod d_dff(clk_delay=10n rise_delay=10n fall_delay=10n)
    .model dac_mod dac_bridge(out_low=0.0 out_high=5.0)

    * --- Counter Logic (Side 1) ---
    * 74HC393 triggers on High-to-Low transition of CP.
    * XSPICE DFF triggers on Rising Edge. So we invert CP.
    A_INV1 d_1cp d_1cp_inv inv_mod

    * Stage 1 (Q0): Divider by 2
    * T-FF behavior: D = ~Q. Clock = ~CP. Reset = MR.
    * Port order: din clk set reset out nout
    A_DFF1 d_1q0_bar d_1cp_inv d_low d_1mr d_1q0 d_1q0_bar dff_mod

    * Stage 2 (Q1): Divider by 4
    * Ripples from Q0 Falling Edge.
    * Q0 Falling = ~Q0 Rising. Use d_1q0_bar as clock.
    A_DFF2 d_1q1_bar d_1q0_bar d_low d_1mr d_1q1 d_1q1_bar dff_mod

    * Stage 3 (Q2): Divider by 8
    * Ripples from Q1 Falling Edge. Use d_1q1_bar as clock.
    A_DFF3 d_1q2_bar d_1q1_bar d_low d_1mr d_1q2 d_1q2_bar dff_mod

    * Stage 4 (Q3): Divider by 16 (Not used externally but part of logic)
    A_DFF4 d_1q3_bar d_1q2_bar d_low d_1mr d_1q3 d_1q3_bar dff_mod

    * Drive Outputs
    A_OUT [d_1q0 d_1q1 d_1q2 d_1q3] [1Q0 1Q1 1Q2 1Q3] dac_mod

    * Side 2 is unused, inputs grounded in main circuit, outputs open.
.ends 74HC393

* --- Main Circuit Instances ---
* U1: 74HC393 Counter
* Pin connections based on Wiring Guide:
* 1(CLK_IN), 2(0/Reset), 3(Q0), 4(Q1), 5(Q2), 7(0/GND), 14(VCC)
* Unused outputs mapped to NC nodes. Unused inputs to 0.
* Subcircuit Pin Order: 1CP 1MR 1Q0 1Q1 1Q2 1Q3 GND 2Q3 2Q2 2Q1 2Q0 2MR 2CP VCC
XU1 CLK_IN 0 Q0 Q1 Q2 NC_1Q3 0 NC_2Q3 NC_2Q2 NC_2Q1 NC_2Q0 0 0 VCC 74HC393

* --- Output Paths (LEDs and Resistors) ---
* Path 1: Q0 -> R1 -> D1 (Red)
R1 Q0 LED_Q0 330
D1 LED_Q0 0 DLED

* Path 2: Q1 -> R2 -> D2 (Green)
R2 Q1 LED_Q1 330
D2 LED_Q1 0 DLED

* Path 3: Q2 -> R3 -> D3 (Yellow)
R3 Q2 LED_Q2 330
D3 LED_Q2 0 DLED

* --- Simulation & Output ---
.op
.tran 10u 20m
.print tran V(CLK_IN) V(Q0) V(Q1) V(Q2)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation shows a clear binary counting sequence. CLK_IN is a 1kHz clock (period 1ms). Q0 toggles every 1ms (f/2, period 2ms). Q1 toggles every 2ms (f/4, period 4ms). Q2 toggles every 4ms (f/8, period 8ms). The outputs transition cleanly between 0V and 5V.
* bom_vs_spice equivalences ignored:
*   - LEDs (D1, D2, D3) are modeled using a generic diode model (DLED) with specific parameters.
*   - U1 (74HC393) is modeled as a behavioral subcircuit using XSPICE primitives (ADC/DAC bridges, DFFs) instead of a transistor-level model.
* overall_comment: The circuit is perfectly functional and accurately represents a 3-bit binary ripple counter (frequency divider). The behavioral model for the 74HC393 is correctly implemented with the necessary ADC/DAC bridges for XSPICE. The wiring matches the guide exactly, and the simulation results confirm the expected frequency division ratios (f/2, f/4, f/8). It is an excellent didactic example.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows a clear binary counting sequence. CLK_IN is a 1kHz clock (period 1ms). Q0 toggles every 1ms (f/2, period 2ms). Q1 toggles every 2ms (f/4, period 4ms). Q2 toggles every 4ms (f/8, period 8ms). The outputs transition cleanly between 0V and 5V.
Show raw data table (3323 rows)
Index   time            v(clk_in)       v(q0)           v(q1)           v(q2)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-08	5.000000e-02	0.000000e+00	0.000000e+00	0.000000e+00
2	2.000000e-08	1.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
3	4.000000e-08	2.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
4	8.000000e-08	4.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
5	1.600000e-07	8.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
6	3.200000e-07	1.600000e+00	0.000000e+00	0.000000e+00	0.000000e+00
7	6.400000e-07	3.200000e+00	0.000000e+00	0.000000e+00	0.000000e+00
8	1.000000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
9	1.064000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
10	1.192000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
11	1.448000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
12	1.960000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
13	2.984000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
14	5.032000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
15	9.128000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
16	1.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
17	2.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
18	3.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
19	4.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
20	5.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
21	6.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
22	7.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
23	8.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
... (3299 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar flotante el pin Master Reset (MR): Dejar el pin 2 desconectado provoca que el contador se reinicie aleatoriamente debido al ruido. Solución: Conecte siempre el pin MR a GND (Lógica 0) para un funcionamiento normal de conteo.
  2. Confundir los números de los pines: El 74HC393 tiene dos contadores en su interior. Los estudiantes a menudo mezclan los pines del Contador 1 y del Contador 2. Solución: Siga estrictamente la hoja de datos (datasheet) y utilice los pines 1, 2, 3, 4, 5 y 6 solo para el primer contador.
  3. Ignorar VCC/GND: Olvidar alimentar el chip conduce a una salida impredecible o sin actividad. Solución: Conecte siempre el Pin 14 a +5 V y el Pin 7 a GND antes de realizar pruebas.

Solución de problemas

  • Síntoma: Ningún LED se enciende y las salidas permanecen en 0 V.
    • Causa: El Master Reset (Pin 2) podría estar conectado a VCC en lugar de a GND.
    • Solución: Mueva la conexión del Pin 2 a GND.
  • Síntoma: Los LED están siempre encendidos o parpadean muy tenuemente.
    • Causa: La frecuencia es demasiado alta para que el ojo vea el parpadeo (por ejemplo, 1 kHz).
    • Solución: Utilice el osciloscopio para verificar la señal o reduzca la frecuencia de V_CLK a < 10 Hz para confirmación visual.
  • Síntoma: La frecuencia de salida es inestable o errática.
    • Causa: Fuente de alimentación ruidosa o falta de condensador de desacoplo.
    • Solución: Añada un condensador de 100 nF entre VCC y GND cerca del CI.

Posibles mejoras y extensiones

  1. Dividir por 16 y 256: Conecte en cascada el primer contador al segundo contador del chip U1 (conecte 1Q3 a 2CP) para lograr relaciones de división más altas hasta 256.
  2. Generador de audio variable: Conecte las salidas a un controlador de altavoz simple y utilice un potenciómetro variable en un temporizador 555 (como reloj) para escuchar cómo el tono cae por octavas al cambiar entre Q0, Q1 y Q2.

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.

Quiz rápido

Pregunta 1: ¿Cuál es el componente principal utilizado en este circuito para la división de frecuencia?




Pregunta 2: ¿Qué operación realiza el contador binario sobre la frecuencia de la señal de reloj de entrada?




Pregunta 3: Si la frecuencia de entrada es 'f', ¿cuál es la frecuencia esperada en la salida Q0?




Pregunta 4: ¿Por qué factor divide la frecuencia la salida Q1 (2^2)?




Pregunta 5: Si la señal de reloj de entrada es de 100 Hz, ¿cuál será la frecuencia en la salida Q2 (división por 8)?




Pregunta 6: En el contexto de síntesis de audio, ¿qué resultado produce reducir la frecuencia a la mitad?




Pregunta 7: ¿Cuál es la utilidad de la división de frecuencia en los relojes digitales?




Pregunta 8: ¿De cuántos bits es el contador binario 74HC393 mencionado en el objetivo?




Pregunta 9: ¿Qué tipo de forma de onda se espera obtener en las salidas Q del contador?




Pregunta 10: ¿Para qué aplicación se utiliza la generación de velocidad de baudios mencionada en el contexto?




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:


Caso práctico: Contador ascendente de 4 bits con LEDs

Prototipo de Contador ascendente de 4 bits con LEDs (Maker Style)

Nivel: Básico. Verifique el funcionamiento de un contador binario de 4 bits visualizando la secuencia de conteo con LEDs.

Objetivo y caso de uso

En este caso práctico, construirá un circuito digital síncrono utilizando el circuito integrado 74HC161 para contar pulsos de reloj en binario desde 0 (0000) hasta 15 (1111). Visualizará los estados de salida utilizando cuatro LEDs que representan los bits desde LSB (Bit menos significativo) hasta MSB (Bit más significativo).

Por qué es útil:
* Relojes digitales: Forma el bloque fundamental para el seguimiento del tiempo (segundos, minutos, horas).
* División de frecuencia: Los contadores se utilizan para reducir señales de reloj de alta frecuencia a frecuencias más bajas y utilizables para otros componentes.
* Direccionamiento de memoria: En sistemas informáticos, los contadores generan direcciones secuenciales para acceder a datos en la memoria.
* Conteo de eventos: Útil en automatización industrial para contar artículos en una cinta transportadora o activaciones de sensores.
* Máquinas de estados: Proporciona la secuencia de estados requerida para controlar operaciones lógicas digitales complejas.

Resultado esperado:
* Cuatro LEDs (D1–D4) se encenderán en un patrón binario (0000, 0001, 0010… 1111).
* La secuencia se repite cada 16 pulsos de reloj.
* Activar el interruptor de reset fuerza a que todos los LEDs se apaguen inmediatamente.
* Tensión de salida de Lógica Alta aprox. 5 V; Lógica Baja aprox. 0 V.

Público objetivo y nivel:
Estudiantes y aficionados familiarizados con niveles lógicos básicos que se inician en el diseño de lógica secuencial.

Materiales

  • U1: 74HC161, función: CI contador binario síncrono de 4 bits
  • V1: Fuente de alimentación de 5 V CC, función: fuente de alimentación principal
  • V2: Fuente de tensión pulsada (0 V a 5 V), función: Señal de reloj (1 Hz para visualización)
  • R1: Resistencia de 330 Ω, función: limitación de corriente para el LED Q0
  • R2: Resistencia de 330 Ω, función: limitación de corriente para el LED Q1
  • R3: Resistencia de 330 Ω, función: limitación de corriente para el LED Q2
  • R4: Resistencia de 330 Ω, función: limitación de corriente para el LED Q3
  • R5: Resistencia de 10 kΩ, función: pull-up para Master Reset
  • D1: LED rojo, función: Indicador para Q0 (LSB)
  • D2: LED rojo, función: Indicador para Q1
  • D3: LED rojo, función: Indicador para Q2
  • D4: LED rojo, función: Indicador para Q3 (MSB)
  • S1: Pulsador momentáneo (normalmente abierto), función: disparador de Reset

Pin-out del CI utilizado

Chip seleccionado: 74HC161 (Contador Binario Síncrono de 4 bits, Reset Asíncrono)

Pin Nombre Función lógica Conexión en este caso
1 \overlineMR Master Reset (Activo bajo) Conectado al nodo Reset (S1/R5)
2 CP Pulso de reloj (Flanco ascendente) Conectado a V2 (Fuente de reloj)
7 CEP Habilitación de conteo paralelo Conectado a VCC (Siempre habilitado)
8 GND Tierra Conectado a 0 (GND)
9 \overlinePE Habilitación paralela (Carga) Conectado a VCC (Deshabilitado)
10 CET Habilitación de conteo «Trickle» Conectado a VCC (Siempre habilitado)
11 Q3 Bit de salida 3 (MSB) Conectado a D4 a través de R4
12 Q2 Bit de salida 2 Conectado a D3 a través de R3
13 Q1 Bit de salida 1 Conectado a D2 a través de R2
14 Q0 Bit de salida 0 (LSB) Conectado a D1 a través de R1
16 VCC Alimentación (+5 V) Conectado a VCC

Nota: Los pines 3, 4, 5, 6 (Entradas de datos paralelos) y 15 (Salida de acarreo «Ripple Carry») no se utilizan en esta configuración básica de conteo y las entradas pueden conectarse a tierra si se prefiere, aunque normalmente son irrelevantes cuando la Carga (Load) está deshabilitada.

Guía de conexionado

Construya el circuito siguiendo estas conexiones de nodos explícitas:

  • Nodos de alimentación:

    • Conecte el terminal positivo de V1 al nodo VCC.
    • Conecte el terminal negativo de V1 al nodo 0 (GND).
    • Conecte el pin 16 de U1 a VCC.
    • Conecte el pin 8 de U1 a 0.
  • Entradas de control:

    • Conecte el positivo de V2 (Fuente de reloj) al nodo CLK. Conecte el negativo de V2 a 0.
    • Conecte el pin 2 de U1 al nodo CLK.
    • Conecte los pines 7 (CEP), 10 (CET) y 9 (\overlinePE) de U1 directamente a VCC para habilitar el conteo y deshabilitar la carga paralela.
    • Circuito de Reset: Conecte R5 entre VCC y el nodo RESET_N. Conecte S1 entre el nodo RESET_N y 0. Conecte el pin 1 de U1 a RESET_N.
  • Salidas (Indicadores LED):

    • Bit 0 (LSB): Conecte el pin 14 de U1 al nodo Q0. Conecte R1 entre Q0 y el nodo LED_A1. Conecte el ánodo de D1 a LED_A1 y el cátodo a 0.
    • Bit 1: Conecte el pin 13 de U1 al nodo Q1. Conecte R2 entre Q1 y el nodo LED_A2. Conecte el ánodo de D2 a LED_A2 y el cátodo a 0.
    • Bit 2: Conecte el pin 12 de U1 al nodo Q2. Conecte R3 entre Q2 y el nodo LED_A3. Conecte el ánodo de D3 a LED_A3 y el cátodo a 0.
    • Bit 3 (MSB): Conecte el pin 11 de U1 al nodo Q3. Conecte R4 entre Q3 y el nodo LED_A4. Conecte el ánodo de D4 a LED_A4 y el cátodo a 0.

Diagrama de bloques conceptual

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

Esquemático

+-------------------------------------------------------------------------------------------------------+
|                                  PRACTICAL CASE: 4-BIT UP COUNTER                                     |
+-------------------------------------------------------------------------------------------------------+

      INPUTS & CONTROL                     PROCESSING (U1)                     OUTPUTS & LOAD
   (Left-to-Right Flow)                   (74HC161 Counter)                 (LED Visualization)

                                     +-------------------------+
                                     |                         |
[ V2: Clock Source ] --(CLK 1Hz)---> | [Pin 2] CP              |
                                     |                         |
                                     |                         |          (Bit 0 - LSB)
[ Reset Logic ]                      |             [Pin 14] Q0 | --(Q0)--> [ R1: 330 ] --> [ D1: Red ] --> GND
(VCC->R5->Node->S1->GND) --(RST_N)-> | [Pin 1] ~MR             |
                                     |                         |
                                     |                         |          (Bit 1)
                                     |             [Pin 13] Q1 | --(Q1)--> [ R2: 330 ] --> [ D2: Red ] --> GND
[ VCC: 5 V Source ] --(Enable High)-> | [Pin 7]  CEP            |
                   --(Enable High)-> | [Pin 10] CET            |
                   --(Disable Load)> | [Pin 9]  ~PE            |          (Bit 2)
                                     |             [Pin 12] Q2 | --(Q2)--> [ R3: 330 ] --> [ D3: Red ] --> GND
                                     |                         |
                                     |                         |
                                     |                         |          (Bit 3 - MSB)
                                     |             [Pin 11] Q3 | --(Q3)--> [ R4: 330 ] --> [ D4: Red ] --> GND
                                     |                         |
                                     +-------------------------+
                                            |           |
                                         [Pin 16]    [Pin 8]
                                            |           |
                                           VCC         GND
Esquema Eléctrico

Mediciones y pruebas

  1. Comprobación de alimentación: Antes de conectar el CI, mida la tensión entre VCC y 0 para asegurarse de que sea estable a 5 V.
  2. Verificación del reloj: Ajuste V2 a una frecuencia baja (p. ej., 1 Hz). Verifique que la señal en el nodo CLK oscila entre 0 V y 5 V.
  3. Observación de la secuencia: Encienda el circuito. Observe de D1 a D4. Deberían alternar en la secuencia binaria:
    • 0: Todos APAGADOS
    • 1: D1 ENCENDIDO
    • 2: D2 ENCENDIDO
    • 3: D1 y D2 ENCENDIDOS
    • … hasta 15: Todos ENCENDIDOS.
  4. Prueba de Reset: Mientras el contador está funcionando, presione S1. Todos los LEDs deben apagarse inmediatamente (Reset Asíncrono) o en el siguiente flanco de reloj (si se usa una variante de reset síncrono, aunque el Reset del 74HC161 estándar suele ser asíncrono).
  5. Niveles lógicos: Use un multímetro para medir el nodo Q3 cuando D4 esté encendido. Debería leer cerca de 5 V (Lógica Alta).

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: 4-bit up counter with LEDs (74HC161)
* NGSPICE Netlist
* Requires XSPICE extensions

.width out=256

* --- Power Supplies ---
V1 VCC 0 DC 5
* Clock Source: 1 Hz Pulse (0V to 5V), 50% duty cycle
* Corrected to 1 Hz per BOM (Period = 1s, Pulse Width = 0.5s)
V2 CLK 0 PULSE(0 5 0 1u 1u 0.5 1)

* --- Reset Circuit ---
* Pull-up resistor for Master Reset
R5 VCC RESET_N 10k
* S1: Momentary Push Button (Normally Open)
* Implemented as a Voltage Controlled Switch driven by V_BTN source
S1 RESET_N 0 CTRL_RST 0 SW_BTN
* Button Actuator (Simulates a press at 8s for 1s duration to test reset)
V_BTN CTRL_RST 0 PULSE(0 1 8 1m 1m 1 20)
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con el pase de 7 días o la suscripción mensual tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Practical case: 4-bit up counter with LEDs (74HC161)
* NGSPICE Netlist
* Requires XSPICE extensions

.width out=256

* --- Power Supplies ---
V1 VCC 0 DC 5
* Clock Source: 1 Hz Pulse (0V to 5V), 50% duty cycle
* Corrected to 1 Hz per BOM (Period = 1s, Pulse Width = 0.5s)
V2 CLK 0 PULSE(0 5 0 1u 1u 0.5 1)

* --- Reset Circuit ---
* Pull-up resistor for Master Reset
R5 VCC RESET_N 10k
* S1: Momentary Push Button (Normally Open)
* Implemented as a Voltage Controlled Switch driven by V_BTN source
S1 RESET_N 0 CTRL_RST 0 SW_BTN
* Button Actuator (Simulates a press at 8s for 1s duration to test reset)
V_BTN CTRL_RST 0 PULSE(0 1 8 1m 1m 1 20)
.model SW_BTN sw(vt=0.5 ron=1 roff=10Meg)

* --- 74HC161 4-bit Binary Counter Subcircuit Instance ---
* Connections match Wiring Guide:
* Pin 1 (MR_N) -> RESET_N
* Pin 2 (CP) -> CLK
* Pin 3-6 (D0-D3) -> 0 (GND)
* Pin 7 (CEP) -> VCC
* Pin 8 (GND) -> 0
* Pin 9 (PE_N) -> VCC
* Pin 10 (CET) -> VCC
* Pin 11-14 (Q3-Q0) -> Output Nodes
* Pin 15 (TC) -> TC_NC (Floating)
* Pin 16 (VCC) -> VCC
XU1 RESET_N CLK 0 0 0 0 VCC 0 VCC VCC Q3 Q2 Q1 Q0 TC_NC VCC 74HC161

* --- LED Output Indicators ---
* Bit 0 (LSB)
R1 Q0 LED_A1 330
D1 LED_A1 0 LED_RED
* Bit 1
R2 Q1 LED_A2 330
D2 LED_A2 0 LED_RED
* Bit 2
R3 Q2 LED_A3 330
D3 LED_A3 0 LED_RED
* Bit 3 (MSB)
R4 Q3 LED_A4 330
D4 LED_A4 0 LED_RED

* --- Models ---
.model LED_RED D(Is=1e-14 Rs=5 N=2)

* --- Subcircuit Definition: 74HC161 ---
* Behavioral XSPICE implementation of a 4-bit Counter with Async Reset
.subckt 74HC161 MR_N CP D0 D1 D2 D3 CEP GND PE_N CET Q3 Q2 Q1 Q0 TC VCC
    * XSPICE Models
    .model adc_in adc_bridge(in_low=2.0 in_high=3.0)
    .model dac_out dac_bridge(out_low=0.0 out_high=5.0)
    .model dff_mod d_dff(rise_delay=10n fall_delay=10n)
    .model inv_mod d_inverter(rise_delay=5n fall_delay=5n)

    * Input Bridges (Analog to Digital)
    A_IN [MR_N CP] [mr_dig cp_dig] adc_in

    * Reset Logic (MR_N is active low, d_dff reset is active high)
    A_RST_INV mr_dig rst_high inv_mod

    * Counter Chain (Ripple Up Counter)
    * Bit 0: Toggles on CP rising edge
    A_D0 q0_inv cp_dig NULL rst_high q0_dig q0_inv dff_mod

    * Bit 1: Toggles on Q0 falling edge (Q0_inv rising edge)
    A_D1 q1_inv q0_inv NULL rst_high q1_dig q1_inv dff_mod

    * Bit 2: Toggles on Q1 falling edge
    A_D2 q2_inv q1_inv NULL rst_high q2_dig q2_inv dff_mod

    * Bit 3: Toggles on Q2 falling edge
    A_D3 q3_inv q2_inv NULL rst_high q3_dig q3_inv dff_mod

    * Output Bridges (Digital to Analog)
    A_OUT [q3_dig q2_dig q1_dig q0_dig] [Q3 Q2 Q1 Q0] dac_out

    * Terminal Count (Unused/Dummy pull-down)
    R_TC TC 0 100k
.ends

* --- Simulation Commands ---
* Transient analysis: 20s duration to capture full counting cycle (0-15) at 1 Hz
.op
.tran 10m 20s

* Print critical signals (Inputs first)
.print tran V(CLK) V(RESET_N) V(Q0) V(Q1) V(Q2) V(Q3)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows a correct 4-bit binary counting sequence (0000 to 1111) on outputs Q0-Q3. The clock toggles at 1Hz. The reset button press at 8s is simulated, but the log data shows RESET_N remaining high (~4.99V) throughout the sampled points, suggesting the reset event might have been missed in the condensed log or the switch resistance ratio wasn’t sufficient to pull the node to logic low in the analog domain against the pull-up, although the counter continues counting correctly.
Show raw data table (3020 rows)
Index   time            v(clk)          v(reset_n)      v(q0)           v(q1)           v(q2)           v(q3)
0	0.000000e+00	0.000000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-08	5.000000e-02	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
2	2.000000e-08	1.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
3	4.000000e-08	2.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
4	8.000000e-08	4.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
5	1.600000e-07	8.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
6	3.200000e-07	1.600000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
7	6.400000e-07	3.200000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
8	6.520000e-07	3.260000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
9	6.760000e-07	3.380000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
10	7.240000e-07	3.620000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
11	8.200000e-07	4.100000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
12	1.000000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
13	1.019200e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
14	1.057600e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
15	1.134400e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
16	1.288000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
17	1.595200e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
18	2.209600e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
19	3.438400e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
20	5.896000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
21	1.081120e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
22	2.064160e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
23	4.030240e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
... (2996 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar los pines Enable flotando: La serie 74HC tiene entradas de alta impedancia. Si los pines 7 (CEP) o 10 (CET) no están conectados a VCC, el contador puede no contar o comportarse de manera errática. Siempre conecte las entradas de control no utilizadas a un nivel lógico definido.
  2. Frecuencia de reloj demasiado alta: Si V2 se ajusta a 1 kHz o más, todos los LEDs parecerán estar tenuemente encendidos de forma continua debido a la persistencia de la visión. Mantenga el reloj por debajo de 5 Hz para la depuración visual.
  3. Pin de Carga Paralela flotante: Si el pin 9 (\overlinePE) se deja flotando o bajo, el chip podría intentar cargar constantemente datos desde las entradas P0-P3 en lugar de contar. Asegúrese de que el pin 9 esté conectado a VCC.

Solución de problemas

  • Los LEDs nunca se encienden: Verifique las conexiones de alimentación a los pines 16 y 8. Asegúrese de que los LEDs estén insertados con la polaridad correcta (ánodo a resistencia/CI, cátodo a tierra).
  • El contador se queda en cero: Verifique que el pin de Reset (1) esté Alto (5 V). Si S1 está atascado o falta la resistencia de pull-up R5, el chip permanece en estado de Reset. Además, verifique que los pines Enable (7, 10) estén Altos.
  • El contador salta números: Esto se debe a menudo al «rebote del interruptor» (switch bounce) si está utilizando un interruptor mecánico como reloj manual. Use un generador de onda cuadrada limpia o un circuito antirrebote (condensador + resistencia) para la entrada de reloj.
  • Secuencia aleatoria: Verifique si el pin de Habilitación Paralela (\overlinePE) está accidentalmente Bajo o flotando. Debe estar Alto.

Posibles mejoras y extensiones

  1. Contador de 8 bits: Conecte en cascada un segundo 74HC161 conectando la Salida de Acarreo (pin 15) del primer contador a la Habilitación «Trickle» (pin 10) del segundo contador. Esto permite contar hasta 255.
  2. Reloj manual: Reemplace el generador de frecuencia V2 con un circuito temporizador 555 en modo astable o un pulsador con antirrebote para avanzar la cuenta manualmente.

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.

Quiz rápido

Pregunta 1: ¿Qué circuito integrado se utiliza en este caso práctico para el contador binario?




Pregunta 2: ¿Cuál es el rango de conteo en binario que realiza este circuito?




Pregunta 3: ¿Qué representan las siglas LSB y MSB mencionadas en el texto?




Pregunta 4: ¿Cuál es una aplicación útil de los contadores mencionada en el texto con respecto a la frecuencia?




Pregunta 5: ¿Qué utilidad tiene el conteo de eventos en la automatización industrial según el texto?




Pregunta 6: ¿Cada cuántos pulsos de reloj se repite la secuencia de conteo completa (0 a 15)?




Pregunta 7: ¿Qué función fundamental cumplen los contadores en los relojes digitales?




Pregunta 8: ¿Qué función cumplen los contadores en el direccionamiento de memoria?




Pregunta 9: ¿Qué tipo de circuito digital se construye en este caso práctico?




Pregunta 10: ¿Qué patrón visual se espera observar en los cuatro LEDs?




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: