LCD nur zur Hälfte

Gast #38921
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
Gast #38922
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
Gast #38923
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
Gast #38925
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
Gast #38927
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
Gast #38929
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
Gast #38931
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren