Ich wollt das mit dem LCD Display auch mal ausprobiern.
Ich habe ein 27x4 Display, also mit zwei Kontrollern und E1 sowie E2
Dann habe ich mir mit etwas mühe die Initialisierung geschrieben und vier Zeichen. freu \
/ nun möchte ich diese LCD.lib verwenden (oder ähnliches) um mir das arbeiten etwas zu erleichtern.
hier mein Bisheriger Code . jaja etwas lang, dafür aber übersichtlich
Code:
$regfile = "m8def.dat"
$crystal = 8000000
Ddrd = &HFF
Rs Alias Portd.0
Rw Alias Portd.1
E1 Alias Portd.2
E2 Alias Portd.3
D4 Alias Portd.4
D5 Alias Portd.5
D6 Alias Portd.6
D7 Alias Portd.7
Dim A As Byte
'--Hauptprogram-----------------
Waitms 150
Rs = 0 'Interface auf 8-Bit setzen
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 1
E1 = 1
nop
E1 = 0
Waitms 5
Rs = 0 'Interface auf 8-Bit setzen
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 1
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 0 'Interface auf 8-Bit setzen
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 1
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 0 'Interface auf 4-Bit setzen
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 0 'Interface auf 2 Zeilen setzen
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 0
Rw = 0
D7 = 1
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 0 'Display aus
Rw = 0
D7 = 0
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 0
Rw = 0
D7 = 1
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Wait 2
Rs = 0 'Display löschen
Rw = 0
D7 = 0
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 0
Rw = 0
D7 = 0
D6 = 0
D5 = 0
D4 = 1
E1 = 1
nop
E1 = 0
Waitms 2
Rs = 0 'Kursor nach rechts wandern
Rw = 0
D7 = 0
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 0
Rw = 0
D7 = 0
D6 = 0
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Waitms 2
Rs = 0 'Display ein
Rw = 0
D7 = 0
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 0
Rw = 0
D7 = 1
D6 = 1
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 1 'Ein zeichen H in den Speicher Schreiben
Rw = 0
D7 = 0
D6 = 1
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 1
Rw = 0
D7 = 1
D6 = 0
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 1 'Ein zeichen e in den Speicher Schreiben
Rw = 0
D7 = 0
D6 = 1
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 1
Rw = 0
D7 = 0
D6 = 1
D5 = 0
D4 = 1
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 1 'Ein zeichen l in den Speicher Schreiben
Rw = 0
D7 = 0
D6 = 1
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 1
Rw = 0
D7 = 1
D6 = 1
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 1 'Ein zeichen l in den Speicher Schreiben
Rw = 0
D7 = 0
D6 = 1
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 1
Rw = 0
D7 = 1
D6 = 1
D5 = 0
D4 = 0
E1 = 1
nop
E1 = 0
Waitus 40
Rs = 1 'Ein zeichen o in den Speicher Schreiben
Rw = 0
D7 = 0
D6 = 1
D5 = 1
D4 = 0
E1 = 1
nop
E1 = 0
Rs = 1
Rw = 0
D7 = 1
D6 = 1
D5 = 1
D4 = 1
E1 = 1
nop
E1 = 0
waitus 40
End
dann abe ich folgendes geschrieben, doch ich habe dann immer nur zwei schwarze Balken.
Code:
$regfile="m8def.dat"
$crystal = 8000000
Config Lcd = 20 * 2
Config Lcdpin = Pin , E = Portd.2 , Rs = Portd.0 , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4
Cls
Lcd "test"
End
Gruß olaf
Lesezeichen