
Crearemos un contador Mod 10 utilizando flip-flops JK. Este contador contará desde 0 hasta 9 y luego volverá a 0. Es un contador decimal o BCD (Binary Coded Decimal).
Paso 1: Entender el problema
El contador Mod 10 necesita 4 flip-flops porque 23 = 8, que es menor que 10, y 24 = 16, que es mayor que 10. Así que necesitaremos representar los números del 0 (0000) al 9 (1001) en binario. El contador se reiniciará cuando llegue al valor 10 (1010).
Paso 2: Tabla de verdad
Debemos crear la tabla de verdad para los flip-flops. La tabla de verdad mostrará el estado presente (Q3Q2Q1Q0) y el estado siguiente (Q3+Q2+Q1+Q0+). También incluiremos las entradas J y K para cada flip-flop.
Must Read
Aquí está un ejemplo de una fila en la tabla de verdad:
Si el estado presente es 0000, el siguiente estado debe ser 0001. Para que el flip-flop Q0 cambie de 0 a 1, necesitamos J0=1 y K0=X (donde X significa "no importa"). Para los otros flip-flops (Q3, Q2, Q1), deben permanecer en 0. Para esto, necesitamos J3=0, K3=X; J2=0, K2=X; J1=0, K1=X.

Paso 3: Tabla de excitación del Flip-Flop JK
Recordemos la tabla de excitación del flip-flop JK. Esta tabla nos dice qué entradas J y K se necesitan para lograr una transición específica del estado presente al estado siguiente. La tabla de excitación es la siguiente:
- Q a Q+ = 0 a 0, J = 0, K = X
- Q a Q+ = 0 a 1, J = 1, K = X
- Q a Q+ = 1 a 0, J = X, K = 1
- Q a Q+ = 1 a 1, J = X, K = 0
Paso 4: Completar la tabla de verdad
Utilizamos la tabla de excitación del flip-flop JK para completar la tabla de verdad. Para cada flip-flop (Q3, Q2, Q1, Q0), determinamos los valores de J y K basándonos en la transición de su estado presente a su estado siguiente.

Aquí hay un ejemplo: Si Q0 pasa de 0 a 1, entonces J0 = 1 y K0 = X.
Paso 5: Simplificación usando mapas de Karnaugh (K-maps)
Usaremos mapas de Karnaugh (K-maps) para simplificar las expresiones booleanas para las entradas J y K de cada flip-flop. Esto nos dará las ecuaciones lógicas minimizadas que necesitamos para implementar el contador.
Por ejemplo, para J0, crearemos un K-map usando la tabla de verdad. Llenaremos el K-map con los valores de J0 correspondientes a cada combinación de Q3Q2Q1Q0. Luego, agruparemos los 1s en el K-map para obtener la expresión simplificada.

Repetimos este proceso para J1, K1, J2, K2, J3 y K3.
Paso 6: Implementación del circuito
Una vez que tengamos las ecuaciones simplificadas para J0, K0, J1, K1, J2, K2, J3 y K3, podemos implementar el circuito usando flip-flops JK y compuertas lógicas (AND, OR, NOT, etc.).

Conectaremos las entradas J y K de cada flip-flop según las ecuaciones que obtuvimos de los K-maps. También necesitaremos una señal de reloj para disparar los flip-flops.
Para el reseteo, necesitamos detectar cuando el contador llega a 10 (1010 en binario). Podemos usar una compuerta AND que detecte Q3 y Q1 iguales a 1. La salida de esta compuerta AND se utilizará para resetear todos los flip-flops, llevándolos de vuelta al estado 0000.
Paso 7: Prueba y verificación
Una vez que hayamos implementado el circuito, es importante probarlo y verificar que funciona correctamente. Esto implica simular el circuito o construirlo físicamente y observar su comportamiento. Debemos asegurarnos de que el contador cuenta de 0 a 9 y luego vuelve a 0, y que el reseteo funciona correctamente cuando alcanza el valor 10.