- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 4 von 4

Thema: LCD 2. Zeile direkt ansteuern

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2006
    Alter
    35
    Beiträge
    122

    LCD 2. Zeile direkt ansteuern

    Anzeige

    Praxistest und DIY Projekte
    Hallo

    Nachdem ich nun ein neues LCD bekommen habe, und dies auch richtig funktioniert hat, habe ich nun eine neue Frage.

    Auf welche Arten kann ich mit einem 16F88 die 2. Zeile eines 2*16 LCD mit Assembler ansteuern?
    Da ich weis, dass die 2. Zeile die Adressen 64-79 im Textbuffer hat, habe ich in einem Prog mal alle Bufferadressen mit Zeichen beschrieben. Danach hat mir das LCD logsicherweise die oben genannten Adressen in der 2. Zeile angezeigt. Da es jedoch sehr mühsam ist, im Programm 80 Zeichen an ein LCD zu übermitteln etc. denke ich, dass es noch eine andere Möglichkeit gibt. Kann man ev. die jeweiligen Stellen direkt ansteuern oder das angezeigte Textfenster innerhalb des Textbuffers verscheiben?
    Weis hierzu jemand etwas mehr?

    Gruss orph

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo orph!

    Bei (fast) jedem LCD Matrixdisplay hat jedes Zeichen eigene Adresse. Befor ein Zeichen (mit RS=1) zum Display geschickt wird, muss ein Befehl (mit RS=0) mit der Adresse, an der das Zeichen erscheinen soll, geschickt werden. Zum Beispiel wenn Du ein Zeichen auf der ersten Stelle in der 2.Zeile, die Adresse 40h (64d) hat, haben willst, musst Du in Deinem ASM Programm:

    RS=0 für Befehl setzen
    40h als Befehl schicken
    RS=1 für Data setzen
    Dein Zeichen als Data schicken.

    Ich hoffe, dass es Dir hilft.

    MfG

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2006
    Alter
    35
    Beiträge
    122
    ich hab doch tatsächlich nochmals im Datenblatt nachgeschaut und siehe da:
    rs=0
    bit 7 = 1
    dann kann ich mit den restlichen 7 Bits die Zieladresse für das Zeichen angeben

    thx für den Tip

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo orph!

    Genau, so geht´s. Ich habe vergessen, dass zu der Adresse, die im Datenblatt des Displays angegeben ist, man noch das 7-te bit (80h) dazu addieren muss. Für erste Stelle in zweiter Zeile, die Adresse 40h hat, muss man dann ein Befehl C0h (nicht 40h, wie ich in meinem erstem Beitrag geschrieben habe) schicken, weil 80h+40h=C0h. Das habe ich doch schon so oft verwendet....

    Übrigens, ich habe noch nie solche Befehle wie "display clear" oder "cursor home" benutzt, weil ich immer nur bestimmte Bereiche des Displays überschrieben habe, was viel schneller ist.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad