www.mikrocontroller.net

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


Autor: Bernhard R. (b-r)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Bernhard R. (b-r)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Dateblatt des Displays.

Autor: Bernhard R. (b-r)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier Datenblatt des Controllers

Autor: Andreas Knauser (Gast)
Datum:

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

Autor: Bernhard R. (b-r)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard R. (b-r)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Bernhard R. (b-r)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.