Forum: Mikrocontroller und Digitale Elektronik Probleme mit LCD initialisierung


von VoltoZapf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Wir haben ein kleines Problem mit einem Displaytech 162 LCD.
Wir wollen es über einen C8051F120 von Silicon Laboratories.
Die Signale kommen soweit auch am Boar an den Ports an (+3,3V)
Leider aber schaltet das Display weder um noch an oder sonstwas.
Strom ist vorhanden und der Kontrast ist auch gut eingestellt.
vlt. ist unsere initialisierungsroutine falsch welche wir im internet
gefunden haben (3x 30h ins Steuerregister dazwischen "genug" warten)
Würde mich freuen wenn einer den Fehler finden würde g

danke shconmal im Foraus

Thomas

hier unseren Quellcode:
die include-Datei ist im Anhang beigefügt

$include (c8051f120.inc)
cseg AT 0
mov   SFRPAGE, #CONFIG_PAGE
mov   XBR2, #40h
orl   P0MDOUT,#255d
mov P0,#00h
orl   P1MDOUT,#255d
mov P1,#00h



mov P1,#00110000b
Lcall Zeit
mov P0,#00000100b
Lcall zeit
mov P0,#00000000b
Lcall zeit
mov P0,#00000100b
Lcall zeit
mov P0,#00000000b
Lcall zeit
mov P0,#00000100b
Lcall zeit
mov P0,#00000000b
mov P1,#00h

ftg: sjmp ftg

zeit:
mov R3,#03h
loop2 : mov R1,#00h
loop1 : mov R2,#00h
djnz R2,$
djnz R1,loop1
djnz R3,loop2
ret

end

von Ralf (Gast)


Lesenswert?

Ich kenne jetzt das Display nicht, aber wo bitte steuert ihr die RD und
die WR Leitungen? Falls ihr das über P1 macht, okay.
So wie das jetzt gerade für mich aussieht (kenne auch eure Schaltung
nicht), bedient ihr gar nicht die RD/WR-Leitungen des Display.
Demzufolge wird das Display auch keine Daten akzeptieren.

Geschickt wäre jetzt folgendes von euch: Ihr postet euren Schaltplan
und das Datenblatt zum Display.

Ralf

PS: Warum steuert ihr das Display nicht über die MOVX-Befehle?
Erfordert einen etwas anderen Anschluss an den Controller, ist aber
einfacher, da hier RD und WR automatisch bedient werden.

Ach ja, nochwas: Habt ihr das Devkit zum F120? Oder arbeitet ihr nur
mit dem Controller an sich?

von VoltoZapf (Gast)


Lesenswert?

hi

bin grad bissle müde, deshalb nur ne kurze antwort
-wir haben das Dev-Kit zum C8051F120 von SiLabs
-Wir würden die RD/WR ansteuern, wenn sie nötig währen, diese hängen
ebenfalls an P0, jeodch ist nach der initialisierungsroutine die ich
gefunden habe, keine RD/RW erforderlich um den Cursor überhaupt zum
Blinken zubekommen (also erstmal Curser anzeigen lassen)

und was meinst genau mit Schaltplan?
die Portbelegung, wie wir das Display angeschlossen haben, oder die
Stromversorgung für das Display?

wir steuern das Display (noch) nicht über die MovX befehle an, weil es
erstmal sorum für einen "Anfänger" einfacher ist, die RD/WR Leitungen
Manuell zu bedienen um zutesten was passier bzw. das ganze mal zu
Kapieren ;-)
Datenblatt folgt morgen, iss ein 2x16 Zeichen Display mit 5x8 Dotmatrix
und Hintergrundbeleuchtung (grün)

Thomas

von Ralf (Gast)


Lesenswert?

Hi,

Ich schlage wie gesagt vor, ihr postet das Datenblatt zum Display und
beschreibt, welcher Port bzw. Pins mit dem Display verbunden ist/sind.

Und natürlich wären Kommentare in eurem Programm sinnvoll, damit wir
sehen können, was genau ihr da vorhabt im Programm. Sonst wirds für uns
schwer, den Fehler zu finden. Schließlich können wir leider nicht
hellsehen, und lieber zu viel Informationen als zu wenig.

Ralf

PS: Ich interessiere mich ebenfalls für das Devkit. Welcher
JTAG-Adapter war dabei? Der für RS232 oder für USB?

von VoltoZapf (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

hier mal des Datenblatt.

P0.0->RS
P0.1->R/W
P0.2->E

P1.0..P1.7->D0..D7

Grüße Tobie

P.S zu dem JTAG-Adapter kann ich dir nicht viel sagen ich weis nur das
er über RS232 angeschlossen wird.

Grüße Tobie

von Ralf (Gast)


Lesenswert?

Also ich würde vermuten, dass das, was ihr aus dem Web gesaugt habt, die
falsche Initialisierung ist. Was ist, wenn ihr die aus dem Datenblatt
verwendet?
Ach ja, nochwas, seid ihr sicher, das der F120 funktioniert? Nicht,
dass  an der falschen Stelle nach einem Fehler gesucht wird. Könnt ihr
z.B. mit einem Oszi messen, ob da tatsächlich was auf den Ports geht?

UND WICHTIG: Port 0 ist bei einem Standard-8051er ein Open-Drain-Port,
wenn er für manuelle Sachen verwendet wird!!! D.h. ihr braucht dort
Pull-Up-Widerstände. Ob es beim F120 auch so ist, müsst ihr mal im
Datenblatt nachgucken. Er muss ja zum 8051 kompatibel sein, aber ich
glaube zu wissen, dass man die internen Pull-Ups speziell beim F120
noch modifizieren kann. P0 hat zwar interne Pull-Ups, aber die werden
bei direkter Port-Manipulation abgeschalten!!! Sie sind nur bei
MOVX/MOVC-Befehlen sowie externem Programm-Speicher-Modus aktiv.

Ralf

von VoltoZapf (Gast)


Lesenswert?

hi

ja der F120 funktioniert
zum einen kann man die LED aufm Board ansteuern
zum anderen funktioniert auch unser Script da mitm Messgerät die
richtigen Spannungen richtig rauskommen also hängts entweder an der
initialisierungsroutine oder am Display -.-

mov   XBR2, #40h
orl   P0MDOUT,#255d

das iss ja glaub dafür da, damit P0 richtig gesetzt wird :)

soweit sogut, ich hab jetzt noch nen AT89S8252
da probier ich mal bissle herumm des Display manuell zu initialisieren
:D

Thomas

von Ralf (Gast)


Lesenswert?

Hi Thomas,

hab grad im Datenblatt nachgesehen, mit dem P0MDOUT wird für Port 0 der
Push-Pull-Betrieb aktiviert, das heisst, du brauchst keine externen
Pull-Ups, wie du richtig beschrieben hast.

Laut Datenblatt des Display müssten die 3V Pegel des F120 ebenfalls
ausreichen.
Hast du die Initialisierung aus dem Datenblatt mal ausprobiert?

Ralf

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.