Seite 2 von 2

Verfasst: 11.08.2006 12:37
von Falko
Da ich gleich noch arbeiten muss, komme ich erst heut Abend drann.

Aber es ist eigendlich egal, wo das RS und R/W drann ist. Hauptsache du kannst über die Basis-Adresse+2 dafür die entsprechenden Bits bei Auto-Feed (R/W) und Init (RS) setzen.

Die Tabellen-Links oben zeigen dazu die jeweiligen Zustände für die
Steuerung des Displaycontrollers an. Wichtig ist nur, das man
die Zeiten nicht unterschreitet, damit es auch funktioniert.

Gruß Falko

Verfasst: 11.08.2006 18:01
von RAaBe
Hallo, ich habe mir jetzt mal eine Minimallösung zusammengebastelt.

(stört euch jetzt nicht an den gosub's)

Code: Alles auswählen

wert = 56 : Gosub lcdwrite : Delay(10)
wert = 14 : Gosub lcdwrite : Delay(10)
wert = 2 : Gosub lcdwrite : Delay(10)
wert = 1 : Gosub lcdwrite : Delay(10)

wert = 67 : Gosub lcdwritedata

CloseInpOut32() 

End

lcdwrite:
 out32($378, wert); ' setzt die Datenpins wie in der Variable angegeben
 out32($378+2, 2) ; ' diese beiden sorgen dafür dass die Enable-Leitung geschaltet wird, so dass
 out32($378+2, 3) ; ' das LCd die an den Datenpins anliegenden Daten übernimmt
Return

lcdwritedata:
 out32($378+2, 6) ;' dieses und das &H7 sorgen wieder dafür dass die Enable-Leitung geschaltet wird, diesmal wird allerdings auf die RS-Leitung ein High gegeben, so dass die Daten nicht als Befehl gewertet werden sondern in den RAM geschrieben werden
 out32($378, wert);' setzt die Datenpins nach der Variable
 out32($378+2, 7); 
Return
Dieses Beispiel ist ja nur zum Testen, ob ich die Bits's am LPT richtig setzen kann!