CD4511 7-segment driver
Four wires in, one lit digit out.
- 16 pins
- 1 setting
- In 1 project
- In 1 lesson
The CD4511 7-segment driver in brief
What it is, and every setting the properties panel gives it.
The CD4511 is the 16-pin CMOS BCD to seven-segment decoder: a number from 0 to 9 in binary on A (the 1s bit) to D (the 8s bit) lights segments a to g of a common-cathode display, with no code. LT (lamp test) and BI (blanking) are active low and LE latches the digit, so tie LT and BI to VDD and LE to VSS for a display that follows its inputs. VDD takes 3 to 18 volts. From an Uno, four digital pins drive A to D directly; from an ESP32, run VDD at 3.3 volts too. Mokxi models the 4511’s own font, with no tails on 6 and 9 and codes 10 to 15 blank, and the outputs as emitter followers, VDD less 0.6 volts behind 35 ohms, so every segment still needs a resistor. Delays follow the data sheet, 640 nanoseconds to light at 5 volts, and the model property offers the much faster 74HC4511. The classic mistakes are a floating LT, BI or LE, and a common-anode display, which never lights. Latch setup and hold times, and damage from a missing resistor, are not modeled.
- Family
- Logic
- Pins
- 16
- model
- CD4511B (or 74HC4511)
16 pins
Named as the editor names them, so a wire lands where you expect it.
Input7
- B
- C
- LT
- BI
- LE
- D
- A
Input or output2
- VSS
- VDD
Output7
- e
- d
- c
- b
- a
- g
- f
How to use the CD4511 decoder with an Arduino
Give the chip 5 V on VDD and ground on VSS, tie LT and BI to 5 V and LE to ground, and wire a to g to the segments of a common-cathode display. Then a number from 0 to 9 in binary on A (worth 1), B (2), C (4) and D (8) shows as that digit. The circuit here sets the four bits with a DIP switch; from an Arduino, four digital pins do the same job with digitalWrite().
The outputs source current from VDD less about 0.6 V, so a segment still needs a resistor; this circuit cheats with one 100 ohm resistor in the display’s common, and a 1 is visibly brighter than an 8. Codes 10 to 15 blank the display, and the 6 and 9 have no tails. A floating LT, BI or LE is the fault everybody hits.
With VDD at 3.3 V an ESP32’s outputs drive A to D directly; the chip runs from 3 to 18 V.
What is true about the CD4511 7-segment driver, here
In its help article’s own words: what the simulation gets right, and where it stops.
Modeled
The outputs source current. Each segment output is an NPN emitter follower that
can source up to 25 mA, so a high output sits about 0.6 V under VDD and sags a
little more under load: the model is VDD minus 0.6 V behind 35 ohms, a straight
line through the MC14511B data sheet's typical output voltages from 5 to 25 mA. A
low output is only the weak CMOS pull-down, as on the 4017. A segment still needs a
series resistor, typically 330 ohms to 1 k at 5 V.
Delays come from the data sheet, per path and direction. At 5 V: 640 ns for a segment to light and 720 ns to go out after a data change; 600 and 485 ns after blanking changes; about 310 ns after lamp test changes. They shorten with the supply (250 and 290 ns for data at 10 V) and are interpolated in between.
An unknown input only clouds the segments it could change. With A, B and C
low and D floating, the code is 0 or 8, which differ only in segment g: every
other segment is known and lit, and only g shows as unknown.
Not modeled
No setup or hold time on the latch. No current limit on the outputs and no damage from running a segment without a resistor; the only thing limiting the current then is the 35 ohms of the model. Below 5 V the delays are held at the 5 V figures. Common-anode displays need a different chip (the 4543 or a 74HC247) and will not light from this one, as on the bench.
From CD4511 seven-segment driver, in full.
See the CD4511 7-segment driver in a project
One built-in project uses it. It opens in the editor, already wired.
Where it turns up in a lesson
One lesson places it in its own circuit.
The rest of the bench
Every one of these is drawn and simulated the same way.
Wire up the CD4511 7-segment driver
Open the editor and push it into the breadboard. It is free, and it runs on your own machine.