PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hyundai 128x64 LC-Display



ShadowPhoenix
29.09.2005, 03:04
Hallo!

Ich möchte das (von pollin.de wohl bekannte) Hyundai HP 12542R-DYO 128x64 pixel LC-Display mit einem ATmega8 ansteuern.
Es arbeitet mit einem SED1565, hat 8 Datenleitungen, sowie eine Enable, Read/Write, Control/Daten-Register und ChipSelect- Leitung.

Nun, kann ich das Display mit BASCOM einfach ansteuern? Daher, reichen Befehle aus, oder muss ich jedes Pixel einzeln definieren/aktivieren?

Wie sieht es mit der Verkabelung aus? Jede Leitung an einen Port, egal welchen?

Mein erstes Mal, dass ich ein Grafikdisplay ansteuere.
MfG,
ShadowPhoenix

EDIT:
Eins noch, das Display arbeitet laut Datenblatt mit 6800 baud, mein restliches System aber mit 9600 baud, wie kann ich dieses Problem lösen?
Denn der AVR, der das Display ansteuert, bekommt Befehle mit 9600 baud.

albundy
30.09.2005, 18:45
Hallo,

Eins noch, das Display arbeitet laut Datenblatt mit 6800 baud, mein restliches System aber mit 9600 baud, wie kann ich dieses Problem lösen?


Da verwechselst du etwas. Das Display ist auf den Prozessor 6800 eingestellt.


Es arbeitet mit einem SED1565, hat 8 Datenleitungen, sowie eine Enable, Read/Write, Control/Daten-Register und ChipSelect- Leitung.


Du sagst es, es wird parallel mit 8 Datenleitungen angesteuert.


Nun, kann ich das Display mit BASCOM einfach ansteuern? Daher, reichen Befehle aus, oder muss ich jedes Pixel einzeln definieren/aktivieren?

Im Datenblatt vom Controller steht wie es geht. Das Display wird Zeilenweise beschrieben (0 - 7) mit je 8 Bit pro Spalte (0 - 127).
Bascom unterstützt diesen Controller leider nicht. Der Controller SED1565 hat leider auch keinen integrierten Zeichensatz, was die Ansteuerung nicht gerade leichter macht. Ich bin zwar gerade dabei eine Library für das Display zu schreiben, wird aber noch eine Weile dauern, da ich kaum Zeit dafür habe.

ShadowPhoenix
30.09.2005, 23:11
Daher kann ich das Display mit 9600 baud ansteuern?

Leider kenne ich mich mit so etwas nicht aus, gibt es irgendwo ein Tutorial, oder jemanden, der sich gut auskennt?

Aus dem Datenblatt werde ich nicht schlau :(

MfG,
ShadowPhoenix

albundy
01.10.2005, 11:05
Daher kann ich das Display mit 9600 baud ansteuern?

Das kannst du vergessen, der Controller ist auf Parallel eingestellt. Um das zu ändern, müßtest du Pin P/S (Parallel/Seriell) vom Controller auf Low legen. Wie willst du das machen ?

Um jetzt einen Buchstaben auf das Display zu bringen mußt du:

1. Reset vom SED1565 auf High schalten.
2. Display initialisieren mit den Kommandos aus der „disptest1.pas“
3. Dann einen Buchstaben in Zeile 1-8 und Spalte 1-128 darstellen.

Der Buchstabe „A“ (5x7 Pixel) wird folgendermaßen dargestellt:

Bit 0 - 0 1 1 1 0 0
Bit 1 - 1 0 0 0 1 0
Bit 2 - 1 0 0 0 1 0
Bit 3 - 1 0 0 0 1 0
Bit 4 - 1 1 1 1 1 0
Bit 5 - 1 0 0 0 1 0
Bit 6 - 1 0 0 0 1 0
Bit 7 - 0 0 0 0 0 0
--------------------
Byte - 1 2 3 4 5 6

-Auf Command umschalten A0 auf "0"
-Kommandos über D0-D7 senden:
-Command $B0 + Pageadresse ( Zeile 0 - 7 )
-Command $10 + Columnadresse High ( 4 Bit High für Spalte 0 - 127 )
-Command $00 + Columnadresse Low ( 4 Bit Low für Spalte 0 - 127 )
-Auf Daten umschalten A0 auf "1"
-Datenbytes über D0-D7 senden:
$7E,$11,$11,$11,$7E,$00

Im Datenblatt sind eigendlich nur Seite 28 mit den Displayadressen und Seite 56 mit den Kommandos wichtig.

ShadowPhoenix
01.10.2005, 11:40
Danke für die Zusammenfassung!

"Das kannst du vergessen, der Controller ist auf Parallel eingestellt. Um das zu ändern, müßtest du Pin P/S (Parallel/Seriell) vom Controller auf Low legen. Wie willst du das machen ?"

Was bedeutet das, parallel?
Also kann ich den nicht mit einem AVR ansteuern? Oder doch?
Wichtig ist, der AVR hat ganz bestimmt 9600baud eingestellt.

Pin P/S vom Controller auf Low legen, das geht doch ganz einfach?

Hmm... ganz blick ich nicht hindurch :O

MfG,
ShadowPhoenix

albundy
01.10.2005, 12:50
Was bedeutet das, parallel?

Ist das dein ernst ?
Parallel bedeutet über 8 Datenleitungen.

Also kann ich den nicht mit einem AVR ansteuern? Oder doch?
Wichtig ist, der AVR hat ganz bestimmt 9600baud eingestellt.
Der AVR muß 8 Ports für die Datenleitungen + 4 Ports für die Steuerleitungen frei haben.
Was hast du ständig mit den 9600baud ?
9600baud ist eine serielle Datenübertragungsrate, und ist hierbei völlig egal.

Pin P/S vom Controller auf Low legen, das geht doch ganz einfach?
Ach ja ?
Ich habe den SED1565 auf dem Display noch nicht einmal gesehen !!!

ShadowPhoenix
01.10.2005, 15:24
Ah ich verstehe, also werde ich das Display parallel steuern.
(Also nicht mit PRINT ?!)
Gibt es dazu Beispiele in Bascom?

In meinem Code wird geschrieben:
$baud = 9600

(ich stelle mit dem AVR eine serielle Übertragung mit einem TRX her)

Daher hatte ich Bedenken, dass der AVR nicht mit dem Display kommunizieren kann.

MfG,
ShadowPhoenix

izaseba
01.10.2005, 15:53
Hallo ShadowPhoenix,
weißt Du überhaupt was Du da tust?
was hat die Baudrate mit dem Display zutun?
Ich würd auf Deiner Stelle mal mit was ganz kleinem anfangen,
z.B. ein normales LCD Display ansteuern, aber nicht mit den Bascom Routinen, sondern"zu Fuß" Befehl für Befehl übertragen.
Dann verstehst Du vielleicht, wie es anzusteuern geht.
Man hat Dir schon ein Beispiel genannt, wie man einen Buchstaben
auf das Display überträgt, schau Dir das mal an und baue den Rest darauf.

Gruß Sebastian

ShadowPhoenix
01.10.2005, 16:56
Das Problem ist, ich weiß nicht, welche Befehle ich in BASCOM verwenden muss, um über die Datenleitungen zu senden.

Und hat ein Byte nicht 8 Bit? Bei albundy's Beispiel nur 6?

MfG

izaseba
01.10.2005, 19:15
Das Problem ist, ich weiß nicht, welche Befehle ich in BASCOM verwenden muss, um über die Datenleitungen zu senden.

Du denkst einfachmal zu kompliziert,
Es gibt doch Bascom Befehle um Pins auf logisch 0 oder logisch 1 zu setzen, oder nicht?
Du brauchst dann 8 Pins von AVR die mit dem Display verbunden sind, das sind dann Deine Datenleitungen und 4 Pins zum Steuern, also insgesamt 12 freie Pins, jetzt gibt es sicher eine Resetsequenz, die Du am Anfang ausführen mußt, also irgendwas an die 8 Datenpins anlegen und irgendwas an die Steuerleitungen, was man machen muß, ließt Du einfach im Datenblatt zu Deinem Display.
So wie Albundy schon schrieb, gibt es wohl keine Möglichkeit, das per ein Befehl zu machen, da mußt Du Dir Deine eigene Bibliothek schreiben, aber ohne das Datenblatt zu lesen wirst Du es kaum schafen, es sind ja nur 2 Seiten, die wichtig sind, aber wie gesagt, ich würde erstmal mit einem normalem LCD-Display üben, bevor ich damit anfangen würde.

Gruß Sebastian

Guy
02.10.2005, 13:57
Das Problem ist, ich weiß nicht, welche Befehle ich in BASCOM verwenden muss, um über die Datenleitungen zu senden.

Und hat ein Byte nicht 8 Bit? Bei albundy's Beispiel nur 6?

MfG

Ich habe dir die Nullen mal gelöscht.

Und was siehst du ??

Bit 0 - ..111
Bit 1 - 1......1
Bit 2 - 1......1
Bit 3 - 1......1
Bit 4 - 11111
Bit 5 - 1......1
Bit 6 - 1......1
Bit 7 -


Ein ??



Wie Sebastian so schon sagt, klein anfangen

ShadowPhoenix
02.10.2005, 22:53
Oh, hmm ich dachte ein BIT ist immer nur 0 oder 1.
Also ist ein BYTE eine Zahlenfolge von 8 "Nullen" oder "Einsen" ?
Anscheinend doch nicht hmm..

Guy
03.10.2005, 08:08
Hallo,

Sicher hat ein Byte 8 bit von 1 oder 0.

Ich wollte ShadowPhoenix nur verdeutlichen daß diese 6 Byte (mit 8 bit) einen A darstellen. Daß die Bytes von Oben nach Unten zusehen sind, sollte er schon selber herausfinden.

Aber jetzt siehst du es auch, oder ??

michaelF
18.10.2005, 14:35
Bascom unterstützt diesen Controller leider nicht. Der Controller SED1565 hat leider auch keinen integrierten Zeichensatz, was die Ansteuerung nicht gerade leichter macht.

Ich habe auch solch ein Display, welches ich an einem Atmel anklemmen wollte. Geht es nun oder nicht?

Bascom Ver. 1.11.6.9
- glcdSED.lib added for SED1565 graphical display support.
Should work with all SED based chips. See sed.bas
GLCDDATA and GLCDCMD added.
LCDAT added for SED LCD
display on/off works
SETFONT added for using different fonts
See SED.bAS demo file

Sleepy-01
01.12.2005, 21:16
Hallo

So hat eigentlich nur was mit dem Display zu tuen... nichts mit irgendwas ategma.
Also ich hab mir auch das Display mit Steuerplatine gekauft... is auch alles zusammengelötet, hab auch die ganze verdammte platine nach kurzschlüssen untersucht oder ob ein pin von dem ffc stecker nicht richtig angelötet ist hab alles getestet.
Aber die dumme LCD wollte einfach nich mit dem Testprogramm funktionieren...
Bis mir dann bzw meinem Vater^^ das ich da ausversehen 7,5-8V dran hängen hab, und naja sollte ja 5V sein, jetzt wollt ich fragen ob es sein kann ob ich irgendwas in der LCD abgeschossen hab bzw wie große die chance is und wie ich das vielleicht nachtesten kann, und ob es sein kann das die LCD genrell nich geht wenn ne zu hohe Spannung anliegt, weil die eignangspannung von dem Parallel Port wenn ein Pin 1 ist 5V ist und dann die versorgungsapnnung auch 5V sein muss, oder könnte es irgend nen Grund geben das es mit ner Zuhohen Spannung nicht geht, ach und btw die Hintergrundbeleuchtung geht.

Sleepy

EDIT: ach habt ihr mir vielleicht irgendwelche Tipps woran das liegen könnte? und mein Parallel Port scheint zu funktionieren...