Update... Remember this thread? Well, I tried some experiments with this -- main code does the initialization and ends (endless loop). In the meanwhile, a TMR0 interrupt routine muxes the display -- it dumps a specific hard-coded pattern to the ports and cycles this as 3 "columns" of 4 bits. The result is poor -- even though my calculations tell me all is okay, and I have verified that I have no situation where the bits tied together are out of sync with each other, the resulting display is uneven in intensity, and incorrect -- some LEDs are on that should not be. Another odd thing is that it waits about 5-10 secs before it starts up, after power is applied. I added a transistor driver to each of the 3 column lines and it works properly -- nice bright crisp display, correct output, and starts up instantly. And yes, the transistors were added to the point after the 4 pins were merged together in each group. I did this to reduce the # of changes on each test. The delay in starting up worries me -- I was worried that it may be due to a conflict on the ports at startup time BEFORE the ports got TRISed properly and cleared, but that would not explain why it started up right away after the transistors were added. Can't explain why the poor results though. I'm wondering if to switch off the off columns (2 of 3 at any time) by setting those pins to inputs so they float, vs. setting them to low. I'll have to experiment with this tonight. Cheers, -Neil. -----Original Message----- From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Pic Dude Sent: Friday, June 14, 2002 10:57 AM To: PICLIST@MITVMA.MIT.EDU Subject: [PIC]: Component reduction... Been trying hard to squeeze my PIC boost gauge (from some months ago) into a round gauge enclosure, and that means elimination of as many external parts as possible. So I'm looking at every component and thinking of why I really need it. Converted the circuit from 10 direct-driven LED's to 12 MUX'ed LED's (3x4 config) and then this occurred to me last night... http://www.avn-tech.com/stuff/mux_no_transistors.jpg Not shown in the pic is that all LED cathodes are to the left. Also, the dashed line represents the division between the main board and the display board (yes, I need 2 round PCB's). I could possibly eliminate the driver transistors since I have extra ports to generate enough current. The reason of tying the lines together is that I can reduce the number of wires going between the main board and the display board. I think I'm not violating any PIC rules here: - I can keep the tied-together lines at the same logic-level by keeping them on the same port. - By multiplexing, only one set of 4 is on at any point in time, so I'm within the port's total max current. - Also within the chip's max current. BTW, I need the 16F872 since I need an A/D. Nothing smaller w/flash. I guess what I'm looking for is the experts' blessing on this. Is there something wrong here that I am missing? Or shall I start my PCB layout....? Thanks, -Neil. -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body