-
HALLO
Sei doch nicht immer so ungeduldig und warte mal die Antworten ab. Und verteil deine Fragen nicht immer auf x Beiträge. Von mir aus in x Foren, aber es ist unnötig hier zu fragen wie man eine Stelle löscht, wenn das Problem in deiner ADC-Abfrage gebraucht wird!
https://www.roboternetz.de/phpBB2/search.php
Diesen Link kannst du auch für fast alle deine Fragen benutzen.
Oder einfach mal selbst etwas überlegen. Du willst an der Stelle 2,4 auf dem LCD was gelöscht haben. Also an der Stelle ein Leerzeichen schreiben.
Locate 2,4
LCD " "
-
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 \:D/ 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
-
Hallo Xaver,
da hast Du dir ja ein haufen Arbeit gemacht jedes Bit einzeln anzusteuern ;-)
Wenn man die Hilfe vom Bascom anschaut, sieht man das das RW Bit nicht verwendet wird, entweder fest auf GND, oder vorher auf 0 setzen und noch mal den InitLCD aufrufen.
PS:
Das ist alles die letzten Tage in diversen Threads schon mal beantwortet worden.
-
jo hab das nun entlich auch mit dem 27x4 Display hinbekommen.
dank dem Besipielcode bei dem RN-Mega 8 board