Forum: Mikrocontroller und Digitale Elektronik GLCD


von Thomas Berger (Gast)


Lesenswert?

Hallo

Ich bin im Besitz eines Grafik-Displays mit einem SED1335 Controller.
Das Display hat eine Auflösung von 320x200 Pixel, angeschlossen habe
ich es für Versuche am Druckerport, später soll es an einem AVR
Controller betrieben werden.

http://www.lcd-module.de/deu/pdf/grafik/p320-8k2.pdf
http://www.lcd-module.de/eng/pdf/zubehoer/sed1335.pdf

Mein Problem ist, dass ich das Display nicht initialisieren kann, es
leuchtet nach dem einschalten blau, wenn ich die Initalisierung
vornehme. leuchtet es weiss. Ich habe das Beispiel im Datenblatt
versucht, um text auszugeben, klappt aber nicht.

Hat mir jemand ein Beispiel, wie ihr es konfiguriert und betrieben hat?


Besten Dank, Gruss Thomas

von Plopic (Gast)


Lesenswert?

romanov bruder

von Thomas Berger (Gast)


Lesenswert?

Sali Jovo...
Ich habe schon auf eine Antwort gehofft...

Gruss Thomas

von Matthias (Gast)


Lesenswert?

Hi

du solltest uns schon verraten wie du das Display initialisierst. Also
was du in welche Register schreibst. Eigentlich sollte nach dem
initialisieren und einschalten des Displays ein wildes Pixelmuster
erscheinen. Das alles weiß wird ist aber eigentlich auch kein
schlechtes Zeichen wenn deine Initprozedur das Display-RAM löscht.

Matthias

von Thomas Berger (Gast)


Lesenswert?

Hallo

Zuerst führe ich einen Reset durch, dieser dauert 100ms. Mit den beiden
Funktionen Disp_SetCmd und Disp_SetData schreibe ich die Kommandos und
Daten an das Display. Die Verdrahtung und die Steuerung der Signale
sollte stimmen, habe ich mit dem KO kontrolliert, ich denke es muss an
Werten liegen.

Gruss Thomas

// System Set
Disp_SetCmd(0x40);
Disp_SetData(0x30);
Disp_SetData(0x87);
Disp_SetData(0x07);
Disp_SetData(0x27);
Disp_SetData(0x2f);
Disp_SetData(0xc7);
Disp_SetData(0x28);
Disp_SetData(0x00);

  // Scroll
Disp_SetCmd(0x44);
Disp_SetData(0x00);
Disp_SetData(0x00);
Disp_SetData(0xc7);
Disp_SetData(0x00);
Disp_SetData(0x05);
Disp_SetData(0xc7);

// HDot Scr
Disp_SetCmd(0x5a);
Disp_SetData(0x00);

//Overlay
Disp_SetCmd(0x5b);
Disp_SetData(0x01);

// Disp on/off
Disp_SetCmd(0x58);
Disp_SetData(0x56);

// CSRW
Disp_SetCmd(0x46);
Disp_SetData(0x00);
Disp_SetData(0x00);

// CSR Form
Disp_SetCmd(0x5d);
Disp_SetData(0x04);
Disp_SetData(0x86);



// Disp on/off
Disp_SetCmd(0x59);
Disp_SetData(0x16);


// CSR Dir
Disp_SetCmd(0x4c);

//MWRITE
Disp_SetCmd(0x42);
Disp_SetData(0x20);
Disp_SetData(0x20);
Disp_SetData(0x20);

von xman (Gast)


Lesenswert?

Hallo

Vielleicht bringt dich das weiter.

http://home.subnet.at/mnemonic/info-spezialgebiet.pdf

von Thomas Berger (Gast)


Lesenswert?

Hallo

Danke, werde mal gucken. :o)

von Thomas Berger (Gast)


Lesenswert?

Hallo

So, habe die Einstellungen aus dem Link von "xman" versucht, brauchte
etwas Zeit, bis ich die binären Werte in hex umgerechnet hatte.
Leider brachte das ganze nix. Initalisieren des Diplays flackert das
ganze, wird blau und anschliessend wieder weiss. Vom optischen wie
vorher.
Hat jemand noch eine Idee?

Gruss Thomas

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hi

im Anhang mal meine Initsequenz für ein 320x240 Display. Sollte aber
auch für ein 320x200 funktionieren.

Matthias

von Thomas Berger (Gast)


Lesenswert?

Hallo

Ich habe oben einen Tipfehler gemacht, das Display hat 320x240 Pixel.
Deine Werte habe ich nun Probiert, der selbe effekt wie vorher.

Ich habe dann den Modus des Displays geändert, vom 6800 Betrieb zum Z80
Betrieb (Anstelle dem Enable Signal nun Read und Write Leitungen).
Nun scheint das ganze zu klappen, das Display flackert nicht mehr und
zeigt nach der initalisierung ein etwas wildes Muster.

Ich denke, dass sollte nun klappen, werde noch weitere Versuche machen
und mich dann wieder melden.
Ich danke euch allen für eure Beiträge!

Gruss Thomas

von Matthias (Gast)


Lesenswert?

Hi

na toll. Das heißt du hattest nichtmal die Kommunikation grundsätzlich
getestet und zweifelst an der Initialisierung?

Matthias

von Thomas Berger (Gast)


Lesenswert?

Hallo

Doch, Ich habe die Signale mit dem KO gemessen und diese entsprachen
dem, was im Datenblatt für den SED1335 vorgegeben war, irgendwie
scheint das Display aber Probleme mit dem 6800-Modus zu haben, denn mit
dem Z80-Betrieb scheint es zu klappen (habe noch nicht weiter
gemacht).

Da Ich nur Probleme hatte und auf keinen grünen Zweig kam, dachte ich
mir ich versuche noch den Z80-Modus. Keine Angst, ich bin nicht zu faul
zum kontrollieren.

Gruss Thomas

von Matthias (Gast)


Lesenswert?

Hi

ich meinte eher:
Register schreiben, Register lesen. Wenn der Inhalt passt funktioniert
die Kommunikation und man kann weiter machen.

Matthias

von Thomas Berger (Gast)


Lesenswert?

Hallo

Ach so, ne das klappt noch nicht, ich habe nur Funktionen zum schreiben
an den Druckerport implementiert. Ich dachte ein GLCD kann nicht viel
schwerer sein als ein Textdisplay anzusteuern, wenn man die Zeiten
einhält und so.
Ich werde morgen noch etwas basteln, denke aber dass sollte jetzt
klappen.

Gruss Thomas

Wünsche noch schöne Festtage!

von Thomas Berger (Gast)


Lesenswert?

Hallo

Juhe, Display funktioniert! Ich sehe gerade die ersten Zeichen, jetzt
noch etwas feinarbeit, die Graphik-Funktionen implementieren, dann kann
ich das Teil an den uC anschliessen.
Nochmals danke für eure Hilfe und Tips!

Gruss Thomas

von stefan (Gast)


Lesenswert?

Nur vollständigkeitshalber:

Hier ist ein Projekt wo mittels eines ATMega128 Controllers ein SED1335
angesteuert wird:

http://projects.tbmn.org/cgi-bin/trac.cgi/wiki/touchscreen

code gibt es auch dazu:

http://projects.tbmn.org/cgi-bin/trac.cgi/browser/touchscreen/lcd

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.