From WikiChip
seven-segment display
Revision as of 09:47, 24 July 2019 by David (talk | contribs) (Reverted edits by 185.103.25.132 (talk) to last revision by Inject)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

7 Segment LED.jpg

A seven-segment display (SSD) is a display device packaged in a single IC chip and composed of a group of seven bar-shaped LEDs. Some seven-segment displays may come with a decimal point (DP). Different numbers and letters may be formed by powering selected LED elements. SSDs come in various packages and pin arranges.

Dialog-warning-yellow.svg This article may contain examples using specific pins. Your device pinout may differ. Always consult your datasheet.

Configurations[edit]

Common Anode SSD
Common cathode SSD

There are two basic configurations of seven-segment displays: common cathode (CC) and common anode (CA).

Common Anode[edit]

A common anode seven-segment display is one where the anode leads of all the LEDs are tied together. In a CA SSD, power must be supplied to anode that is common to all the segments. Appropriate segments can be lit up by applying ground to them.

Common Cathode[edit]

a Common cathode seven-segment display is one where the cathode leads of all the LEDs are tied together.

Basics[edit]

Further information: Representing Letters

The various numbers (and possibly A-F) can be displayed by simply powering the correct segments by either connecting GND or Vcc depending on your configuration. The usage of displaying various words on a 7-segment display is possible but is generally highly discouraged.

Digit BCD 7-Segments abcdefg gfedcba Display Reference
D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0 0x7E 0x3F 0 7 segment display labeled.svg
1 0 0 0 1 0 1 1 0 0 0 0 0x30 0x06 1
2 0 0 1 0 1 1 0 1 1 0 1 0x6D 0x5B 2
3 0 0 1 1 1 1 1 1 0 0 1 0x79 0x4F 3
4 0 1 0 0 0 1 1 0 0 1 1 0x33 0x66 4
5 0 1 0 1 1 0 1 1 0 1 1 0x5B 0x6D 5
6 0 1 1 0 1 0 1 1 1 1 1 0x5F 0x7D 6
7 0 1 1 1 1 1 1 0 0 0 0 0x70 0x07 7
8 1 0 0 0 1 1 1 1 1 1 1 0x7F 0x7F 8
9 1 0 0 1 1 1 1 1 0 1 1 0x7B 0x6F 9
A X X X X 1 1 1 0 1 1 1 0x77 0x77 A
b X X X X 0 0 1 1 1 1 1 0x1F 0x7C b
C X X X X 1 0 0 1 1 1 0 0x4E 0x39 C
d X X X X 0 1 1 1 1 0 1 0x3D 0x5E d
E X X X X 1 0 0 1 1 1 1 0x4F 0x79 E
F X X X X 1 0 0 0 1 1 1 0x47 0x71 F

In-code decoding can be done easily using a simple lookup table such as the one below:

const unsigned char seven_seg_digits_decode_abcdefg[16]=
{
/*  0     1     2     3     4     5     6     7    */
    0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70,
/*  8     9     A     B     C     D     E     F    */
    0x7F, 0x7B, 0x77, 0x1F, 0x4E, 0x3D, 0x4F, 0x47
};
const unsigned char seven_seg_digits_decode_gfedcba[16]=
{
/*  0     1     2     3     4     5     6     7    */
    0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
/*  8     9     A     B     C     D     E     F    */
    0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71
};

Hardware Decoders/Drivers[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.