$regfile = "m128def.dat" $crystal = 1000000 Config Portd = Output Config Portb = Input Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) 'Declare Sub Position(byval X_wert As Byte , Byval Y_wert As Byte) Declare Sub Position Declare Sub Initialisierung Declare Sub Lcdloeschen Declare Sub Keypressed Ddrd = &B00000000 Dim Menue As Byte Dim Tout As Byte Dim X_wert As Byte Dim Y_wert As Byte Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 Dc Alias Portd.4 'Kommando oder Data Ce Alias Portd.6 'Chip enable Re Alias Portd.5 'Reset Re = 0 'Reseten Waitus 250 Re = 1 Spiinit 'Initialisierung der SPI-Schnittstelle Initialisierung Lcdloeschen Do Debounce Pind.0 , 0 , Keypressed , Sub Loop Sub Keypressed X_wert = &B10010100 Y_wert = &B01000010 Call Position Lcdloeschen Udata &H3F Udata &H40 Udata &H40 Udata &H40 Udata &H3F Udata &H00 Udata &H7F Udata &H08 Udata &H08 Udata &H08 Udata &H7F Udata &H00 Udata &H7F Udata &H09 Udata &H19 Udata &H29 Udata &H46 End Sub '------------Position x & y--------------------------------------------------- Sub Position Dc = 0 Ce = 0 Spiout Y_wert , 1 Ce = 1 Ce = 0 Spiout X_wert , 1 Ce = 1 Dc = 1 'zurück in den Daten-Mode End Sub ' ----------------Initialisierung---------------------------------------------- Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &H13 'Bias (Kontrast) Einstellung Original Nokia = &H13 Ukommando &HA8 'Kontrasteinstellung Original Nokia = &HC8 Ukommando &H06 Ukommando &H0C 'Normaler Bildschirm Ukommando &H20 'Wieder in den normalen Kommando-Mode End Sub ' ----------------Display Löschen---------------------------------------------- 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 '------------Kommando Senden--------------------------------------------------- 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 '------------Daten Senden------------------------------------------------------ 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