Forum: Mikrocontroller und Digitale Elektronik DOGM163 Hardware SPI Ansteuerung


von student (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir vorgenommen, ein LCD Display DOGM163 mit einem PIC18f2525 
über SPI mit 5V anzusteuern.
Allerdings ist das für mich Neuland.
Könnte mir jemand ein Beispiel für die Pinzuweisung und die 
Initialisierung des Displays geben?

Über jede Hilfe freue ich mich.

von Günter N. (turtle64)


Lesenswert?

Im Datenblatt steht der Ablauf für die Initialisierung genau drin. Das 
muss genau in dieser Reihenfolge gemacht werden, sonst funktioniert es 
nicht. Ggf. etwas Wartezeit einfügen.

Mehr Hintergrundinfos gibt es im Datenblatt des Controllers unter 
http://www.lcd-module.de/eng/pdf/zubehoer/st7036.pdf

von student (Gast)


Lesenswert?

Vielen Dank für die Antwort.
Das Code Beispiel im Datenblatt für die Initialisierung ist allerdings 
in Assembler geschrieben.
Laut Datenblatt des Controllers müsste man zuallererst "POWER ON and 
external reset" durchführen.
Könnte mir jemand dafür mal die Befehle in C schreiben, damit ich eine 
Vorstellung davon habe?

Danke im Voraus!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

student schrieb:
> ich habe mir vorgenommen, ein LCD Display DOGM163 mit einem PIC18f2525
> über SPI mit 5V anzusteuern.
Hast du ein Oszilloskop? 2 Kanäle sollten es schon sein.

Wenn nicht, dann wird die Inbetriebnahme eines seriellen Interfaces 
recht holprig...

Denn das solltest du zuerst: mal die SPI-Schnitte an Laufen bekommen. 
Und dann kannst du dir Gedanken machen, welche Bytes du in welcher 
Reihenfolge darüber versenden musst. Das steht übrigens tatsächlich in 
dem Ablaufdiagramm im verlinkten Dokument.

Mir scheint, dein Hauptproblem ist nicht, dass du nicht den genauen 
Ablauf der C-Befehle hast, sondern dass dir der generelle Überblick 
fehlt. Oder liege ich falsch? Hast du shcon mal C programmiert? Hast du 
schon mal den PIC18f2525 programmiert?

von student (Gast)


Lesenswert?

Danke Lothar Miller für den Hinweis.
Mit dem PIC arbeite ich schon einige Wochen und habe ihn in C 
programmiert.
Allerdings bis jetzt nur LEDs angesteuert.
Deshalb ist das LCD ansteuern über SPI für mich neu.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

student schrieb:
> Mit dem PIC arbeite ich schon einige Wochen und habe ihn in C
> programmiert.
Gut.

> Deshalb ist das LCD ansteuern über SPI für mich neu.
Du hast wie gesagt 2 Aufgaben
1. die SPI Schnittstelle zum Laufen bekommen
2. die Kommandos in der richtigen Reihenfolge senden

Teil 2 ist einfach, weil du nur die Sequenz auf Seite 40 im Datenblatt 
abtippen muss:
40 ms warten
0x38 senden
30 us warten
0x38 senden
30 us warten
0x14 senden
30 us warten
0x78 senden
30 us warten
usw...

Teil 1 ist sportlicher, weil du da ohne Oszi nichts siehst, was passiert 
und deshalb das Datenblatt genauestens studieren und vergleichen und 
verifizieren musst, um sicher die richtigen Parameter für das SPI 
Interface zu finden.

von student (Gast)


Lesenswert?

Okay, ein Oszi habe ich.
Dann werde ich mal versuchen, die SPI Schnittstelle zum Laufen zu 
bringen.
Danke schonmal.

von 1N 4. (1n4148)


Lesenswert?

SPI ist im Datenblatt ganz gut beschrieben, du musst halt nur die 
Register, die im Assemblerbeispiel vom PIC beschrieben werden, in C 
beschreiben.

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.