Forum: Mikrocontroller und Digitale Elektronik EA DOGM 162, bei doppelter höhe fehlt eine Zeile...


von EBE (Gast)


Lesenswert?

Hi,

Hab festgestellt dass bei meinem Electronic Assembly DOGM 162 EA, eine 
Zeile in der Mitte des Textes fehlt, wenn das LCD als einzeilig mit 
doppelter Schrifthöhe initialisiert wird.
Oder auch vom 2-zeiligen moduls in den 1-zeiligen umgeschaltet wird.

Die "double height" Position ist ja bei dem zweizeiligen LCD wurscht?
Laut Sitronix Datenballt s.32

Display ist an 3.3V im 4-bit mode.

Das verwendente Kommando:

Functionset "0010 0101" ; 4-bit, 1-line, Double Height, instr. table "1"

Was mach ich da verkehrt? Oder muss ich noch mehr Kommandos zum 
Umschalten verwenden?

Gruss EBe

von Jörg S. (Gast)


Lesenswert?

Verstehe ich nicht so ganz. Das 2-zeilige Diplay hat zwischen den Zeilen 
einen leeren Raum. Wenn man jetzt auf dopplete Höhe umschaltet, ist es 
doch normal das da dann zwischendrin was fehlt.

von EBE (Gast)


Lesenswert?

Hi Jörg,

Prinzipiell ja, im Datenblatt des Controllers sind Beispiele und Bilder 
von Anzeigen wo das nicht so ist.
Hängt natuerlich letztendlich vom LCD-Hersteller ab, ob das Feature 
verfuegbar ist, bzw. die LCD-Zellen so aufgebaut sind, dass kein 
Zwischenraum da ist.
Gegens Licht gehalten hab ich allerdings den Verdacht, dass die 
Zwischenzeile tatsächlich nicht vorhanden ist.

Hab grad festegestellt, das die untere Hälfte um ein Pixel nach rechts 
verschoben ist.

Ich frage eignetlich nur, ob jemand mit den Displays Erfahrung hat.
Wäre halt schön ein dreizeiliges Display zu nehmen, wo die obere Zeile 
"Klein" ist, um z.B. MIN und MAX Werte anzuzeigen und in der grossen 
unteren Zeile der ISTWERT.

Gruesse EBE

von Frank (Gast)


Lesenswert?

etwas  offtopic:
könntest Du deinen Code zur Initialisierung posten? ich hab so meinen 
probleme damit. Thx
FRank

von Jörg S. (Gast)


Lesenswert?

Da es 3 verschiedenen Displays (1-zeilige 2-zeilige und 3-zeilige) zu 
kaufen gibt, besteht natürlich auch ein unterschied zwischen den dreien. 
Ansonsten hätte man sich die 3 Typen ja auch sparen können und wäre mit 
einem ausgekommen.

von EBE (Gast)


Angehängte Dateien:

Lesenswert?

Hi!

Tach Frank,

Anbei ist mein LCD INIT-code in Assembler fuer PICs (frei nach SPRUT 
interpretiert)
Streng ans Datenblatt halten und alles funktioniert, bei mir klappte 
auch ein uralter Code fuer ein HD44780 Display auf Anhieb.

"InitLCD" enthält die eigentliche initialisierungsroutine.
"Control8Bit" wird nur fuer die Initialisierung verwendet.
"LcdBusy" fragt das busy Bit ab und dient als FlowControl (geht auch 
ohne, wenn du die Pausen streng einhälst)
"OutLcdControl" dient um LCD-kommandos zu senden.
"OutLcdDaten" dient um Text/Daten an das LCD zu senden.

Die "Wait"-Schleife ist nicht im Codeanhang.

Gruesse Ebe

von EBE (Gast)


Angehängte Dateien:

Lesenswert?

hups, hab die Defines und Konstanten vergessen!

von Frank (Gast)


Lesenswert?

Hallo Ebe,

danke für den Code - ans Datenblatt habe ich mich auch gehalten. ich 
fürchte mittlerweile, dass ich was bei der Kontrasteinstellung falsch 
gemacht habe. Ich hab es am ende sogar soweit getrieben, dass ich auch 
wieder vom Display-Controller gelesen habe, da ich mir nicht mal mehr 
sicher war ob das Teil überhaupt noch funktioniert.

Frank

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.