1
\$\begingroup\$

Purely using digital logic devices (no microcontroller) I was hoping to create something that will cycle through its outputs (only 1 pin high) given only a clock line.

Daisy chain flip-flops?

I wanted to use a shift-register to create a ring counter but then the issue how do you set the first bit high?

\$\endgroup\$

2 Answers 2

3
\$\begingroup\$

You can use a counter and then a decoder. The input to the counter will be your clock and reset (which can be omitted if you don't care what the state of the system is initially). The output of the counter will go into the decoder, which converts the binary number into a 'one hot' representation, where only one of the decoded outputs will be '1' at once. For example, a 74161 4-bit counter and 74154 4-bit decoder should work and give you 16 outputs.

\$\endgroup\$
2
\$\begingroup\$

You could use a decade counter like the CD4017. The CD4017 has 10 outputs and it turns them on in sequence on the clock transitions. How many outputs are you looking to generate? If you need more than 10, then a series of shift registers would probably be a better idea. The trick is getting just one bit that runs around in a loop. I would suggest building a counter with a period equal to the number of outputs in the shift register chain and connecting the carry out of the counter to the input of the shift register chain. Then run both on the same clock. The carry out will be high for one cycle when the counter rolls over. If the counter period and length of the shift register are the same, then only one bit in the shift register will be set at any given time.

\$\endgroup\$
1

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.