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.