Hallo zusammen

Ich habe ein LCD EA DOGS 102-6 an einem ATmgea8 angeschlossen.
Die Programmierung des AVR klappt soweit, angeschlossene LEDs usw. funktionieren tadellos.

Hier mal mein Code (fairerweise muss ich sagen, dass ich den Grundcode von hier habe: Link: Ich habe ihn lediglich an meine Schaltung angepasst (also PINs und so).

Code:
#include<avr/io.h>
#define F_CPU 1000000
#include <util/delay.h>

#define CHIPSELECT     PORTB &= ~(1<<1);
#define CHIPUNSELECT  PORTB |=  (1<<1);

#define DATA       PORTB |= (1<<0);
#define COMMAND      PORTB &= ~(1<<0);

#define RESETHIGH    PORTB |= (1<<2);
#define RESETLOW    PORTB &= ~(1<<2);


void SPI_MasterInit(void)
  {    // MOSI, SCK und PB0 als Ausgang
	  DDRB = 0xFF;
	  // SPI Konfiguration (Richtiger SPI-mode?)
	  SPCR |= (1<<6) | (1<<4) | (1<<3)|(1<<2); // SPI-Enabled, Mastermode, SPI-mode
	  SPSR = (1<<0);
  }

unsigned char spi_out(char b)
{
    //Byte senden
      SPDR = b;
    //Warten bis Sendevorgang komplett
      while(!(SPSR &(1<<SPIF)));
    //SPIF löschen durch lesen von SPDR
      return SPDR;

}

void sendCommand(char command)
  {    CHIPSELECT;      
       COMMAND;
    //Byte senden
      spi_out(command);
      CHIPUNSELECT;    
  }

void sendData(char data)
  {     
	  CHIPSELECT;
      DATA;
    //Byte senden
      spi_out(data);
      CHIPUNSELECT;
  }

void DisplayInit(void)
  {   //Display reset
    RESETLOW;
    _delay_ms(1);
    RESETHIGH;
    _delay_ms(5);  
    
    //Display init

    sendCommand(0x40);
    sendCommand(0xA1);
    sendCommand(0xC0);
    //sendCommand(0xA4);
    sendCommand(0xA6);

    sendCommand(0xA2);
    sendCommand(0x2F);
    sendCommand(0x27);
    sendCommand(0x81);
    sendCommand(0x10);

    sendCommand(0xFA);
    sendCommand(0x90);
    sendCommand(0xAF);   
  }

int main(void){
	   
	SPI_MasterInit();

	DisplayInit();
	
    sendCommand(0b00000000);
    sendCommand(0b00010000);
    sendData(0xFF);
    sendCommand(0b00000001);
    sendCommand(0b00010000);
    sendData(0xFF);
    sendCommand(0b00000010);
    sendCommand(0b00010000);
    sendData(0xFF);
    sendCommand(0b00000011);
    sendCommand(0b00010000);
    sendData(0xFF);
    sendCommand(0b00000100);
    sendCommand(0b00010000);
    sendData(0xFF);

    
  }
So. Das LCD blinkt nun beim Einschalten zwei mal auf und gibt Pixelsalat von sich. Oben links kann man ungefähr ein kleines schwarzes Vierreck erahnen, kann aber auch Zufall sein.
Danach blinkt es in unregelmässigen Abständen wieder auf
Die Aufblink-Zeiten sind ca. 0.5 Sekunden oder so.

Was ich versucht habe:

-LCD gewechselt
-ATmega gewechselt
-Anschlüsse überprüft und neu gesteckt
-Takt überprüft (stimmt, 1MHz)


Was mache ich falsch? Hoffe es kann mir jemand weiter helfen=)

Liebe Grüsse
Thor_


---edit----

Das LCD blinkt (nach dem initialen doppelten Aufblinken) periodisch und zwar mit einem zeitlichen Abstand von ca. 13Sekunden.

-