Hallo zusammen! Lese schon einige Zeit hier mit, bekomme aber leider mein LCD Display nicht zum laufen. Habe zwei EA W162B-N3LW. Das 1. Display zeigt in der ersten Zeile "Test" und in der zweiten Zeile "Hello Wo" an, also schneidet nach dem 8. Zeichen ab. Das zweite Display hab ich mir bestellt da ich dachte das erste sei kaputt, dieses zeigt aber gar nichts an, mit gleichem Versuchs-Aufbau! Am Anfang hat keins von beiden funktioniert, dann habe ich die Ausgänge auf Port B umgestellt und mit den Zeiten ziemlich viel versucht. Habe Sie jetzt alle stark verlängert und jetzt funktioniert es wie oben beschrieben. Hat jemand eine Idee an was das liegen kann bzw. was ich noch probieren kann damit es funktioniert? Vielen Dank im voraus!
Hi >Hat jemand eine Idee an was das liegen kann bzw. was ich noch probieren >kann damit es funktioniert? Schon mal am Kontrastregler gedreht? MfG Spess
Ja, habe mal Bilder angehängt wie es aussieht wenn ich am Kontrastregler drehe. Müsste da normalerweise nicht alle Felder sichtbar sein?
Hi Lt. Datenblatt sollte zwischen Vee und Vcc eine Spannung von ca. 3,4V anliegen. Was heißt bei dir 'voll' bzw. 'halb'. An den Bildern ist es nicht zu erkennen: Hat deine Beleuchtung einen Vorwiderstand? MfG Spess
Die Beleuchtung hat keinen Vorwiderstand und das Display keine +5V Spannungsversorgung. Prüfe die Beschaltung!
Mit "halb" bzw. "voll" war die der visuelle Eindruck am Display gemeint. Habe eben nochmal nachgemessen: Pin 1 --> Masse Pin 2 --> 5 Volt Pin 3 --> 0,0 Volt bei "Voll" --> 0,3 Volt bei "Halb" Pin 15 --> 3,5Volt (56 Ohm Widerstand) Pin 16 --> Masse
Ok, Beschaltung scheint ok zu sein, auf den allerersten Bildern sah das anders aus.
Die Beschaltung kann es nicht sein, das erste Display funktioniert ja, es gibt nur ein Problem mit der Zeilenlänge der zweiten Zeile. (DD-RAM Anordnung im Display unüblich?) Beim Einsetzen des zweiten Displays gibt es wohl ein Kontaktproblem oder es ist defekt. Warum die zweite Zeile nur 8 Buchstaben zeigt trotz offensichtlich korrekter Einstellungen kann ich gerade nicht beantworten.
Ist ein 5k Ohm Poti. Habe eben etwas experimentiert. Also die erste Zeile zeigt auch maximal 8 Buchstaben an. Auf dem Display ist auch nach dem 8 Feld (egal ob 1. oder 2. Zeile) kein Kontrast mehr zu sehen, Display eventuell Defekt? Habe mir deswegen ja nochmal eins bestellt, aber bei dem komm ich ja nichtmal soweit das es mir überhaupt irgendwelche Buchstaben anzeigt. Wenn ich die Zeiten auf die Standardwerte von dem Tutorial (hier aus dem Forum) setze, zeigt es mir nur noch komische Zeichen an (siehe Bild 2 StandardZeitwerte). Die DD-RAM Adressen sind im Datenblatt mit 1. Zeile : $00-$0F 2. Zeile : $40-$4F angegeben. In der lcd-routines.h habe ich dazu folgende Einstellungen gefunden #define LCD_DDADR_LINIE1 0x00 #define LCD_DDADR_LINIE2 0x40 das dürfte ja so passen oder? Was mir beim durchschauen noch aufgefallen ist ist die Einstellung #define LCD_SET_DDADR 0x80 Stimmen die 0x80?
Hi >Was mir beim durchschauen noch aufgefallen ist ist die Einstellung >#define LCD_SET_DDADR 0x80 >Stimmen die 0x80? Ja. Sieh dir den Befehlssatz des Displays an. MfG Spess
Die Displays sind nicht defekt. Beim zweiten hast Du offensichtlich ein Kontaktproblem. Warum die Displays sich wie 2x8 verhalten, ist mir gerade nicht klar. Vom Setup her scheint alles richtig zu sein.
Hier wird die Adressierung erklärt: http://web.alfredstate.edu/weimandn/lcd/lcd_addressing/lcd_addressing_index.html
Versuch mal das hier mit Deinem ersten Display: Beitrag "Re: Komisches Verhalten mit lcd_puts" So müßte sich das Problem der 8 Zeichen pro Zeile eigentlich klären lassen.
Also so ganz komme ich mit dem Beitrag nicht klar. Habe jetzt mal unterschiedliche Sachen probiert z.B. ein Buchstabe in die 1. Zeile auf das 15. Position zu schreiben --> zeigt nichts an. Mir scheint es, also gebe es für das Programm die letzten 8 Zeichen der zwei Zeilen gar nicht. Egal was ich versuche, mir zeigt es dort nie ein Zeichen an. Auch jedes mal wenn ich ein Programm auf den Microcontroller lade, leuchten während dem Vorgang nur die ersten 8 "Felder". Habe dann nocht die #define Werte von #define LCD_DDADR_LINE1 0x00 #define LCD_DDADR_LINE2 0x40 in #define LCD_DDADR_LINE1 0x00 #define LCD_DDADR_LINE2 0x28 umgeändert. Blieb bei der selben Ausgabe am Display. Wenn ich dann in der 1. Zeile --> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw123456789" und in der 2. Zeile --> "Hello World" zeigt er mir 1. Zeile --> ABCDEFGH 2. Zeile --> Hello Wo an. Lass ich das Hello World in der zweiten Zeile Weg, erscheint 1. Zeile --> ABCDEFGH 2. Zeile --> opqrstuv
Dein Display ist wohl recht Timing-empfindlich, wenn man diversen Internetfundstellen glauben darf. Mit welchem Takt läuft Dein Controller? 20 MHz, wie in der lcd-routines.h angegeben?
Ja genau, so zumindestens meine Annahme. Das muss ich ja --> in der lcd-routines.h, --> bei Fuses --> SUT_CKSEL --> Int. RC Osc. 2MHz; Start-up time: 6CK + 0ms --> bei Advanced --> Oscillator Calibration Byte --> 2 Mhz auswählen, richtig? Verwende AVR Studio 4
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.