Forum: Mikrocontroller und Digitale Elektronik Neues 128*64 Display Pollin


von Alexander Sewergin (Gast)


Lesenswert?

Hey Leute!
Ich habe mal gerade bei Pollin den LCD-Modul Hyundai HP12542R-DYO
Display entdeckt.

Grafisches Display (128x64 Punkte) mit integriertem Controller SED1565
und grüner LED-Hintergrundbeleuchtung. Kann man den Controller für AVR
zwecke benutzten und gibts dafür schon fertige Libaries?

von Benedikt (Gast)


Lesenswert?

Kann den keiner mehr programmieren ?
Alle schreien immer gleich nach Libraries...
Lad die das Datenblatt runter und fang an eins zu schreiben.
Aber vorher musst du noch irgendwie das 0,5mm Raster des Kabels
irgendwo anschließen.

von Läubi (Gast)


Lesenswert?

Kann man irgenwo den passende Connectoren erhalten?
Weil ich meine anosnten ist das Display schon interessant!

von Stephan (Gast)


Lesenswert?

Hallo!

Gibt es für diesen Controller ein Programm welches Bitmaps in ein für
das Display nutzbares Format umrechnet? Oder muss ich das selber Hand
anlegen??

Viele Grüße
Stephan

von spartakus (Gast)


Lesenswert?

am besten selbst hand anlegen. dann erhält man immer genau das, was man
programmiert...

von tripledot (Gast)


Lesenswert?

bei einem ähnlichen pollin-display (das von optrex) war eine diskette
mit software (& quellcode) drauf...dort konnte man auch bmp's
reinschieben...vielleicht gibt's ja sowas bei deinem display auch...

und ich bin bei solchen sachen, wie meine vorredner auch für das
"selber machen macht schlau"

denn nur dann kannst du die volle performance richtig ausnutzen... :)

von Sausemann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo allerseits,
habe mir da Display auch mal zugelegt - nur leider bekomme ich es nicht
zum laufen :-( Vielleicht kann mir hier jemand helfen.
Habe folgendes:
ATMega16
RES PA0
CS PA1
A0 PA2 (Für was ist der eigendlich???)
E PA3
D0-D7 PB

Sende die Initbefehle laut Datenblatt:
ldi temp1, 0x01    ;RES aktiv
out PORTA, temp1
rcall delay5ms
ldi temp1, 0x00    ;RES deaktiv
out PORTA, temp1
rcall delay50us
ldi temp1, 0x40    ;Start Display Line = 0
out PORTB, temp1
rcall delay50us
ldi temp1, 0xA0    ;ADC = norm (normale Anzeigerichtung)
out PORTB, temp1
rcall delay50us
ldi temp1, 0xA3    ;LCD-Bias = 1/7
out PORTB, temp1
rcall delay50us
ldi temp1, 0x28    ;LCD-Spannungserzeugung/Regelung ein
out PORTB, temp1
rcall delay50us
ldi temp1, 0x20    ;V5 Regulator Resistor Ratio = 0 (externer Widerst.)
out PORTB, temp1
rcall delay50us
ldi temp1, 0xAC    ;Static Indicator off
out PORTB, temp1
rcall delay50us

Bisher macht es keine anstallten etwas anzuzeigen, bzw sich richtig zu
initialisieren.
Bin für jede Anregung dankbar

von Sausemann (Gast)


Lesenswert?

sorry -- anstalten natürlich ohne ll (auch wenn ich mir manchmal so
vorkomme, als wenn ich im Stall sitze)

von Manos (Gast)


Lesenswert?

@tripledot & Co
Das mag schon sein, dass "selber machen schlau" macht und vielleicht
kann man auch nur so die volle Performance rausquetschen... aber
hilfreich ist das nicht wirklich.

Vielleicht gibt es auch Leute die lieber ihr Projekt fertig bekommen
wollen als der 1.000.000ste zu sein der das Rad neu erfindet. Und wenn
ich nicht so fit in der Materie bin glaube ich kaum, dass mein erster
Versuch wirklich die volle Performance rausholt - eher wird es
frustrierend sein ständig neue Fehler in den eigenen Routinen zu suchen
weil wieder mal was nicht klappt.

Lern-Effekt kann auch dadurch kommen einen fremden Code zu verstehen...

von Hannes L. (hannes)


Lesenswert?

Ja, es gibt immer wieder Leute, die von anderer Leute Arbeit profitieren
wollen, ohne selbst etwas dafür zu tun. Diese Species wird vermutlich
nie aussterben...

...

von Manos (Gast)


Lesenswert?

@...HanneS...
Ich sehe jetzt das Problem nicht.. er hatte nur gefragt, ob jemand eine
Librarie hat (oder kennt) - nicht dass ihm einer das Programm schreibt.

Nur weil er nicht alles selber austüfteln will ihn (oder mich) als
Schmarotzer zu bezeichnen finde ich jetzt dann doch etwas unfair. Wer
die Ergebnisse seiner Arbeit nicht teilen will muß es ja nicht, aber
vielleicht gibt es ja jemanden der ihm helfen will und keine Probleme
damit hat seinen Code rauszurücken...

von Sausemann (Gast)


Lesenswert?

@...HanneS... und Manos
ich suche ja keinen fertigen Code ... nur bin ich leider mit meinem
Latein am ende ...

von Karl H. (kbuchegg)


Lesenswert?

In dem von Dir geposteten Datenblatt steht zb. schon mal:

Die Intialisierung erfolgt ...

  /RES low (Reset)
  /Res high
  ...

wie Du allerdings mit dem Code

ldi temp1, 0x01    ;RES aktiv
out PORTA, temp1
rcall delay5ms
ldi temp1, 0x00    ;RES deaktiv
out PORTA, temp1

einen low-Puls erzeugen willst, ist mir schleierhaft, da Du ja
laut eigener Beschreibung den PA0 drekt mit /RES verbunden hast.
-> Dein Controller ist staendig auf Reset.

von Hannes L. (hannes)


Lesenswert?

@Manos:

Ich hatte mir vor längerer Zeit das Datenblatt des ersten preiswerten
Grafik-Displays mit SED1565-Controller angesehen weil mir dieses LCD
gefiel. Nach dem Lesen des Datenblattes entschied ich, dass ich es
nicht kaufe, da mir die Programmierung zu aufwendig ist. Ich verzichte
also darauf, weil es mein (momentanes) Wissen dazu nicht ausreicht.
Daher kann ich auch jetzt keine LIB oder keinen Code veröffentlichen.

Dass du mich nun als unfair bezeichnest, kann ich nicht ganz
nachvollziehen. Wenn du dich hier im Forum etwas umschauen würdest,
dann würdest du auch feststellen, dass ich schon des Öfteren geholfen
habe und dass ich auch schon öfters (gut kommentierten) Code
beigesteuert habe.

Von meiner oben getroffenen Aussage nehme ich nichts zurück, denn ich
stehe zu dem, was ich schreibe. Ich stehe sogar mit meinem vollen Namen
dazu und verstecke mich nicht hinter einem Pseudonym.

Bit- & Bytebruch...
...HanneS...

von Karl H. (kbuchegg)


Lesenswert?

> A0 PA2 (Für was ist der eigendlich???)

Ich denke Du hast das 'Datenblatt' gelesen?
Steht doch eindeutig da:

 20  A0   Control(low) / Daten(high) Register

Damit wird also die Unterscheidung zwischen getroffen,
ob die an D0..D7 anliegenden Daten ins Control oder
ins Datenregister uebernommen werden sollen.

Und ueberhaupt: Du bedienst weder die CS noch die E
Leitungen. Einfach nur die Daten am Port anlegen und dann warten
ist wohl etwas zuwenig :-)

Laut 'Datenblatt' liegt dem Display ein Windows-Program bei.
Ist da Source-Code dabei? Hast Du den mal studiert?

Weiters empfehle ich den Abschnitt LCD-Ansteuerung im Tutorial
mal zu studieren. Auch wenn das ein anderer Controller ist, der
eine andere Initialisierungssequenz besitzt, so ist das Grundprinzip
wie man Daten in den Controller taktet ja doch identisch.
  1) Daten anlegen
  2) E Pin toggeln  -> Controller uebernimmt die Daten

von Karl H. (kbuchegg)


Lesenswert?

Ach ja:
Und den Chip Select nicht vergessen!
Solange /CS high ist, kannst Du an den Pins wackeln soviel
Du willst, das Display ignoriert alles. Erst durch einen
low Pegel (daher auch das / in /CS) reagiert das Ding.

von Sausemann (Gast)


Lesenswert?

@kbuchegg
danke erstmal ...
habe es mit Low und high probiert an RES probiert, jedoch ohne erfolg.
Ich hatte irgendwo gelesen, und auch durch die beigefügten Treiber
gesehen, daß dies umgekehrt wäre wie im Datenblatt angegeben.
Bin gerade nochmal dabei das Datenblatt zu studieren, mal schauen ob
ich gestern nur ein Brett vor dem Kopf hatte ...

von Jochen (Gast)


Lesenswert?

@Benedikt
weder programmieren noch die suchfkt benutzen ;)
schaut mal hier hat Benedikt mal genau zu diesem thema parat
http://www.mikrocontroller.net/forum/read-4-234145.html

:)

von Sausemann (Gast)


Lesenswert?

@ kbuchegg
bin nochmal alles durchgegangen und habe die Source des Links von
Jochen [@Jochen - Danke) durchgegangen.
In Assembler geändert und siehe da ->Init funks
Hatte zuerst die C-Source von Pollin genommen und da hab ich
anscheinend etwas übersehen ... vielleicht war es auch schon zu spät
;-)
Mit dem schreiben bekomme ich nun hoffentlich auch hin ... wenn nicht
hoffe ich, ich darf nochmal um Rat fragen ...
danke nochmals

von Sausemann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
leider habe ich anscheinend doch noch ein Problem.
Init haut hin.
Möchte den lcd_clear durchführen. Jedoch bleibe ich immer in der selben
Zeile. Laut Datenblatt und Treiber muss nur ein logisches or mit B0 und
1 vorgenommen werden um in die nächste Zeile zu gelangen ...
anscheinend leider nicht :-(
Habe den lcd_init so angelegt, daß ich die Ausgabe erstmal testen kann
- also bitte nicht wundern.

Danke

von Sausemann (Gast)


Lesenswert?

Hallo,
leider bin ich noch immer nicht weitergekommen ... vielleicht weiß
jemand mehr?

von Sausemann (Gast)


Lesenswert?

habe den Fehler gefunden ... war Hardware ... aber trotzdem danke

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.