Forum: Mikrocontroller und Digitale Elektronik Problem mit 4 Zeilen LCD


von Sven (Gast)


Lesenswert?

Hallo zusammen,


ich habe an meinen msp430f149 ein 4 mal 20 zeilen display
angeschlossen.
grundlegend habe ich es schon am laufen, aber irgendwie komme ich mit
den vier zeilen nicht klar.

hat jemand schon mal ein solches display angesteuert und kannmir mal
auf die sprünge helfen?

Wäre klasse.

Gruß
Sven

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Es sind eigentlich zwei zweizeilge Displays...

von johnny.m (Gast)


Lesenswert?

Dann müsstest Du mal sagen, was für ein Display das ist und welches
Problem Du mit den Zeilen hast.

Wenn es ein HD44780-kompatibles LCD ist, dann vermute ich mal, dass Du
mit der Tatsache Schwierigkeiten hast, dass die Zeilen in der
Reihenfolge 1-3-2-4 ausgegeben werden. Das ist aber einfach so und Du
musst einfach die Adressen entsprechend anpassen...

von Stephan H. (stephan-)


Lesenswert?

Schau doch mal bei sprut.de vorbei. Der hat da alles beschrieben.

von Sven (Gast)


Angehängte Dateien:

Lesenswert?

es ist ein HD44780-kompatibles LCD.

das die dritte zeile quasi eine verlängerung der ersten ist hab ich
schon kapiert, aber irgendwie bekomme ich das nicht hin, die adressen
entsprechend anzupassen. ich habe mal versucht inkleines programm zu
schreiben. wäre toll, wenn da mal jemand drüber schauen könnte.

die d0-d7 sind an port 4.0 - 4.7 und die steuereingänge an 5.0 - 5.2

von Dirk Wiebel (Gast)


Lesenswert?

Hallo Sven,

hier die Startadressen bei meinem 4x20 HD44780 (aus der angepassten
lcd.h von Peter Fleury für AVR-gcc):

#define LCD_START_LINE1  0x00     /**< DDRAM address of first char of
line 1 */
#define LCD_START_LINE2  0x40     /**< DDRAM address of first char of
line 2 */
#define LCD_START_LINE3  0x14     /**< DDRAM address of first char of
line 3 */
#define LCD_START_LINE4  0x54     /**< DDRAM address of first char of
line 4 */

Gruß,
Dirk

von Dirk Wiebel (Gast)


Lesenswert?

krustel in der Sourcecodesammlung alter Projekte

... und hier für ein 4x16-Display (im Vergleich):

#define LCD_START_LINE1  0x00     /**< DDRAM address of first char of
line 1 */
#define LCD_START_LINE2  0x40     /**< DDRAM address of first char of
line 2 */
#define LCD_START_LINE3  0x10     /**< DDRAM address of first char of
line 3 */
#define LCD_START_LINE4  0x50     /**< DDRAM address of first char of
line 4 */

von Sven (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin schon ein wenig weiter. ich habe jetzt mal die taster genutzt,
um einfach mal von eine in die andere zeile zu springen. wenn ich nun
versuche zeichen auf dem display aszugeben und nach 20 zeichen die eile
zu wechseln, klappt das irgendwie nicht. in der ersten zeile wird z.b
nicht als erstes die 0 der zahelenreihe von 0-9 angezeigt sondern  die
1.

die zeilen an sich werdenauch gewechselt, allerdings wird nur in der
ersten und dritten zeile geschrieben. in den zeilen 2 und 4 wandert der
curser nur. wäre toll, wenn jemand mal über dencode schauen könnte. ich
komme da nicht mehr weiter.

vielen dank.

gruß
sven

von Sven (Gast)


Angehängte Dateien:

Lesenswert?

So, und wieder was erreicht. Ich lasse nun das Display mit Zahlen
füllen,immer wieder von 0 bis 9. Ich habe aber folgendes Problem. Die
erste Zeile wird mit den Zeichen gefüllt. In der zweiten Zeile wandert
nur der Curser, die dritte Zeile wird wieder gefüllt und in der vierten
läft wieder nur der Curser ohne Zeichen darzustellen. Dazu springt der
Curser beim Sprung von der zweiten in die dritte zeile erst in die
vierte, dann sofort wieder in die dritte und macht da weiter.


Wäre toll, wenn sich jemand den Code mal ansehen könnte. Ich wüsste
gern, ob ich beim Programmieren einfach einen Denkfehler habe oder ob
grundlegend bei der Ansteuerung des Display.

Vielen Dank.

Gruß
Sven

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.