#include <avr/io.h>		// Definitionen laden
#include <util/delay.h>	// Delay-Bibliothek laden

const unsigned char daten[2][5]={{0x08,0x04,0x7e,0x04,0x08},
                                {0x10,0x20,0x7e,0x20,0x10}}; // Tabelle mit Daten

int main(){
  unsigned char spalte=1,dzeiger=0,zeichen=0,durchlauf=0; // erste Spalte
  DDRA=0xff;	// PA als Ausgang
  DDRC=0xff;	// PC als Ausgang
  PORTA=0xff;	// alle LED an
  while(1){		// Endlosschleife
  	PORTA = daten[zeichen][dzeiger++]; // Zeile laden
	PORTC = spalte; // Spalte anschalten
    spalte *= 2;	// naechste Spalte
	if (spalte > 0b00010000){
	  spalte = 1;
	  dzeiger = 0;
	  durchlauf++;
	  if (durchlauf > 50){
        durchlauf = 0;
		zeichen = 1 - zeichen;
	  }
	}
	_delay_ms(6);	// warte 6ms
  }
  return 0;
}
