Multiplexing displays without a microcontroller
John A. Zoidberg
Posts: 514
Hello there,
Basically, most of the time, it's easier to program a microcontroller to multiplex a 7-segment or a LED matrix display. One at the time.
But one thing - there could be taking up too much microcontroller time and stall the system if the microcontroller isn't fast enough. There are chips to multiplex the 7-segment and LED displays easily, but expensive.
So, I think of external hardware multiplexing - by using the counter, and then the 7-segment decoder (for 7-segment) and static RAM to store data temporarily. The microcontroller/system only sends data into the RAM and let the entire row of chips doing the multiplexing. The space taken by these chips are a lot, but I'm a bit curious about doing that.
Is it possible?
Basically, most of the time, it's easier to program a microcontroller to multiplex a 7-segment or a LED matrix display. One at the time.
But one thing - there could be taking up too much microcontroller time and stall the system if the microcontroller isn't fast enough. There are chips to multiplex the 7-segment and LED displays easily, but expensive.
So, I think of external hardware multiplexing - by using the counter, and then the 7-segment decoder (for 7-segment) and static RAM to store data temporarily. The microcontroller/system only sends data into the RAM and let the entire row of chips doing the multiplexing. The space taken by these chips are a lot, but I'm a bit curious about doing that.
Is it possible?
Comments
Thanks for posting that. I clearly remembered how the chip functioned but for the life of me could not recall the part number. I even laid out a small pc board to hold the CD4553 with the required decoder, transistors, and 3 7 segment leds way back when.
Function:
1 - Select values to display.
2 - Store values to display.
Details:
'240/'244 – Fuction 1. Select 1 of 2 four bit values.
'259 – Function 1. Eight bit addressable latch. Select one of eight values.
'273/373/374 – Function 1 Store an 8 bit value for display. Function 2. Select one of 8 values for display.
Another solution might be a co-processor -- you send the bytes-to-display to the Co-P, and it converts them to 7-seg code, and does all the transmit-and-refresh stuff.
--Rich
About the co-processor, yeah - Sparkfun has made those as well. It's using a small Atmega168 there.
I found some few websites which uses a CPLD instead, but I can't locate it anymore.
That's the way it was usually done without interrupts. If it could be done with a 2MHz 8080 it should be trivial with the chips available now.
Vaclav