I just want to make a test. There is a Led matrix of 6 rows and 9 columns that I want to drive it directly from the AVR. The maximum LED current is 50mA and the drop out voltage at 25mA is 3.4V.
I am using the ATMega48A and as I red at the electrical characteristics unit I found that:
Maximum Operating Voltage: 6V
DC Current per I/O Pin: 40mA
DC Current VCC and GND Pins: 200mA
Pin Output Voltage vs. Sink Current: 20mA/0.5V/25oC
Pin Output Voltage vs. Source Current: 20mA/4.4V/25oC
I am planing to connect the 6 rows to PORTB and the 9 columns to PORTC and PORTD. The AVR Vcc-GND will be 5.5V. Each time each column 6 LEDs will be enabled (source) waiting 0 up to signals to be sinced to ground. Each LED will be sourced with 25mA (it means 25mA/9 = 2.8mA average in full cycle) and the maximum sinc=source current will be 6x25mA = 150mA.
Do you believe that this can be done or it's a risc design? I am trying to do it without usind ULNs, UDNs, or BJTs.