I would like to be able to rotate through 3 states (A, B, A+B) with one momentary push button (M) as follows:

  • starting state: A is high, B is high
  • after having pressed on M a 1st time : A is high, B is low
  • after having pressed on M a 2nd time : A is low, B is high
  • after having pressed on M : back to starting state

I designed a circuit achieving this behavior as a falstad simulation. It seems to work fine, however it requires 2 flipflops, 2 OR gates, 1 NOR, 1 XOR and 1 AND gate.

Is there any way to simplify it ? Or are you aware of an IC able to achieve this kind of behavior with less parts involved ?

Thank you a lot for your help.

Note: The logic is meant to energize 2 different relays. The starting state can be different as the one above (but at least A or B must be high).

  • \$\begingroup\$ it's a 2 bit binary counter ... counts 0 to 2 ... outputs are taken from Q' \$\endgroup\$
    – jsotola
    Commented Oct 10, 2020 at 23:47
  • 1
    \$\begingroup\$ Should be able to do it with 2 FFs and one gate to eliminate the 4th state. \$\endgroup\$
    – user16324
    Commented Oct 10, 2020 at 23:48

1 Answer 1


I just deleted all the output gates. and picked the flip-flop terminals that followd your rules.

  • \$\begingroup\$ Thank you, I was just overcomplicating things :-) \$\endgroup\$
    – Kraal
    Commented Oct 11, 2020 at 0:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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