Design Ideas: June 6, 1996
IC1 interfaces to an eight-digit LED multiplexed drive chip (IC2), which drives eight common-anode LED displays. Setting a 3-bit code on IC2's digit-addresses, da0, da1, and da2 (pins 5, 6, and 10), writes data into IC2's memory. BCD input data connects to id0 through id3 (pins 11 to 14) of IC2 from the K (K1, K2, K4, K8) port of IC1. The inverted R6 output from IC1 clocks in the data.
The circuit selects code B decoding at pin 9 of IC2. Code B decoding allows the display of characters 0 to 9, "- E, H, L, P" and blanking of digits. Pulling pin 9 to ground (when both inputs to IC3 are active high) results in the blanking of all digits. Pin 7 on IC2 is the active-low decimal-point input.
The sequence for data output from IC1 is to load the data into this IC's FLAC register, set the digit number pointer (using R1, R2, and R3), perform the command FLKOUT, and toggle R6 to write the data into IC2. If you want to associate a decimal point with the current digit, you must also set R4 before toggling R6. To display the "special" characters in the code B set, load the associated code for that character into the LSD of the FLAC, set the digit pointer to the desired digit, perform the FLKOUT command, and toggle R6 ("-"=10, "E"=11, "H"=12, "L"=13, "P"=14, and "[Blank]"=15). To blank all the digits at once, set R4 and R5.
In the software listing, the routine NOSOUT sets the digit pointer using the R1, R2, and R3 lines. The routine also calls the subroutine to perform the command FLKOUT and toggle the R6 line to latch the data into IC2. Note in the
listing that the decimal point is included with digit 3. The HELP routine displays the letter H in digit 5. The BLANK routine blanks all digits in the display. (DI #1876)