Hallo Zusammen, sitze schon seit zwei Tagen hier über meiner Schaltung und versuche vergeblich einem LCD ein paar läppische Zeichen zu entlocken. Leider ist das so wie es aussieht ein größerer Akt... Angeschlossen habe ich das 16x2 LCD so wie im Tutorial beschrieben (http://www.mikrocontroller.net/tutorial/lcd) Versuchsweise habe ich die wohl schon berühmte Lib von Peter Fleury verwendet (neueste Version von seiner Homepgage). Leider verschwindet der schwarze Balken nicht... Die lcd.h habe ich meiner Anschlussbelegung angepasst. Dabei fiel mir folgendes auf: Im Tutorial ist der RW Pin auf GND gelegt. Bei der Lib von Peter wird er doch aber angesteurt, oder nicht? Ich weiss, eigentlich braucht man diesen Pin nicht, da ja nur aufs LCD "geschrieben" wird. Aber kann es Probleme geben wenn der fest auf GND liegt und er dann angesteuert wird? Mein Display hat einen KS0070B Controller, der doch eigentlich (fast) 100% kompatibel zum HD44780 sein sollte. Wenn ich das Datenblatt richtig deute, werden die Datenleitungen DB0 - DB3 zum initialisieren gebraucht. Die habe ich aber lt. Tutorial auch auf GND gelegt (will den 4-Bit Modus verwenden) Hat jemand noch ein paar Tipps für mich ? Danke!
Hallo Ralf, Liegt der RW Pin pin bei dir auf gnd ja oder nein? Wenn ja dann kann das bei dir nicht funktionieren weil Peter die Busy flag Abfrage nutzt. Und wenn der Controllerbaustein nicht gesagt bekommt das er was zum Lesen breitstellen soll dann bleibt die Abfrage Schleife des Busy flag hängen und sommit das ganze Programm. Gruß Volker
@Volker Ja, ich habe so wie im Tutorial beschrieben RW auf gnd gelegt. Dann muss ich wohl noch eine weiteren Pin an meinem Atmega8 belegen. Oder kennt jemand eine (einfachere) Alternative zu den Libs von Peter Fleury in C? @Werner Das mit dem Kontrast werde ich auch gleich versuchen!
versuch doch mal was ganz einfaches. nimm die Ansteuerung aus dem ct-projekt Fernsteuerung. Die Schaltung, die Bugs und die Software findest Du auf der segor.de -Homepage. Da brauchst Du nur 4 Pins von Deinem Mega für die Ansteuerung spendieren und hast die volle 8-Bit Breite zum kommunizieren mit Deinem LCD. Die Ansteuerung ist so simpel, dass Du sie alleine praktisch auf jeden Port und jede Anzahl von Zeilen selbst umschreiben kannst.
ja das soltest du tun, ist ja nicht so viel Aufwand. Oder du musst dir einen Treiber suchen der statt der Busy-Flag-Abfrage eine Pause macht bis du wieder was neuse ins LCD schreibst. Oder die busy-Falg sub von Peter umschreiben so das sie eine Pause macht. Die Abfrage Methode hat aber einen Vorteil du kannst das Display auch auslesen. Deshalb Tip von mir spendiere den Pin wenn du noch einen Pin frei hast. Gruß Volker
Also: Es funktioniert! Der RW Pin war tatsächlich notwendig. Aber wenn ich mit dem LCD etwas mehr durchblicke, dann schreib ich mir evtl. meine eigenen Routinen. Ausserdem habe ich nach wie vor noch ab und zu einen schwarzen Balken auf dem Display. Wenn ich den Controller aber mehrmals vom Strom nehme funktioniert es dann irgendwann. Aber das ist nur eine sporadische Sache und ich denke, daß es auch vielleicht mit meinem An- Ausschalter zu tun hat (etwas wackelig) Auf jeden Fall danke an Alle und noch viel Spass beim Basteln/Programmieren.
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.