From WikiChip
Difference between revisions of "seven-segment display"

(Created page with "right|250px A '''seven-segment display''' ('''SSD''') is a display device packaged in a single IC chip and composed of a group of seven bar-...")
 
m (Reverted edits by 185.103.25.132 (talk) to last revision by Inject)
 
(6 intermediate revisions by 2 users not shown)
Line 11: Line 11:
 
There are two basic configurations of seven-segment displays: common cathode (CC) and common anode (CA).  
 
There are two basic configurations of seven-segment displays: common cathode (CC) and common anode (CA).  
 
=== Common Anode ===
 
=== Common Anode ===
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. In this setup a [[pull-down resistor]]
+
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 ===
 
=== Common Cathode ===
Line 18: Line 18:
 
{{clear}}
 
{{clear}}
 
== Basics ==
 
== Basics ==
[[File:7 segment display labeled.svg|thumb|200px|right|The individual segments of a seven-segment display.]]
+
{{further|/representing letters|l1=Representing Letters}}
The various numbers (and possibly A-F) can be displayed by simply powering the correct segments by either connecting GND or Vcc.
+
The various numbers (and [[/representing letters|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 [[/representing letters|is possible]] but is generally highly discouraged.
 +
 
 +
{| class="wikitable" style="text-align: center;"
 +
!rowspan="2" | Digit !! colspan="4" | [[BCD]] !! colspan="7" | 7-Segments !! rowspan="2" | abcdefg !! rowspan="2" | gfedcba !! rowspan="2" | Display !! rowspan="2" | 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 || {{7seg|0|10}} || rowspan="16" | [[File:7 segment display labeled.svg|200px]]
 +
|-
 +
| 1 || 0 || 0 || 0 || 1 || 0 || 1 || 1 || 0 || 0 || 0 || 0 || 0x30 || 0x06 || {{7seg|1|10}}
 +
|-
 +
| 2 || 0 || 0 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 || 0x6D || 0x5B || {{7seg|2|10}}
 +
|-
 +
| 3 || 0 || 0 || 1 || 1 || 1 || 1 || 1 || 1 || 0 || 0 || 1 || 0x79 || 0x4F || {{7seg|3|10}}
 +
|-
 +
| 4 || 0 || 1 || 0 || 0 || 0 || 1 || 1 || 0 || 0 || 1 || 1 || 0x33 || 0x66 || {{7seg|4|10}}
 +
|-
 +
| 5 || 0 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0x5B || 0x6D || {{7seg|5|10}}
 +
|-
 +
| 6 || 0 || 1 || 1 || 0 || 1 || 0 || 1 || 1 || 1 || 1 || 1 || 0x5F || 0x7D || {{7seg|6|10}}
 +
|-
 +
| 7 || 0 || 1 || 1 || 1 || 1 || 1 || 1 || 0 || 0 || 0 || 0 || 0x70 || 0x07 || {{7seg|7|10}}
 +
|-
 +
| 8 || 1 || 0 || 0 || 0 || 1 || 1 || 1 || 1 || 1 || 1 || 1 || 0x7F || 0x7F || {{7seg|8|10}}
 +
|-
 +
| 9 || 1 || 0 || 0 || 1 || 1 || 1 || 1 || 1 || 0 || 1 || 1 || 0x7B || 0x6F || {{7seg|9|10}}
 +
|-
 +
| A || X || X || X || X || 1 || 1 || 1 || 0 || 1 || 1 || 1 || 0x77 || 0x77 || {{7seg|A|10}}
 +
|-
 +
| b || X || X || X || X || 0 || 0 || 1 || 1 || 1 || 1 || 1 || 0x1F || 0x7C || {{7seg|b|10}}
 +
|-
 +
| C || X || X || X || X || 1 || 0 || 0 || 1 || 1 || 1 || 0 || 0x4E || 0x39 || {{7seg|C|10}}
 +
|-
 +
| d || X || X || X || X || 0 || 1 || 1 || 1 || 1 || 0 || 1 || 0x3D || 0x5E || {{7seg|d|10}}
 +
|-
 +
| E || X || X || X || X || 1 || 0 || 0 || 1 || 1 || 1 || 1 || 0x4F || 0x79 || {{7seg|E|10}}
 +
|-
 +
| F || X || X || X || X || 1 || 0 || 0 || 0 || 1 || 1 || 1 || 0x47 || 0x71 || {{7seg|F|10}}
 +
|}
 +
 
 +
In-code decoding can be done easily using a simple [[lookup table]] such as the one below:
 +
<source lang="C">
 +
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
 +
};
 +
</source>
 +
 
 +
== Hardware Decoders/Drivers ==
 +
{{empty section}}
  
 
[[Category:display devices]]
 
[[Category:display devices]]

Latest revision as of 08:47, 24 July 2019

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.