Hallo,
habe es hinbekommen und kann jetzt meine Daten "manuell" per "Port-Umschaltungen" aufs Display senden, klappt wunderbar schnell (auch ohne Busyflag abfrage).
Jetzt noch eine Frage, damits ganz top wird:
Wie wird "manuell" das Display initialisiert? (Ohne Config LCD / initlcd) Gibt es da einen bestimmten Ablauf, der eingehalten werden muss?
In den wikis steht dazu leider nichts ...
Damit kann ich dann noch ein wenig mehr Speicher sparen.
Hier mal ein Beispiel der "manuellen Übertagung:
Code:
$regfile = "m88def.dat"
$crystal = 8000000
Ddrb.3 = 1
Portb.3 = 0
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portb.5 , Rs = Portb.4
Initlcd
Cursor Off Noblink
Cls
Locate 1 , 1
Hauptprogramm:
Do
Locate 1 , 1
Lcd "Hallo"
Wait 2
'------------ Zahl 3-------------------------
Portb.5 = 1 'E auf high
Portb.4 = 1 'RS auf high, um Daten zu senden
Portc = &B00001000 'C2-C5 übertragen Bits 4-7
Portb.5 = 0 'E auf low um Daten zu lesen
Portb.5 = 1 'E wieder high
Portb.5 = 1 'E wieder high
Portc = &B00011000 'C2-C5 übertragen Bits 0-3
Portb.5 = 0 'auf low um Daten zu lesen
Portb.5 = 1 'E wieder high
Wait 2
'------Clear-----------------
Portb.5 = 1 'E auf high
Portb.4 = 0 'RS auf low, um Befehl zu senden
Portc = &B00000000 'C2-C5 übertragen Bits 4-7
Portb.5 = 0 'E auf low um Daten zu lesen
Portb.5 = 1 'E wieder high
Portc = &B00000100 'C2-C5 übertragen Bits 0-3 (Bit0 ist 1 für Clear Display)
Portb.5 = 0 'auf low um Daten zu lesen
Portb.5 = 1 'E wieder high
Wait 2
Loop
End
Grüße
Robert
Lesezeichen