2
\$\begingroup\$

I have a 1Hz clock signal that I would like to run into an IC which has at least 12 outputs. Each clock pulse I would like the outputs to go high individually like an LED chaser. So all outputs but the one being "counted" would be low, but the one count pin would be high. Basically when two clock pulses have passed Q1 would be high, when 9 clock pulses have passed Q8 would be high and all others would be low. Would this be something like a demux, or a decade counter but with 12 outputs instead of 10? How could I go about accomplishing this preferably in one chip? I know this would be easy on a MC but is there a logic-level solution?

\$\endgroup\$
4
  • 1
    \$\begingroup\$ why not simply do a shift register with a feedback after the tenth shift? \$\endgroup\$ Jul 12, 2022 at 17:34
  • \$\begingroup\$ Maybe this would work, but as I understand it the output would be in binary and it is really important that only one output be high per clock pulse. wouldn't the register count up in binary, then needing a 12 digit BDC to work? Or am I mistaken? \$\endgroup\$
    – Austin Fox
    Jul 12, 2022 at 17:38
  • \$\begingroup\$ you're mistaken. There's no counter needed – unless I misunderstand what you want to do. I understand that you want exactly 1 LED to be alight, and that should be the \$(N_{\text{clock cycle}}\mod 12)^{\text{th}}\$ LED. Right? So, you start your shift register with the content \$(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\$, then after the first clocking it's \$(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)\$, after the next \$(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)\$ and so on. \$\endgroup\$ Jul 12, 2022 at 18:45
  • \$\begingroup\$ exactly this, I will look more into your suggestion as it sounds like exactly what I am looking for! \$\endgroup\$
    – Austin Fox
    Jul 13, 2022 at 10:22

2 Answers 2

4
\$\begingroup\$

40 or 50 years ago we would have used something like a 74LS92 + 74LS or HC154 to get one output low of 12 connect the LEDs (assuming that's the goal) between the outputs and a single resistor to Vcc rather than to ground.

But even the meanest microcontroller would be easier and cheaper.

\$\endgroup\$
2
  • \$\begingroup\$ It can't be mean with its IO pins, either in number or current, for an application like this, even if it is of little brain!, Probably something like a MCP23017 might make sense maybe (attached to a microcontroller)? As its I2C there might already be an existing uC somewhere in the circuit for it to use. \$\endgroup\$
    – Dannie
    Jul 12, 2022 at 21:29
  • \$\begingroup\$ @Dannie yes, to be a single-chip you'd need at least 8 pins (Charlieplexed), probably 14. \$\endgroup\$ Jul 12, 2022 at 21:36
2
\$\begingroup\$

All you need is a ring counter that can count to 12. Whether you do it in software on an MCU, or using relays, or transistors, or TTL/CMOS logic - doesn't matter.

Connect 12 latches/flip-flops in series, in a ring - output of the previous feeding the input of the next. One of the latches should be set up to initialize output to HIGH on power up, other should initialize LOW. On each clock cycle, the HIGH state moves to the next latch.

The latch outputs feed the LEDs via a series resistor. As long as you got functioning latches, whether they are relays or ICs doesn't matter at 1Hz.

For ideas, just look up ring counters - plenty of examples out there, both in software and various kinds of hardware.

\$\endgroup\$

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.