Hallo, ich versuche gerade ein S65 Display (LPH88 Version) an meinem AT89C51SND1C zum Laufen zu bewegen, doch leider bleibt das Display bisher weiß. Das Display ist direkt am SPI und P0_0 bis P0_2 angeschlossen ohne Vorwiderstände oder sonst was, da der Controller mit 3V läuft, was also passen sollte. Leider habe ich bisher keine Codebeispiele für einen 8051er gefunden, nur für AVRs. Ich habe also versucht, das Codebeispiel von Christian Kranz für meinen uC zu portieren. Dadurch gab es zum Beispiel keine Delay-Funktion (arbeite mit Keil uVision 3), also hab ich mir selbst eine geschrieben mittels Timer0. Funktioniert soweit auch gut. Was wohl durch die komplett andere Architektur des 8051ers überhaupt nicht mehr richtig stimmt, sind die ganzen Timings beim Senden der Befehle. Im Code stehen noch die originalen Befehle für den AVR auskommentiert drin. Diese habe ich dann durch entsprechende Befehle ersetzt ( jeweil mit /* eigener Code */ markiert). Ansonsten habe ich soweit alles übernommen, was man brauchen sollte um das Display zunächst mal mit einer Farbe zu füllen. Ich denke, dass die Einstellungen fürs Clock Polarity und Clock Phase Bit richtig sind, aber 100% sicher bin ich mir nicht. Der gesamte Code ist im Anhang, vielleicht hat ja jemand eine Idee, was falsch sein könnte oder vielleicht hat das sogar schon mal jemand portiert. Für jede Hilfe wäre ich sehr dankbar! Schöne Grüße! Daniel
Hat keiner einen Tipp oder Lösungsansatz? Oder braucht ihr noch weitere Infos?
Lese dir die Sachen vom Christian richtig durch. Wichtig ist bei der Initialisierung die ~50µs Delay. Und an den SPI-Bus vom µC musst du auch dran. Sonst funzt es nicht.
>Das Display ist direkt am SPI und P0_0 bis P0_2 angeschlossen
Ich weiß jetzt nicht, wie P0_0 und P0_2 geschaltet werden, um den
Display anzusprechen. Aber P0 allgemein besitzt keine Pull-up
Widerstände. Somit kennt P0 nur die Zustände "nach Masse geschaltet" und
"offen". Ein logisch 1 muss durch externe Pull-up erzeugt werden.
Vielleicht hilft das ja weiter.
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.