Until recently, the Philips SAA1064 LED driver IC has been a sort of unofficial standard for driving seven-segment LED displays. It can be used to implement four-digit displays that can be driven over an I2C bus. However, no matter how it’s packaged (DIL24 or SO24) this IC is simply on the large side with its 24 pins. Its minimum supply voltage of 5 V and quiescent current of nearly 10 mA is also not exactly state of the art now.
An attractive alternative for tasks of this sort is the Maxim MAX6958 IC. It is available in smaller QSO package with only 16 pins, can operate at 3.3 V, and has a shutdown mode with a current consumption of only 20 µA. Inspired by this progress, the author resolved to design a digital thermometer circuit using this IC. Aside from the MAX6958, four common-cathode LED display modules (Toshiba TLR 324) and an Atmel AT89C2051 microcontroller (other types could conceivably be used), all that’s necessary is a suitable temperature sensor. The selected device, a National Semiconductor LM75, fits well with the rest of the electronics because it is also I2C compatible. The microcontroller clock signal for this simple application can be generated by any crystal with a frequency in the range of 4 to 12 MHz.
While writing the assembly language firmware, the author had to battle with the complexity of the display driver, a consequence of the restricted number of pins. The type of multiplexing used here by Maxim has already been described in detail in Elektor .
If you want to know what goes on behind the scenes with this driver IC, you can find a full explanation in Maxim Application Note 1880 . Naturally, the Elektor web page for this article  offers not only a ready-made hex file but also the author’s fully commented source code file, so you can modify the software if you so desire. If you simply want to build the circuit and aren’t interested in programming the microcontroller, you can order a pre-programmed device from the Elektor Shop .
LED close to the processor will start blinking at a rate of 1 Hz. If you get this far without problems — and honestly I don’t see why you shouldn’t — then you are up and running. You can now start writing your own applications! If you come up with an interesting project,
please do not hesitate to send it to us, we will be happy to evaluate and publish it in Elektor. (And maybe you will get another LPCXpresso, etc. etc., which reminds me that I didn’t get aboard even though I wrote this article…)
For those of you not having made it to the
free LPCXpresso board, you can buy one from
most major component suppliers or directly