-----Original Message----- >From: pic microcontroller discussion list >[mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Kurnia Brahmana >Sent: Sunday, February 03, 2002 12:54 PM >To: PICLIST@MITVMA.MIT.EDU >Subject: [PIC]: driving 8 x 128 general LED as matrix display > > >[PIC]: >I have built an 8 x 128 leds designs as a matrix display, >the rows [8] goes to rb0 to rb7 then the columns goes to the ra0 to ra3 >through a cascade demultiplexer. >The characters sent to the display with a scanning system, >the display just run well, BUT the light (emission) become >very dim. The message comes out of the display can only >be seen in the very shadow room. > >Any one please let me know how to overcome the problem. > >thank you in advance. >kurnia brahmana >mikronik@mdn.prima.net.id > Have you checked for any driver chip solutions already out there? i know they make that sort of thing commercially... what do they use? Unless you're using transistors to drive the LEDs, you'll be in trouble. Total, this will come to 240 mA per set of 8 LEDs lit if you run them at 30mA, which is more than the pic can give. Remember to put them on the Vss and Vdd sides of the LED. The pic can't source that much, and the demux can't drain that much. Another idea, maybe break it down into 8x16 segments x 8, and use 8-bit shift registers to drive each 8x16. In software, load the first row into the first segment, then first row of the second segment, etc... 1st of 8, then turn on the common drain for the first columns, pause for a millisecond or two, turn off drain, then load 2nd of 1st row, etc... that way you can acheive a 1/16 duty cycle instead of a 1/128 duty cycle. You can even load the registers all simultaniously. Remeber to actually drive and source with transistors or buffers in this case too. Diagram: LEDs (8 tall, 16 wide) +---+ |s r|----( )--( )-- ... --( ) |h e|----( )--( )-- ... --( ) |i g|----( )--( )-- ... --( ) |f | ... ... |t |----( )--( )-- ... --( ) +---+ | | | | | drains controlled by | | port A... 4 pins to a 4-16 demultiplexer | | data and clock (if all 8 shift registers tie clock together, can use port B and load all 8 in 8 shifts. or could tie data pins together and tie clock pins to port B). needs 9 pins. can use left over pin in port A for the odd pin. Comes to 1 IC, 24 transistors per segment. Anyone out there with more elegant solutions? -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.