An external RC would be used to set the non-critical clock rate. Five would be inputs (4 for the hex digit, plus one for optional decimal point), and 8 for outputs for seven segments plus decimal point. A single digit would only need an 18-pin PIC which has 13 I/O pins. How 'bout using a microcontroller? If the need is really that great, I could make pre-programmed PICs available to take the place of the no-longer-available IC. The 4- and 8-digit Broadcom dot-matrix LED displays with serial input are really nice but they require more intelligence feeding them. While I was writing this, Ed posted about the open-collector decoders, which I have not looked into. This approach can also be extended to 16-segment displays for alphanumeric applications, though that's getting slightly out of scope now. The downside is that you can't use it for ultra-low-level bootstrapping it might work as a main display. The segment patterns can be stored in 8-bit latches or pairs of 4x4-bit register files. Option 4 is to do it in software, which of course allows you absolute flexibility over which segments to light, including the decimal point. Obviously this should be multiplexed across all digits needed, instead of replicated, and this can be done using a 3-to-8 decoder and a free-running counter. So this is entirely feasible to build by hand and, crucially for my intended use, requires only a soldering iron to make fully functional. Some doodling suggests that 44 diodes are needed if you use them to turn segments *off* instead of on, an average of less than 3 diodes per digit instead of more than 4 for the positive sense, at the expense of requiring a driver IC on the output to invert the sense, but a saving of allowing them to be small-signal diodes instead of having to handle LED current directly. Option 3 is to hand-build a 16x7 ROM using diode logic and a 4-to-16 decoder. But you still need a chip programmer run before your display is usable, and it generally doesn't feel like an "elegant" solution. A 32Kx8 ROM will handle the same three nybbles and three select lines without limitation. Option 2 is to program a ROM to do the job. The upside is that it's a single-chip direct replacement for a hex decoder. An unavoidable downside is that you have to run a GAL compiler and use a chip programmer to set it up. I have no idea whether it can do all that while processing the logic correctly, or whether some pins have to be reserved as internal nodes. A 22V10 has enough pins to read 3 nybbles and 3 select lines while producing a 7-bit decoded drive signal a 16V8 could be used for a single digit, or possibly a pair. Option 1 is to program a GAL to do the job. Unfortunately, the only 7-segment decoders still in production decode only BCD, not hexadecimal, even though the hex decoders are strictly more useful and are unlikely to cost significantly more to produce. The obvious solution in times gone by would have been to drop in a 7-segment LED display and decoder chip for each nybble, or possibly to multiplex one decoder chip across several displays and input nybbles. A common need for debugging purposes is a simple hexadecimal readout of a byte's or word's worth of binary signals.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |