I've designed a multiplexed 8 digit LED driver using an ATMega16. It sort of emulates a Maxim MAX7221. My question is on current limiting. The way it is currently hooked up, there are no current limiting resistors. Current is limiting through PWM, kept to a fairly low duty cycle. It seems to work fine this way, and I have great control over the intensity of the LED's. However, is the large short duration current going to cause long term damage to either the LED's or the AVR's port drivers? It sources current through the pins attached to the segments (common cathode), and the digit control pins activate a transistor to sink the current from the digit pins on the display. The display switches digits at around 2khz, so each segment is only on for a very short time, then its turned off for a while.