74LS47 seven-segment driver

A BCD to seven-segment decoder for a common-anode display: four wires in, one lit digit out, with outputs strong enough to sink the segment current themselves.

It is the TTL classic that lab manuals and older kits are built around, and the common-anode partner of the CD4511. Aliases: 7447, SN74LS47, 74LS47N, DM74LS47, BCD to 7-segment decoder, display driver, common anode driver.

The outputs are open collector and active low: a lit segment's output pulls low and sinks current (up to 24 mA) through the segment's resistor from the display's common anode; an unlit segment's output lets go of the wire. It is TTL only and runs from 5 V.

Pins

Pin Name What it does
7, 1, 2, 6 A, B, C, D The BCD input. A is the 1s bit, D the 8s.
13, 12, 11, 10, 9, 15, 14 a to g Segment outputs, open collector. Low lights a segment.
3 LT Lamp test, active low. Low lights every segment.
5 RBI Ripple blanking in, active low. Low blanks the digit 0.
4 BI_RBO Blanking in and ripple blanking out on one pin (BI/RBO on the data sheet). See below.
8 GND Ground.
16 VCC Supply, 5 V.

Truth table

BI_RBO pulled low LT RBI D C B A Display
yes x x x Blank
no 0 x x 8 (every segment on)
no 1 0 0000 Blank, and BI_RBO goes low
no 1 1 0000 0
no 1 x 0001 to 1001 The digit 1 to 9
no 1 x 1010 to 1110 The odd symbols the data sheet draws
no 1 x 1111 Blank
Code Segments lit
0 a b c d e f
1 b c
2 a b d e g
3 a b c d g
4 b c f g
5 a c d f g
6 c d e f g
7 a b c
8 a b c d e f g
9 a b c f g
10 d e g
11 c d g
12 b f g
13 a d f g
14 d e f g
15 none

Like the 4511, the 7447's 6 and 9 have no tails: 6 is missing segment a and 9 is missing segment d.

Hiding leading zeros. BI_RBO is a wired-AND pin, input and output at once. Pulled low from outside, it blanks the display. As an output it goes low when this digit is a blanked leading zero (RBI low and the code 0). On a row of 7447s, tie the first digit's RBI low and feed each digit's BI_RBO to the next digit's RBI: the zeros on the left go dark, up to the first digit that is not 0. Leave the last digit's RBI high, or a plain 0 never shows.

Properties

model: 74LS47, the only choice.

What the model gets right

It is a 74LS part. The inputs read TTL levels, switching at 1.4 V, so a 3.3 V signal is a clean high. An input left open reads high, as a TTL input does, so LT, RBI and BI_RBO can be left unconnected when you do not use them. It needs a 5 V supply (4.75 V or more to run at all).

The outputs only pull down. An unlit segment's output is open, so the display's anode and the segment resistor decide what that wire does, and a lit segment's output sinks through about 40 ohms, the 74LS low-side figure. A segment needs a series resistor, from the output to the display's segment pin.

Ripple blanking is a real two-way pin. BI_RBO can be driven low from outside and read its own low back, so a chain of chips blanks leading zeros properly.

Each segment is worked out separately, so an unknown input only clouds the segments it could change.

What it does not model

The delay is a maximum, not a typical. The data sheet gives no typical delay, only 100 ns maximum from A or RBI to a segment at 5 V and 15 pF, and the model uses that for every path. A real chip is usually faster. No current limit and no damage from running a segment without a resistor. Common-cathode displays need a different chip (the CD4511) and will not light from this one, as on the bench.

Common mistakes

Using a common-cathode display: the 7447 sinks current, so the display's common pin goes to VCC. Leaving out the segment resistors. Expecting a high output on an unlit segment: nothing drives it, so a logic probe on it reads floating unless something pulls it up. Running it at 3.3 V: it is a 5 V part.

See it in action

Browse the example circuits at /templates.