Forum: Mikrocontroller und Digitale Elektronik LCD nur zur Hälfte


von Markus Schenkel (Gast)


Lesenswert?

Ich habe ein HD44780 kompatibles LC-Display entsprechend dem Tutorial
auf dieser Seite im 4bit Modus angesprochen, es wird aber nur die erste
Hälfte (die ersten 8 Zeichen) des 1x16 Displays beschrieben.
Beim Starten erscheinen bei allen Zeichen in eben dieser Hälfte
schwarze Rechtecke, im anderen Bereich nichts.

Gibt es eine bekannte Ursache/einen typischen Fehler für dieses
Verhalten? Ist sicher eher simpel aber ich seh's nicht...

Ausserdem frage ich mich für was die 15te und 16te Leitung am Display
gut sind (ich habe sie unbeschaltet gelassen, aber auch alle
Kombinationen mit GND und Vcc bleiben ohne Änderung. Ein spezifisches
Datenblatt kann ich leider nicht finden)

thx in advance
mbs

von MooseC (Gast)


Lesenswert?

schalte es in den 2-Zeilen Mode. Es ist auch wenn es nicht so aussieht
ein 2-Zeilen-LCD, nur eben nebeneinander.
Und hinzu kommt noch das die zweite hälfte nitcht mit Adresse 0x08
weitermacht, sondern mit 0x40.

[00 01 02 03 04 05 06 07 40 41 42 43 44 45 46 47] in hex


Datenblatt vom 161 (Reichelt hat Displaytech)

http://www.glyn.de/New_home/Produkte/Opto/Alphanum/character/datasheets/16x1/161a%20series-v11.PDF

MooseC

von Markus Schenkel (Gast)


Lesenswert?

herzlichen Dank. Auf die "2 Zeilen" muss man auch erst kommen. Lässt
sich das auch irgendwie so umschalten, dass das etwas konfortabler
geht? So muss ich im uC extra noch überprüfen wo jetzt das zeichen
hinkommt...

Nur habe ich noch eine Frage zu oben erwähntem Tutorial. Bei keiner
Beschreibung des Protokolls ist mir etwas aufgefallen, das folgenden
Abschnitt begründen würde (Es funktioniert auch ohne):

lcd_init:
           ; ... power upwait ...

           ldi temp1, 0b00000011        ;muss 3mal hintereinander
gesendet
           out LCD_PORT, temp1          ;werden zur Initialisierung
           rcall lcd_enable             ;1
           rcall delay5ms
           rcall lcd_enable             ;2
           rcall delay5ms
           rcall lcd_enable             ;und 3!
           rcall delay5ms
           ldi temp1, 0b00000010        ;4bit-Modus einstellen
           out LCD_PORT, temp1
           rcall lcd_enable
           rcall delay5ms

           ; .. etc. ist wieder klar ...

cya mbs

von Matthias (Gast)


Lesenswert?

Hi

RTFM!
Das ist der definierte Einschaltzyklus für den HD44780 laut Datenblatt.
Es geht auch ohne aber nur wenn die Betriebsspannung ordentlich
hochgefahren wurde.

Matthias

von Markus Schenkel (Gast)


Lesenswert?

hm... sry, aber zu diesem Thema gibt's mir einfach zuviele "FM" (die
das zT nicht enthalten) aber zu meiner Schande habe ich mich mit dem
Original wohl zuwenig auseinandergesetzt, und werde den Code wieder
einkommentieren...

thx

von Merle (Gast)


Lesenswert?

Hi die anschlüsse 15 u. 16 sind für die Hintergrundbeleuchtung.

mfg.merle

von Markus Schenkel (Gast)


Lesenswert?

ist es auch mögl. dass diese anschlüsse (hintergrundbel.) nur als
Platzhalter vorhanden sind? Die Platine ist für die Aufnahme eines 8pin
ICs und einiger R und C geäzt und beschriftet aber nur spärlich
bestückt. Ausserdem führen zwei Leiter an den Rand beschriftet mit A &
K , desshalb vermute ich dass hier wohl die An- & Kathode einer LED
hinkäme.

Oder war da bereits was integriert (und sehr unscheinbar) sowie von mir
verheizt?

mbs

von Merle (Gast)


Lesenswert?

es gibt LCD's mit und ohne Hintergrundbel. 15 u. 16 sind entweder
angeschlossen an die hgb. oder nicht angeschlossen.

Mfg.Merle

von Markus Schenkel (Gast)


Lesenswert?

>es gibt LCD's mit und ohne Hintergrundbel. 15 u. 16 sind entweder
>angeschlossen an die hgb. oder nicht angeschlossen.
sind aber trotzdem meisten vorhanden?

anyway, danke bis hierher.

Die schwierigkeit ist im moment eher, dass mich die cursor-shift etc.
Commandos verwirren:
Ich würde gerne eine Texteingabe mit 1-3 schaltern realisieren. Dazu
müsste der Cursor '_' sollte unter dem aktuellen buchstaben blinken,
dieser wiederum sollte per tastendruck erhöht werden - allerdings ohne
die umgebenden buchstaben zu beeinträchtigen. Ist es überhaupt möglich
"an Ort" (ohne autoincrement oder -shift) zu schreiben? wenn ja wie?

(wegen dieser pseudo-einteilung in 2*8 zeichen statt 1*16, muss ich
wohl sowieso eine "textverwaltung" schreiben, die auch gleich alles
neu ausgibt, aber ein allgemeiner ansatz würde mich trotzdem
interessieren)

TIA, mbs

von kusche (Gast)


Lesenswert?

wist ihr den wie man 15 und 16 anschliessen muss sodass man die
hintergrund beleuchtung hat.

mfg kusche

von Bodo Felger (Gast)


Lesenswert?

bei 15 und 16 ist der eine Anschluß an GND, der andere über einen
Vorwiderstand!!!!! an VCC (5 Ohm reichen aus).
Welcher von den beiden Pins an Masse muß, solltest Du Deinem Datenblatt
entnehmen. (Ich bin mir gerade nicht sicher, aber ich glaube, daß der
Pin neben der 1 an GND muß)

mfg
Bodo

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.