LCD 4x20

Gast #31395
Lesenswert?

Hallo,
wer kann mir bitte helfen. Ich versteh nicht warum ich keine vernüpftige 
Anzeige hinbekomme. Hatte vorher ein 2x16 Display, AT90s8515, 
Programmiere in C und die Welt war in Ordnung. Aber jetzt möchte ich 
gern ein 4x20 Display benutzen, aber wie!!!

Im Anzeigefeld sind nur komische Zeichen!!!
Hat einer eine C-Datei die mir weiterhelfen kann!!!

Besten Dank im vorraus
Nadine
Gast #31396
Lesenswert?

wenn beide Displays zumindest einen mehr oder weniger kompatiblen 
Controller drauf haben, sollte es ersteinmal funktionieren, die 
Zeilenadressierung kann anders sein. Wird wohl irgendwas mit dem Timing 
nicht stimmen, gerade bei den Wartezeiten während der Initialisierung 
gibt es relativ große Unterschiede.
Gast #31397
Lesenswert?

Was bedeutet das jetzt für mein Display?
Wie sieht denn die Treiber-Routine aus, genauso wie beim 2x16?
Ich finde bei Google nur Sachen in asm.


#asm
.equ __lcd_port=0x15 ;PORTC
#endasm

// include the LCD driver routines
#include <lcd.h>
#include <90s8515.h>
void main(void)
{
// initialize the LCD for
// 2 lines & 16 columns
lcd_init(16);

// go on the second LCD line
lcd_gotoxy(0,0);

// display the message
lcd_putsf("Nadine\nSander\nbraucht\nHILFE");

// stop here
while (1);
}
Gast #31398
Lesenswert?

Hallo,

erstmal solltest Du genau wissen welcher LCD Controller auf deinem 
Display verwendet wurde.
Bei einem 4x20 ist auf jeden Fall die Initialisierung anders als bei 
einem 2x16, dazu ist das Datenblatt des Chips nötig.


Gruß Main666
Gast #31399
Lesenswert?

Hallo Main666,

Ich habe das Display von der Firma Reichelt erworben
TYP LCD 204B LED ; Hersteller Displaytech ;

Ich habe mal das Datenblatt angehängt, aber verstehen tue ich davon nix 
muss halt noch viel lernen.

Ich Dank Dir jetzt schon.

Gruß Nadine
Angehängte Dateien:
Gast #31400
Lesenswert?

Hallo Nadine,
ich habe so ein Display bereits angesteuert und kann dir den Source-Code 
mailen, leider aber erst am Montag, da ich die Codes auf der Arbeit 
habe. Falls Dir das zu spät ist, schau mal auf der Seite 6 vom Datasheet 
nach. Da ist beschrieb, wann du welches Zeichen bei der Initialisierung 
senden muß.
Reini
Gast #31402
Lesenswert?

Hallo,


Seite 6 ist genau das was Du brauchst. Die letzte function set Zeile 
müsste sich zu der 2x16 Initialisierung unterscheiden, eventuell auch 
schon vorherige Befehle.

Bitte unbedingt auf die angegebenen Wartezeiten achten oder das BusyFlag 
abfragen was aber am Anfang der Init auch nicht geht.

Auf Seite 5 sind alle Kommandos zusammengefasst, da findest Du die 
genaue Erklärung der Initialisierung.


Viel Erfolg !


Gruß Main666
Gast #31403
Lesenswert?

Hallo alle zusammen,

erst mal vielen Dank für Eure mühe, ich werd es mal probieren.

Reini wenn Du mir den Source-Code mailen würdest fände ich das SUPER

Danke

Schönes Wochenende

Gruß Nadine

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