ich hab das ganze auch mal probiert. auch nach der internetseite. aber irgendwie flimmert das display bei mir nur, wie man auf diesem video sehen kann. Mein Versuchsaufbau sieht so aus:

Bild hier  

ich hab den bascom-code von der seite modifiziert für atmega8 mit internem takt und software-SPI. ich denke dass das vielleicht der fehler war. hier mal der code:

Code:
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output

Declare Sub Ukommando(byval Wert As Byte)
Declare Sub Udata(byval Wert As Byte)
Declare Sub Initialisierung
Declare Sub Lcdloeschen

Config Spi = Soft , Din = Pinb.6 , Dout = Portd.3 , Ss = Portd.7 , Clock = Portd.4


'Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4

Dc Alias Portd.0
Ce Alias Portd.2
Re Alias Portd.1



Re = 0                                                      'Reset
Waitus 250
Re = 1

Spiinit                                                     'Initialisierung der SPI-Schnittstelle

Do
Initialisierung
Lcdloeschen

Udata &H7F
Udata &H02
Udata &H04
Udata &H02
Udata &H7F
Udata &H00
Wait 2

Loop


Sub Initialisierung
   Ukommando &H21                                           'Erweiterter Kommando-Mode
   Ukommando &HC8
   Ukommando &H06
   Ukommando &H13
   Ukommando &H20                                           'Wieder in den normalen Kommando-Mode
   Ukommando &H0C
End Sub

Sub Lcdloeschen
Local I As Word
   Ukommando &H20                                           'Normaler Kommando-Mode
   Ukommando &H0C                                           'Normaler Bildschirm
   Ukommando &H80                                           'Setze RAM-Adresse auf 0
   Dc = 1                                                   'Sicherstellen, dass man im Daten-Mode ist
   For I = 0 To 503
      Udata &H00
   Next
End Sub


'------------------------------------------------------------------------------

Sub Ukommando(byval Wert As Byte)
   Dc = 0                                                   'in den Kommando-Mode
   Spiout Wert , 1
   Dc = 1                                                   'zurück in den Daten-Mode
End Sub

Sub Udata(byval Wert As Byte)
   Dc = 1                                                   'um sicher zu gehen, dass man auch wirklich im Datenmode ist
   Ce = 0
   Spiout Wert , 1
   Ce = 1
End Sub
jemand ne idee dazu?