Forum: Mikrocontroller und Digitale Elektronik EA Dip 204-4 an AT89C51


von Andy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,

zuerst muss ich sagen das ich ein ziemlicher noob bin, was das 
Programmieren von Mikrocontrollern betrifft.

Ich versuche ein EA DIP204-4 Display an einem At 89C51 RC2 zu betreiben. 
Allerdings funktioniert das alles nicht so wie gewünscht.
Wir haben in der Schule eine LCD init Routine bekommen, die allerdings 
nicht ganz kompatibel zu meinem Display ist. Ich habe die Routine mal 
angehängt. vielleicht kann sie ja jemand mal anschauen und versteht bei 
der init Routine etwas mahr als ich. Es wäre super wenn mir jemand 
helfen könnte.

Das Display zeigt die auszugebenden Texte in den falschen Zeilen an und 
gibt teile der zweiten Zeile in der dritten aus, usw. kurz gesagt die 
adressierung des Displays läuft wohl etwas falsch. (ich vermute das es 
falsch initialisiert wird)

Das Dispaly soll im 4 Bit Modus betrieben werden und hängt am Port 0 des 
Controllers, wünschenswert wäre es auch wenn ihr vielleicht eine 
funktionierende init routine besitzt, die aber evtl. in asm geschrieben 
sein sollte.

Ich bedanke mich im vorraus bei allen die mir helfen möchten

Gruß Andy

von Andy (Gast)


Angehängte Dateien:

Lesenswert?

habe mal noch die Beschaltung des Displays angehängt

Gruß Andy

von Matthias (Gast)


Lesenswert?

Zeilen korrekt adressiert?

0x80  Zeile 1
0xA0  Zeile 2
0xC0  Zeile 3
0xE0  Zeile 4

von Andy (Gast)


Lesenswert?

nee, das ändert auch nichts, habe ich auch schon versucht, bekomme aber 
das selbe ergebniss. Die Zeilen sind irgendwie vertauscht

danke

von NurEinGast (Gast)


Lesenswert?

Bei meine DIP204-4 sind die Zeilenadressen

0x00,   0x20,  0x40,  0x60

Gruss
Frank

von NurEinGast (Gast)


Lesenswert?

.. sorry wegen Tippfehler.
Natürlich "bei meinem" statt "bei meine"

von NurEinGast (Gast)


Lesenswert?

Hab nochmal nachgeschaut.
Im Datenblatt des EA-DIP 204-4 steht :

Addressing:
1st. line $00..$13
2nd. line $20..$33
3rd. line $40..$53
4th. line $60..$73

Deine Initialisierung scheint zu stimmen.
Hängt wohl nur an der  Zeilenadressierung

Frank

von Andy (Gast)


Lesenswert?

danke für eure antworten aber mit der Adressierung aus dem Datenblatt 
habe ich es auch schon versucht.
Komischer weise kann es mit meiner init routine auch nur maximal 16 
zeichen ausgeben,dann bricht es ab und überträgt den rest in einer 
anderen Zeile.

von E. B. (roquema) Benutzerseite


Lesenswert?

Du musst deine Routine anpassen, ist anscheinend für 16Zeichen LCDs.
Wie ja schon oben genannt, die Zeilenadressen anpassen.
Label: loeschzeile1 -4 sowie textzeile1 -4
Zeile 250 ist der Zeichenzähler, steht doch in den Kommentaren?!
10h = 16 Zeichen
1
cjne   a,#10h,holbuchst ;schon Maximalzahl an Buchstaben?

von Andy (Gast)


Lesenswert?

super, ich werde das mit den 16 zeichen mal ausprobieren, wie schon 
gesagt, bin ziemlicher neuling, danke für die hilfe

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.