Hallo nochmal, hab heut weiter probiert und mein Testprogramm ein wenig erweitert.
while(1)
{
PORTC |= (1<<PC4); // Bit 1 Setzen
PORTC |=(1<<PC5); // Takt HIGH -> Flanke => schreiben
PORTC &=~(1<<PC5); // Takt LOW

PORTC |= (1<<PC4); // Bit 1 Setzen
PORTC |=(1<<PC5); // Takt HIGH -> Flanke => schreiben
PORTC &=~(1<<PC5); // Takt LOW

PORTC |= (1<<PC4); // Bit 1 Setzen
PORTC |=(1<<PC5); // Takt HIGH -> Flanke => schreiben
PORTC &=~(1<<PC5); // Takt LOW

PORTC &=~ (1<<PC4); // Bit 0 Setzen
PORTC |=(1<<PC5); // Takt HIGH -> Flanke => schreiben
PORTC &=~(1<<PC5); // Takt LOW

for (i=0; i<=6; i++) // Alle Zeilen durchlaufen
{
PORTB = 0; // alle Zeilen aus
PORTB = (1 << i); // aktuelle Zeile an
_delay_ms(2); // Zeile Leuchten lassen
}
}
Es sind nun jeweils 3 Spalen an und 1 aus.

Liebe Grüße Hendrik