0
\$\begingroup\$

I built a state machine using JK flip flops, I tested it but I kept getting seemingly random results. I decided to test each jk flip flop individually. Here is the schematic for my testing:

schematic

simulate this circuit – Schematic created using CircuitLab

Both LEDs should toggle whenever the clock goes high to low (everytime I release the push button) and thats what usually happens but every few tries the toggle doesn't occur at all or it happens when CLK goes high and when it goes low. I made a video of the aforementioned test: JK flip flop Test

I tested 4 different IC (8 flip flops) and they all presented the same behaviour.

All flip flops' set, reset and memory worked perfectly.

Why does this malfunction happen and how can I prevent it from happening?

\$\endgroup\$
  • 1
    \$\begingroup\$ Your switch SW1 requires de-bouncing. Try googling switch bounce \$\endgroup\$ – glen_geek Mar 12 at 3:41
0
\$\begingroup\$

Use something like this to generate a clean clock.

It is a NAND type SR flip flop.

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
1
\$\begingroup\$

If you are really using an old original bipolar TTL 7473 (with no additional letters in the middle), you really should connect the switch between CLK and Ground, and the resistor from CLK to +5V.

A TTL input sources current, and your 1K pull-down resistor may not be low enough to have the CLK input reliably seen as a Low when the switch is open.

\$\endgroup\$
  • \$\begingroup\$ The linked-to video in the question shows an LS part. \$\endgroup\$ – jonathanjo Mar 12 at 3:52
  • \$\begingroup\$ @jonathanjo: The 74LS73 is also bipolar TTL, and its inputs source current, so my answer still applies (although the LS parts do source less current than the original 73xx parts). \$\endgroup\$ – Peter Bennett Mar 12 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.