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?
Lesezeichen