Hallo, ich habe mir bei Pollin ein LCD Display gekauft. (HD44780, 4x27 Zeichen, kennt vermutlich der ein oder andere) Jetzt habe ich ein Programmierproblem mit Bascom. Dort lässt sich doch der Anschluss frei konfigurieren oder muss ich mich an irgendwelche konkreten Pinbelegungen halten? Ich hatte mir folgendes Schema überlegt und danach auch meine Schaltung ausgelegt: (4-Bit-Modus) RS --> PinB.0 E1 --> PinC.3 E2 --> PinC.2 D4 --> PinB.5 D5 --> PinB.4 D6 --> PinB.3 D7 --> PinB.2 So habe ich das Ganze verdrahtet und mein Programmcode sieht nun wie folgt aus: $regfile = "m8def.dat" $crystal = 4000000 'Einbindung der LCD-Bibliothek für ein 2-Prozessor-Display $lib "lcd4e2.lbx" 'Bascom kennt keine Display mit 27 * 4 Zeichen, daher 40 * 4 verwenden Config Lcd = 40 * 4 Config Lcdbus = 4 Config Lcdmode = Port 'man achte auf die Ergänzung E2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portc.3 , E2 = Portc.2 , Rs = Portb.0 ' Systemvariable der LCD-Bibliothek (wichtig, bloß nicht ändern) Dim ___lcde As Byte Main: ' wählt die beiden oberen Zeilen aus ___lcde = 0 ' löscht die beiden oberen Zeilen Cls ' wählt die obere Zeile aus Upperline ' schreibt in die erste Zeile an Position 3 Locate 1 , 3 ' den Text in Anführungszeichen Lcd "Zeile 1" ' wählt die zweite Zeile aus Lowerline ' schreibt in die zweite Zeile an Position 2 Locate 2 , 2 ' in diesem Fall den Inhalt der Variablem mit dem Namen Variable Lcd "Zeile 2" ' unterdrückt den Cursor Cursor Off ' wählt die beiden unteren Zeilen aus ___lcde = 1 Waitms 100 Cls Thirdline Locate 1 , 1 Lcd "Zeile 3" Fourthline Locate 2 , 1 Lcd "Zeile 4" Cursor Off Goto Main End
Das Display macht jetzt auch etwas, aber bekomme irgendwie nur kryptische Dinge. Am PC lässt sich das Display tadellos betreiben. Bitte helft mir!
Schreib mal unter ___lcde = 0 das Wort Initlcd hin. Es sieht so aus, als ob das Ding nicht initialisiert würde. MfG Paul
Hi! Hast du was rausgefunden??? Bei mir geht das auch nicht! Mein Code sieht erstmal so aus: $regfile = "m16def.dat" $crystal = 10000000 $lib "lcd4e2.lbx" Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , E2 = Portb.6 , Rs = Portb.4 Dim ___lcde As Byte ___lcde = 0 Cls Locate 1 , 1 Lcd "zeile 1" Funktioniert nicht! :( Alles richtig verlötet.. ans Port B Weiss jemand warum?
Habe ich korrigiert.... passiert nichts :( Kontrast funzt. Es gibt bestimmt noch ein hacken bei 2 Controller -LCD. mir dem einfachen LCD habe ich keine probleme mehr
Hallo, versuche mal bei Config Lcd 40*4 und initialisiere jede Displayhälfte einzeln! Wenn das noch immer nicht funzt, kann ich dir mal meinen Code posten, der bei mir bisher anstandslos funktioniert. Gruß, Christian
Nun habe ich endlich mein LCD-Modul von Pollin erhalten, und X-Mal die Anschlüsse durchgemessen. Alles korrekt verbunden. STK500 PortB --> LCD 8515 und 90S2313 mit dem LCD Programm beschrieben. Nach dem Programmieren erscheinen meist die ersten beiden Zeilen wie es im Prog steht. Zeile 3 und 4 erscheinen nach dem löschen des CLS. Nach einem Reset oder nach Ein- und Ausschalten verschieben sich die Inhalte oder es werden Buchstaben durch andere Zeichen ersetzt. Bei einem Programm von mir in dem ich nur Wörter in die vier Zeilen setze ist es ähnlich. Und nocheinmal habe ich die verbindungen nachgemessen. Die stimmen 100%. Jetzt habe ich das Programm vom RoboterNetz für das 4 Zeilige Modul aufgespielt. Die 4 Zeilen werden richtig dargestellt, dann jedoch wechseln die Zeileninhalte.Zum Beispiel Zeile 4 in Zeile 3. Jedoch kann mann kein System erkennen. Das LCD zeigt einfach was es will. Ab und zu sind wirre Zeichen dabei. Danach habe ich den Ausgangsport gewechselt. Das Ergebniss ist dasselbe.
Genau so sieht es bei mir auch aus. Am PC über LPT lässt sich das DIsplay wunderbar betreiben, doch über meinen ATmega8 und Bascom bekomme ich nur komische Zeichen in den Zeilen dargestellt. Alles geht drunter und drüber...
keine Ahnung, was ihr da habt.. bei mir funzt er SCHON einwandfrei.. hat mir aber 2 Tage LESEN gekostet
BEI MIR WAR DIE $CRYSTAL-DIREKTIVE VERKEHRT (2000000 statt 1000000) Es läuft jetzt wunderbar. Vielleicht hilft es euch ja auch. Gruß HSBO
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.