Today I built a prototype based on the 16f884, driving 2x 4 digit displays,
using no extra parts at all.
I looked carefully the datasheet, and the LED forward voltage actually is 2.2 volts (not 1.5).
So even if 5 volts are applied, only 2.8 volts are distributed accross the PIC.
8x multiplex is used. So the two displays are not even very bright. Just moderate.
And the PIC does not heat up, only a very little, it's barely noticeable.
There are really no resistors at all or drive transistors.
If I cycle through the points (like a chaser), I can notice a little
brightness variation...
Maybe people using extra parts like resistors are just taking too much care!
Why use the extra parts, when the possibility to drive one LED digit (which you can multiplex of course),
seems to be built in for some PICs?
It's really not normal thinking that the PIC would become damaged,
if you consider not the full 5 volts drop, and it barely heats up at all.
I see this sometimes on forums, that it would be bad to drive directly!
Apart of course, you get the brightness variation (just noticeable a little),
because the PIC I/O can not sink enough current.
Also this circuit happily runs from the PICKIT3 internal supply, so current can't be that high.
I have reduced voltage to 4.0 volts, and actually the PIC is cold.