Electronics > Microcontrollers

microcontroller for a 14 segment display ?

(1/3) > >>

Hi everyone.

what are the microcontrollers to control the 14 segment display without going through a decoder or the MAX6954 for example ?

What is your reason for not wanting to use MAX6954 etc?

It's convenient it uses only 4 GPIO and has a lot of decoding and fonts inside it. But I see they are $13.

It seems it has 24 output pins. Do you want to dedicate 24 pins on a microcontroller to this? (and some programming for decoding, stepping through the digits regularly etc)

If you don't mind doing that programming then you can use basically exactly the same programming with three $0.50 '595 (or similar) shift registers daisy-chained, plus a tiny bit more to stream new settings for the 24 pins out to them.

The '595s won't have the current source or sink capability of the MAX6954 (935 mA sink per digit, 55 mA source per segment), but then neither will a microcontroller. I think you'd probably be ok with the segment drive and need one external transistor per digit.


--- Quote from: harrysmith on May 12, 2021, 02:01:01 am ---Hi everyone.

what are the microcontrollers to control the 14 segment display without going through a decoder or the MAX6954 for example ?

--- End quote ---

I will not go with any extra IC, except extra transistor per digit (as already noted by Bruce).

With 30 years old, low efficiency green 7 segment, I done it with msp430g2xx because I know that device very good and I have it on hand (attached picture). I used one lvc logic gate per digit (instead of transistor) to allow device to work with common cathode / anode or mixed digits with changing just one #ifdef inside source code.

If I have task to do it again from zero today, I will chose higher efficiency segments (brighter), and microcontroler with some high drive pins to eliminate external transistors per digit.

EDIT: I used direct connection from micro pins to LED's without resistors with PWM brightness

I see 4 options:
1)  use a µC version with more pins an direcly drive 14 segements with a resistor each
2) use 2 x 74HC595 (e.g one per digit) and drive the sement from there. One can get some 6-7 mA max, as the total current of the chip is limited.
3) use 2 transistors for the common pin per digit and multiplexing from the µC (7 ouputs + 2 for the transistors). Here the current is limited by the µC - usually similar.
4) if only numbers are needed 2x 74HC4511 may be an option, controlled via BCD and CS, so 6 pins from the µC.

All 4 options may work up to a similar current limit, so it can help to look for displays that can get away with 5 mA or less. Otherwise it needs extra drivers,
like TPIC6C595 and similar - than the max6954 chip will be a real optio.

You can do mcu only, but check the current capabilities of the mcu.

I have done dual 14segment and 4x7segment with various pics and avr0/1 (the pics have more current capabilities, the avr0/1 is not a great idea). 1 mcu, 1 transistor per digit if more than 1 digit, 1 mcu bypass cap, 1 larger cap.

Since I want to limit my part count simply because I hand assemble what I create, I do not use segment resistors and use an npn for ca and pnp for cc- the base current is limited by the amount of current that can be provided by the segment drivers (mcu), which is not an unlimited source. The pins start to drop voltage when current goes up so led voltage also drops, along with some inefficiencies of using transistors, the use of brightness control via some means, and the use of multiplexing (if more than 1 digit) means its harder to get into trouble,

Some examples-
The 2 digit 14seg version has a jumper (solder pads) on the board which select if cc/pnp or ca/npn is used (version 2 with qfn package). The software can figure out which is in use. The brightness is controlled by a timer instead of pwm (usually limited to 10bit) as you really need to go beyond 10 bit to do low brightness well (its still pwm, but now using as many bits of timer you can use for the refresh rate wanted).

Probably the cheapest shift register drivers are around $1 in normal 1ea qty (8bit versions), and mcu probably $0.50-$1.00, so if the board space is available and are not doing large quantity, then the shift register approach is probably a better idea (less pins needed, any mcu can be used, so have more choices). Something like a TLC6C598PWR, or one of many other variations is the kind of shift register I'm referring to.

edit- what I have forgotten over time -probably the main reason I use just an mcu alone is all the various shift registers and other more complex drivers seem to be subject to the wind direction- one day they are in stock, a month/year from now, probably not. At least with an mcu only solution, the odds of finding some mcu in stock you are already using is higher, or you can move around the same series if needed (more flash/ram version for example). Its also quite easy to move to an entirely different mcu as the code is quite simple. It also means you have the same solution for any combo of display type in use.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version