PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 4x20 Display ansteuern



xlanhackerx
23.02.2009, 19:39
Hallo liebe Community.
Ich hatte mir mal vor einiger Zeit ein Display bestellt.
Das Display hat die Aufschrift JHD 204A.
Es ist ein 4X20 Zeilen Display mit blauer Hintergrundbeleuchtung sowie weißer Schrift.

Anbei habe ich ein Datasheed verlinkt welche anscheinend zu dem Display gehören !!

Datasheed_1 (http://atilabs.hit.bg/hardware/jm204aspec.pdf)

Um nicht viele Ports zu belegen habe ich mir die 4Bit Methode überlegt.

Dazu habe ich wie im RN-Wissen beschrieben das Display angeschloßen (PORTC) und auch die zugehörige Datei bearbeitet.

Dann eine einfache Ausgabe (Beispiel) und diese auf den Atmega32 hochgeladen. Doch leider passiert garnichts.

Ich habe die nicht benötigten 4 Anschlussleitungen auf GND gelegt um Störungen zu vermeiden !!

Hoffentlich kann mir jemand weiterhelfen wie Ich diese Display ansteuern kann !!

Dank euch.


Mfg. Oliver

Hubert.G
23.02.2009, 21:17
JTAG abgeschalten, kommt ein dunkler Balken? Wenn ja, funktioniert die Initialisierung nicht.

xlanhackerx
24.02.2009, 15:23
Hi ne hatte JTAG nicht abgeschaltet, wusste garnicht dass man das abschalten sollte. Muss ich wohl nacher noch machen, konnte man ja in den FUSES setzen !!

Was bei mir passiert ist folgendes:
Display angeschlossen: +/- für LCD sowie Hintergrundbeleuchtung.

Nun habe ich die Kontrastspannung auf GND gelegt und sofort kamen zwei Balken zum Vorschein (Oberere sowie Mittlerer).

Laut Datenblatt wird eine Negative Kontrastspannung benötigt, habe allerdings diese nicht vorrätig und auch keine Bauteile um diese zu generieren !! (wie generiere ich eine negative Spannung ???)

Nun habe ich folgende Leitungen auf Port C gelegt:
RS -> PC3
R/W -> PC2
Enable -> PC1
DB4 - DB7 -> PC4 - PC7

Wie im RN-Wissen die Lib von Peter Fleury und die lcd.h bearbeitet.
Ein Demoprogramm geschrieben, nach einem Reset leutet zwar Standartmäßig das Display, allerdings bleibt die Schrift weg.

Ich weiß nicht mehr weiter, muss nacher mal schauen obs ein Fehler in der Verdrahtung ist !!

Greeetz Oliver

the_Ghost666
24.02.2009, 17:57
Negative Spannung mit einem IC, z.B. dem ICL7660. Das ist nur interessant, da du scheinbar auch ohne negative Spannung die balken siehst, das geht doch nur, wenn die richtige Kontrastspannung dran ist, oder nicht?

Lässt du nach dem Schreiben auch genug Zeit, dass er es auch anzeigt? Wenn du in einer Endlosschleife schreibst, musst du genug mit ner Warteschleife einplanen, dass sich das Bild auch aufbauen kann.
Ich hab auch noch ne selbstgeschriebene Display-Lib, die mit dem Display laufen sollte, schau ich mir mal meine Routine an und kann sie dir geben, wenn da große Unterschiede drin sind.

Hubert.G
24.02.2009, 18:14
Also ich hätte nichts von einer negativen Spannung für den Kontrast gelesen. Wenn du V5 direkt auf GND legst wirst du nichts lesen können. Ein 10k Poti zwischen +5V und GND und den Schleifer auf V5, das sollte genügen.
JTAG abschalten ist notwendig, da dieser Vorrang vor den I/O-Funktionen hat.

xlanhackerx
24.02.2009, 20:05
Ok habe garade gesehen dass JTAG bereits deaktiviert war (siehe Anhang Screenshot AVRProg).

Ich habe genau das Beispiel genommen wie im RN-Wissen beschrieben !!

@the_Ghost666:
Das wäre echt nett mit deiner Lib !!
Wenn ich den V5(Kontrast) offen lasse sehe ich nichts auf dem Display, nur sobald ich diesen auf GND lege erscheinen die von mir beschriebenen Zeilen !!

@Hubert.G:
Ich werde die Tage mal ein Poti einsetzen, vielleicht liegts auch am Kontrast, ansonsten könnte es tatsächlich an der lib liegen.
Das mit der negativen Spannung siehst du auf Seite 5 des Datasheeds.
Dort steht unter Supply Voltage for LCD V5 Vdd-15.0 Vdd+0.3 V.
Also hauptsächlich wohl negative !!

Danke euch.

Greetz Oliver

Hubert.G
24.02.2009, 20:22
Das mit der negativen Spannung siehst du etwas falsch. Das sind die max. Spannungen die anliegen dürfen und das ist Vdd -15V.
In der Tabelle unter Electrical Characteristics steht die Spannung unter Driving Voltage for LCD.

xlanhackerx
28.02.2009, 13:55
Hm komisch der hatte iwie den Anhang nicht mitgesendet, mach ich jetzt nochmal !!

So hab nun ein 10kPoti angeschlossen, allerdings passiert beim verstellen garnichts :-(

Habe dann das Poti ausgelötet und einen 2kohm Widerstand von V5 auf GND gelegt und nun erkennt man ganz leicht die einzelnen Reihen !!

Wie ist das eigentlich mit dem Kontrast ??
Wenn man mehr Strom durchlässt dann werden die Felder heller (Kontrast mehr (?)) und wenn weniger dann dunkler (?).

Verdammtes Chinazeugs xD. Das war so spott billig und läuft auch an einem Druckerport deshalb ist es doch eigentlich simple das Display als 4-Bit mit einem Atmega32 zu betreiben.

Vielleicht kann mir jemand bezüglich der Kontrastspannung helfen ?

EDIT:
Habe gerade durch Zufall eine Blogseite (http://jallib.blogspot.com/2009/01/step-by-step-interfacing-hd44780.html) gefunden, welche die Ansteuerung dieses Displays mittels einem anderen Pic veranschaulicht:



For this tutorial, we're going to keep it simple:

* as previously said, we'll use 4-bit interface. This means we'll use DB4, DB5, DB6 and DB7 pins (respectively pin 11, 12, 13 and 14).
* we won't read from LCD, so R/W pin must be grounded (pin 5)
* we won't use contrast as well, V5 pin (or Vee) must be grounded (pin 3)

Including pins for power, we'll use 10 pins out of the 16 available, 6 being connected to the PIC (RS, EN and 4 data lines).


Bleibt mir nurnoch eine geeignete Lib mit der ich das Display bedienen kann !!

Danke.

Mfg. Oliver

Hubert.G
28.02.2009, 15:13
Also wenn das mit dem Poti nicht, aber mit einem Widerstand funktioniert, dann ist entweder das Poti defekt oder du hast was falsch gemacht.

xlanhackerx
28.02.2009, 15:25
Hmm komisch, jetzt klappt es auch mit dem Poti, wahrscheinlich ne kalte Lötstelle ^^.

Ich habe jetzt den R/W Pin auf GND gelegt denn soweit ich gelesen hatte wird dieser nur benötigt wenn der Controller wissen will ob das Zeichen auch angekommen !

Allerdings ist jetzt die Frage ob die Lib von Peter Fleury noch funktioniert oder kann ich diese jetzt nicht mehr benutzen ?

Was würdet ihr sagen, sollte man den R/W Pin doch lieber anschließen ?


Greetz Oliver

Hubert.G
28.02.2009, 15:34
Die Lib von Fleury funktioniert nur mit R/W, zumindest die die ich kenne. Bei mir auf Anhieb und ohne Probleme.

xlanhackerx
01.03.2009, 20:53
Sooo endlich klappt mein Display :-)

Ganz ehrlich, die Leute von Pollin könnte ich erschlagen !!
Als Board verwende ich ein AVR NetIO jedoch ohne diesen UDP-Stuß [-( !!

Was aber jetzt der knaller ist, der Schaltplan welcher Pollin mitgibt stimmt nicht mit den Pinnen am SUB-D Stecker überein #-o

Quasi genau anders herum sind die Pinne der Ports angeordnet.
Darauf gekommen bin ich als ich mit einem Multimeter ein paar Pinne durchgemessen hatte.. Als ich dann gemerkt hatte dass die Anschlüsse andersherum sind, funktionierte das Display auch !!

Ohhh man.. 7 Tage umsonst.. dachte erst es wäre das Display oder das Board (Defekt)....

Naja, jetzt kann ich endlich damit arbeiten :-k

Vielen Dank nochmal für eure Hilfe \:D/

Greetz Oliver