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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.