I'm using a 16F88 to drive some leds. The data sheet says
the max current sourced by PORTA is 100ma but on my
breadboard I can drive 7 leds directly off the port pins
with no problems even though the leds draw 140ma.
The led specs are:
Power Dissipation 100 mW
Continuous Forward Current 20 mA
Forward Voltage 2.1 V @ 20mA
100 ohm current limiting resistors.
This is all the 16f88 is doing so is it going
to cause any problems?
I've seen schematics on line where other people do the
same thing.
Eventually, something inside the chip (may) get damaged.. I ALWAYS go to 10mA for a normal LED, it's still bright enough to view but the port will only be loaded by 80mA total I have never had a problem. Its better to be safe than sorry.
As you've found out 100mA isn't the maximum possible current, it's the maximum recommended current. They can also be overclocked, but that isn't recommended either.
Measure the voltage at the actual pin and recalculate the current. Drawing 100mA out of a port will cause the chip to run hot, best reduce the current to 10mA per LED if you want reliability.