I've seen dozens, if not hundreds, of PIC projects done in just this way, with no limiting resistors and have never seen a PIC smoke or otherwise seriously malfunction. Those output drivers are indeed pretty tough. Or at least have enough output resistance to save themselves in this scenario. It does guarantee some really nasty RMW issues though if the Vf of the LED is less than the PIC's Vih at If=3D~20mA. -n. On Wed, Jun 18, 2008 at 1:05 PM, Tom=E1s =D3 h=C9ilidhe w= rote: > > > Richard Seriani, Sr. wrote: >> Tom=E1s, >> >> You stated, "...I powered LED's from PIC pins and didn't use >> current-limiting resistors. I had seven of these on at once. Not only wa= s I >> taking more current from a pin that I should have, but I also took too m= uch >> current overall for the entire chip." >> >> Questions: >> 1. Which PIC? > > 16F684 > >> 2. At what speed and supply voltage were you running it? >> > > 8 MHz internal oscillator. 5 volts. > >> 3. Were you sinking or sourcing current from/to the LEDs? >> > > Both. I had a display multiplex design. The first 8 steps of the > multiplexer would source current, the second 8 steps would sink. Each > step was kept lit for 2 milliseconds. > >> 4. Which pins were you using (multiple ports or all on one port)? >> > > It has 14 pins available for I/O and I used every single one of them. > PORTC was used for driving the LED's. > >> 5. Which LEDs (current/voltage specs)? >> > > Two-pin bi-colour LED's. They have about 2.2 volts across them when the > current is 25 mA. > > The pins however were driving transistors, BC337 and BC327. I didn't put > in a base transistor. > >> 6. How were the LEDs connected? >> > > Here's the current path: > > * 5 V on microcontroller chip > to > * Diode with .7 V across it > to > * Ground > >> 7. Were there only seven total LEDs? >> > > 50 bi-colour LED's altogether arranged in a matrix of 7 x 7 (which one > extra). > > The multiplexer only lit one column at a time. > >> 8. If not, were the same seven LED's always on during the test? >> > > I could turn every LED of the matrix on in code, and the display > multiplexer would light them all accordingly without a hitch. > >> 9. If all LEDs were always on, was there no change taking place in the >> program? In other words, was it always at the same line once the LEDs we= re >> turned on? >> > > Multiplexer didn't screw up at all, not even once over 3 days of being > on constantly. > >> 10. If no change, how did you determine there wasn't a glitch? >> > > Display had the same pattern on it every morning. >> "taking more..." and "...took too much..." don't mean much without more >> specific information. Please explain. > > Well if you take a uC pin that has 5 volts on it, put it into a diode, > and then put the diode directly to ground, then it will at least try to > draw a hell of a lot more than 25 mA. My guess is that it even caused a > voltage drop within the uC pin itself. > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist