Is it Electrically Correct to Direct Driving Seven Segment in Multiplexed Manner

cfirmwaremicrochipmicrocontrollerpic

I want to design a voltmeter with minimum no of components so the pcb becomes as small as possible.For this purpose i wish to direct drive the seven segment display.

Considering the fact Typically for a standard red coloured 7-segment
display, each LED segment can draw about 15 mA to illuminated
correctly, so on a 5 volt digital logic circuit, the value of the
current limiting resistor would be about 200Ω (5v – 2v)/15mA, or 220Ω
to the nearest higher preferred value.

if I am going to use PIC16f676 ,The data sheet says PORTA & PORTC Can Source & Sink 200mA combined
,with maximum source /sink per pin 25mA

enter image description here

enter image description here

How will i calculate source/sinking current for a seven segment display working in a multiplexed environment( say 4 seven segments ) ??

Best Answer

Assuming a common-anode display, if you want 15mA per segment you'll need a segment current of 4 * 15 = 60mA per segment driver (7 or 8 needed with decimal point), so the anode current will be as much as 7 or 8 * 60mA = 420mA or 480mA total.

You can forget about driving a multiplexed display that's that crummy (or is required to be that bright, if it's a high brightness type) directly with any micro.

If you use a good (high brightness) display, live with more subdued brightness, and use transistors to drive the digits (anodes in my example) you can drive the segments directly from the micro at perhaps 100mA-150mA total safely, which will give you an average of about 3-5mA per segment.

In such a case, I suggest a common-anode display with the PICs because the outputs are asymmetric and can sink current better than they can source it. You can use BJTs with internal bias resistors or dual MOSFETs to drive the digits, so only a couple parts, plus you should have a resistor in series with each segment.