Forum: Compiler & IDEs ...zum XX. mal... LCD Ansteuerung


von Ralf (Gast)


Lesenswert?

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!

von Werner B. (Gast)


Lesenswert?

Schwazer Balken ?

Zu 90%: Dreh mal am Kontrastregler.

von Volker Endres (Gast)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

@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!

von tex (Gast)


Lesenswert?

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.

von Volker Endres (Gast)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.