| ??? 01/05/01 18:53 Read: times |
#7873 - RE: LED Alpanumeric Display Controller |
I have done this two ways.
1. Use two micros. Communicate via I²C. Second micro drives rows using CA3082(now obsolete) drivers and columns using logic level fets. This is a rather expensive approach but simple to code. Master micro only needs to communicate to slave when display data has changed. 2. Use one micro. Drive rows through a latch and toshiba driver. Drive columns through a latch and toshiba driver. Cheap but a little tougher to code. Requires an interrupt driven state machine. I prefer this approach. For 10 digits, at least 60 Hz refresh. 10 * 60 = 600 Hz. You want to interrupt about this often. Otherwise you may see flicker in your peripheral vision. I also like to implement things like dimming, blinking, etc. That of course requires more overhead. I think all of the code to support this uses 3% cpu time on a PIC16F877(sorry). And that is with no external bus, bit banging instead. 8051 should be better. I have considered MAX7221 because of slew rate limiting but it is quite expensive. Cory Spackman |



