Forum: Mikrocontroller und Digitale Elektronik einfache Laufschrift ATMEGA8 LCD-Anzeige 2x16


von Sandra (Gast)


Lesenswert?

Gibt es die Möglichkeit einfach nur einen Text übern Bildschirm fliegen 
zu lassen?

Irgendwie fehlen mir dazu die Idee'n?!

Ich wäre über Hilfen sehr dankbar.

von Cyblord -. (cyblord)


Lesenswert?

Sandra schrieb:
> Gibt es die Möglichkeit einfach nur einen Text übern Bildschirm fliegen
> zu lassen?

JA

von usr (Gast)


Lesenswert?

datenblatt lesen!!

von Uwe (Gast)


Lesenswert?

Hör mal, das ist nun wirklich eine einfache Übung, wenn man denn 
Software schreiben kann...

von Sandra (Gast)


Lesenswert?

Ich benutze ein displaytech 162 und ich werde aus dem Datenblatt einfach 
nicht schlau :S

Ich stehe noch ziemlich am Anfang der Progammierung und wäre über Hilfe 
sehr dankbar.

von Sonicht (Gast)


Lesenswert?

Sandra schrieb:
> wäre über Hilfe
> sehr dankbar

Dann stell ne konkrete Frage!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ist der Controller KS0070 kompatibel zum HD44780?

Displaytech 162-Datenblatt:
http://www.elecont.de/Neue_Dateien/DS_LCD.pdf

Das HD44780-Datenblatt z.B. bei Lady Ada:
http://www.adafruit.com/datasheets/HD44780.pdf#page=11

da könnte man einfach den RAM-Adresszeiger eins weiterschalten. Wenn die 
zweite Zeile in die erste übergehen soll, müßte man jedes Zeichen 
zweimal eintragen, einmal unten rechts und einmal in die unsichtbare 
17.Stelle der oberen Zeile.

von Sandra (Gast)


Lesenswert?

Aaalso ich habe im moment den Quelltext von der 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung 
einfach nur das ein Text da steht. Tolle wäre jetzt wenn der Quelltext 
von rechts nach links quasi durchläuft. Händisches eintragen mit Pause 
und ein Zeichen mehr etc. find ich albern. Es muss doch auch eine 
Möglichkeit geben das mit einer Schleife zu machen.

Rein Theoiretisch müsst ich ja nur ein Bit schieben, oder sehe ich das 
falsch?
Also Das erste Zeichen reinladen, Pause, 1 Buit schieben, wieder 
anschalten, richtig?

von spess53 (Gast)


Lesenswert?

Hi

Du kannst auch einfach deinen Text, wenn er nicht zu lang ist, in den 
nicht sichtbaren Bereich einer Zeile schreiben und das Ganze mit den 
Shiftbefehlen des Displays in den sichtbaren Bereich schieben.

MfG Spess

von Sonicht (Gast)


Lesenswert?

Sandra schrieb:
> Also Das erste Zeichen reinladen, Pause, 1 Buit schieben, wieder
> anschalten, richtig?

Klar kannst du auch jedesmal das Display neu beschreiben, aber du kannst 
auch im Display mittels einen einzelnen Befehls den Inhalt shiften.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Genau die Seite aus dem Datenblatt hatte ich verlinkt:
"When display shift operation is performed, the DDRAM address shifts. 
See Figure 5."

von Karl H. (kbuchegg)


Lesenswert?

Jungs.
Der Display Shift ist zwar nett, aber so nicht zu gebrauchen.
Er shiftet das komplette Display. Für eine Laufschrift, die nur in Zeile 
1 stattfinden soll, während Zeile 2 statisch immer das gleiche anzeigt, 
ist das mehr Aufwand als es wert ist.

> Tolle wäre jetzt wenn der Quelltext
> von rechts nach links quasi durchläuft. Händisches eintragen
> mit Pause und ein Zeichen mehr etc. find ich albern. Es muss
> doch auch eine Möglichkeit geben das mit einer Schleife zu machen.

Natürlich geht das. Du musst es nur programmieren. So schwer ist das 
nicht. Und nein, du brauchst dazu das Datenblatt nicht. Du musst dir nur 
überlegen, dass du im Grunde deine Laufschrift vorne und hinten logisch 
gesehen mit Leerzeichen auffüllen musst. Ist dein Display 8 Zeichen 
breit und willst du den Text "Hallo World" durchlaufen lassen, so füllst 
du gedanklich den Text mit 8 Leerzeichen vorne und hinten auf.

  "        Hallo World        "

und aus diesem Text zeigst du immer nur einen Ausschnitt (der 8 Zeichen 
breit ist) an.

Im ersten Schritt ist das
  "        "

im zweiten Schritt ist das
  "       H"

im dritten Schritt ist das
  "      Ha"

usw. usw. bis du ganz zum Schluss wieder 8 Leerzeichen anzeigst. Und 
schon sieht es für deinen Benutzer so aus, als ob da eine Laufschrift 
durchläuft.


Ist eine ganz einfache Programmieraufgabe.

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.