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
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?
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
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?
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
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
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
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