HC595 suitable for 7 segment display?

Hello.

I started making some experiments with the HC956 and a 7 segment display and got some questions i can't solve at moment.
I looked at forums and there's lot of similar questions around, sorry for this more one, making it a bit repetitive. Point is that I am still not sure about some aspects:

Fisrt of all I think im not ready yet for multiplexers so lets stick with just the shift registers.

M74HC959 is the chip I'm using here: http://www.st.com/stonline/products/literature/ds/1989.pdf

Using a common cathode display, if i connect the segment directly to 5+ V it gets distorted colouring what's normal.. its just going to be damaged... if i connect the 595 output directly to the segment it brights enought, no distorted colouring but display gets a bit hot. If i connect the display using a 20ohm resistor the segment turns into very weak brightness. I looked the datahseet and it seems the HC959 have resistors in series with Vcc, but cant find the value of these resistors on the datasheet, is this assumption even correct? (that he have resistors?). If so I need to know the resistor value to make a guess the value of the resistor I must use externaly.

Besides these observations it seems that HC595 can drain 70mA at max per chip and 25mA per pin. Each segment sounds like eating about 20mA so driving the segments directly from the HC595 is not the right option? It's working in here 3 days in a row and no failures.. Can I just use it this way? Or better to have 1 transistor per pin to control the segments ? I dont like much the transistors idea because it will end up taking too much space.

Another question is: Is OK if I use a common resistor for all the 7 segments? Or I must use one resistor per segment?

I hope my questions makes sense...

Thanks all,

Rodrigo

The [edit- typo] HC595 [not HC956], is sourcing current into your display segments. You need a current limiting resister between each output pin and each segment pin.
You didn't which 7-segment display you have, lets assume its a small one and turns on full with 1V and 15mA.
If you are powering the HC956 from 5V, then the resistor will have 4V across it with the other 1 volt across the LED segment.
Using Ohms Law V=IR, or V/I=R, then 4V/.015A = 333 ohm - so put a 330 ohm (a standard value) between each output pin and each segment pin to keep things from burning up.
Recalculate as needed for the specific parts you have.

if i connect the segment directly to 5+ V it gets distorted colouring what's normal.. its just going to be damaged.

Yes.

If i connect the display using a 20ohm resistor the segment turns into very weak brightness.

The chip can only supply about 20mA but that is far more than you are getting due to the fact the resistor is too low. You are damaging the chip by doing this.

Is OK if I use a common resistor for all the 7 segments? Or I must use one resistor per segment?

You can use a single resistor but the brightness changes according to the number of segments lit because they have to share the current. You have to set the resistor to allow the correct current with 2 segments lit (assuming only numbers used and displaying "1"), but then when displaying "8" each segment only gets 1/4 of the current it really could use. The same with other numbers but the current per seg varies yet again.

Bottom line, use 1 per segment.

Also, as Grumpy said the 595 is not suitable for direct driving an LED display, either add a ULN2803-style driver chip or use one of the high-current/constant-current versions of the 595.


Rob