I would like to have a circuit with 8 LED outputs and one input - clk.

On each clk edge output should be like this:

  1. 0000 0001
  2. 0000 0010
  3. 0000 0100
  4. 0000 1000
  5. 0001 0000
  6. 0010 0000
  7. 0100 0000
  8. 1000 0000

How to move by one is clear for me. But how to start with value 1 in the register? Or there is other solution without shift register?


closed as off-topic by Voltage Spike, Adam Haun, Daniel Grillo, Bence Kaulics, pipe Sep 24 '16 at 10:43

  • This question does not appear to be about electronics design within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    \$\begingroup\$ use a 4017 counter (1 out of 10) and reset at count 8 \$\endgroup\$ – JIm Dearden Sep 22 '16 at 19:30
  • 5
    \$\begingroup\$ I'm voting to close this question as off-topic because user is asking for design, presented no research, and hasn't tried anything. \$\endgroup\$ – Voltage Spike Sep 22 '16 at 19:39
  • 1
    \$\begingroup\$ Ring counter \$\endgroup\$ – Tut Sep 22 '16 at 19:48
  • \$\begingroup\$ BTW a 4017 is a ring counter 2.bp.blogspot.com/-jYE6bUAaWLQ/TpaMzxeGuiI/AAAAAAAABBY/… \$\endgroup\$ – JIm Dearden Sep 22 '16 at 20:17

Some shift registers allow a parallel load. If so, you can just wire up your default case and at power-on reset cause a load to take place. Or you can use the set input of the first FF, I suppose.

But a Johnson counter with decoding is what's often done. You can look at the CD4022B, for an example. The schematic also includes a so-called "disallowed state detector" made out of an AND and NOR gate, as well.


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