I would prefer to "scan" the rows to increase duty cycle and reduce "peak" current requirements for full brightness.
You could easily modify and expand your 7x30 circuit using this method;
(1) remove the current limiting resistors from the row pins.
(2) install row driver transistors. you'll only be driving one row at a time.
(3) use 74HC164 or 74HC595 or similar 8 bit shift registers for the columns.
(4) drive the ULN2803 sinking drivers from the shift register outputs.
(5) install current limiting resistors on the ULN2803 outputs.
Actually, you'll probably want to use row driver transistors for every 10 or so columns unless you install some very "big" transistors (grin).
I would actually use 8 bit serial-to-parallel sinking driver ICs for the columns instead of the dual IC combo' but they're expensive. For the dual IC combo' I guess I would choose the 74HC595 over the 74HC164 because the '595 has a latch which would allow us to take our time loading 100 bits of data into the shift registers without messing up the display. The '595 also has an output enable pin which could be driven by a PWM signal to control display brightness.
Regards, Mike

Reply With Quote

Or tell me where i can find a scrolling LED tutorial useing a 16f628 and .asm