www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89C51CC03UA ansteuern eines LCD


Autor: Michael Thom (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Im Internet habe ich schon viel gesucht, dabei habe ich viele Programme 
gefunden und Beiträge. Doch diese helfen mir irgendwie nicht weiter! 
Deshalb habe ich mich hier angemeldet in der Hoffnung das man mir 
vielleicht helfen kann.

Ich möchte mit den AT89C51CC03 UA ein LCD (WD-C2704M-1HNN von Pollin) 
mittels den Ports 0 und 2 ansteuern im 8-bit modus. Habe auch ein 
Inizalisierungsdatei geschrieben laut Datenblatt. Doch das Display lässt 
sich nicht inizalisieren.
Alles programmiere ich mit C in Keil µVision3 und das board worauf der 
µC sitzt heißt AT89STK-06 Demo Board.

Würde mich über eine Hilfe sehr freuen, denn ich sitze schon seit 2 
Wochen daran!

Beinahe hätte ich es vergessen, mein LCD zeigt auf allen vier zeilen im 
hinteren drittel die dots voll ausgefüllt.

Meine LCD - Datei hänge ich an!

Grüße

Taz

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal!

Glaube das ich den Fehler gefunden habe. Mein Port 0_1 und 0_2 zeigt 
laut Multimeter 2,8 - 3 Volt an, dann kann es zu keiner Datenübertragung 
kommen.
Doch warum der Port`s eine solche Spannung haben ist mir schleierhaft!

Taz

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Da es im 8-bit Modus nicht klappen möchte, werde ich es mal im 4-bit 
Modus versuchen und hoffen das es besser klappt.

Falls jemanden dennoch vielleicht ein Fehler im Code auffällt wäre eine 
Antwort trotzdem schön.

Grüße

Taz

Autor: Pieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin moin ,

denk bei Port0 an externe Pullupwiderstände...

mfg
Pieter

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Pieter,

oh ja glatt übersehen! doch wie schalte ich sie aus? Damit ich sie auf 0 
oder 5 Volt setzen kann! Ich besitze nur noch die beiden Ports 0 und 2; 
1 und 3 sind komplett ausgebucht.

Gruß

Taz

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Pieter,

sorry! Externe pull-up`s anbringen? Habe ich das richtig verstanden!

mfg

Taz

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P0-Pins sind open drain, daher müssen externe pullups ran, wenns 
Ausgänge sein sollen.

Ausnahme, Du benutzt ihn als memory mapped IO (/WR+/RD über NAND an Pin 
E), das gehts am einfachsten (einfach nur MOVX aufs LCD).

Aber aufpassen, MOVX stretchen, sonst wird die E-Pulsbreite zu klein.


Peter

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Nun dann werde ich es mit externen pullups umsetzen. So wie ich die 
Schaltung im Datenblatt sehe funktioniert es bei mir nicht. Werde die 
Pull-up`s einfach nur auf Vcc = 5V gelegt?

mfg

Taz

Autor: Markus 8051 (markus_8051)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter: Daß das Timing beim MOVX nicht mit dem im Datenblatt von den 
LCDs angegebenen übereinstimmt, habe ich auch schon festgestellt. Nun, 
manche LCDs sind da recht schmerzfrei und funktionieren, andere wollen 
bei mir überhaupt nicht.
Was kann ich dagegen tun? Wie kann ich das Timing verbessern? Was meinst 
Du mit "MOVX stretchen"? Wie mache ich das?

Markus_8051

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

für die Pull-up`s verwende ich 4,7 kOhm. Das geht auch gut, es ist nur 
so das sich Port 0_0 und 0_1 nicht schalten lassen. Die sind permanent 
auf 5V. Dafür gehten aber die anderen. Denke mal da ich nur vier Port`s 
brauch wird es wohl gehen.
Mich würde nur interessieren warum es bei 0_0 und 0_1 kein schalten per 
Sofware möglich ist?

Grüße

Taz

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so die beiden Ports P0 und P2 sind für mich eingerichtet!

P0_2 = RS
P0_3 = RW
P0_4 = E1
P0_5 = E2

P2_0 = DB0
....
P2_7 = DB7

Habe eine init_LCD geschrieben nach dem Datenblatt des HD44780! Als ich 
nun die Ports mit einem Multimeter nachgemessen habe flackert die 
Spannung von E1 von 0 V bis 2,7 V.
Was geht da schief?

Grüße

Taz

Autor: Michael Thom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hatte einen Kabel dreher bei den Port0

P0_2 = E2
P0_3 = E1
P0_4 = RW
P0_5 = RS

War ein blöder Fehler!

mfg

Taz

Autor: svenny1981 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Ich habe ein Problem mit dem demoboard at89stk-06.


Benutze dieses Board um meine Technikerarbeit umzusetzen und habe dieses 
von einem Kumpel bekommen. Es funktioniert soweit auch - hab auch den 
Soft- /Hardware User Guide usw. - kann aber nichts über die Pinbelegung 
der zwei Steckerleisten (j1 und j2) links und rechts vom Board finden. 
Dies ist ein großes Problem für mich da ich zu testzwecken ein LCD 
Display anschließen muss und nicht weiss auf welchen pins die einzelen 
ports usw. gehen.
Wenn mir jemand sagen könnt wie diese Pinbelegung ist oder vielleicht 
sogar einen Plan schicken könnt - wäre ich ihm sehr dankbar!


MfG
svenny1981

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
svenny1981 wrote:
> Hallo, Ich habe ein Problem mit dem demoboard at89stk-06.
>
>
> Benutze dieses Board um meine Technikerarbeit umzusetzen und habe dieses
> von einem Kumpel bekommen. Es funktioniert soweit auch - hab auch den
> Soft- /Hardware User Guide usw. - kann aber nichts über die Pinbelegung
> der zwei Steckerleisten (j1 und j2) links und rechts vom Board finden.


Schaltplan Seite 17.


Peter

Autor: Sven Wölwer (svenny1981)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Merci, habs endlich durschaut mit dem Plan!!!

svenny

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.