Forum: Mikrocontroller und Digitale Elektronik Displaytech162 LCD am Atmega8


von Moschder (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

bin gerade dabei das AVR-tutorial durchzuarbeiten.
Es ist sehr hilfreich und beantwortet doch die meisten Fragen.

Nun zu meinem Problem
Bekomme das Reicheltdisplay LCD 162C an meinen ATMEGA8
nicht zum laufen.
Ich möchte das display im 4bit Modus betreiben.
Habe es wie folgt am Controller angeschlossen:

DB4 an PD4
DB5 an PD5
DB6 an PD6
DB7 an PD7

E an PC1
RS an PC0
RW an GND

Kontrast kann ich über ein Poti einstellen.

Die Displayroutinen habe ich mir im Tutorial angeschaut und für
meine Schaltung angepasst.
Leider werden nur die Buchstabenblöcke der obern Zeile
komplett schwarz angezeigt. Eigentlich sollte das Wort "Test" 
erscheinen.

Kann mir jemand sagen, wo ich mein angehängtes Assemblerprogramm
noch verbessern muß?


Gruß
Moschder

von Moscher (Gast)


Lesenswert?

Hallo,

da bisher noch niemnd geantwortet mal die Frage ob euch noch Infos 
fehlen oder sonst etwas mit meiner Frage nicht in Ordnung ist.....



Gruß
Moschder

von Benedikt Patt (Gast)


Lesenswert?

Hallo,

wenn bei einem 2 zeilen Display nur die erste Zeile, wie von dir 
beschrieben, schwarz dargestellt wird, ist das normal ein Fehler bei der 
Initialisierung.
Das kann natürlich sehr viele Gründe haben: Verkabelung, Fehler im 
Quellcode, Timing, etc.

Gruß
Benedikt

von Moscher (Gast)


Lesenswert?

Die Verdrahtung habe ich kontrolliert und bin mir sicher daß sie stimmt.
Angeschlossen ist das LCD wie oben beschrieben, den Code habe ich auch 
mal angehängt.

Gruß
Moschder

von Gunni (Gast)


Lesenswert?

Hi.

Wenn ich dich richtig verstanden habe, sind die obernen zeilen schwarz?

Klingt ein wenig so, als stimmt etwas mit der Initalisierung nicht.
Bau am besten mal kleine Pausen zwischen den Befehlen "lcd_init" & 
"lcd_clear" ein.
Kannst du mit dem Poti den Konstrast verändern?

von Moscher (Gast)


Lesenswert?

Den Kontrast kann ich verändern, das kunktioniert wie eingangs erwähnt.
DIe Pausen sind jeweils am ende von LCD_init und LCD_clear eingefügt

Gruß
Moschder

von holger (Gast)


Angehängte Dateien:

Lesenswert?

Brenn mal die HEX-Datei im Anhang rein. Wenn du keinen Text
siehst, kontollierst du deine Hardware noch mal.

von Gunni (Gast)


Lesenswert?

Läuft der Mega überhaupt?
Takt-Frequenz richtig eingestellt?

von Moschder (Gast)


Lesenswert?

Hallo zusammen,

danke schonmal für die antworten.
Der Mega läuft, denn ich kann mit einem
anderen Programm diverse LEDs ansteuern.

Das hexfile kann ich momentan nicht einspielen, da ich den
mega gerade nichct da habe.

Das ganze läuft mit einem 12MHz Quarz was gibt es denn
bei der Ansteuerung des Display für Frequenzen einzustellen?

Gruß
Moschder

von Gunni (Gast)


Lesenswert?

Für das Display keinen, aber für den µC.
Prüf deine Verdrahtung am besten nochmal.

von Moschder (Gast)


Lesenswert?

Hallo zusammen,

@holger habe dein hex eben eingespielt und kann nun in beiden Zeilen 
einen Text lesen :-)
kannst Du mir sagen, wo du mein Programm anpassen mußtest?

Gruß
Moschder

von holger (Gast)


Lesenswert?

>kannst Du mir sagen, wo du mein Programm anpassen mußtest?

Die HEX-Datei kommt von meinem C-Programm :(
Na jetzt weisst du wenigstens das dein Display richtig angeschlossen 
ist.

von Moschder (Gast)


Lesenswert?

@ holger dennoch besten Dank für Dein hex-file das hat den Fehler auf 
mein
Assembler Programm eingeengt.

Leider habe ich keinen Ansatz wo ich dort noch etwas verbessern kann.
Die Pausen stimmen meiner Meinung nach

schönes Wochenende
Moschder

von He Ro (Gast)


Lesenswert?

Moin moin,

> Die Pausen stimmen meiner Meinung nach

Ohne dass ich jetzt deine Pausen mit dem Datenblatt verglichen hätte: 
Die wenigsten LCD-Controller nehmen es einem übel, wenn man ihnen 
längere Pausen gönnt als als "minimal" im Datenblatt steht. Eine 
Strategie wäre also, einfach mal alle Pausen zu verzehnfachen, und wenn 
es dann geht, eine Pause nach der anderen schrittweise zu verkürzen.

MfG, Heiko

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.