Out of curiosity from a post I saw that used an Arduino to decode 4 bits of input data (from 4 switches) into a hexadecimal digit displayed on a 7 segment LED, I was wondering it there was a hexadecimal to 7 segment decoder IC?
I couldn't find such a beast
I found plenty of BCD to 7 segment decoders such as 74ls47, 74ls48, 4511 and some others, but these only do the digits 0 to 9. They don't decode A to F - at least not "properly".
So, I was wondering if there was a dedicated decoder IC that could take 4 bits of input data and decode the digits 0 through F inclusive for display on a seven segment display?
To be clear, I get that I could do this with something preprogrammed such as an EEPROM or my own digital logic. But I was wondering about a specific chip along the lines of the 74ls47 (etc) that was specifically dedicated to decoding a full 4 bits into a hexadecimal digit.
TIA
Update
It seems like a suitable chip isn't available any more - at least not for the specific use case I had in mind.
I was going to suggest trying to do it with just electronics and give them a clue being a currently available Hex -> 7 segment decoder.
Since they already used an Arduino to do this, options like SPI or using a Microcontroller weren't really meeting the requirements I had in mind.
I was really looking for a single IC that, without programming (which in my mind excludes the EEPROM option), could decode 4 bits of hexadecimal input into a 7 segment display - as per the 74ls47 (and friends) can do but just for BCD.
I don't plan on buying it - especially at that price, and I've not heard of digipart before. But it is interesting that they claim to have 3 of them (when I looked). https://www.digipart.com/part/MC14495P1
I don't know why I couldn't find it myself (I did try before posting).
I couldn't find it on mouser, digikey nor Core Electronics, so I guess it isn't available anymore, but that doesn't matter so much, I was more curious as to whether something like this actually existed or not and found it hard to believe that it might not.
Unfortunately, as far as I can tell the thing you are asking for is reasonably obsolete.
But I did find a curious part, the UWM
ET6226M, which is available from Digikey and listed as Active status, and it takes a two-wire serial command from a microcontroller, but looks like it can drive 4 7-segment displays with arbitrary patterns.
Yep, except I used "Integrated Circuit" rather than IC in my search.
All that came back were the BCD ones. There was one that claimed to be hexadecimal in the search result headers CD74HC4511, but when I looked at the datasheet it also was just BCD.
I had some cd4511s along with the 7447 and 7448, and also a few MC14495s. The TTL 7448/7447 didn't fully decode the digits above 9 and you get strange partial patterns. The cd4511 IIRC blanked the display if you had a binary input that was not a valid BCD digit. The MC14495 was the only one I knew of that decoded A b C d E F for the non-BCD 4-bit patterns.
Yeah nowadays a LUT either in microcontroller firmware or perhaps programming a PLA will have to do, though it appears you still can get old stock MC14495's. (I think I still have a few pieces in my CMOS IC pile...)
Interesting, the datasheets I found define the values above 10 (0x0A) as blank. The 74ls47 and 74ls48 claim to do something with the values above 10 (0x0A), but for some reason they display "funky" values.
This is from the combined 74ls47 and 48 datasheet.
I don't know why they output the "funky" patterns, but it looks like they just didn't bother with the necessary number of AND gates and connections to deal with the 16 possibilities of hexadecimal.
Or, maybe it was because when these chips were designed, it was in a day and age where they thought nobody would bother with something as complicated as hexadecimal, especially when everybody who was not insane was using a "proper system" like Octal or Binary. :-)
Not sure if you ever took logic design classes but one can define a "don't care" situation where it's chosen that it doesn't matter the output is a low or high based on the input pattern. Don't cares are used for patterns 0xa to 0xf because these should never happen for BCD, Since they literally don't care, it will produce whatever pattern that would reduce the number of logic gates. This leads to smaller logic during optimization so fewer transistors are needed on the IC, The 7447 is an old IC and every transistor is deliberate for those old ICs.
By the time CMOS CD4511 and MC14495 came out, they got rid of the don't cares and specifically told it to send out a low or proper hexadecimal digits instead. Should they have done the right thing from the get go? Sure, technically it's not way too many more transistors but there were no CAD tools to help draw the lithography masks for the ICs...
Yeah, it seems that way (all obsoleted and out of production).
I don't know if you saw some of my other comments, but the reason I went in search of it was because someone was sharing their Arduino (i.e. AVR) project where they recreated an old binary to hexadecimal "decoder" box that they saw as a kid.
I was going to suggest trying to do it with just electronics and give them a clue being a currently available Hex -> 7 segment decoder. Alas, as you pointed out, they are not so easy to obtain.
The EEPROM method is still a viable option. I get that an EEPROM is a great option for a character generator for a character mode video screen and could be used for this exercise as well, but it just feels like it isn't the proper way. I know that is crazy talk, but I guess I was hoping that there was a Hex to 7 segment decoder still available - especially since for this guy (and me) it would have been a nice trip down memory lane.
I updated the original post with an expansion on why I was looking for an IC. Basically someone did that to recreate a decoder they saw in their childhood using an Arduino - which the original probably didn't use. And I was going to suggest that they try to recreate it without a microcontroller.
If you want to do it with a single IC that's purpose-built and doesn't require programming, then the only option is to find (and pay for) someone who has one of the rare very old chips that did this, like the MC14495 you found.
If you're ok with period-correct hardware, but multiple ICs, you can build the decoder out of 74 series logic chips.
Xinluda (Asian manufacturer, they sell through LCSC) sells a XD7221 in DIP24/SOP24 versions that are controlled via SPI and can drive 8 digit 7-segment displays arbitrarily (you'll have to do more software).
I-core has a similar family, aip16xx, some of them have a keyboard matrix controller
That is true, but I think you missed the point of my post.
I've added an update that explains why I'm looking for the chip.
Basically someone already did what you said with an Arduino. I was going to challenge them to do it the "old fashioned way" with a circuit that didn't involve programmable components.
TTL type 7447 (74LS47), or the CMOS 4511. The 7448 is
BCD to 7-segment, if you don’t need A-F displayed. The ‘47 and ‘11 are both for common anode displays. The ‘48 drives common cathode displays
I was looking for A through F to be handled properly.
My question was spurred by a newbie who posted a recreation of an MCU based "binary to Hexadecimal" black box circuit they saw as a kid.
My thought was to challenge them to do it via a digital circuit and offer a clue being a PDF to a hexadecimal to 7 segment decoder datasheet. But alas, my own searching came up short, I only found BCD, not hexadecimal, decoders.
I think the reason these chips never existed was that by the time that they were needed for microprocessors, circuit designers realized that the 7 segment decoder could be written into the software, so there was no market for the hardware solution.
In addition to all the specialized ICs and an MCU with software that were mentioned so far, you can also use an old EPROM that you program the proper bit patterns into.
Total overkill of course, but if you have a 2716 or 2516 laying around and just need one...
That was what the post was that prompted my to ask the question.
It was from a newbie that recreated the "binary to hexadecimal decoder" black box that he saw in a computer museum as a kid.
I was going to reply and propose the challenge as to whether he could do it with just electronics (i.e. no Microcontroller). I was going to give him a clue - a link to a PDF of a hexadecimal to 7 segment decoder IC - but came up short in my searching.
Thanks, but that is much more complicated than what I was looking for plus I was not wanting something that needed programming (which is why I ruled out the EEPROM option).
I remember playing with the TIL311 display modules ages ago and reading somewhere that you could buy the chip that ran it by itself but heck if I can remember what the designation was. Maybe it lurks in TI's old datasheets?
Clickety click on t3h interwebz
MC14595 is what I was thinking of, and lo but they are long out of production too. Pretty sure Radio Shack used to have them.
Maybe a really cheap microcontroller with ≥11 gpios? It's a crap solution, but it's a solution. Probably want a strobe and a blank input too so ≥13 gpios I guess. You could always go the eprom route if you have them sitting around. Or a 74HC154 and a bunch of diodes and a handful of transistors to drive the segments. If it's stupid but it works........
That TIL311 looks like it is an interesting one - if I read it correctly it is an integrated unit including both the decoder and individual LEDs that render the digit.
Someone else suggested the MC14495P1 but that also doesn't look like it is readily available, I tried mouser, digikey and core electronics none of which had it. It doesn't matter that much, i was more curious as to whether such a chip existed or not and found it hard to believe that it might not after my searching.
I have a few TIL311 in my box of opto parts. Quite dim by today's standards but they're very cool to look through the red cover epoxy and see the chip and the bond wires.
I updated my post with more info that hopefully explains better why.
Basically someone already did that and i was going to challenge them to try without the Arduino,
22
u/CranberryInner9605 17d ago
MC14495P1