Estoy tratando de entender cómo podría implementar, usando circuitos integrados lógicos (y no un uC), lo siguiente:
hay dos pulsadores momentáneos y 3 leds. Los leds indican el "estado" lógico, que puede ser 0 (inicial), +1 y -1. Pulsando los pulsadores se cambia de estado.
Dibujé este pequeño diagrama que debería ayudar a comprender mejor el tema.
Así que al principio estás en el estado 0 (y el led del medio está encendido), si presionas +1 vas al estado +1 (y solo está encendido el led +1). Si vuelves a pulsar +1 no pasa nada. Etcétera..
¿Cómo puedo obtener eso usando un circuito lógico? hasta ahora solo entiendo cómo hacer que los interruptores se enganchen usando D-FlipFlop
Recomiendo abstraer las cosas primero:
Entonces, lo que necesitas es un
Vamos a enrollarlo desde abajo:
El reloj es más fácil. Simplemente use una puerta OR en ambos botones. Cuando se ha presionado cualquiera de los botones, la siguiente transición de estado debe cargarse en los flipflops:
+ button \
OR ---> Latch of flipflops
- button /
La lógica del LED también es fácil: por ejemplo, suponga que la estadística interna 00
es su estado inicial. Entonces, simplemente construye una puerta NOR en el estado inicial que enciende el LED central. Haces eso para todos los LED.
La lógica del "siguiente estado" también es fácil: solo tenga la misma lógica que para los LED, pero con un AND con el botón derecho para producir el siguiente estado interno.
Como Marcus indicó, realmente solo se necesitan dos pestillos para esto. Uno para el led izquierdo y otro para el derecho. El LED central estaría encendido cuando ninguno de los otros dos lo esté.
Una vez que te das cuenta de eso, la lógica requerida para configurar y restablecer cada pestillo se vuelve bastante simple. Usaría pestillos JK de remolque para esto
Clock = Either button pressed delayed through two gates.
Centre Led On = Left Led Off AND Right Led Off
Button 1 Action
Set Left Led = Button1_Pressed AND Right Led Is Off
Reset Right Led
Button 2 Action
Set Right Led = Button2_Press AND Left Led Is Off
Reset Left Led
Por cierto: también necesita eliminar el rebote de esos botones.
simular este circuito : esquema creado con CircuitLab
marcus muller
olin lathrop