Forum: Mikrocontroller und Digitale Elektronik SED1520 mit Asm


von Harry (Gast)


Lesenswert?

Guten Tag,
langsam glaube ich, dass ganze WWW hat sich gegen mich verschworen. Ich
suche seit Tagen ein Assembler Tutorial wo ein GLCD mit 2 SED1520
angesteuert wird. Jeder Link der interessant wirkt ist DOWN!
Meine Situation ist Folgende:
Ich hab hier ein Display EW12A03GLY von Emerging Display
(http://www.acds.fr/produits/produits.php?prod=lcd&idFamille=1&idSousFamille=56&lang=en)
vor mir liegen, welches ich ansteuern möchte. In Datenblatt wird auf das
Datenblatt des Controllers SED1520 verwiesen. Und aus diesem werde ich
nicht schlau. Zum Beispiel werden nicht alle Pins der SED1520 nach
außen (am Display) geführt. Was dazu führt das ich gar keinen Status
auslesen kann. Auch wird zwar beschrieben was ich zum Einschalten
senden muss, aber wie ich das anstellen soll wird nicht beschrieben.
Also bitte: Kann mir jemand eine grundlegende Beschreibung der
Datenübertragung (Wie und Was) geben?

Danke

von Harry (Gast)


Lesenswert?

Huch:
Hab ich doch den falschen Link gepostet.
Also auf der Site:
http://www.edtc.com/EDT/Products/default.asp?qT=2&qS=10
findet man das Datenblatt vom Display
http://www.edtc.com/EDT/Products/Specs/92.pdf
und vom Controller
http://www.edtc.com/EDT/Products/Specs/156.pdf

von Stefan B. (Gast)


Lesenswert?

Hallo Harry!

Ich habe ein Grafik-LC-Display von Conrad in Verwendung. Dieser hat
auch zwei SED1520-Controller. Das Display habe ich mit einem PIC
angesteuert (in Assembler). Das ganze ist auch auf meiner Homepage
dokumentiert.

Sieh doch mal unter

http://www.stefan-buchgeher.info/elektronik/glcd/glcd.html

nach.

Vielleich hilft Dir das weiter

mfg
Stefan B.

von Harry (Gast)


Lesenswert?

Danke Stefan,

durch deine Site sehe ich einige meiner Vermutungen bestätigt.
Bei deinem Display könnte man den Status auslesen, weil RW und RD
herausgeführt wurden, nur machst du das gar nicht! Interessiert es dich
gar nicht ob dein Display bereit ist Daten zu empfangen? Oder passt das
gleich mit deinen 4 MHz PIC-Takt?
Des Weiteren ist mir aufgefallen, dass du CS1 und CS2 immer auf HIGH
hältst. Wenn du dann Daten senden möchtest ziehst du zu erst CSx auf
Masse und gibst dann die Daten auf dem Port aus, zuletzt CSx wieder auf
HIGH.
Ich glaube MEIN Datenblatt so verstanden zu haben, dass ich die Daten
erst auf den Port legen muss um dann einen negativen Impuls auf Ex (bzw
CSx) zu geben. Kannst du das mal bitte nachvollziehen?

Ich programmiere übrigens auf einem Atmel ATMega16.

Nach ein wenig rumprobieren passieren hier die wunderlichsten Dinge. Es
werden u.A halbschwarze Pixel angezeigt und obwohl ich beide SED1520
immer gleichzeitig anspreche, sind die beiden Seiten nie Gleich.
Langsam glaub ich mein Display ist kaputt oder kann man sich das
irgendwie anders erklären?

von Philipp Burch (not logged in) (Gast)


Lesenswert?

Hallo,

bei Conrad gibt's ein anderes Display, das hat da ein nettes
Datenblatt drin:
http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/181719-da-01-de-LCD-Modul_EA_DIP128-6N5LW.pdf
Ist zwar nicht ganz dein Controller, aber die sind ja eigentlich
kompatibel. Du solltest aber überprüfen, ob deine Anschlüsse
übereinstimmen. Wenn Pixel "halbschwarz" angezeigt werden, dann hat
das meistens damit zu tun, dass dein Kontrast falsch eingestellt ist.
Das Auslesen aus dem Display um den Status abzufragen ist eigentlich
selten nötig, da das auch recht gut funktioniert, wenn man sich einfach
an die Timings des Datenblatts hält.

von Harry (Gast)


Angehängte Dateien:

Lesenswert?

Noch ähnlicher und auch von ELECRTONIC ASSEBLY wäre
http://www.lcd-module.de/deu/pdf/grafik/dip122-5.pdf
nur steht da überall der selbe nichtssagende Mist drin.

Zum Thema halbschwarze Pixel hab ich mal ein Foto im Anhang. Das ist
nicht die Kontrasteinstellung! Aber was kann es sein?

Mit dem Timing muss ich mich wohl mal näher beschäfftigen. Bis jetzt
bin ich ganz bewusst möglichst langsam geblieben, aber vieleicht bin
ich auch nur zu langsam!?

von Stefan B. (Gast)


Lesenswert?

Hallo Harry!

Das Display dass ich verwende hat zwei Arten, wie es mit Daten empfängt
(nämlich die 80 Family MPU und die 68 Family MPU). Welches dieser beiden
verwendet werden soll wird durch die RESET-Leitung bestimmt. Bei deinem
gibt es nur den 68 Family MPU, daher gibt es bei deinem auch keine
RESET-Leitung. Ich verwende bei meinem aber die 80 Family MPU. Der
unterschied zwischen den beiden ist das unterschiedliche Zeitdiagramm.
Die 68 Family MPU hat bei mir leider nicht funktioniert, warum weiss
ich nicht. Die 80 Family MPU funktioniert bei mir dagegen sehr gut.

"Ich glaube MEIN Datenblatt so verstanden zu haben, dass ich die
Daten
erst auf den Port legen muss um dann einen negativen Impuls auf Ex
(bzw
CSx) zu geben. Kannst du das mal bitte nachvollziehen? " - Das sehe
ich auch so (= 68 Family MPU )

Die READ -Leitung brauche ich zur Zeit noch nicht, vielleicht aber
später, wenn ich mich um die grafischen Funktionen (linien zeichnen,
und so) kümmere. Zur Zeit kann meine Software nur Texte (in
verschiedenen ) Größen ausgeben. Was mich bei deinem Display etwas
stört ist, dass es nicht einmal die WRITE-Leitung gibt!

Was die Zeiten betrifft: Die sind alle im ns-Bereich, die Zykluszeit
für einen Befehl ist bei einem PIC 4/fosc also 1us bei einem 4MHz-Takt,
geht sich also locker aus.

Ich hoffe ich habe dir etwas weiter geholfen.

mfg
Stefan B.

von Norad (Gast)


Angehängte Dateien:

Lesenswert?

Hi!
@Harry
Sieht irgendwie wie mein Diplay aus!( EA DIP 122 - 5 von Elektronik
Assembly)


Dein Bild zeigt das Linke und Rechte Displayhälfte nicht richtig
Initalisiert sind bzw. LCD nicht gelöschst wurde und so wird zuffälig
pixel ansthehen. Solche Probleme hatte ich auch am Anfang.

Zudem wird mein Kontrast noch über eine Negative Spannung eingestellt.


Kannst ja mal in meinen Dateianhang reinschauen ist leider für 8051
Derivate aber vielleicht hilfts dir weiter.

Bei mir verwende ich das 68MPU interface. Bei mir war in der
Dokumentation für die Auswahl der MPU falsch beschrieben.
Bei meinen Display ist es nicht nötig einen externen Takt anzulegen.

Viel erfolg!

von Daniel R. (daniel_r)


Lesenswert?

Das Datenblatt des SED1520 ist wirklich der letzte Schrott.
Ich hab auch erst letztens ein LCD mit SED1520 angesteuert. Bei mir
lief es letztendlich durch Zufall.
Ich habs auch auf einem ATmega16 mit ASM laufen.
Die Geschwindigkeit des LCDs ist enorm! Mein AVR läuft auf 8MHz und ich
kann Vollgas Daten rüberjagen und es gibt keinen einzigen Fehler dabei!


Gruß

Daniel

von Harry (Gast)


Lesenswert?

Ich bedanke mich bei euch! Mir ist es soeben gelungen ein paar Bitmuster
auszugeben.
Verblüffend ist mal wieder wie sich diese Elektronik so verhalten kann.

Falsche Kontrasteinstellung: Bild viel viel zu Hell.
Falsche Ansteuerung: Unvorhergesehene Reaktion.
Falsche Kontrasteinstellung UND falsche Ansteuerung: siehe Bild oben.
Sieht doch ziemlich funktionstüchtig aus, oder?

Aber nach stundenlangem Rumprobieren funzts jetzt endlich.
DANKE

von Harry (Gast)


Lesenswert?

Guten Tag.
Ich bin es nochmal.
Da ich von einem Freund gebeten wurde, ihm meine Erkenntnisse zu
vermitteln und da im Internet wirklich nicht viel zu diesem Thema zu
finden ist, habe ich einfach mal mein eigenes Tutorial geschrieben. Es
handelt sich dabei um meinen ersten öffentlichen Text überhaupt, also
stampft mich bitte nicht völlig ein. Wer allerdings schwerwiegende
Fehler findet möchte mich bitte darauf hinweisen.

Danke

http://www.harrygr.de/Elektronik/GLCD/index.htm

von Kai R. (kairiek)


Lesenswert?

>Ich habs auch auf einem ATmega16 mit ASM laufen.
Die Geschwindigkeit des LCDs ist enorm! Mein AVR läuft auf 8MHz und
ich
kann Vollgas Daten rüberjagen und es gibt keinen einzigen Fehler
dabei!

Kann ich nur bestätigen. Das Einzige, was das Display meiner Erfahrung
nach braucht ist ein vernünftiger Reset vor dem Initialisieren. Dann
ist es aber ziemlich egal, ob man sich an die Timings im DB hält.

MFG

Kai

von Harry (Gast)


Lesenswert?

Es hat bei mir wirklich sehr lange gedauert, bis durchgesickert war, was
„μs“ eigentlich sind. Dass das so sagenhaft schnell
ist, dass man sich bei 8MHz AVR-Takt wirklich keinen Kopf machen muss,
kann ich jetzt auch nur noch bestätigen.
Auch schon des Öfteren gelesen und hier eingetreten: Nach dem Reset
sollten diverse Einstellungen auf Standartwerte stehen … ist
nicht so! Man muss alle Einstellungen selber machen.
Ansonsten ist das Ansteuern gar nicht sooo schwer!

von Harry (Gast)


Lesenswert?

Es hat bei mir wirklich sehr lange gedauert, bis durchgesickert war, was
"µs" eigentlich sind. Dass das so sagenhaft schnell ist, dass man sich
bei 8MHz AVR-Takt wirklich keinen Kopf machen muss, kann ich jetzt auch
nur noch bestätigen.
Auch schon des Öfteren gelesen und hier eingetreten: Nach dem Reset
sollten diverse Einstellungen auf Standartwerte stehen ... ist nicht
so! Man muss alle Einstellungen selber machen.
Ansonsten ist das Ansteuern gar nicht sooo schwer!

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.