1*16 LCD _mit Peter Fleury's LCD library

Gast #181848
Lesenswert?

Hallo Experten,

habe den ganzen Tag probiert und probiert, gesucht, gelesen...
Komme alleine einfach nicht weiter.

Problem: LCD-Ansteuerung 4bit Modus...

- 1*16 LCD HD44780
- Peter Fleury's LCD library

ich kann nur auf die ersten 8 Felder des Display schreiben...
mein lcd_puts("Hello World"); erscheint auf dem Display folglich nur
als Hello Wo

die lcd.h habe ich meiner Meinung nach entsprechend angepasst.

Anbei mein Prog (Anhang)
in einen zweiten Post die lcd.h (Anhang)

Würde mich sehr freuen, wenn mir jemand weiterhilft.

Gruß, Carsten
Angehängte Dateien:
Gast #181853
Lesenswert?

nun ja aber der Port sollte durchaus geeignet sein, um das LCD
anzusteuern... bitte berichtige mich, falls ich mich da irre (für die
ersten 8 Segmente funktioniert es auch).

je schneller der problem gelöst ist desto besser ;-)
Gast #181854
Lesenswert?

Ohne Datenblatt des Displays kann man nur raten.

Aber ich vermute du hast ein LCD erwischt, das in Wirklichkeit ein 2x8
Display ist.

Versuche es damit:

#define LCD_LINES           2
#define LCD_DISP_LENGTH    16
define LCD_START_LINE1   0x00
#define LCD_START_LINE2  0x40  // <- mit Datenblatt überprüfen
#define LCD_WRAP_LINES      1


Ist das LCD von Reichelt ?
Gast #181856
Lesenswert?

S U P E R C O O L ! !! !!!

ich kann es nicht fassen... ES FUNKTIONIERT *super.freu

...und dann noch eine Antwort vom Chef ;-). Danke Peter! Deine LCD
library ist wirklich super. wenn du wüßtest, was ich schon alles
ausprobiert habe seit heute morgen...

irgendwie gibt das reichelt-datenblatt aber auch gar nichts her  grrrr
http://www.reichelt.de/inhalt.html?SID=15e69jRqwQAREAAGkftLQ3b457adbe83e8d6692691885eb39bfa8;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=A5211;WG=0;SUCHE=lcd;ARTIKEL=LCD%2520161A;START=0;END=16;STATIC=0;FC=670;PROVID=0;TITEL=0;DATASHEETSEARCH=LCD%20161A;FOLDER=A500;FILE=LCD161A%2524%2523PIV.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=1

Wünsche dir und Hubert und allen Lesern eine schöne Woche.
Gruß, Carsten

hier nochmal die Einstellungen, falls jemand mal die gleichen
Schwierigkeiten haben sollte.

#define LCD_LINES           2
#define LCD_DISP_LENGTH     8
#define LCD_LINE_LENGTH  0x40
#define LCD_START_LINE1  0x00
#define LCD_START_LINE2  0x40
#define LCD_START_LINE3  0x14
#define LCD_START_LINE4  0x54
#define LCD_WRAP_LINES      1
Gast #181859
Lesenswert?

hallo pebisoft,

für jemanden, der zum ersten mal versucht ein 1*16 LCD "in gang" zu
bringen ist nicht leicht auf die idee zu kommen, dass es als ~ 2*8
angesteuert werden muß... zumal das datenblatt vom lieferanden nicht
viel hergibt!!!
Gast #181862
Lesenswert?

es ist so, dass es sich um ein einzeiliges, 16 stelliges LCD handelt!

dank peters hilfe weiß ich aber jetzt, dass es nicht so geschaltet
ist... man muß sich vorstellen, dass zwei 8 stellige lcd in einer reihe
hintereinanter geschaltet sind (2*8=16).
Gast #181863
Lesenswert?

Oh Pebisoft,
wenn es so einfach wäre. Ich habe hier einige Displays, die sich
HD44780-kompatibel nennen. Drei davon schrieben, wenn ich "wert2 haben
wollte, erstmal "wesu". Erst als ich die Zeiten im Programm abgeändert
habe, funktionierte es.
Andere Displays sind von außen 1x20. Intern sind sie 2x10.
Da hilft nur testen, was der Hersteller sich wieder ausgedacht hat, um
den einfachen Bastler zu ärgern.

Gruß Elektrikser
Gast #181864
Lesenswert?

Wo wir grad beim Thema sind, hätt ich auch mal ein paar Fragen, da ich
auch mal ein LCD mit dem AVR programmieren will.

1. Kann ich dazu auch den ATtiny26 (oder besser ATMega8) nehmen?
2. Wieviel Flashspeicher benötigt den die LCD Routine?
3. Ich wollte das Reichelt LCD 2x16 mit dem LSI KS0070B Controller
(soll ja HD44780-kompatibel sein) nehmen. Hat jemand damit Erfahrung?

so das wäre es mal fürs erste

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren