A better way to drive the columns. With the MIC5891, our column drive is serially addressable and compact. The outputs can source 500mA apiece, enough for four characters.
Writing to the display is straightforward:
- Init the display by clocking 8 zeros into the column driver (COL_CLK, COL_DIN) and enabling (COL_OE). Everything should now be off.
- Clock 28 bits of row data into the (7 bits x 4 characters) display (ROW_CLK, ROW_DIN).
- Disable the display and clock 1 « [column index] into into the column driver LSB first (I’ve inverted the connections, so bit 7 actually drives column 1 on the display). Re-enable. Your column should light.
- Wait.
- Repeat from step 2 with the next column index and data.