Aug 21, 2010
5x32 Matrix SMD LED
Part used: AT89C2051 MCU, 74HC595 (8-bit shift register) and FCS9012 general PNP transistors 600mA.
Data is sent to the shift register by MCU through P3.7 and clocked through P1.1. When 32 bits data has been shifted, latch signal on P1.0 activated (positive pulse). Now, time for the row selection works. Initially all P3.0..P3.4 are high, no LED energized then P3.4 turn low to energize first row. After a while (about 6.7ms) new data sent to shift register, first row turn off (P3.4 high) and the second row turn on (P3.3 low). 1st..5th row scaned continuously by MCU to generate 30 fps, so LED blinking during row multiplexing is not realized by eyes. The multiplexing is done by timer interrupt, not just determinstic time also auto reload meaning it will do the interrupt repeatedly. Forgot to tell that there are 180-220 ohms resistor on each output of 74HC595 before go to the LED cathode.
Here below the complete code.
I made MAX7219 for C51 but now I need it for STM32F103 too. The wiring is simple: MAX7219_CLK hooked up to PORTA0, MAX7219_...
The picture below is a P10 LED module. A module contains 16x32 single color LEDs, could be red, yellow, green, blue, white or purple. The co...
Simply a 0-24 mA signal generator using AT89C2051/4051, PCD8544 monochrome LCD (was used for N5110 phone), DAC7611 (12-bit 1-ch DAC), TL494...