www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD 4x20 treiberproblem


Autor: Simon Milde (simonmilde)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo

da ich mich ganz neu mit µC beschäftige habe ich des öfteren kleiner 
probleme die ich hier nachfrage.

diesmal geht es um mein display

ich habe ein display 4X20 von reichelt. betrieben mit einem HD44780 
controller.
den treiber den ich dazu habe ist leider auf den KS0073 geschrieben.der 
treiber funktioniert auch soweit. das problem das ich hab ist das die 
zeilen unterschiedlich aufgeteilt sind (siehe unten)!
nun die frage: im anhang ist der treiber in .a51 und ich komme damit 
nicht so klar ihn umzuschreiben damit die zeilen untereinander sind.
kann mir jemand helfen bzw. hat mir jemand einen passenden code?

danke gruß simon

4x20
zeile1   zeile2  zeile3  zeile4

$00-$13 $40-$53 $14-$27 $54-$67 Kontroller HD44780
$00-$13 $20-$33 $40-$53 $60-$73 Kontroller KS0073

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum willst Du Dich Mikrocontrollern beschäftigen, wenn Du nicht
lernen willst, wie man sie programmiert?

Autor: Simon Milde (simonmilde)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für den hilfreichen  beitrag.

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte schön!

Aber mal im Ernst: Wenn Du nicht in der Lage bist, das Programm zu
analysieren, mußt Du Dich eben mit Assembler-Programmierung
auseinandersetzen, dafür gibt es genug Tutorials (z.B. erikbuchmann.de).

Und für den Anfang muß es ja nicht gerade eine LCD-Ansteuerung sein.

Autor: Simon Milde (simonmilde)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast ja prinzipiell recht aber ich a51 hab ich nie geprogt! vergiss es 
einfach! war nur ne frage! brauch mich dafür auch nicht rechtfertigen.

schönen abend noch!

Autor: norad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Simon!

ich kann dir den Code leider nicht nicht umschreiben aber zu den 
Adressen

>$00-$13 $40-$53 $14-$27 $54-$67 Kontroller HD44780

Muss noch ein Offset von 7Fh Addiert werden.
Begründung: (Zitat von Andreas Reber FH Pforzheim)

Die erste Displayposition hat die DDRAM Adresse 00h, da der Befehl 
jedoch ein MSB mit dem Wert 1 hat, muss man zu jeder Displayposition
den Offset 7Fh addieren um den Datenwert zu erhalten.
Also:
Fangen die einzelnen Displayzeilen bei folgende Adressen an:

Zeile1: 80h
Zeile2: C0h
Zeile3: 94h
Zeile4: D4h

Da ich diesen Offsetwert bei dir nicht entdecken kann gehe ich davon 
aus, das von C aus die Routinen aufgerufen werden.

Mit  _moveto: wird der Cursor ja gesetzt. R7 = Zeile und R5 = Spalte

Wie der Aufruf in C jetzt aussieht weiss ich nicht aber vielleicht es 
dir ja weiter.

Gruß
norad

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Muss noch ein Offset von 7Fh Addiert werden.

7Fh ???

Ich denke eher 80h...

...

Autor: norad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannnes!


Das ergibt doch 80h siehe oben! ;-)

Autor: norad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry Hannes!

Die 7Fh ergeben mit der Grundzahl eben die Adressen für die Zeilen eines
4 Zeiligen Display mit 20 Zeichen. Also wie oben beschrieben.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
norad wrote:
> Sorry Hannes!
>
> Die 7Fh ergeben mit der Grundzahl eben die Adressen für die Zeilen eines
> 4 Zeiligen Display mit 20 Zeichen. Also wie oben beschrieben.

Nööö...
Der "Set DD-RAM address"-Befehl besteht aus dem Bit 7 (Wert 128 bzw. 
80h) und der Adresse im DD-RAM. Es muss zur Adresse (Adresse entspricht 
der Ausgabeposition, allerdings verschachtelt) also 128 geORt bzw. 
addiert werden...

Die Adresse beginnt übrigens mit 0.

...

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.