Hex display with 7-seg LEDs

Expand Messages
• I was brainstorming on ways to display hexadecimal on a 7-segment LED display. Yes, I know you could use a micro, but I was looking for retro solutions.
Message 1 of 3 , Nov 27, 2010
• 0 Attachment
I was brainstorming on ways to display hexadecimal on a 7-segment LED
display. Yes, I know you could use a micro, but I was looking for
"retro" solutions.

There were hex decoders "back in the day", but they are expensive hen's
teeth today. I noticed that the standard 74LS247 BCD to 7-seg decoder
(which displays 0-9) also displays a unique pattern for A-F. I wondered
if some external logic could convert these into a readable A-F display.

What I came up with adds an IC and some diodes. I thought I'd post it in
case anyone is interested (or can improve on it). Here is the circuit
for the "a" segment of the 7-segment LED display. View it with a
fixed-width font like Courier:
____
| a|---------------+
A--|A b|-- |
B--|B c|-- |
C--|C d|-- |
D--|D e|-- |
| f|-- |
|___g|-- |
74LS247 four |
_______ 1N4148 |
A--|A 0(8)| diodes |
B--|B 1(9)| |
C--|C 2(A)|---|<-------+
| 3(B)| |
D--|G1 4(C)|---|<-------+
+-o|G2 5(D)|-------->|--+ "a" segment of the LED
+-o|G3 6(E)|---|<-------+
| |___7(F)|---|<-------+
gnd 74LS138

Here's how it works: For 0-9, 74LS138 outputs 2-7 (corresponding to hex
A-F) are all high. The high on D powers the anode of the "a" segment.
The cathode of the "a" segment is controlled by the 74LS247 normally.

For hex A-F, the 74LS247 displays unique patterns:

hex lights segments
--- ---------------
A d e g
B c d g
C b f g
D a d f g
E d e f g
F all segments off

The 74LS138 has one of its outputs go low for each hex digit A-F. Diodes
on these outputs select which extra LED segments to light for each
digit. Segment "a" is to light for hex digits A, B, C, E, and F.

Next, notice that the "a" segment needs to be OFF to display the hex
digit "d". This is done by connecting the anode of the "a" segment LED
to the "D" output of the 74LS138. For a hex "D", the "a" segment LED
will therefore be off.

I added an asterisk to the above table for each case where the "a"
segment is lit by a diode to a 74LS138 output. And, a "-" shows where
the "a" segment is forced off.

hex lights segments
--- ---------------
A * d e g
B c d g
C * b f g
D - d f g
E * d e f g
F *

Note: The older 74LS47 is exactly like the 74LS247, except that it
displays "6" and "9" without the "a" segment lit. This makes the "6"
look like a lower case "b", so you couldn't tell the difference between
a "6" and a "b". If you *had* to use the 74LS47 (had some in your junk
box), you could add a diode on the 74LS138 "B" output to force the "a"
segment on -- this makes "6" and "b" unique, but backwards (6 has no top
segment, and b does).

Anyway... the rest of the segments work the same. The "a" segment is the
most complicated; the others turn out to be simpler. I'll just use the
table above to show how they get wired. Again, "*" means you have a
diode from the 74LS138 output to the cathode of the respective LED
segment, and "-" means the anode of that LED segment connects to that
74LS138 output.

hex lights segments
--- ---------------
A * * * d e g
B c d * * g
C * - * * f -
D - * * d * - g
E * d e f g
F * * * *

The end result is 2 ICs and 16 diodes to create a hex display on a
7-segment LED. Since you need access to the anodes as well as the
cathodes of the LEDs, this scheme would be best with individual LEDs for
each segment. If I were doing it, I'd use 3 LEDs in series for each
segment; this produces a nice-looking dot-matrix display. Plus, the 3
diodes neatly handle the 5v supply without series resistors.
--
Lee A. Hart | Ring the bells that still can ring
814 8th Ave N | Forget the perfect offering
Sartell MN 56377 | There is a crack in everything
leeahart earthlink.net | That's how the light gets in -- Leonard Cohen
• I put an ugly schematic of something like you describe in the files section back in march of 2009:
Message 2 of 3 , Nov 27, 2010
• 0 Attachment
I put an ugly schematic of something like you describe in the files section back in march of 2009:

http://f1.grp.yahoofs.com/v1/gJvxTNZ1g9Q9rAUYGJlOwT9nrAeel_E91iSzd8U8bL7K_Me00gUf3E9m7CWeNjDOVIx8QoKouyxzCIESlp5RGxVqc_kR6D1q/HexDisplay.pdf

If the link is toast just look for HexDisplay.pdf

I built this for my original Elf back in 1977 (maybe 1978) because I could not afford the expensive displays on a paperboy's pay!

--- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:
>
> I was brainstorming on ways to display hexadecimal on a 7-segment LED
> display. Yes, I know you could use a micro, but I was looking for
> "retro" solutions.
>
> There were hex decoders "back in the day", but they are expensive hen's
> teeth today. I noticed that the standard 74LS247 BCD to 7-seg decoder
> (which displays 0-9) also displays a unique pattern for A-F. I wondered
> if some external logic could convert these into a readable A-F display.
>
> What I came up with adds an IC and some diodes. I thought I'd post it in
> case anyone is interested (or can improve on it). Here is the circuit
> for the "a" segment of the 7-segment LED display. View it with a
> fixed-width font like Courier:
> ____
> | a|---------------+
> A--|A b|-- |
> B--|B c|-- |
> C--|C d|-- |
> D--|D e|-- |
> | f|-- |
> |___g|-- |
> 74LS247 four |
> _______ 1N4148 |
> A--|A 0(8)| diodes |
> B--|B 1(9)| |
> C--|C 2(A)|---|<-------+
> | 3(B)| |
> D--|G1 4(C)|---|<-------+
> +-o|G2 5(D)|-------->|--+ "a" segment of the LED
> +-o|G3 6(E)|---|<-------+
> | |___7(F)|---|<-------+
> gnd 74LS138
>
> Here's how it works: For 0-9, 74LS138 outputs 2-7 (corresponding to hex
> A-F) are all high. The high on D powers the anode of the "a" segment.
> The cathode of the "a" segment is controlled by the 74LS247 normally.
>
> For hex A-F, the 74LS247 displays unique patterns:
>
> hex lights segments
> --- ---------------
> A d e g
> B c d g
> C b f g
> D a d f g
> E d e f g
> F all segments off
>
> The 74LS138 has one of its outputs go low for each hex digit A-F. Diodes
> on these outputs select which extra LED segments to light for each
> digit. Segment "a" is to light for hex digits A, B, C, E, and F.
>
> Next, notice that the "a" segment needs to be OFF to display the hex
> digit "d". This is done by connecting the anode of the "a" segment LED
> to the "D" output of the 74LS138. For a hex "D", the "a" segment LED
> will therefore be off.
>
> I added an asterisk to the above table for each case where the "a"
> segment is lit by a diode to a 74LS138 output. And, a "-" shows where
> the "a" segment is forced off.
>
> hex lights segments
> --- ---------------
> A * d e g
> B c d g
> C * b f g
> D - d f g
> E * d e f g
> F *
>
> Note: The older 74LS47 is exactly like the 74LS247, except that it
> displays "6" and "9" without the "a" segment lit. This makes the "6"
> look like a lower case "b", so you couldn't tell the difference between
> a "6" and a "b". If you *had* to use the 74LS47 (had some in your junk
> box), you could add a diode on the 74LS138 "B" output to force the "a"
> segment on -- this makes "6" and "b" unique, but backwards (6 has no top
> segment, and b does).
>
> Anyway... the rest of the segments work the same. The "a" segment is the
> most complicated; the others turn out to be simpler. I'll just use the
> table above to show how they get wired. Again, "*" means you have a
> diode from the 74LS138 output to the cathode of the respective LED
> segment, and "-" means the anode of that LED segment connects to that
> 74LS138 output.
>
> hex lights segments
> --- ---------------
> A * * * d e g
> B c d * * g
> C * - * * f -
> D - * * d * - g
> E * d e f g
> F * * * *
>
> The end result is 2 ICs and 16 diodes to create a hex display on a
> 7-segment LED. Since you need access to the anodes as well as the
> cathodes of the LEDs, this scheme would be best with individual LEDs for
> each segment. If I were doing it, I'd use 3 LEDs in series for each
> segment; this produces a nice-looking dot-matrix display. Plus, the 3
> diodes neatly handle the 5v supply without series resistors.
> --
> Lee A. Hart | Ring the bells that still can ring
> 814 8th Ave N | Forget the perfect offering
> Sartell MN 56377 | There is a crack in everything
> leeahart earthlink.net | That's how the light gets in -- Leonard Cohen
>
• From: ted_rossin ... Almost exactly the same idea. Great minds think alike! :-) I like the trick of blanking the 6 of the 74LS47 with
Message 3 of 3 , Nov 27, 2010
• 0 Attachment
From: ted_rossin <ted_rossin@...>
> I put an ugly schematic of something like you describe in the files
> section back in march of 2009:

Almost exactly the same idea. Great minds think alike! :-) I like the trick of blanking the "6" of the 74LS47 with the RBI input. Your scheme uses more diodes, but allows a standard common anode display to be used.

--
Those who say it cannot be done should not interrupt the one who is
doing it. -- Chinese proverb
--
Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart-at-earthlink.net
Your message has been successfully submitted and would be delivered to recipients shortly.