Electronic – What shift register ICs am I looking for

microcontrollermultiplexeroutputserialshift-register

I'm designing a project that requires far more I/O than a typical microcontroller offers. No problem, right, just use shift registers and stuff. Wait nope, why am I having problems?

I'm planning on driving 24 outputs with one serial data line, a clock, and a chip select. 16 of the outputs are connected to LEDs and the remaining 8 are connected to a HD44780 LCD display. So what I thought of doing for the 16 LEDs was to connect them up to two 8 bit counters that feed the serial data bit through to the specific LED and then change to the next consecutive output when clocked — like a demultiplexer, but serial. For the LCD, I need to actually hold onto the data and send it all out at once, so I need an 8-bit serial-parallel register and wait until 8 clocks pass to enable it.

Finding an IC which does the latter is easy — 74HC595 seems to do it — but for the LEDs, I can't seem to find a 7400 series chip that does what I want. All the ones I can find hold onto previous values and just shift them over, and the decoders I've found 1) don't have a data line – they're always true when selected and 2) require a binary word, not a clock. If it's not already clear, I want something that does what's on the left:

I swear I've used a chip that does what I'm thinking of before when driving an LED matrix, but I can't remember its number. Any help would be appreciated.

Best Answer

I am not understanding why you cant use the 74HC595 for the LEDs.

Shift in your data, then blip the clock for the storage register to hold that 8-bit value. As long as you aren't pulsing the storage register clock, you are free to shift bits all day long without effecting the final output bits.

You can use the same serial data line for all your outputs and just selectively 'gate' which shift register will latch up.

Please leave a comment if I have misunderstood what you are doing. I will elaborate my answer further.