From WikiChip
Representing Letters on a Seven-Segment Display
< seven-segment display
Revision as of 23:16, 22 May 2022 by David (talk | contribs) (Reverted edits by 203.189.118.234 (talk) to last revision by 70.40.165.225)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Error
A common method of indicating an error.

Representing Letters on a Seven-Segment Display, while highly discouraged, have been done mostly in low-end products such as cheap portable media players and many hobby projects. In such places, 7-segment displays were extended to support letters. Those representations varies from implementation to implementation and are not standardized by any standards organization.

Note that some letters such as K (K), M (M), V (V), W (W), X (X), and Z (Z) are completely unrecognizable by most people and as such been left out of the table below.

Digit 7-Segments abcdefg gfedcba Display Reference
a b c d e f g
A 1 1 1 0 1 1 1 0x77 0x77 A 7 segment display labeled.svg
a 1 1 1 1 1 0 1 0x7D 0x5F a
b 0 0 1 1 1 1 1 0x1F 0x7C b
C 1 0 0 1 1 1 0 0x4E 0x39 C
c 0 0 0 1 1 0 1 0x0D 0x58 c
d 0 1 1 1 1 0 1 0x3D 0x5E d
E 1 0 0 1 1 1 1 0x4F 0x79 E
F 1 0 0 0 1 1 1 0x47 0x71 F
G 1 0 1 1 1 1 0 0x5E 0x3D G
H 0 1 1 0 1 1 1 0x37 0x76 H
h 0 0 1 0 1 1 1 0x17 0x74 h
I 0 0 0 0 1 1 0 0x06 0x30 I
J 0 1 1 1 1 0 0 0x3C 0x1E J*
L 0 0 0 1 1 1 0 0x0E 0x38 L
n 0 0 1 0 1 0 1 0x15 0x54 n
O 1 1 1 1 1 1 0 0x7E 0x3F O
o 0 0 1 1 1 0 1 0x1D 0x5C o
P 1 1 0 0 1 1 1 0x67 0x73 P
q 1 1 1 0 0 1 1 0x73 0x67 q
r 0 0 0 0 1 0 1 0x05 0x50 r
S 1 0 1 1 0 1 1 0x5B 0x6D S
t 0 0 0 1 1 1 1 0x0F 0x78 t
U 0 1 1 1 1 1 0 0x3E 0x3E U
u 0 0 1 1 1 0 0 0x1C 0x1C u
y 0 1 1 1 0 1 1 0x3B 0x6E y

Lookup table[edit]

One can decode letters to pins via a simple lookup table.

const unsigned char seven_seg_digits_decode_abcdefg[75]= {
/*  0     1     2     3     4     5     6     7     8     9     :     ;     */
    0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x00, 0x00, 
/*  <     =     >     ?     @     A     B     C     D     E     F     G     */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x1F, 0x4E, 0x3D, 0x4F, 0x47, 0x5E, 
/*  H     I     J     K     L     M     N     O     P     Q     R     S     */
    0x37, 0x06, 0x3C, 0x57, 0x0E, 0x55, 0x15, 0x1D, 0x67, 0x73, 0x05, 0x5B, 
/*  T     U     V     W     X     Y     Z     [     \     ]     ^     _     */
    0x0F, 0x3E, 0x1C, 0x5C, 0x13, 0x3B, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 
/*  `     a     b     c     d     e     f     g     h     i     j     k     */
    0x00, 0x77, 0x1F, 0x4E, 0x3D, 0x4F, 0x47, 0x5E, 0x37, 0x06, 0x3C, 0x57, 
/*  l     m     n     o     p     q     r     s     t     u     v     w     */
    0x0E, 0x55, 0x15, 0x1D, 0x67, 0x73, 0x05, 0x5B, 0x0F, 0x3E, 0x1C, 0x5C, 
/*  x     y     z     */
    0x13, 0x3B, 0x6D
};
const unsigned char seven_seg_digits_decode_gfedcba[75]= {
/*  0     1     2     3     4     5     6     7     8     9     :     ;     */
    0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x00, 0x00, 
/*  <     =     >     ?     @     A     B     C     D     E     F     G     */
    0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x3D, 
/*  H     I     J     K     L     M     N     O     P     Q     R     S     */
    0x76, 0x30, 0x1E, 0x75, 0x38, 0x55, 0x54, 0x5C, 0x73, 0x67, 0x50, 0x6D, 
/*  T     U     V     W     X     Y     Z     [     \     ]     ^     _     */
    0x78, 0x3E, 0x1C, 0x1D, 0x64, 0x6E, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 
/*  `     a     b     c     d     e     f     g     h     i     j     k     */
    0x00, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x3D, 0x76, 0x30, 0x1E, 0x75, 
/*  l     m     n     o     p     q     r     s     t     u     v     w     */
    0x38, 0x55, 0x54, 0x5C, 0x73, 0x67, 0x50, 0x6D, 0x78, 0x3E, 0x1C, 0x1D, 
/*  x     y     z     */
    0x64, 0x6E, 0x5B
};

/* Invalid letters are mapped to all segments off (0x00). */
unsigned char decode_7seg(unsigned char chr)
{ /* Implementation uses ASCII */
    if (chr > (unsigned char)'z')
        return 0x00;
    return seven_seg_digits_decode_abcdefg[chr - '0'];
    /* or  
	return seven_seg_digits_decode_gfedcba[chr - '0']; */
}

Common words[edit]

Some of the most commonly used words are shown below:

Hello HELLO Echo ECHO
On On Off Off
Start StArt End End Pause PAUSE Go Go
Up UP Loop LOOP
True truE False FALSE
Push PUSH Pop POP
Error Error Ops OPS Ouch Ouch