PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibliothek für 4x20 LCD



Felix G
31.12.2004, 13:43
Hallo!
Ich würde gerne dieses Display (http://www1.conrad.de/scripts/wgate/zcop_b2c/!?perform_special_action=Produktdetail&product_show_id=181743) an die RN-Control hängen.

In Prinzip ist das auch kein Problem...
das Display hängt dran, 1.5 Ports sind weg,
und wenn ich das Netzteil einschalte sehe ich 80 weisse Blöcke auf blauem Grund.


Was ich jetzt bräuchte wäre eine fertige LCD-Bibliothek für HD44780 kompatible LCDs.
Ich habe zwar einige gefunden, aber die waren alle irgendwie "suboptimal".
Entweder es wurde nur der 4-Bit Modus unterstützt, oder es wurde fest vorgegeben an welchem Port das Display hängen muss,
oder es war einfach nur miserabler Code.

Was ich suche ist also eine Bibliothek die:
1. das Display im 8-Bit Modus ansteuern kann
2. mir nicht vorschreibt wo ich das Display anzuschliessen habe
3. mir möglichst nicht mit irgendwelchen Warteschleifen alles blockiert

mbod77
31.12.2004, 14:33
Hallo Felix,

ich kenne leider auf die schnell keine LCD-Routine die genau das macht was Du möchtest.

Aber es sollte doch ein all zu großes Problem sein eine Vorhandene Routine auf Dein Problem umzuschreiben.

Das mit den Zeitschleifen lässt sich über das auslesen des Bussy-Flags umgehen. und von 4bit auf 8it umzustellen ist nu auch kein Akt.

Ich hab hier noch Code rum fahren für ein Display mit 2 Enable-Eingängen. Allerdings auch für 4bit Betrieb. (Warum willst Du unbedingt 4-Portpins verballern?) Man kann den zu verwendeten Port definieren. Die untern 4Bit sind für Daten die oberen 4Bit werden für die Leitungen R/W, RS, Enable 1 & 2 verwendet.

Wenn Du daran Interesse hast schick mir ne PM.

Grüßle mbod77

31.12.2004, 14:54
Ganz schön viele Forderungen, bei so beschränkten Fähigkeiten ...

Bei einem so langsamen Zielgerät wie einem LCD macht die komplett parallele Ansteuerung praktisch gar keinen Sinn. Da dir soundso noch 3 Steuerpins flöten gehen, wird auch mit der 4-Bit Ansteuerung quasi ein kompletter Port benötigt. Das du während der Übertragung mehrerer Zeichen ein busy-Flag abfragen musst, ist normal. Daraus resultieren nun einmal kurze delays. Jedoch ließe sich auch das per Software umgehen.

Felix G
01.01.2005, 18:55
Warum 8-Bit?
gute Frage... keine Ahnung ;)

es geht mir einfach nur darum, daß ich eine Bibliothek habe,
bei der beide Varianten problemlos funktionieren.


Aber wie auch immer...
Ich habe jetzt beschlossen die Bibliothek selber zu schreiben.

Und da drängt sich mir eine Frage auf wenn ich in das Datenblatt schaue:
Was (bzw. wo) ist RE???

bei der Pinbelegung stehen RS, RW, E und RESET
in der Befehlstabelle ist RESET logischerweise nicht drin, E allerdings auch nicht.
Stattdessen stehen da RE, RS und RW.

Nur was ist RE?
(E kann es ja eigentlich nicht sein)

Kjion
01.01.2005, 19:37
Es gibt übrigens schon eine Libary die das kann was du haben willst :
http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html
( Falls du doch keine Lust hast sie selbst zu schreiben ;-))

MfG Kjion

Felix G
01.01.2005, 19:52
Und das jetzt, wo ich mir schon die Finger wund getippt habe ;)

Naja, ich glaube ich werd erstmal versuchen meine Bibliothek fertig zu schreiben.
Und wenn das nich klappt nehm ich die vom link

Kjion
01.01.2005, 21:23
;-)
Ja, wenn du auch zu einem so schlechten Zeitpunkt fragst. Da dauert es halt bis man antworten kann :-)

MfG Kjion

Felix G
03.01.2005, 01:01
Ok, so siehts aus...

Ich habe mir jetzt mal das Datenblatt vom KS0073 durchgelesen,
und bin immerhin schon in der Lage einen Text auf dem LCD auszugeben.


Wenn die Bibliothek fertig ist werde ich sie hier zum Download bereitstellen.