Forum: Compiler & IDEs 1*16 LCD _mit Peter Fleury's LCD library


von Carsten (Gast)


Angehängte Dateien:

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

von Carsten (Gast)


Angehängte Dateien:

Lesenswert?

hier die lcd.h

von Hubert.G (Gast)


Lesenswert?

Welcher µC?
Wie angeschaltet?

von Carsten (Gast)


Lesenswert?

Hallo Hubert,

habe einen ATMEGA8515L... das LCD ist wie folgt angeschloßen:

LCD ->µC
--------
DB4 ->PC0
DB5 ->PC1
DB6 ->PC2
DB7 ->PC3
RS  ->PC4
RW  ->PC5
E   ->PC6
frei->PC7

Gruß, Carsten

von Hubert.G (Gast)


Lesenswert?

Hallo Carsten
Den 8515 kenne ich nicht. Am Port C kann man aber Adressleitungen für
externe RAM anschließen.

Grüße Hubert

von Carsten (Gast)


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 ;-)

von Peter Fleury (Gast)


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 ?

von Carsten (Gast)


Lesenswert?

ja, ist von reichelt...
ich dachte die HD44780 sind alle kompatibel...
bin gleich wieder da, werde das sofort prüfen!!!

von Carsten (Gast)


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

von pebisoft (Gast)


Lesenswert?

du brauchst da garnicht soviel rumzufummeln. du stellst nur die
ports-pin ein, die zeilenzahl und char-anzahl.
mehr nicht....
mfg pebisoft

von pebisoft (Gast)


Lesenswert?

#define LCD_DISP_LENGTH     8
...lenght ist 16 und nicht 8......................
mfg pebisoft

von Carsten (Gast)


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!!!

von pebisoft (Gast)


Lesenswert?

HD44780 sind alle kompatibel...
ja....ja....ja....
mfg pebisoft

von pebisoft (Gast)


Lesenswert?

du musst doch anhand der länge zur breite des display schon erkennen, ob
es 8, 16 oder 24...hat.
mfg pebisoft

von Carsten (Gast)


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).

von Elektrikser (Gast)


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

von tobi (Gast)


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

von Carsten (Gast)


Lesenswert?

hi, also ich habe den ATMEGA8515L als Display ein 1*16 LCD von
Reichelt... mittlerweile funktioniert es wunderbar!
Andere Erfahungswerte habe ich diesbezüglich nicht (noch nicht *GGG)
Gruß, Carsten

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.