Seven-segment display


A seven-segment display is a form of electronic display device for displaying decimal numerals that is an alternative to the more complex dot matrix displays.
Seven-segment displays are widely used in digital clocks, electronic meters, basic calculators, and other electronic devices that display numerical information.

History

Seven-segment representation of figures can be found in patents as early as 1903, when Carl Kinsley invented a method of telegraphically transmitting letters and numbers and having them printed on tape in a segmented format. In 1908, F. W. Wood invented an 8-segment display, which displayed the number 4 using a diagonal bar. In 1910, a seven-segment display illuminated by incandescent bulbs was used on a power-plant boiler room signal panel. They were also used to show the dialed telephone number to operators during the transition from manual to automatic telephone dialing. They did not achieve widespread use until the advent of LEDs in the 1970s.
Some early seven-segment displays used incandescent filaments in an evacuated bulb; they are also known as numitrons. A variation made use of an evacuated potted box. Minitrons are filament segment displays that are housed in DIP packages like modern LED segment displays. They may have up to 16 segments. There were also segment displays that used small incandescent light bulbs instead of LEDs or incandescent filaments. These worked similarly to modern LED segment displays.
Vacuum fluorescent display versions were also used in the 1970s.
Many early LED seven-segment displays had each digit built on a single die. This made the digits very small. Some included magnifying lenses onto the design in an attempt to make the digits more legible.
The seven-segment pattern is sometimes used in posters or tags, where the user either applies color to pre-printed segments, or applies color through a seven-segment digit template, to compose figures such as product prices or telephone numbers.
For many applications, dot-matrix LCDs have largely superseded LED displays in general, though even in LCDs, seven-segment displays are common. Unlike LEDs, the shapes of elements in an LCD panel are arbitrary since they are formed on the display by photolithography. In contrast, the shapes of LED segments tend to be simple rectangles, reflecting the fact that they have to be physically moulded to shape, which makes it difficult to form more complex shapes than the segments of 7-segment displays. However, the high recognition factor of seven-segment displays, and the comparatively high visual contrast obtained by such displays relative to dot-matrix digits, makes seven-segment multiple-digit LCD screens very common on basic calculators.
The seven-segment display has inspired type designers to produce typefaces reminiscent of that display, such as New Alphabet, "DB LCD Temp", "ION B", etc.
Using a restricted range of letters that look like digits, seven-segment displays are commonly used by school children to form words and phrases using a technique known as "calculator spelling".

Implementations

Seven-segment displays may use a liquid crystal display, a light-emitting diode for each segment, an electrochromic display, or other light-generating or controlling techniques such as cold cathode gas discharge, vacuum fluorescent, incandescent filaments, and others. For gasoline price totems and other large signs, vane displays made up of electromagnetically flipped light-reflecting segments are still commonly used. An alternative to the 7-segment display in the 1950s through the 1970s was the cold-cathode, neon-lamp-like nixie tube. Starting in 1970, RCA sold a display device known as the that used incandescent filaments arranged into a seven-segment display. In USSR, the first electronic calculator "Vega", which was produced from 1964, contains 20 decimal digits with seven-segment electroluminescent display.
In a simple LED package, typically all of the cathodes or all of the anodes of the segment LEDs are connected and brought out to a common pin; this is referred to as a "common cathode" or "common anode" device. Hence a 7 segment plus decimal point package will only require nine pins, though commercial products typically contain more pins, and/or spaces where pins would go, in order to match standard IC sockets. Integrated displays also exist, with single or multiple digits. Some of these integrated displays incorporate their own internal decoder, though most do not: each individual LED is brought out to a connecting pin as described.
Multiple-digit LED displays as used in pocket calculators and similar devices used multiplexed displays to reduce the number of I/O pins required to control the display. For example, all the anodes of the A segments of each digit position would be connected together and to a driver circuit pin, while the cathodes of all segments for each digit would be connected. To operate any particular segment of any digit, the controlling integrated circuit would turn on the cathode driver for the selected digit, and the anode drivers for the desired segments; then after a short blanking interval the next digit would be selected and new segments lit, in a sequential fashion. In this manner an eight digit display with seven segments and a decimal point would require only 8 cathode drivers and 8 anode drivers, instead of sixty-four drivers and IC pins. Often in pocket calculators the digit drive lines would be used to scan the keyboard as well, providing further savings; however, pressing multiple keys at once would produce odd results on the multiplexed display.
Although to a naked eye all digits of an LED display appear lit, the implementation of a typical multiplexed display described above means that in reality only a single digit is lit at any given time.
A single byte can encode the full state of a 7-segment-display. The most popular bit encodings are gfedcba and abcdefg, where each letter represents a particular segment in the display. In the gfedcba representation, a byte value of 0x06 would turn on segments 'c' and 'b', which would display a '1'.

Characters

The seven elements of the display can be lit in different combinations to represent the Arabic numerals. Often the seven segments are arranged in an oblique arrangement, which aids readability. In most applications, the seven segments are of nearly uniform shape and size, though in the case of adding machines, the vertical segments are longer and more oddly shaped at the ends in an effort to further enhance readability.
The seven segments are arranged as a rectangle of two vertical segments on each side with one horizontal segment on the top, middle, and bottom. Additionally, the seventh segment bisects the rectangle horizontally.
The segments of a 7-segment display are referred to by the letters A to G, where the optional decimal point is used for the display of non-integer numbers.

Decimal

The numerical digits 0 to 9 are the most common characters displayed on seven-segment displays. The most common patterns used for each of these is:
The numerals 6 and 9 may also be represented without a 'tail', and the numeral 7 represented with a 'tail':
In Unicode 13.0, 10 codepoints had been given for segmented digits 0–9 in the Symbols for Legacy Computing block, to replicate early computer fonts that included seven-segment versions of the digits. The recommendation shows the less-common design for 7. The characters are simulated here:
0123456789ABCDEF
U+1FBFx

Hexadecimal

Four binary bits are needed to specify the numbers 0–9, but can also specify 10–15, so usually decoders with 4 bit inputs can also display Hexadecimal digits. Today, a combination of uppercase and lowercase letters is commonly used for A–F; this is done to obtain a unique, unambiguous shape for each hexadecimal digit. Also the digit '6' must be displayed with the top bar lit to avoid ambiguity with the letter 'b'.
The following lookup table may be useful for writing code to drive a 7-segment display.
DigitDisplaygfedcbaabcdefgabcdefg
00x3F0x7Eonononononon
10x060x30onon
20x5B0x6Dononononon
30x4F0x79ononononon
40x660x33onononon
50x6D0x5Bononononon
60x7D0x5Fonononononon
70x070x70ononon
80x7F0x7Fononononononon
90x6F0x7Bonononononon
A0x770x77onononononon
b0x7C0x1Fononononon
C0x390x4Eonononon
d0x5E0x3Dononononon
E0x790x4Fononononon
F0x710x47onononon

The above modern numerical scheme wasn't always followed in the past, and various other schemes could be found as well:
Most letters of Latin alphabet can be reasonably implemented using seven segments. Though not every letter is available, it is possible to create many useful words. By choosing better synonyms, it is possible to work around many shortcomings of seven-segment alphabet encodings. Some letters look identical to numbers, though use of lower-case 'o' and 'i', or putting 'I' on the left as shown here, could be used instead. In addition, seven-segment displays can be used to show various other letters of the Latin, Cyrillic and Greek alphabets including punctuation, but few representations are unambiguous and intuitive at the same time. When all letters need to be displayed on a device, sixteen-segment and dot matrix displays are better choices than seven-segment displays.
CaseABCDEFGHIJKLMNOPQRSTUVWXYZ
Upper
Lower

Short messages giving status information are also commonly represented on 7-segment displays. In the case of such messages it is not necessary for every letter to be unambiguous, merely for the words as a whole to be readable.
Examples:

Punctuation

Seven segments are capable of displaying some punctuation glyph characters. The hex value for each Unicode character is shown, of which the lower 8-bits of most of these exist as ASCII characters too.
GlyphDisplayUnicodeName
0x0020Space, Blank, All segments off
_0x005FUnderscore, Low dash, Low line
-0x002DHyphen-minus, Minus, Negative, Hyphen, Dash
0x203EOverline, Overscore, Overbar, Macron
=0x003DEquals, Double hyphen
0x207CSuperscript "equals"
0x2261Triple bar, Hamburger button, Identical To
°0x00B0Degree, Superscript zero
"0x0022Double quote, Double prime
'0x0027Apostrophe, Single quote, Prime
or ]0x005DParenthesis, Bracket
?0x003FQuestion mark