Hallo zusammen! Ich hab hier ein Problem mit der Steuerung von einer LCD-Anzeige mit dem HD44780A00. Die Anzeige hat nicht 14-pin-connector, sondern nur 10 pins. Irgendwo hab ich gesehen, dass da alles im Prinzip ähnlich ist und fehlen nur DB0-DB3, also die Anzeige kann man nur im 4-bit-Modus betreiben. Ich vermute, dass die Pinbelegung von dem Connector so aussieht: GND-VCC-Kontrast-RS-R/W-E-DB4-DB5-DB6-DB7, aber 100%-sicher bin ich auch nicht. Ich hab den ganzen Tag lang damit gespielt und festgestellt, dass die Anzeige initialisiert wird, einige Befehle werden auch ausgeführt, aber ich bin nicht in der Lage was vernünftiges auszugeben. So wie es zur Zeit aussieht, kommen da nur die Zeichen mit dem XXXX1111-Kode (ich hab es mit der Hilfe von der Charset-Tabelle festgestellt). Und nach dem Start kriege ich statt "Hello" nur ein Zeichen mit dem 10111111-Kode. Wenn ich versuche was zu schiften, dann klappt es, aber nur bis 8 Position der Anzeige (die ist eigentlich 16*1 gross), dann verschwindet das Zeichen. Mit dem Bascom-Simulator wird ja alles richtig dargestellt, da hab ich keine Probleme. Was könnte ich falsch machen? Stimmt irgendwas mit der Pinbelegung nicht oder funktioniert ja diese Anzeige irgendwie anders? Oder klappt es wegen dem Bascom nicht? Hier ist das Programm: Config LCDMODE = PORT Config Lcdbus = 4 Config Portb = Output Config Portd = Output Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portd.1 , Rs = Portd.0 Dim A As Byte Config Lcd = 16 * 1 Cls Lcd "Hello" Wait 1 Cursor Off Cls Lcd "Shift" Wait 1 For A = 1 To 5 Shiftlcd Right Wait 1 Next Cls Home End Für jede Art der Hilfe würde ich sehr dankbar sein! :)
Klingt ja ziemlich interessant. Und was genau wird im Bascom-Simulator angezeigt?
Hi Aleksej Kiselev der Hinweis "...schiften, dann klappt es, aber nur bis 8 Position der Anzeige ..." läßt auf ein LCD 16x1a vermuten. Ein solches Problem hatte ich auch schon mal mit einme älteren 16x1 aus einem Scanner. Habe dann mit 'Config Lcd = 16 * 1a' gearbeitet und hat funktioniert. Nur bei shift oder Locate musst du etwas spielen, da dann dass Display wie 8x2 angestuert wird. S. auch hierzu die Hilfe zu CONFIG LCD " LCDtype The type of LCD display used. This can be : 40 * 4,16 * 1, 16 * 2, 16 * 4, 16 * 4, 20 2 or 20 4 or 16 * 1a Default 16 * 2 is assumed. When you have a 16 * 2 display, you don't have to use this statement. The 16 * 1a is special. It is used for 2 * 8 displays that have the address of line 2, starting at location &H8." mfg Kalle
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.