Hallo,

danke für deine Hilfe, aber da wird ja hinterher nichts mehr in der selben Zeile überschrieben, Wenn ich im Hauptprogramm bin und von dort in die Sub springe wird einfach die zweite Zeile des Displays überschrieben, zurück im Hauptprogramm wird nichts neues mehr an die zweite Zeile geschickt.
Es flackert ja noch nicht einmal, wenn ich in die Sub springe. Ich weiß einfach nicht warum. Zur besseren Übersicht habe ich hier noch mal den Code in abgespeckter Form geschrieben:


Code:
$regfile = "m8def.dat"
$crystal = 3686400

Ddrd = &B00000001
Portd = &B00010000

Config Lcd = 40 * 4
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portb.1 , E2 = Portb.2 , Rs = Portb.3
Declare Sub Programm
Dim ___lcdno As Bit


___lcdno = 0
Initlcd
Cls
Locate 1 , 1
Lcd "Das ist ein Test"
Cursor Off


Do

   Debounce Pind.4 , 0 , Programm , Sub

Loop



Sub Programm

Toggle Portd.0

___lcdno = 0
Locate 1 , 1
Lcd "Programm"

Wait 2

End Sub

End
Also auch mit mehr Wartezeit funktioniert es nicht. Vielen Dank.

Grüße
Enrico