01 · Punto de partida
Tres montajes con un solo chip
El 74HC74 contiene dos flip-flops D independientes, cada uno con su reloj, su dato, su preset y su clear. Es el componente ideal para aprender, porque cada idea de los temas 8 a 11 se puede comprobar con él. Los tres montajes se construyen uno sobre otro:
| Montaje | Qué hace | Chips | Qué aprendés |
|---|---|---|---|
| 1. Captura con reloj manual | Un LED copia el valor de un interruptor, pero solo cuando damos un «pulso de reloj» | 74HC74 + 74HC00 | Captura por flanco, reloj sin rebotes (tema 7), entradas sin usar |
| 2. Contador de dos bits | Dos LED cuentan en binario cada pulsación: 00, 01, 10, 11, 00… | 74HC74 + 74HC00 | D = ~Q, división por 2, qué salida usar de reloj, qué pasa con los rebotes |
| 3. Reset manual y de encendido | El contador vuelve a 00 con un botón y siempre arranca en 00 | + 74HC14 | Clear asíncrono, circuito RC con Schmitt (tema 10), arranque definido |
Como en el taller del tema 7, no hace falta tener los materiales para aprovechar el tema: el laboratorio simula el contador y el código verifica cada secuencia.
02 · Preparación
Materiales y herramientas
| Cant. | Componente | Para qué sirve |
|---|---|---|
| 1 | 74HC74 (dos flip-flops D con preset y clear) | La protagonista |
| 1 | 74HC00 (cuatro NAND) | Latch antirrebote del reloj manual (montaje del tema 7) |
| 1 | 74HC14 (seis inversores Schmitt) | Reset de encendido (montaje 3) |
| 1 | Conmutador de palanca SPDT | Reloj manual limpio |
| 1 | Interruptor deslizante SPDT (o DIP) | Dato D, siempre conectado a +5 V o a masa |
| 1 + 1 | Pulsadores normalmente abiertos | Reloj directo (para comparar) y reset manual |
| 2 a 4 | LED con resistencia de 1 kΩ en serie | Mostrar Q1, Q2 (y ~Q) |
| 4 | Resistencias de 10 kΩ | Pull-ups del latch y del reset |
| 1 | Resistencia de 100 kΩ y condensador de 1 µF | Reset de encendido (≈ 90 ms, como en el tema 10) |
| 3 | Condensador de 100 nF | Desacople, uno por chip |
| 1 | Protoboard, cables y fuente regulada de 5 V | Montaje y alimentación |
El multímetro alcanza para la mayoría de las pruebas, porque con un reloj manual todo ocurre despacio. Para ver los rebotes y los flancos hace falta un osciloscopio o un analizador lógico, como en el taller anterior. Un buen hábito es dibujar el esquema en papel con los números de pin escritos antes de tocar el protoboard.
Antes de dar tensión
- Cada chip con su 100 nF entre Vcc y GND, pegado a las patas.
- Ninguna entrada al aire: también las del flip-flop que no uses.
- Preset y clear de cada flip-flop con su nivel inactivo (+5 V) si no se usan.
- Ninguna salida unida a otra salida ni a +5 V o masa.
03 · El chip
Pines del 74HC74
El encapsulado DIP de 14 patas tiene una muesca en un extremo; el pin 1 queda a la izquierda de la muesca, mirando el chip desde arriba, y los números siguen en sentido antihorario. La disposición de pines es la clásica del 7474:
| Pin | Nombre | Función | Pin | Nombre | Función |
|---|---|---|---|---|---|
| 1 | 1CLR̅ | Clear del FF1 (activo en bajo) | 14 | Vcc | +5 V |
| 2 | 1D | Dato del FF1 | 13 | 2CLR̅ | Clear del FF2 |
| 3 | 1CLK | Reloj del FF1 (flanco ↑) | 12 | 2D | Dato del FF2 |
| 4 | 1PRE̅ | Preset del FF1 (activo en bajo) | 11 | 2CLK | Reloj del FF2 |
| 5 | 1Q | Salida Q del FF1 | 10 | 2PRE̅ | Preset del FF2 |
| 6 | 1Q̅ | Salida ~Q del FF1 | 9 | 2Q | Salida Q del FF2 |
| 7 | GND | Masa | 8 | 2Q̅ | Salida ~Q del FF2 |
La tabla de función es la del tema 10: con PRE̅ y CLR̅ inactivos (en 1), el flip-flop copia D en cada flanco ascendente de CLK; con PRE̅ = 0 fuerza Q = 1 y con CLR̅ = 0 fuerza Q = 0, sin esperar al reloj. Fijate en una regularidad útil: las cinco patas del primer flip-flop ocupan los pines 1 a 6 y las del segundo, 8 a 13, con el orden espejo. La mitad «de arriba» y la de «abajo» se conectan igual.
04 · Montaje 1
Captura con reloj manual
Lo primero es un reloj que podamos manejar con la mano sin que los rebotes lo arruinen. Reutilizamos el latch de NAND del tema 7 (74HC00) con el conmutador SPDT: al mover la palanca hacia A, su salida Q sube una sola vez; es el flanco ascendente que va a mandar al 74HC74.
| Chip y pin | Se conecta a |
|---|---|
| U1 pin 14 / pin 7 | +5 V / masa, con 100 nF entre ambos |
| U1 pin 1 | Contacto A del conmutador y 10 kΩ a +5 V |
| U1 pin 4 | Contacto B del conmutador y 10 kΩ a +5 V |
| Común del conmutador | Masa |
| U1 pin 2 ↔ pin 6; pin 3 ↔ pin 5 | Cruce del latch (como en el tema 7) |
| U1 pines 9, 10, 12, 13 | Masa (compuertas sobrantes) |
| U1 pin 3 (Q) | U2 pin 3 (1CLK): el reloj manual |
| U2 pin 14 / pin 7 | +5 V / masa, con 100 nF entre ambos |
| U2 pin 2 (1D) | Centro del interruptor deslizante; sus extremos a +5 V y a masa |
| U2 pines 1 y 4 (1CLR̅, 1PRE̅) | +5 V (inactivos) |
| U2 pin 5 (1Q) | LED con resistencia de 1 kΩ a masa |
| U2 pines 10 y 13 (2PRE̅, 2CLR̅) | +5 V (el segundo flip-flop, sin usar) |
| U2 pines 11 y 12 (2CLK, 2D) | Masa (entradas del segundo flip-flop, atadas) |
Pruebas
| Paso | Acción | LED de Q | Qué se comprueba |
|---|---|---|---|
| 1 | Dar tensión | Apagado o encendido | Arranque indefinido: no hay reset (todavía) |
| 2 | D = 1; palanca a B, luego a A | Encendido | El flanco ↑ (la palanca llegando a A) captura D = 1 |
| 3 | D = 0, sin mover la palanca | Sin cambio | D no importa entre flancos |
| 4 | Palanca a B | Sin cambio | El flanco descendente se ignora |
| 5 | Palanca a A (D = 0) | Apagado | El siguiente flanco ↑ captura D = 0 |
| 6 | Cambiar D varias veces con la palanca quieta | Sin cambio | La salida solo cambia con el reloj |
Para ver la diferencia con un latch, comparalo mentalmente con el tema 6: con un latch, el paso 6 habría hecho oscilar la salida si la habilitación estuviera abierta. Acá, la salida no se mueve. Es el flanco el que decide.
05 · Montaje 2
Contador de dos bits
Se usan las dos mitades del 74HC74. Cada una tiene su D conectada a su propia ~Q, lo que la convierte en un divisor por 2 (tema 9). El reloj manual va al primero, y el segundo recibe como reloj la salida del primero:
| Conexión | Función |
|---|---|
| U2 pin 6 (1Q̅) → U2 pin 2 (1D) | D1 = ~Q1: el primer flip-flop conmuta en cada flanco |
| U2 pin 8 (2Q̅) → U2 pin 12 (2D) | D2 = ~Q2: el segundo también conmuta |
| U2 pin 6 (1Q̅) → U2 pin 11 (2CLK) | El segundo flip-flop recibe el reloj de ~Q1 |
| U2 pin 5 (1Q) → LED con 1 kΩ | Bit 0 de la cuenta |
| U2 pin 9 (2Q) → LED con 1 kΩ | Bit 1 de la cuenta |
| Se quita el interruptor de D y la conexión de 2D a masa | Ahora D viene de las salidas |
¿Por qué ~Q1 y no Q1? Porque el segundo flip-flop captura en un flanco ascendente, y debe cambiar cuando Q1 pasa de 1 a 0. Ese instante es, justamente, un flanco ascendente de ~Q1. Con el reloj manual:
| Pulsación | Q1 | ~Q1 | Q2 | Cuenta |
|---|---|---|---|---|
| Inicial | 0 | 1 | 0 | 00 |
| 1.ª | 1 | 0 | 0 | 01 |
| 2.ª | 0 | 1 (sube) | 1 (conmuta) | 10 |
| 3.ª | 1 | 0 | 1 | 11 |
| 4.ª | 0 | 1 (sube) | 0 (conmuta) | 00 |
Y si el reloj tiene rebotes
Conectá el pulsador directo (con su pull-up) al pin 3 en lugar del reloj manual: cada pulsación pasa a producir varios flancos ascendentes y la cuenta salta de a cantidades irregulares. Es el experimento más claro del por qué del tema 7, y el laboratorio de este tema lo reproduce con una probabilidad de rebotes ajustable.
06 · Montaje 3
Reset manual y de encendido
Para que el contador empiece siempre en 00 usamos el clear asíncrono de los dos flip-flops, activado por un circuito RC al encender y por un pulsador a mano. Es el circuito del tema 10:
| Conexión | Función |
|---|---|
| 100 kΩ de +5 V al nodo R; 1 µF del nodo R a masa | RC de encendido: el nodo sube con τ = 100 ms |
| Pulsador con 100 Ω del nodo R a masa | Reset manual: descarga el condensador |
| Nodo R → U3 pin 1 (1A); U3 pin 2 (1Y) → U3 pin 3 (2A) | Dos inversores Schmitt en serie: limpian el flanco |
| U3 pin 4 (2Y) → U2 pin 1 (1CLR̅) y U2 pin 13 (2CLR̅) | CLR̅ activo mientras el nodo R está bajo |
| U3 pines 5, 9, 11, 13 | Masa (inversores sobrantes) |
| U3 pin 14 / pin 7 | +5 V / masa, con 100 nF |
| U2 pines 4 y 10 (PRE̅) | +5 V (el preset no se usa) |
Al encender, el condensador está descargado: el nodo R vale 0 V, la salida del segundo inversor vale 0 y CLR̅ está activa. Durante unos 90 ms el contador queda fijo en 00. Cuando el nodo supera el umbral del 74HC14, CLR̅ pasa a 1 y el contador empieza a funcionar. Con el pulsador se puede repetir el pulso en cualquier momento.
Pruebas
- Apagar y encender diez veces con el circuito de reset: debe arrancar siempre en 00. Después retirar el RC (dejando CLR̅ a +5 V) y repetir: el estado inicial varía.
- Reset manual: contar hasta 11 y apretar el pulsador: vuelve a 00 sin pulso de reloj.
- Reloj durante el reset: mantener el pulsador apretado y mover la palanca: el contador no cuenta (CLR̅ manda sobre el reloj).
07 · Cuando no funciona
Mediciones, fallas y método
| Síntoma | Causa probable | Cómo comprobarlo |
|---|---|---|
| La cuenta salta de a dos o tres | Reloj con rebotes (pulsador directo) | Reemplazar por el latch; mirar CLK1 con el osciloscopio |
| Cuenta hacia atrás (00, 11, 10, 01) | CLK2 tomado de Q1 (pin 5) en lugar de ~Q1 (pin 6) | Revisar el cableado del pin 11 |
| Un LED no cambia nunca | PRE̅ o CLR̅ de ese flip-flop a masa, o D sin conectar | Medir 5 V en los pines 1, 4, 10 y 13 |
| Los bits cambian al tocar el protoboard | Entradas al aire, incluido el flip-flop sin usar | Atar 2CLK y 2D a masa en el montaje 1 |
| Arranca siempre en estados distintos | No hay reset de encendido | Normal sin el montaje 3; con él, medir el nodo R |
| Con reset de encendido sigue arrancando mal | RC demasiado corto o CLR̅ sin conectar a los dos flip-flops | Medir CLR̅ al encender: debe estar en 0 unos 90 ms |
| El chip se calienta | Salida en cortocircuito o entradas flotantes | Buscar cables entre salidas; revisar entradas sobrantes |
| LED muy débil | Entrada flotante en la compuerta siguiente o resistencia mal elegida | Medir la salida en reposo |
Armar por etapas
- Alimentación primero. Vcc y GND en cada chip, con el 100 nF puesto.
- Un bloque por vez. Armar y probar el reloj manual antes de conectarlo al 74HC74.
- Atar todas las entradas, también las de lo que no se usa.
- Probar la etapa con la lista de pasos antes de agregar la siguiente.
- Cambiar una sola cosa a la vez cuando algo falla.
- Anotar la secuencia observada y compararla con la esperada: el error está entre el último paso correcto y el primero que falla.
08 · El taller en código
Simular, comparar y diagnosticar
Antes de armar conviene predecir. Los bloques reproducen el contador con las dos formas de cablear el reloj del segundo flip-flop, comparan el reloj limpio con un pulsador que rebota, estiman los arranques con y sin reset y diagnostican una secuencia medida.
Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.
Paso 1: el contador y los dos cableados del reloj
class FF74:
"""Un flip-flop D del 74HC74 con D conectada a ~Q: conmuta en cada flanco ascendente."""
def __init__(self, q=0):
self.q = q
@property
def qn(self):
return 1 - self.q
def flanco(self):
self.q = 1 - self.q
def contador(pulsos, clk2_desde="qn1"):
ff1, ff2 = FF74(), FF74()
lectura = []
for _ in range(pulsos):
antes = ff1.qn if clk2_desde == "qn1" else ff1.q
ff1.flanco() # el reloj manual llega a CLK1
despues = ff1.qn if clk2_desde == "qn1" else ff1.q
if antes == 0 and despues == 1: # flanco ascendente en el pin CLK2
ff2.flanco()
lectura.append(f"{ff2.q}{ff1.q}")
return lectura
print("CLK2 tomado de ~Q1 (pin 6):", *contador(9, "qn1"))
print("CLK2 tomado de Q1 (pin 5):", *contador(9, "q1"))
Con CLK2 tomado de ~Q1 el contador sube: 01, 10, 11, 00, 01… Con CLK2 tomado de Q1 baja: 11, 10, 01, 00. Es la misma conexión equivocada de un solo cable (pin 5 en lugar de pin 6).
Paso 2: reloj limpio frente a pulsador con rebotes
import random
rnd = random.Random(5)
def cuenta_leida(flancos_por_pulsacion):
q1 = q2 = 0
for flancos in flancos_por_pulsacion:
for _ in range(flancos):
q1 ^= 1 # cada flanco ascendente en CLK1 conmuta el primer FF
if q1 == 0: # Q1 bajó: ~Q1 sube y dispara al segundo
q2 ^= 1
return q2 * 2 + q1
N = 10
con_latch = [1] * N # un solo flanco por pulsación
directo = [1 + rnd.randint(0, 4) for _ in range(N)] # el pulsador rebota hasta 4 veces
print("pulsaciones reales:", N, "-> cuenta esperada (módulo 4):", N % 4)
print("reloj manual con latch: flancos", sum(con_latch), "-> cuenta leída:", cuenta_leida(con_latch))
print("pulsador directo (rebotes): flancos", sum(directo), "-> cuenta leída:", cuenta_leida(directo))
print("flancos por pulsación (directo):", *directo)
Con 10 pulsaciones reales, la cuenta esperada es 2 (10 mod 4). El reloj con latch entrega 10 flancos y lee 2; el pulsador directo, con hasta 4 rebotes, entrega 27 flancos y lee 3. Cambiá rebotes_max y la semilla: la lectura cambia en cada ejecución, y a veces coincide por casualidad.
Paso 3: arranques con y sin reset
import random
rnd = random.Random(11)
N = 1000
sin_reset = {"00": 0, "01": 0, "10": 0, "11": 0}
for _ in range(N):
q1, q2 = rnd.randint(0, 1), rnd.randint(0, 1) # cada FF arranca en cualquiera
sin_reset[f"{q2}{q1}"] += 1
con_reset = {"00": N, "01": 0, "10": 0, "11": 0} # el pulso de CLR̅ lleva los dos a 0
print(f"{N} encendidos")
print("estado sin reset con reset")
for estado in ("00", "01", "10", "11"):
print(f" {estado} {sin_reset[estado]:6d} {con_reset[estado]:6d}")
En 1000 encendidos sin reset, los cuatro estados aparecen con frecuencias parecidas (alrededor del 25 % cada uno). Con el pulso de CLR̅ del montaje 3, todos terminan en 00. Probá con otra semilla: las proporciones cambian, pero siguen siendo repartidas.
Paso 4: diagnosticar una secuencia medida
SUBE = ["00", "01", "10", "11", "00"] # contador ascendente de 2 bits
BAJA = ["00", "11", "10", "01", "00"] # el mismo circuito con CLK2 tomado de Q1
def diagnostico(observado):
if observado == SUBE:
return "OK: cuenta hacia arriba"
if observado == BAJA:
return "cuenta hacia atrás: CLK2 está tomado de Q1 y debería salir de ~Q1 (pin 6)"
if len(set(observado)) < len(set(SUBE)):
return "salta estados: revisar el reloj manual (rebotes) o el cableado de CLK1"
return "secuencia desconocida: medir cada flip-flop por separado"
mediciones = {
"montaje bien armado": ["00", "01", "10", "11", "00"],
"CLK2 desde Q1": ["00", "11", "10", "01", "00"],
"reloj con rebotes": ["00", "10", "00", "10", "00"],
}
for nombre, observado in mediciones.items():
print(f"{nombre:22s} {' '.join(observado):22s} -> {diagnostico(observado)}")
El script distingue tres casos de una lista de mediciones: la secuencia correcta, el contador que cuenta hacia atrás (CLK2 desde Q1) y la que salta estados (rebotes). Reemplazá una de las listas por lo que midas en tu montaje y obtené el diagnóstico.
Una diferencia con el software: acá un error de cableado no produce un mensaje, sino un comportamiento. La secuencia observada es el único «mensaje de error», y por eso conviene conocer de memoria la secuencia correcta.
09 · Exploración interactiva
El banco de pruebas
El simulador reproduce el contador del montaje 2. Podés elegir la fuente del reloj (manual limpio o pulsador directo, con rebotes de hasta una cantidad ajustable de flancos extra) y la salida del primer flip-flop que alimenta al segundo (~Q1 o Q1). Con «Apagar y encender» ves el arranque, con o sin el circuito de reset de encendido. La cuenta esperada es el número de pulsaciones módulo 4: si no coincide con la leída, algo está mal.
Contador de 2 bits con un 74HC74
Contador en 00 con reloj limpio. Presioná «Pulsar» y comprobá que cuenta 01, 10, 11, 00.
| N.º | Fuente | Flancos en CLK1 | Leída | Esperada | ¿Coincide? |
|---|---|---|---|---|---|
| Sin pulsaciones registradas. | |||||
Recorrido guiado
- Con el reloj limpio y CLK2 desde ~Q1, presioná «Pulsar» cuatro veces: 01, 10, 11, 00. Todas coinciden con la esperada.
- Cambiá CLK2 a Q1 y reiniciá. Pulsá: 11, 10, 01, 00. Cuenta hacia atrás y no coincide, salvo en las pulsaciones múltiplos de 2. Es el error de un cable.
- Volvé a ~Q1 y pasá al pulsador directo con 4 rebotes extra. Pulsá varias veces: la lectura se descontrola, con muchos más flancos que pulsaciones.
- Con rebotes extra = 0, el pulsador directo se porta bien (cada pulsación es 1 flanco): un contacto ideal no necesita antirrebote. Subí el valor y volvé a probar.
- Con el pulsador directo, observá que a veces coincide por casualidad: cuando los flancos de una pulsación son múltiplo de 4, la lectura no cambia y parece correcta.
- Presioná «Apagar y encender» varias veces sin reset: arranca en cualquiera de los cuatro estados.
- Marcá «Reset de encendido» y repetí: siempre 00. Las pulsaciones se cuentan desde cero.
Desafío: encontrar una cantidad de rebotes que el contador no perciba
Cada pulsación suma 1 + (rebotes extra) flancos. Si la suma es múltiplo de 4, el contador de dos bits da una vuelta completa y queda como estaba: la pulsación pasa inadvertida. Con 3 rebotes extra exactos por pulsación, el contador no se movería nunca. En el laboratorio los rebotes son al azar, así que aparece de vez en cuando; en un circuito real, un contador de más bits lo hace menos probable, pero no desaparece.
10 · Comprensión
Confusiones frecuentes
«El 74HC74 captura con el flanco descendente»
Captura con el ascendente. Los JK clásicos de la misma familia (74HC73, 74HC107, 74HC112) sí usan el descendente: hay que mirar el símbolo de cada chip, no asumir.
«El flip-flop que no uso puede quedar sin conectar»
Sus entradas flotan, recogen ruido y el flip-flop puede conmutar y consumir de más. Se atan: reloj y dato a masa, preset y clear a +5 V.
«Da lo mismo tomar el reloj del segundo flip-flop de Q1 o de ~Q1»
No: con ~Q1 el contador sube, con Q1 baja. Depende de que el segundo flip-flop capture en flanco ascendente y de cuál señal sube cuando Q1 baja.
«Un pulsador directo basta para contar a mano»
Cada rebote es un flanco ascendente para el flip-flop. Sin antirrebote la cuenta es irregular, aunque la mano sea cuidadosa.
«Si funciona tres veces seguidas, el arranque está bien»
Sin reset de encendido, el estado inicial es aleatorio; tres arranques iguales no demuestran nada. Hay que encender diez o veinte veces.
«El reset manual necesita un flanco de reloj»
El clear del 74HC74 es asíncrono: actúa apenas el pin baja, sin reloj, y mientras esté activo ignora los flancos.
«Mi circuito cuenta bien, no hace falta medir los tiempos»
A un reloj manual, todo cumple los tiempos con holgura. Al conectar un reloj rápido, las holguras del tema 11 vuelven a ser lo que importa.
11 · Práctica guiada
Predecí antes de armar
1. Cablear el contador
Escribí las conexiones entre pines del 74HC74 que convierten los dos flip-flops en un contador ascendente de dos bits, con el reloj manual en el pin 3.
Ver solución
Pin 6 (1Q̅) a pin 2 (1D); pin 8 (2Q̅) a pin 12 (2D); pin 6 a pin 11 (2CLK). Los LED van en el pin 5 (Q1, bit 0) y en el pin 9 (Q2, bit 1). PRE̅ y CLR̅ (pines 1, 4, 10 y 13) a +5 V o al reset.
2. Dos cableados
Después de 5 pulsaciones limpias desde 00, ¿qué muestra el contador si CLK2 viene de ~Q1? ¿Y si viene de Q1?
Ver solución razonada
Desde ~Q1: 5 mod 4 = 1 → 01. Desde Q1 cuenta hacia atrás: −5 mod 4 = 3 → 11. Se puede verificar con la secuencia: 11, 10, 01, 00, 11.
3. Frecuencias
Si en vez del reloj manual entran 1 MHz al pin 3, ¿qué frecuencia tiene cada salida? ¿Qué ciclo de trabajo?
Ver solución
Q1 (pin 5): 500 kHz. Q2 (pin 9): 250 kHz. Ambas con ciclo de trabajo de 50 %. El segundo flip-flop recibe un reloj de 500 kHz y lo divide a la mitad.
4. Rebotes invisibles
Un pulsador directo produce siempre 4 flancos por pulsación (el primero más 3 rebotes). Después de 1, 2 y 3 pulsaciones, ¿qué lee el contador de dos bits?
Ver solución
Cada pulsación suma 4 flancos: una vuelta completa de la cuenta. El contador lee 00 después de cada pulsación, como si nunca se hubiera tocado el pulsador. Es una coincidencia peligrosa: el circuito parece muerto, pero en realidad cuenta de más.
5. Un estado inicial distinto
Querés que el contador arranque en 10 (Q2 = 1, Q1 = 0). ¿Cómo se conectan el preset y el clear?
Ver solución
La línea de reset va al PRE̅ del FF2 (pin 10, para que Q2 arranque en 1) y al CLR̅ del FF1 (pin 1, para que Q1 arranque en 0). Los otros dos pines (pin 4, PRE̅ del FF1, y pin 13, CLR̅ del FF2) quedan a +5 V.
6. Diagnóstico
El contador funciona bien con el reloj manual, pero el LED de Q1 parpadea débilmente y el valor cambia solo cuando acercás la mano al protoboard. ¿Cuáles son las primeras sospechas?
Ver solución razonada
Una entrada al aire: lo más probable es que alguna de las patas PRE̅/CLR̅ no esté conectada a +5 V, o que el reloj del primer flip-flop quede flotando cuando la palanca está entre contactos (si el latch no está bien armado). Se mide cada entrada en reposo: todas deben estar en 0 V o en 5 V. El parpadeo débil del LED es la marca de una entrada en la zona intermedia.
12 · Síntesis
Ideas para recordar
- El 74HC74 tiene dos flip-flops D con preset y clear activos en bajo; captura en el flanco ascendente. Pines 1 a 6 para el primero, 8 a 13 para el segundo.
- Todo flip-flop de un chip se conecta, esté en uso o no: reloj y dato a masa, PRE̅ y CLR̅ a +5 V.
- Un reloj manual sin rebotes se arma con un conmutador SPDT y un latch de NAND (tema 7).
- Con D = ~Q cada flip-flop divide por 2; encadenados con CLK2 ← ~Q1 forman un contador ascendente (00, 01, 10, 11); con CLK2 ← Q1, descendente.
- Un reloj con rebotes produce flancos de más; si son múltiplo de 4, un contador de dos bits no se entera.
- El reset de encendido (RC con Schmitt sobre CLR̅) garantiza el arranque en 00; sin él, el estado inicial es aleatorio.
- Armar por etapas, probar cada bloque, atar entradas y comparar la secuencia observada con la esperada es el método de depuración.
¿Listo para el tema 13?
Antes de avanzar, dibujá de memoria el cableado del contador de dos bits indicando los pines, explicá qué pasaría si el reloj rebotara y decidí cómo se garantiza el arranque en 00. Si podés justificar las tres respuestas, ya podés pasar de bits sueltos a grupos de bits.
En el próximo tema veremos los registros de almacenamiento: cómo agrupar varios flip-flops con un reloj común, una habilitación y una carga paralela para guardar una palabra completa.