mikrocontroller.net

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


Autor: Carsten (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Carsten (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier die lcd.h

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher µC?
Wie angeschaltet?

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hubert.G (Gast)
Datum:

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

Grüße Hubert

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Carsten (Gast)
Datum:

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

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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=15e69jRqwQA...

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

Autor: pebisoft (Gast)
Datum:

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

Autor: pebisoft (Gast)
Datum:

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

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: pebisoft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HD44780 sind alle kompatibel...
ja....ja....ja....
mfg pebisoft

Autor: pebisoft (Gast)
Datum:

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

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.