www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit mega16 benutzerdefinierte Zeichen aufs lcd


Autor: luxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
wie kann ich mit meinem mega16 (und asm) benutzerdefinierte zeichen
aufs lcd(1*16, HD44780) bringen?

MFG
luxx

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie kann ich mit meinem mega16 (und asm) benutzerdefinierte zeichen
> aufs lcd(1*16, HD44780) bringen?

Ich hab's zwar noch nicht gemacht, aber mit dem Kommando 'Set
CG-RAM-Adress' des LCD-Befehlssatzes stellst du die gewünschte Adresse
ein, danach sendest du für jedes zu definierende Zeichen 8 Bytes
(Pixelzeilen), in denen die zu setzenden Pixel 1-Bits sind und die
nicht zu setzenden Pixel 0-Bits.
Weitere Einzelheiten erfährst du im Datenblatt des LCD-Controllers.

...

Autor: luxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nja im datenblatt des displays(eine seite) steht fast nix.
und das englische datenblatt des controllers....much fun!

luxx

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispielcode :

PREPARE_BAR:
    ldi  VALUE,0x40
    rcall  LCD_CMD    ; CGRAM beschreiben
    ldi  VALUE,0
    rcall  SEND_8TIMES
    ldi  VALUE,0x10
    rcall  SEND_8TIMES
    ldi  VALUE,0x18
    rcall  SEND_8TIMES
    ldi  VALUE,0x1C
    rcall  SEND_8TIMES
    ldi  VALUE,0x1E
    rcall  SEND_8TIMES
    ldi  VALUE,0x1F
    rcall  SEND_8TIMES
    ldi  VALUE,0xC0
    rcall  LCD_CMD
    ret

SEND_8TIMES:
    ldi  LOOP1,8
  LP1:
    rcall  LCD_DATA
    subi  LOOP1,1
    brne  LP1
    ret

Dieser Code schreibt in die CGRAM-Addressen 0-5 Teile einer
Bargraph-Anzeige für ein LCD. Mit dem Addresse-setzen-Befehl wechselst
du zwischen CGRAM und RAM. 0x40 setzt CGRAM auf 0 und wählt es aus
(alle Daten gehen ins CGRAM) und 0x80 setzt DRAM auf 0 und wählt es
(alle Daten gehen ins RAM).

CGRAM ist folgendermaßen organisiert :
8 x 8 Bytes.
Pro Zeichen 8 Bytes (jede Zeile eins).
das LSB ist der Punkt rechts im Zeichen. das 5. Bit ist der linke
Punkt.
eine 1 macht den Punkt schwarz, eine 0 transparent.

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.