Forum: Mikrocontroller und Digitale Elektronik LCD an 8051MUC ->Ansteuerung in "C" -Probleme...


von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bastle gerade an einer Ansteuerung zwischen einem MUC der 8051er
Serie und einem 20x4 LCD-Display mit HD44780-Controller.

Mein Problem ist, dass ich nicht weiß, ob die Initialisierung überhaupt
richtig ist, geschweige denn, dass ich einen Text aufs Display zaubern
konnte.
Ich habe ausm Internet einen Quelltext übernommen, der die Ansteuerung
des gleichen Displays, jedoch vom LPT-Port aus beschreibt.
Hab das ganze dann versucht, für meine Zwecke umzubauen (also OUTPORT()
zu ersetzen), leider nicht erfolgreich.
Meine Idee war, für die Pins der beiden Ports, die zur Ansteuerung des
LCDs verwendet werden, Bitmasken zu verwenden und die gewünschten Pins
auf HIGH oder LOW zu setzen, wie halt auch schon vom Origianlquelltext
vorgegeben war. Was haltet ihr davon?
Ein Kollege meinte, ich solle mir nochmal die Timing-Tabellen
reinziehen, aber die im Originalquelltext vorhandenen delays dürften
eigentlich ausreichen...
Im Datenblatt ist so ein Blockdiagramm, das die Initialisierung des
Displays beschreibt, und daran hab ich mich in etwa auch orientiert,
aber keine Ahnung, irgendwas stimmt da net...Bei POWER ON gibts im
Display erst 2 Balken, die dann verschwinden, aber das muss ja auch
nichts heißen..
Wo könnte ich noch suchen? Wieso bekomme ich keinen Text aufs Display?

Ach ja: Ich benutze im Übrigen das uvision2 von Keil als
Entwicklungsumgebung. Quelltext hänge ich an.

Danke!
Gruß Andreas

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

hier noch eine C-Datei

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

hier noch die C-Datei mit der main drin.

von Lodar (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Andreas, wie wird Dein LCD gesteuert? also 3 bit für Steurung +
Datenleitung: (seriell) mit 4 bit oder (parallel) 8 bit?

Wenn es seriell gesteuert wird, dann kannst Du die beiden Dateien
verwenden. Das programm funktioniert und ist für ein Quarz mit 11.0592
MHz ausgelegt. Alle Befehle für LCD-Controller brauchen gewisse Zeit
bis die augeführt sind, diese Pausen kannst Du aus dem Datenblatt
entnehmen.  Falls Du ein schnellernen Quarz verwendest, solltest Du den
Schleifenparameter entsprechend erhöhen!

Viel Spass beim Testen!

von Lodar (Gast)


Angehängte Dateien:

Lesenswert?

Headerdatei

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.