Gast
#59394
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! :)