Forum: Mikrocontroller und Digitale Elektronik LCD nur 8 von 16 zeichen lassen sich beschreiben


von Bernhard R. (b-r)


Angehängte Dateien:

Lesenswert?

Hallo,

habe schon seit längerem das Forum gelesen und mich auch schon an 
verschiedenen kleinen Programmen in Bascom und jetzt in Assembler 
versucht.
Ich bin aber bis jetzt noch nicht über Taster, LEDs und soweiter 
hinausgekommen.

Habe mir jetzt eine Display 16x1 mit KS0066 Controller gekauft und 
versuche das zum Leben zu erwecken (4-Bit Übertragung). Habe zu diesem 
Zweck das Tut ziemlich übernommen, aber die Init Routine dem Datenblatt 
des Controllers angepasst .

Wenn ich jetzt das Programm laufen lasse, kann ich Texte anzeigen, die 
Textposition über Commandbefehl festlegen, das Display löschen usw.
Aber immer nur die ersten 8 Zeichen.

Die Suche hat mich zu verschiedenen Threads geführt, die aber alle nicht 
geholfen haben.

Ich habe versucht:
- Funktion Set 1 Zeile oder 2 Zeilen
- ca. 100 Zeichen nacheinander übertragen
- Adresse (DDRAM) Cursour-Position von 00h bis 67h gesetzt (geht nur bis 
Stelle 8)

Im Datenblatt Controller liegt die 9. Stelle bei Adresse 08, im 
Datenblatt des Displays bei 40h. Geht aber beides nicht.

Hat noch jemand eine Idee?

von Bernhard R. (b-r)


Angehängte Dateien:

Lesenswert?

Hier das Dateblatt des Displays.

von Bernhard R. (b-r)


Angehängte Dateien:

Lesenswert?

Und hier Datenblatt des Controllers

von Andreas Knauser (Gast)


Lesenswert?

Du musst die zweite Zeilenhälfte als zweite Zeile ansprechen, dann 
funktioniert auch dem System.

von Bernhard R. (b-r)


Lesenswert?

@Andreas

Wie mache ich das?
Ich dachte ich muss die Adresse (DDRAM) der zweiten Zeile übertragen und 
das wars?
Laut Datenblatt (Display) ist die 9. Stelle auf 40h, und das ging nicht.

von Nils (Gast)


Lesenswert?

Wenn du die Adresse von der zweiten Zeile zum Display überträgst, dann 
musst du auch an das RS Signal denken. Das muss glaube ich dabei 0 sein, 
da es sich nicht um Daten handelt sondern um ein Kommando.

Gruss

von Bernhard R. (b-r)


Lesenswert?

@Nils

Daran habe ich gedacht. Die Kommandos Clear LCD oder Adressenanwahl bis 
8 gehen ja auch, also müsste die Kommando-Routine funktionieren. Habe 
ich vielleicht doch einen Fehler in der Initialisierung? Kann sich mal 
jemand den Code anschauen?

von Bernhard R. (b-r)


Lesenswert?

Hallo,

vielen Dank für die Hilfe. Habe jetzt meinen Fehler gefunden. Ich habe 
zwar alles mal probiert, aber anscheinend nie, 2 Zeilen einzustellen und 
die Adresse auf 40h zu stellen.

Geht jetzt alles, danke,

Bernhard

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.