Forum: Projekte & Code The Siemens S65 132x176, 65536 color display with AVR


von Borsty (Gast)


Lesenswert?

>War da auch Fading ?

Halbwegs :P.. In der Demo ist's so gelöst das ich dem Controller 
jedesmal sage das er die Farbe ändern soll und dann halt das ganze 
überzeichnet.

Eventuell komm ich aber auf die Idee mit dem Fading zurück. Spart ne 
Menge an Daten ^^

Worüber ich mir noch Gedanken machen muss ist die Sache mit dem 
Empfangspuffer. Hin und wieder hab ich das Problem das mir das array zum 
zwischenspeichern der daten vom UART ( immerhin 256 byte ) überläuft.. 
das muss nochmal neu überdacht werden :)

von Wulf (Gast)


Lesenswert?

Über 1000 Beiträge beweist, es ist Bedarf an dem Display-Code.
Respekt!!!

von Borsty (Gast)


Lesenswert?

Ja nu was will man sagen.. Display ist relativ günstig zu beziehen, 
ansteuerung relativ einfach gehalten und der effekt ist groß (176x132 
pixel in farbe uiuiuiuiui :D)

von Marc S. (eurofighter) Benutzerseite


Lesenswert?

@ Borsti

Schaut im Prinzip schomal sehr schön aus !

aber sagmal, warum verwendest du nicht einfach schonmal eine vorgegebene 
Lib und bindest an die einfach nur ein uart-interface an ? auf die art 
könntest du das ganze projekt an einem Tag realisieren :)

ajo, und noch ne Frage. möchtest du wirklich einen mega2561 verwenden ?? 
ein mega128 ist schon überdimensioniert, das ganze würde sich sogar auf 
nem mega32 noch vollkommen wohlfühlen :) vorteil wäre, das das projekt 
weit günstiger zu realisieren ist ! (ein Beispiel: meine C-Grafiklib 
nimmt 5700byte Flash und 23byte Ram ein ;) da vielleich noch die einie 
andere Funktion zu, und dann das USART-Terminal und du bist imernoch 
recht sicher unter 16k)

wenn du ein Projekt machst, das für viele leute sein soll ist ein 
günstiger nachbaupreis sowie eventuell auch eine Version nur für 
bedrahtete Bauteile immer von Vorteil :)

von Klaus (Gast)


Lesenswert?

@Gunni
ich habe mehrere Display3000 Module (anfangend seit 2005) im Einsatz und 
ich kann bestätigen das die Software mit den hier kursierenden 
Fragmenten nichts zu tun hat. Das ist lediglich ein Gerücht und bislang 
ist ja auch jeder den Beweis schuldig geblieben. Ich glaube auch nicht 
das hier abgeschaut wurde, denn etliche Befehle (z.B. 90° Drehung war 
von Anfang an vorhanden) waren in der Display3000 Doku schon 
dokumentiert bevor sie hier auftauchten...teilweise fehlen sie hier auch 
noch (z.B. die Abschaltsequenz). Es ist also vielleicht sogar umgekehrt: 
jemand holt sich die infos dort und setzt sie hier rein. Aber das ist 
nur Vermutung. Keine Ahnung warum Display3000 diese Gerüchte hier nie 
dementiert; vielleicht um keine Trolle zu wecken.

Das 1.5" ist tatsächlich ein 65000 Farben Display, was ein wesentlich 
besseres Bild als das übliche 4096 Farben Nokia Display hat.
Die Softwareroutinen gibt es übrigens für beide Displays als Library in 
C und Basic. Die Kommandos sind bei beiden Displays identisch, d.h. man 
kann jederzeit von einem Display zum anderen switchen: einfach nur die 
neue Library im File angeben und neukompilieren: Fertig.

Ich war übrigens vor ca.4 Wochen mal dort um was abzuholen. Sie hatten 
vergessen von einem hinteren Tisch was wegzuräumen - geile Sachen habe 
ich gesehen..... ist für ein Kundenprojekt und ich musste versprechen 
nicht drüber zu sprechen.... also halte ich die Klappe, auch wenn es 
schwer fällt. Wenn es das mal dort für alle zu kaufen gibt: Hammer!

Klaus

P.S. Habe über den Youtube Link oben auch Leute entdeckt, die einen 
Bierbrauautomaten (ob meine Freundin mir sowas wohl erlauben würde 
ggg) mit einem älteren D072 von Display3000 programmieren:
Hier sind ein paar Links:
http://www.youtube.com/watch?v=xtSXgI_YnPg und
http://www.youtube.com/watch?v=ReRWOblLscM

von Borsty (Gast)


Lesenswert?

>aber sagmal, warum verwendest du nicht einfach schonmal eine vorgegebene
>Lib und bindest an die einfach nur ein uart-interface an ?

wäre doch viel zu einfach ;)

>ajo, und noch ne Frage. möchtest du wirklich einen mega2561 verwenden ??

Nö, nur entwickel ich das ganze auf dem bereits angesprochenem Modul von 
Display3000, neue Displays werden demnächst bei ebäh bestellt, abhängig 
von der code größe entscheide ich mich dann für einen passenden atmega.

Alle Register u.Ä. werden am Ende mit defines gesetzt damit man das 
direkt auf verschiedener hardware benutzen kann :)

von Troll (Gast)


Lesenswert?

@Klaus

>vielleicht um keine Trolle zu wecken.

Ich habe sogar Gerüchte gehört, hier würden Trolle manchmal 
Schleichwerbung machen :o)

von EDAconsult Udo Kuhn (Gast)


Lesenswert?

Vielleicht ist so etwas von interesse.

http://serdisplib.sourceforge.net/index.html

Dann noch etwas zur GLCD.lib

Beitrag "ATmega8 durch ATmega168 ersetzen"

von Markus B. (wolframator)


Lesenswert?

Nach 2 Tagen lesen hab ich jetzt alles durch... Leider wurde die Frage 
bzw. des Software SPI noch nicht beantwortet. Ich würde das Display 
gerne per Software SPI nutzen, da mein Hardware SPI bereits in Nutzung 
ist. Gibts dadurch Nachteile die man bedenken sollte?

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Alles n stück langsamer, sonst eigentlich nix besonderes.

von günny (Gast)


Lesenswert?

@ wolframator:

SPI ist doch ein Multi-Slave-Bus. Was spricht dagegen, das LCD mit an 
die Hardware-SPI zu hängen?

von Markus B. (wolframator)


Lesenswert?

Also langt es Slave-Select von Komponente A oder Komponente B auf Hi bzw 
Lo zu setzen wenn ich gerade Daten schreiben will die nur Für A oder B 
sind?

von Marc S. (eurofighter) Benutzerseite


Lesenswert?

jup, richtig. nur der slave bei dem CS auf LOW ist nimmt aktiv am 
Busverkehr (sei es nun lesen oder schreiben) Teil, die anderen 
ignorieren einfach alles

von Garag (Gast)


Lesenswert?

Hallo,

ich konnte jetzt auch endlich meinen Aufbau (Mega 644 mit 74HC4050 als 
Levelshifter und S65 Display) zum Laufen bringen.

Dabei hatte ich mit einigen Problemen zu kämpfen:

1) Hardware SPI benutzt andere Pins (Wer lesen kann ist doch klar im 
Vorteil :-))
1
#define LCD_CS     B,0
2
#define LCD_RESET  B,1
3
#define LCD_RS     B,2
4
5
// Info: Es wird Hardware-SPI verwendet vvvvvv
6
#define LCD_MOSI   B,5
7
#define LCD_MISO   B,6
8
#define LCD_SCK    B,7
9
// Info: Es wird Hardware-SPI verwendet ^^^^^^

2) SPI ging immer von selbst in den Slave Mode. Nach genauem Studium des 
Datenblattes musste ich feststellen, das es besser ist SS(PB4) als 
Ausgang zu schalten da ansonsten bei einem Low Pegel automatisch auf SPI 
Slave umgeschaltet wird.
1
int main(void)
2
{
3
  PORTB &= ~_BV(PB4);
4
  DDRB |= _BV(PB4);
5
6
    S65_Init();
7
  S65_HgBelInit(2);
8
  S65_Fillscreen(0xFFFF);

3) Timer2 Einstellungen an den 644 angepasst. Die Hintergrundbeleuchtung 
liegt bei mir jetzt auf PD7 (OC2A).
1
void  S65_HgBelInit(uint8_t Helligkeit){
2
  PORTD &= ~_BV(PD7);  // clear port before enable
3
  DDRD |= _BV(PD7);  // will be used for OC2, must be output
4
  TCCR2A = _BV(WGM21) | _BV(WGM20) | _BV(COM2A1);
5
  TCCR2B = _BV(CS20);
6
  TCNT2=0x00;  
7
  OCR2A=pgm_read_byte_near(&HG[Helligkeit]);
8
}

Nachdem dann doch alles lief wollte ich zum Test eine Grafik auf dem 
Display ausgeben und wurde mit recht merkwürdigen Balkengrafiken 
belohnt. Nach einigem hin und her lief es dann doch. Bei dem Aufruf von 
"S65_PutRawBmp16" müssen anscheinend Höhe und Breite getauscht werden. 
Mit folgendem Aufruf hat es dann mit einem vollflächigem Bild gepasst:
1
  S65_PutRawBmp16(0, 0, S65_test_pic_bmp, S65_test_pic_HEIGHT, S65_test_pic_WIDTH);

Ich wünsche allen noch viel Spaß beim Basteln.

von Frank H. (huene)


Lesenswert?

Hallo,

 ich habe versucht die Power down Sequenz für das Display LS020 
einzubauen.

 Hierzu habe ich die lch.h wie folgt erweitert.
1
const char PowerDown1[] PROGMEM = {
2
0xEF, 0x00, 0x1B, 0x04, 0xFE, 0xFE, 0xFE, 0xFE, 0x7E, 0x04, 0xE3, 0x04, 0xE4, 0x04,
3
0xE2, 0x01, 0x80, 0x00, 0xE0, 0x01, 0x7F, 0x01
4
};
5
6
const char PowerDown2[] PROGMEM = {
7
0xE0, 0x00, 0x7F, 0x01
8
};
9
const char PowerDown3[] PROGMEM = {
10
0x01, 0x01
11
};
12
13
void lcd_PowerDown(void)
14
{
15
  LCD_PORT |= _BV(LCD_CS);     
16
  LCD_DIR |= _BV(LCD_CS);       
17
18
  wrtab(PowerDown1, 22);
19
  mswait(5);
20
  wrtab(PowerDown2, 4);
21
  mswait(5);
22
  wrtab(PowerDown3, 2);
23
  
24
  LCD_PORT &= ~_BV(LCD_CS);  // select Display
25
}

Wenn ich nun die Power down Routine aufrufe, verschwindet die Anzeige 
(Hintergrundfarbe und Text) auf dem Display langsam. Vom Verhalten 
ähnlich wie beim Ausschalten der Displayversorgungsspannung. Ist das 
normal oder müsste das Display schlagartig weiß werden?

Falls das Display eigentlich sofort weiß werden müsste, hatt dann jemand 
eine Idee, was ich evtl. übersehen haben könnte?

Vielen Dank
 Frank

von dudu (Gast)


Lesenswert?

huene,

sah bei mir auch so aus.
die sequence ist so nicht verwertbar. war wohl mal als 
experimentieransatz gedacht. aber ist schon schade, dass sich bisher 
logikanalysator und telefon nie getroffen haben. habe da ein TLA5204, 
aber eben nix zum messen.
nur auf verdacht ein handy kaufen, von dem ich nicht weiss, ob ein LS020 
drinsteckt, nunja..

von Dominik (Gast)


Lesenswert?

Hallo!

Ich habe mich jetzt nochmal rangetraut. Nach einem Fehlversuch hatte ich 
vorerst aufgegeben, aber nun hab ich Zeit und Lust das Ding ans Laufen 
zu bekommen!
Ich nutze einen ATmega8 und habe das L2F50 Display.
Habe genau die Verschaltung von superkranz übernommen und mehrmals 
gecheckt. Geändert habe ich im Tesprogramm nur die Ports verändert:
#define LCD_CS     PB2
#define LCD_RESET  PB1
#define LCD_RS     PC0
#define LCD_MOSI   PB3
#define LCD_MISO   PB4
#define LCD_SCK    PB5
Dementsprechend ist es auch verschaltet.

Dazu habe ich nur die ersten 5 ASCII-Zeichen drin. (const uint8_t 
ascii_tab[5][14] PROGMEM = { ....... )
Als Testausgabe habe ich "!!!###". Ist es nötig dass noch ein \0 hinten 
dran hängt wie beim Testprogramm?

Mein gravierenes Problem ist halt dass ich keine Ausgabe habe. Es wird 
nichts ausgegeben. Manchmal kommt ein Bildrauschen. Aber auch nicht 
immer. SEHR komisch.

Weiß da einer Rat? Was könnte das prob sein?

MfG Dominik

von Frank H. (huene)


Lesenswert?

Hallo,

 irgendwo in diesen Thread meine ich gelesen zu haben, dass alle Signale 
auf einen Port liegen sollten. Desweiteren hatte ich das Problem das der 
Complier die Warteschleife wegoptimiert hatte. Wurde auch mal in diese 
Thread geschrieben und hatte bei mir geholfen.
Ich bin aber noch am Anfang mit meinen Versuchen in C und mit dem 
AVR-Controller. Daher habe ich sicher mehr Fragen als Antworten.

MfG
 Frank

von Gunni (Gast)


Lesenswert?

Die Signale müssen nicht zwingend auf einem Port liegen.
LCD_RS und LCD_CS sind eh software Signale (Hardwareunabhängig).
Wichtig ist bei MISO, MOSI und SCK das sie am richtigen port liegen.
Unterumständen brauchst du ja mehr CS leitungen weil du mehr Slaves dran 
hast als du Pins an dem jeweiliegen Port noch frei hast.

von Fridolin (Gast)


Lesenswert?

hallo,

auch ich habe ein problem, ich habe mich grob an die pinbelegung des 
einen bildes in diesem thread für den mega16 gehalten (is ja mega32 
pinkompatibel) und das mega32 beispiel genommen.
nun meine erste frage:

#define LCD_CS     PB4
#define LCD_RESET  PB1
#define LCD_RS     PB0
#define LCD_MOSI   PB5
#define LCD_MISO   PB6 <-- was liegt da für ein pin an? ich habe dafür 
keinen finden können
#define LCD_SCK    PB7

pflicht ist ja folgendes:
DAT an MOSI, also PB5
CLK an SCK, also PB7

aber was ist bei dem display bitte MISO? ich finde es einfach nicht.

und nun meine zweite frage:
ich erzeuge die 2,9V mit einem 3V festspannungsregler, was auch gut 
klappt (multimeter zeigt bisher ohne last 2,9 an). Wenn ich noch keine 
12V anlege für die LED-Beleuchtung, dann sieht dann müsste doch alles 
noch genau so gehn wie beim handy (anzeige sehr matt, aber dennoch 
lesbar (habe ein M65).

Grüße

PS: ich habe ein LPH88

von Gunni (Gast)


Lesenswert?

@Fridolin:
Der MISO muss für den SPI betrieb konfiguriert werden.
Auch dieser muss auf dem richtigen PIN konfiguriert werden.
Wir aber in der tat an dem Display nicht angeschlossen.

Zu deiner zweiten frage:
Ja, das Display sollte auch ohne Hintergrund Beleuchtung etwas anzeigen 
(unter Umständen etwas schlechter zu lesen als mit Bel.).
Mit welcher VCC versorgst du deinen µC? Auch mit 3V?
Ansonsten brauchst du nen Levelshifter. (Siehe weiter oben)

von Fridolin (Gast)


Lesenswert?

Mein Mega32 läuft mit 5V und somit mache ich Levelshift über die 470 Ohm 
(und 610Ohm gegen GND, wobei ich mich wundere, warum hier ein so 
geringer Widerstand gewählt wird), das sollte ja eigentlich hinhauen.
Könnte etwa Kabellänge ein Problem sein? ich habe etwa 7cm kabel vom 
Display zum 10-Pol Wannenstecker, und dann gehts von hierausnochmal 
durch die Widerstände und dann direkt mit ner Buchsenleiste an den 
Mega32.

Ich glaube, mein Fehler liegt in der Pinbelegung;
diese Beiden Pins sollten soweit ich das verstehe frei wählbar sein.
#define LCD_RS       PB0 <- LCD-Pin1
#define LCD_RESET  PB1 <- LCD-Pin2

Auch dieser sollte relativ frei wählbar sein, da es ja den Slave angibt, 
aber da öfters SS (PB4 bei Mega32) genommen wird, wollte ich mir da eine 
Fehlerquelle ersparen.
#define LCD_CS     PB4  <- LCD-Pin3

Die Restlichen Pins sind Pflicht:
#define LCD_MOSI   PB5  <- LCD-Pin5
#define LCD_MISO   PB6  <-- bleibt leer
#define LCD_SCK     PB7  <- LCD-Pin4

Dann muss noch an LCD-Pin6 und Pin8 noch 3V angelegt werde, und LCD-Pin7 
auf GND.

Und dann sollte doch das simple-demo mit anpassen der CPU, Taktrate und 
Pin-Defines funktionieren, oder?

von Thomas H. (supergrobi)


Lesenswert?

Hallo,

hat jemand schon die Lib für den MSP430 verwirklicht ?
wo finde ich das Datenblatt für das LPH88xx

ich gebs zu, ich hab mir den Thread noch nicht von ANfang bis Ende 
durchgelesen, man möge mir dies verzeihen ;)

gruß
Thomas

von Fridolin (Gast)


Lesenswert?


von Fridolin (Gast)


Lesenswert?

hmm.. find ich echt schade, dass sich keiner dazu in der Lage fühlt, 
eine klare einfache kurze Aussage zu machen, wie das vorgehen mit einer 
Mega16/32 Architektur ist...
Anscheinend haben das ja einige problemlos hinbekommen - bei mir bleibt 
halt alles schwarz.

von Michi (Gast)


Lesenswert?

Hi ihr alle,

ich versuche, die LS0XX Library in meinem Atmega 2560 Projekt 
einzubinden, bekomme aber immer eine "undefined reference", wenn ich die 
Methoden verwenden will. An was könnte das liegen?
Habe alle Verzeichnisse und Dateien wie in der Test-Datei included(Auch 
in den Projekteinstellungen). Verwende das AVR Studio

Auf was muss ich noch aufpassen, wenn ich statt dem Atmega16 den 2560 
verwenden will?

Danke schonmal
Michi

von µluxx .. (uluxx) Benutzerseite


Lesenswert?

Fridolin wrote:
> hmm.. find ich echt schade, dass sich keiner dazu in der Lage fühlt,
> eine klare einfache kurze Aussage zu machen, wie das vorgehen mit einer
> Mega16/32 Architektur ist...
> Anscheinend haben das ja einige problemlos hinbekommen - bei mir bleibt
> halt alles schwarz.

Junge...der Thread hat über 1000 Messages in denen alle möglichen 
Fehler/Probleme diskutiert wurden, da muss doch wohl genug Info drin 
sein, um dein Problem zu lösen....

von Fridolin (Gast)


Lesenswert?

µluxx, mal abgesehn von deiner doch etwas patzige Ansprache, denk mal 
kurz nach: würde ich einen solchen Post erstellen, wenn ich nicht schon 
aufgegeben hätte?
Klar, es sind viele Posts, und ich habe sie so mehr oder weniger alle 
mal gelesen (wobei fast nix hängenblieb) und dann auch schön nach 
Stichworten gesucht, aber effektiv hat es dann nicht funktioniert. Daher 
hab ich mal meine bisherigen Erfahrungen und Schritte übersichtlich 
zusammengefasst, in der Hoffnung, dass jemand weiß, was daran Falsch 
sein könnte, sodass das dann auch nachfolgenden Leuten helfen möge.

von Frank H. (huene)


Lesenswert?

@Fridolin

Ich habe mit dem Bilderrrahmenprogramm von M. Bode angefangen. Nach der 
Anpassung der Funktion mswait (wurde in der ursprünglichen Version 
wegoptimiert) funktionierte mein Display. Als Levelschifter habe ich die 
Kombination 470-560R. Hatte gerade nichts anderes in der Bastelkiste. 
Kabel habe ich mind. 10cm dazwischen + Drahtbrücken, Steckbrett usw. 
Sollte als kein Problem sein.

Mal sehen, ob ich noch etwas zum Power-Down herausfinde. Das M65 ist 
schon geöffnet. Ich wollte ein paar Drähte anbringen und dann mal 
versuchen die Power-Down Sequenz mitzuschreiben.

MfG
 Frank

von Dilligent (Gast)


Lesenswert?

Hey, geile sache mit den Displays, diese Folie zu löten is allerdings 
echt ein Krampf. Einzige Chance: IDE Flachbandkabel zerschnippeln (ham 
eh alle SATA, die alten DIngr brauchen wa nich mehr) und dann diese 
mini-einzel drähte der leitungen auf die Folie löten, das klappt 
einigermaßen.... Aber dann diese Drähte ins Steckbrett? oh mann, das is 
echt ne qual aber ich denke in 1-2 Tagen hab ichs am laufen... Hab jetz 
ersma 2-3 Stunden rumgelötet bis es einigermaßen klappt...

ich benutze 2200/2700 Ohm Spannungsteiler und komme auf ca. 2,76V, hab 
keine anderen da und ich glaube kaum das mir diese 0,14V schlaflose 
nächte bereiten werden ;) Hintergrundbeleuchtung klappt ebenfalls schön 
und sieht echt gut aus (bis mir das Kupferpad der Folie abgegangen is, 
argh!)

Naja, dafür kosten die Dinger auch nich die Welt... schöne Grüße

von Lanius (Gast)


Lesenswert?

@Thomas H

>hat jemand schon die Lib für den MSP430 verwirklicht?

die ganze Lib nicht, aber ich habe ein LS020 an einem MSP430F1611.

von Thomas H. (supergrobi)


Lesenswert?

@ Lanius

könntest Du mir den Code bitte zu Verfügung stellen ?

Gruß
Thomas

von Obelix (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen!

Kann mir jemand weiterhelfen?

Ich habe ein Display LS202 an einen atmega32 angeschlossen. Dieser ist 
intern mit 8MHZ getaktet.
Jetzt hab ich beim Programm LS202-RGB.BAS die Anzeige wie auf dem Foto.
Hat jemand ne Idee wo der Fehler liegt?

Danke

Richard

von Fridolin (Gast)


Lesenswert?

Richard, ich kann dir leider nicht helfen, aber könntest du so nett 
sein, und deine Beschaltung grob aufzeichnen und dann z.b. als Bild 
reinstellen?
Bei mir bleibt nämlich wie schon gesagt leider der Bildschirm schwarz - 
ich seh netmal so schöne Muster wie du ;D

von SuperUser (Gast)


Lesenswert?

Hallo Fridolin,

da du ja so verzweifelt bist...

Ich finde erst mal keinen Fehler bei deiner Beschaltung. Der Atmega 32 
funktioniert problemlos mit der SW und dem Display (selber getestet). 
Wenn du also die zum Display passende SW nimmst, sollte es funktionieren 
nachdem du lediglich den Takt und die Port Definition geänderst hast.

Kannst du überprüfen (Osci) ob die Signale am Display ankommen? Wenn ja, 
ist u.U. das Display defekt oder Löt-Probleme?

Grüße
 SU

von Dominik (Gast)


Lesenswert?

Hey!

@Obelix:
Also der anfang sieht danach aus als wenn du die farben falsch 
hochzählst. Was willst du da denn ausgeben? Wenn man "normal" das 
komplette Farbband, also die 5-6-5 Bit Kombi hochzählt, dann kommt 
dieses komische Muster. Der rest ist noch der test von deiner 
initialisierung.


Gruß Dominik
PS: Mein Fehler war dass ich bei der Portänderung vom B Port auf den C 
Port vergessen habe die Def alla PORTB |= ..... nach PORTC |= .... zu 
ändern. :>

von Fridolin (Gast)


Lesenswert?

Hallo SU,


> Ich finde erst mal keinen Fehler bei deiner Beschaltung. Der Atmega 32 
funktioniert problemlos mit der SW und dem Display (selber getestet).
ok, schonmal gut zu wissen, dann werd ich mal mehr an der Software 
rumspielen

> Kannst du überprüfen (Osci) ob die Signale am Display ankommen?
nein, hatte nur ein oszi geliehen. muss ich mal schauen, dass ich 
nochmal drankom.

>Wenn ja, ist u.U. das Display defekt oder Löt-Probleme?
Also auf Kabelbruch hab ich das Kabel untersucht, und durchgang (mit dem 
Entsprechenden Widerstand) hatten auch alle Leitungen...

Nunja, ich werde dann wie gesagt mal schaun, ob ich Softwaremäßig nen 
Fehler gemacht hab.

Vielen Dank!

von Lanius (Gast)


Lesenswert?

@ Thomas H.

>könntest Du mir den Code bitte zu Verfügung stellen ?

ja, muss ich aber erst raussuchen. Upload heute oder morgen.

von Lanius (Gast)


Angehängte Dateien:

Lesenswert?

hmm, ich hänge mal das ganze Projekt an.

Die interessanten Funktionen sind in display.c und vieleicht noch 
backlight.c
Das ganze Programm wird so wie es ist nicht laufen da als erstes ein 
Bild von einer SD-Karte geladen wird.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@Obelix:
hast du

$hwstack = 128
$swstack = 128
$framesize = 128

drinne?

http://www.comwebnet.de - Bascom Projekte auch mit S65 Display

von James (Gast)


Lesenswert?

Hallo
Gibt es eine Möglichkeit die LIB von Hagen so umzubiegen das ich auch 
LS020 displays ansteuern kann?

von Jens (Gast)


Lesenswert?

also nich hauen, aber ich stell n paar doofe Fragen und selbst wenn ich 
alles hier lese, dann werd ich ned schlauer ... daher ...

1.) ich hab ne Funktion für das LHP88 geschrieben (als Erweiterung für 
den Ur-Code von Superkranz) daß eine Linie malen soll - Strich in 
X-Richtung, sieht so aus:

Auffruf im Programm:
x_line(0,20,174,0xffe0);  // Pos x,y Länge, Farbe

void x_line(unsigned int x, unsigned int y, unsigned int l, unsigned int 
c)
{
uint16_t i;

PORTB &= ~_BV(LCD_CS);        // Auswahl Display

lcd_comtype(0x16);
lcd_comdat(0x83-y, 0x83-y);       // y - Koordinaten
lcd_comtype(0x17);
lcd_comdat(x+l, x);        // x - Koordinaten
lcd_comtype(0x21);
lcd_comdat(0x00, 0x00);        //
lcd_comtype(0x22);
lcd_write(0x76);

for (i=0; i<DISP_W*DISP_H; i++)
  {
  lcd_write16(c);        // mit Farbe ausfüllen
  }

PORTB |= _BV(LCD_CS);          // Display weg
}

es malt auch einen Strich, aber zwei Pixelreihen breit und ich versteh 
bei Nacht ned wieso - ihr? Wenn ich das Ganze für Y-Richtig verbiege, is 
der Strich nur ein Pixel breit!

wo wir schon dabei sind, was macht:
lcd_comdat(0x00, 0x00);        //
lcd_comtype(0x22);
also ich mein natürlich welchen Sinn hat es?

Die Frage nach einer funktionierenden und für mich verständlichen 
Funktion zur Ausgabe eines Bitmaps gibt es auch ... und woher bekommt 
man die Sorte Displays die für die GLCD passen, weil bisher hab ich bei 
ebay nur LHP und die Epsonteile entdeckt ... ???
Danke

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Lesenswert?

Hallo Freunde,

entschuldigung über mein Deutsch (Ich spreche Portugiesisch und english 
und jetzt learnen Deutsch). Vielleicht werde ich mal auf English 
schreiben?

Zuerst möchte ich "Hallo!" sagen und Gratulieren für diese forum.

Bitte, ich möchte LS020B8UD05 benutzen mit PSoC mikrocontroller oder 
PIC. Haben Sie vielleicht ein bisschen code auf C-programmin?

Danke für alles!

Grüsse von Brasilien,

Henrique
e-mail: henriquevilela@cmosdrake.com.br

von Marc Seiffert (Gast)


Lesenswert?

hi henrique,

some posts upwards i postet a "library" in C for use with Atmel-mega 
µCs. Of course it wont directly run on your controller. But if you 
modify the hardware-part of the librarie (the SPI-Part) the high-level 
functions will run without problems i suppose.

Best regards,

Marc S.

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Lesenswert?

Hi Marc!

Thank you so much. My Deutsch is basic... but at least you could 
understand! :)

I saw some codes here... but they end up in ASM code.

Maybe I didn´t pay much attention to other library.

Thank you!

Henrique V

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Lesenswert?

I am here just to let you know that everything is just fine!

The display is Awesome!

Thanks for the help!

If yo guys need anything... I´ve got a code for PSoC.

Grüsse,

Henrique Vilela

von Marc Seiffert (Gast)


Lesenswert?

maybe it would be good if you simply put the essential code-parts in a 
.zip and post it here in the forum so that everybody is able to use the 
code if he wants :)

i dont use psoc-chips but there are so many questions about different 
controller hier in this thread i think it might be quiets usefull

Greets, Marc

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Angehängte Dateien:

Lesenswert?

Sure Marc!

This is a good idea!

One thing I got to say..... using ASM SPI code is far faster than C SPI 
code.
I made a simple ASM SPI code and it is about ten times faster.

Please.. feel free to replace the C code... as I used simple 
instructions I think anyone can use it.

Best Whishes!!

Henrique Vilela

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Hallo Jungs,

kennt jemand das S65 Display -> P03.... ?

ist es zuwas kompatible ( Außer mit dem Handy )?
Wird bei Ebay angeboten, sieht ähnlich aus wie das LS020...

von James (Gast)


Lesenswert?

Hallo Marc.

Vielen Dank erstmal für deine Lib. Bin bis jetzt zufrieden. Was ich aber 
noch vermisse ist eine Funktion für Rechtecke mit abgerundeten Ecken.
Ansonsten super Arbeit. Weiter so!

von Hagen R. (hagen)


Lesenswert?

Solche Rechtecke kann man mit der gleichen Routine zeichnen lassen die 
auch Ellipsen und Kreise zeichnet. So habe ich es bei meiner S65 Library 
gemacht. Zeichnet man eine Ellipse so benutzt man 2 unterschiedliche 
Radien für die sich gegenüberliegenden Ecken eines Rechteckes. Sind 
beide Radien exakt gleich so entsteht ja nach Größe der Radien entweder 
ein exaktes Rechteck (wenn Radien = 0 sind) oder abgerundetes Rechteck 
wenn Radien < Halbierende der längsten Kante sind, oder ein exakter 
Kreis wenn das Rechteck ein Quadrat ist und die Radien sind exakt die 
Hälte der Kantenlänge.
Eine Ellipse entsteht wenn die Radien jeweils exakt die Hälfte der 
jeweiligen 2 Kantenlängen sind und das Viereck ein Rechteck ist und kein 
Quadrat.
So kann man zb. auch eine abgerundete Tonne zeichnen lassen, wenn zb. 
der eine Radius größer ist als die Hälfte der jeweiligen Kantenlänge und 
der andere Radius = 0 ist.

Ergo: mit einer cleveren Zeichnroutine für Ellipsen lassen sich auch 
Kreise und abgerundete Rechtecke zeichnen.

Gruß Hagen

von Christian K. (christiank)


Lesenswert?

zur Info:

Ich auf der web-Seite ein update für den LPH Code aufgespielt. Der läßt 
sich jetzt auch mit der neuen gcc Version (getestet 4.2.1) fehlerfrei 
compilieren und läuft bei mir mit Atmega128 bei 16MHz.

CPU Takt ist in disp.h einzustellen. In der simple.c habe ich auch noch 
den PWM backlight timer programmiert, damit bei mir die 
Hintergrundbeleuchtung geht. Die drei Zeilen müsst ihr u.U. 
auskommentieren.

von James (Gast)


Lesenswert?

Hallo Marc

Erstmal vielen dank für deine Libary.
Funktioniert gut. Nur die Funktion S65_Fillscreen funktioniert nicht 
richtig. Wenn ich ein Text ausgebe und im nachhinein das Display wieder 
mit einer Farbe füllen will, zeichnet er mir nur zwei Linien. Eine vom 
Ende des Textes bis zum Rand und dan am Rand weiter bis links oben in 
die Ecke. Ich hab schon versucht den Fehler zu analysieren, aber meine C 
kentnisse sind noch nicht so gut.
Übrigens, wäre es kompliziert noch eine Funktion für ein Rechteck mit 
abgerundeten Kanten zu schreiben. Danke!

von James (Gast)


Lesenswert?

Sorry, nochmal die Frage wegen den abgerundeten Rechteck. Habe die 
Antwort von Hagen nicht gleich gesehen.

von Marc Seiffert (Gast)


Lesenswert?

hmm..das mit dem S65_Fillscreen schaue ich mir nochmal an

de Fehler ist mir noch nicht aufgefallen. wasfür parameter nutzt du ?

Gruß, Marc

von James (Gast)


Lesenswert?

Hallo Marc

Ich betreibe das Display mit einem Mega128. Ich habe lediglich die Pins 
angepasst.
Mein Code sieht so aus:
1
int main(void)  // ### Hauptprogramm
2
{
3
// ***** INITS *****
4
 
5
   cli();          
6
  S65_Init();        
7
  sei();          
8
9
// ***** Hauptteil *****
10
 
11
   S65_Fillscreen(BLACK);
12
13
  S65_SetFont(ver-font);          
14
  S65_SetRot(0);            
15
  S65_SetTextColor(WHITE);      
16
  S65_SetTextTyp(0);          
17
  S65_SetNonTransparenz(0);        
18
  // Textausgabe
19
  for(uint8_t i=0x00;i<0xFF;i+=0x03)
20
  {
21
    S65_SetFont(ver-font);
22
    S65_SetTextColor(RGB(i,i,i));
23
    S65_PutStr(15, 55, "Hallo");
24
  }
25
        S65_Fillscreen(GOLD);
26
27
  while (1)        // Hauptschleife
28
  {
29
  }
30
}

von John S. (linux_80)


Lesenswert?

@ Avr Nix

wenn P03 drauf steht, ist es eher dieses hier, auf dem Kopf stehend im 
dunklen Bereich zu erkennen:
http://www.superkranz.de/christian/S65_Display/pics/epson_display_large.jpg

Ich hab mir die Tage auch ein P03 gekauft, aber es ist ein LPH88 
gekommen, mal sehen wie's wird.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

@Tiny : Danke! Ich arbeite meist mit den LS020 in Bascom, ich dachte 
schon da gibts was neues.

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Lesenswert?

Hallo Freunde,

Bitte, wo kann man diese LS020 display billig einkaufen?

Hier in Brasilien Jemand kann man einkaufen für U$12,00.

Danke!

Sehr Grüsse,

Henrique Vilela

von edgar (Gast)


Lesenswert?

Hallo, ich habe mir vor kurzem auch ein LS020 display gekauft und die 
Ansteuerung mit hilfe von Bascom und einem Atmel32 mit knapp 10 Mhz 
hinbekommen. Ich habe auch die BeispielVideos gesehen. Und nun zu meiner 
Frage, mit welcher Geschwindigkeit kann das Display beschrieben werden. 
Bei mir dauert es relativ lang um den kompletten Bildschirm zu füllen. 
Wie wurden dann die sich drehenden Vektorobjekte erzeugt? Mit einem 
schnelleren Quarz? Und was mich interessieren würde, wie viele Frames 
pro Sekunde sind möglich und wovon abhängig?

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Soviel ich weiss SPI 1/2..1/4 der Quarzfrequenz

http://comwebnet.weimars.net/forum/showthread.php?tid=28

laut Tests soll bei BASCOM bei Hard-SPI 2x schneller sein als SOft-SPI

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Lesenswert?

Hallo!

Kennen sie jede SPI Handy Kamera? Na klar... mit ein bisschen 
c-programming..?
Danke schön!

Grüsse,

Henrique Vilela

von Mi G. (ducky)


Lesenswert?

Moin ...

hat schon mal jemand eins der anderen verfügbaren S65 Displays 
hinbekommen ???
P03 zum Beispiel ...

Gruß Micha

von Markus B. (wolframator)


Lesenswert?

Habe bei eBay eine Hand voll Display mit einem Epson-Controller 
bekommen. Die Bezeichnung der Displays sind allesamt P05... Sollte 
jemand wie ich diese abbekommen, einfach den Code vom Epson P03 
benutzen. Klappt wunderbar :)

von Peter (Gast)


Lesenswert?

Hallo Forumskollegen,

Ich hab mir auch ein Display besorgt, genau das ls020 mit Mega8, 8mhz.

Als Software benutze ich bascom, und den Source hab ich aus dem Internet 
für das Display.

Ihr kennt das Programm sicher.

Bei mir funktioniert schon ziemlich viel, aber ich kann keinen Text 
schreiben. Also Linien, Pixelset, CLS, Init...das funktioniert alles,
aber ich kann leider nichts schreiben. Da kommt am Display nichts 
schönes raus. Nur vertikale linien...

Kann mal bitte einer von euch Profis drüberlesen?

Irgendwo bei dem Untermenü ascii Zeichen dürfte was nicht stimmen.
MFG Peter
1
$regfile = "m8def.dat"
2
$crystal = 8000000
3
$baud = 19200
4
5
$hwstack = 64
6
$swstack = 64
7
$framesize = 64
8
9
Ddrb = &B11111111                                           'portb output ->S65 Display
10
11
Dim A1 As Word , B1 As Word , R1 As Byte , F1 As Word , T As Byte , Platz As Word
12
Dim W1 As Word , Xy As Byte , Farbe As Word , Zeichenkette As String * 30
13
14
15
'##################################################
16
'                   SPI
17
'#################################################
18
19
Rs Alias Portb.0
20
Res Alias Portb.1
21
Cs Alias Portb.2
22
Clk Alias Portb.3
23
Dat Alias Portb.4
24
25
26
'16Bit Color -> RRRRRGGGGGBBBBB
27
Const Lila = &B1111100000011111
28
Const Blau = &B0000000000011111
29
Const Weiss = &HFFFF
30
Const Schwarz = &H0000
31
Const Rot = &B1111100000000000
32
Const Gruen = &B0000011111100000
33
Const Cyan = &B0000011111111111
34
Const Gold = &B1111111111100000
35
Const Grau = &B1111111111110110
36
Const Hgelb = &B1111011110101000
37
Const Dgelb = &B1111011111010000
38
39
Const X = 176
40
Const Y = 132
41
42
Declare Sub S65_init()
43
Declare Sub S65_pset(byval Lx As Byte , Byval Ly As Byte , Byval Color As Word)
44
Declare Sub S65_line(byval Lx1 As Byte , Byval Ly1 As Byte , Byval Lx2 As Byte , Byval Ly2 As Byte , Byval Color As Word)
45
Declare Sub S65_zeichen(byval Lx As Byte , Byval Ly As Byte , Byval Bcol As Word , Byval Fcol As Word , Byval Lcd_text As String )
46
Declare Sub S65_print(byval Lx As Byte , Byval Ly As Byte , Byval Fcol As Word , Byval Bcol As Word , Byval Lcd_text As String)
47
Declare Sub S65_cls(byval Bcol As Word)
48
49
50
Call S65_init()
51
52
Call S65_cls(schwarz)
53
54
Call S65_print(18 , 40 , Weiss , Schwarz , " V1.0-20060922 ")
55
56
57
Do
58
59
60
Loop
61
Powerdown
62
End
63
64
65
'################################################################
66
'  LCD - commando , Parameter übergabe zum Display
67
'################################################################
68
16:
69
Cs = 0
70
Shiftout Dat , Clk , A1 , A1
71
Cs = 1
72
Return
73
74
75
'##################################
76
'Start der S65-Ansteuerung
77
'##################################
78
Sub S65_init()
79
Anfang:
80
Res = 1
81
Waitms 10
82
Res = 0                                                     'Reset
83
Cs = 1
84
Clk = 1
85
Dat = 1
86
Rs = 1
87
88
Waitms 1
89
Res = 1                                                     'Reset Ende
90
Waitms 10
91
92
93
Cs = 1                                                      'CS select, Start
94
Waitms 1
95
Rs = 1
96
                                                     'RS high, Command
97
'####################################
98
'      Displayinitialisierung
99
'####################################
100
101
Restore Init1
102
For R1 = 1 To 12
103
Read A1
104
Gosub 16
105
Next
106
107
Waitms 7                                                    'diese Zeit ist sehr wichtig, sollte keinesfalls unterschritten werden
108
109
Restore Init2
110
For R1 = 1 To 23
111
Read A1
112
Gosub 16
113
Next
114
115
End Sub
116
117
118
119
'##################################
120
'#           LCD Löschen          #
121
'##################################
122
123
Sub S65_cls(byval Bcol As Word)
124
Local Aa As Word
125
126
127
Rs = 1
128
A1 = &HEF90
129
Gosub 16
130
A1 = &H0500
131
Gosub 16
132
A1 = &H0600
133
Gosub 16
134
A1 = &H0700
135
Gosub 16
136
Platz = 132 * 176
137
Rs = 0
138
For W1 = 0 To Platz
139
A1 = Bcol
140
Gosub 16
141
Next W1
142
Rs = 1
143
End Sub
144
145
146
147
148
149
'######################################################
150
'#                 Setze Pixel -> Pset                #
151
'######################################################
152
153
Sub S65_pset(lx As Byte , Ly As Byte , Color As Word)
154
Rs = 1
155
156
A1 = &H600 + Lx
157
Gosub 16
158
A1 = &H700 + Ly
159
Gosub 16
160
Rs = 0
161
Cs = 0
162
Shiftout Dat , Clk , Color , 0
163
Cs = 1
164
165
End Sub
166
167
168
'######################################################
169
'#               Line zeichnen                        #
170
'######################################################
171
172
Sub S65_line(byval Lx1 As Byte , Byval Ly1 As Byte , Byval Lx2 As Byte , Byval Ly2 As Byte , Byval Color As Word)
173
Local M As Byte , M1 As Single , M2 As Single
174
Local Yg As Byte , Cv As Single , Bn As Integer
175
Local R As Byte , B As Byte
176
177
M1 = Ly2 - Ly1
178
M2 = Lx2 - Lx1
179
Cv = M1 / M2
180
Bn = Int(cv)
181
M = Low(bn)
182
B = M * Lx1
183
B = -1 * B
184
'If Ly1 = Ly2 Then B = 0
185
'If Lx1 = Lx2 Then B = 0
186
B = B + Ly1
187
188
For R = Lx1 To Lx2
189
Yg = M * R
190
Yg = Yg + B
191
Call S65_pset(r , Yg , Color)
192
Next R
193
194
195
End Sub
196
197
'#####################################################
198
'#       ACSII Zeichenausgabe                        #
199
'#####################################################
200
201
Sub S65_zeichen(byval Lx As Byte , Byval Ly As Byte , Byval Bcol As Word , Byval Fcol As Word , Byval Lcd_text As String * 1)
202
203
Local R As Integer
204
Local A As Byte
205
Local B As Byte
206
Local C As Long
207
Local D As Byte
208
Local E As Byte
209
Local F As Byte
210
Local G As Long
211
Local Xpos As Byte
212
Local Ypos As Byte
213
Local Zeichen As String * 1
214
Print "S65_zeichen(" ; Lx ; "," ; Ly ; "," ; Bcol ; "," ; Fcol ; "," ; Lcd_text ; ")"
215
Xpos = 0
216
Ypos = 0
217
  'For R = 1 To Len(lcd_text)
218
219
     Zeichen = Mid(lcd_text , R , 1)                        'Hole char
220
      G = Asc(lcd_text)
221
      Print "S65_Zeichen:" ; Lcd_text
222
      Print "ASCII:" ; G                                    'Bestimme Pos in Tabelle
223
      G = G - 32
224
      G = G * 6
225
226
      Readeeprom B , G
227
228
229
230
      'Call Lcd_locate(lcd_posx , Lcd_posy)
231
232
      A = 8                                                 '1.linie frei
233
234
      For F = 1 To 6
235
         C = 1
236
237
            D = B                                           'Byte darf nicht verändert werden für 2. durchlauf
238
            For E = 1 To 8
239
            Xpos = Lx + E
240
           Xpos = 132 - Xpos
241
242
            Ypos = Ly + F
243
            'Ypos = 176 - ypos
244
245
              A = D And 1
246
               If A = 1 Then Call S65_pset(xpos , Ypos , Fcol)
247
               If A = 0 Then Call S65_pset(xpos , Ypos , Bcol)
248
               Shift D , Right , 1
249
            Next
250
            Decr C
251
252
         G = G + 1
253
         Readeeprom B , G
254
      Next
255
      Ypos = Ypos + 6
256
257
  'Next
258
259
260
261
262
End Sub
263
264
'####################################################################
265
'  S65_print(x,y,bcol,fcol) -> Zeichenketten auf LCD ausdrucken
266
'####################################################################
267
268
269
Sub S65_print(byval Lx As Byte , Byval Ly As Byte , Byval Bcol As Word , Byval Fcol As Word , Byval Lcd_text As String)
270
Local Xpos As Byte
271
Local Ypos As Byte
272
Local Zaehler As Byte
273
Local Laenge As Byte
274
Local Zeichen As String * 1
275
Laenge = Len(lcd_text)
276
For Zaehler = 1 To Laenge
277
Zeichen = Mid(lcd_text , Zaehler , 1)
278
Call S65_zeichen(lx , Ly , Bcol , Fcol , Zeichen)
279
Ly = Ly + 6
280
Next Zaehler
281
282
283
End Sub
284
285
286
287
'-------------------------------------------------------------------       Ende Subs zum Definieren von Fenstern
288
289
290
Init1:
291
Data &HFDFD% , &HFDFD%,
292
Data &HEF00%,
293
Data &HEE04% , &H1B04%,
294
Data &HFEFE% , &HFEFE%,
295
Data &HEF90% , &H4A04% , &H7F3F% , &HEE04% , &H4306%
296
297
Init2:
298
Data &HEF90% , &H0983% , &H0800% , &H0BAF% , &H0A00% , &H0500% , &H0600% , &H0700%,
299
Data &HEF00%,
300
Data &HEE0C%,
301
Data &HEF90% , &H0080%,
302
Data &HEFB0% , &H4902%,
303
Data &HEF00%,
304
Data &H7F01% , &HE181%,
305
Data &HE202%,
306
Data &HE276%,
307
Data &HE183%,
308
Data &H8001%,
309
Data &HEF90%,
310
Data &H0000%
311
312
$eeprom
313
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00                ' "(space)"
314
Data &H00 , &H06 , &H5F , &H06 , &H00 , &H00                ' "!"
315
Data &H07 , &H03 , &H00 , &H07 , &H03 , &H00 ' """
316
Data &H24 , &H7E , &H24 , &H7E , &H24 , &H00                ' "#"
317
Data &H24 , &H2B , &H6A , &H12 , &H00 , &H00                ' "$"
318
Data &H63 , &H13 , &H08 , &H64 , &H63 , &H00                ' "%"
319
Data &H36 , &H49 , &H56 , &H20 , &H50 , &H00                ' "&"
320
Data &H00 , &H07 , &H03 , &H00 , &H00 , &H00                ' "'"
321
'40
322
Data &H00 , &H3E , &H41 , &H00 , &H00 , &H00                ' "("
323
Data &H00 , &H41 , &H3E , &H00 , &H00 , &H00                ' ")"
324
Data &H08 , &H3E , &H1C , &H3E , &H08 , &H00                ' "*"
325
Data &H08 , &H08 , &H3E , &H08 , &H08 , &H00                ' "+"
326
Data &H00 , &HE0 , &H60 , &H00 , &H00 , &H00                ' ","
327
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H00                ' "-"
328
Data &H00 , &H60 , &H60 , &H00 , &H00 , &H00                ' "."
329
Data &H20 , &H10 , &H08 , &H04 , &H02 , &H00                ' "/"
330
Data &H3E , &H51 , &H49 , &H45 , &H3E , &H00                ' "0"
331
Data &H00 , &H42 , &H7F , &H40 , &H00 , &H00                ' "1"
332
'50
333
Data &H62 , &H51 , &H49 , &H49 , &H46 , &H00                ' "2"
334
Data &H22 , &H49 , &H49 , &H49 , &H36 , &H00                ' "3"
335
Data &H18 , &H14 , &H12 , &H7F , &H10 , &H00                ' "4"
336
Data &H2F , &H49 , &H49 , &H49 , &H31 , &H00                ' "5"
337
Data &H3C , &H4A , &H49 , &H49 , &H30 , &H00                ' "6"
338
Data &H01 , &H71 , &H09 , &H05 , &H03 , &H00                ' "7"
339
Data &H36 , &H49 , &H49 , &H49 , &H36 , &H00                ' "8"
340
Data &H06 , &H49 , &H49 , &H29 , &H1E , &H00                ' "9"
341
Data &H00 , &H6C , &H6C , &H00 , &H00 , &H00                ' ":"
342
Data &H00 , &HEC , &H6C , &H00 , &H00 , &H00                ' ";"
343
'60
344
Data &H08 , &H14 , &H22 , &H41 , &H00 , &H00                ' "<"
345
Data &H24 , &H24 , &H24 , &H24 , &H24 , &H00                ' "="
346
Data &H00 , &H41 , &H22 , &H14 , &H08 , &H00                ' ">"
347
Data &H02 , &H01 , &H59 , &H09 , &H06 , &H00                ' "?"
348
Data &H3E , &H41 , &H5D , &H55 , &H1E , &H00                ' "@"
349
Data &H7E , &H09 , &H09 , &H09 , &H7E , &H00                ' "A"
350
Data &H7F , &H49 , &H49 , &H49 , &H36 , &H00                ' "B"
351
Data &H3E , &H41 , &H41 , &H41 , &H22 , &H00                ' "C"
352
Data &H7F , &H41 , &H41 , &H41 , &H3E , &H00                ' "D"
353
Data &H7F , &H49 , &H49 , &H49 , &H41 , &H00                ' "E"
354
'70
355
Data &H7F , &H09 , &H09 , &H09 , &H01 , &H00                ' "F"
356
Data &H3E , &H41 , &H49 , &H49 , &H7A , &H00                ' "G"
357
Data &H7F , &H08 , &H08 , &H08 , &H7F , &H00                ' "H"
358
Data &H00 , &H41 , &H7F , &H41 , &H00 , &H00                ' "I"
359
Data &H30 , &H40 , &H40 , &H40 , &H3F , &H00                ' "J"
360
Data &H7F , &H08 , &H14 , &H22 , &H41 , &H00                ' "K"
361
Data &H7F , &H40 , &H40 , &H40 , &H40 , &H00                ' "L"
362
Data &H7F , &H02 , &H04 , &H02 , &H7F , &H00                ' "M"
363
Data &H7F , &H02 , &H04 , &H08 , &H7F , &H00                ' "N"
364
Data &H3E , &H41 , &H41 , &H41 , &H3E , &H00                ' "O"
365
Data &H7F , &H09 , &H09 , &H09 , &H06 , &H00                ' "P"
366
'80
367
Data &H3E , &H41 , &H51 , &H21 , &H5E , &H00                ' "Q"
368
Data &H7F , &H09 , &H09 , &H19 , &H66 , &H00                ' "R"
369
Data &H26 , &H49 , &H49 , &H49 , &H32 , &H00                ' "S"
370
Data &H01 , &H01 , &H7F , &H01 , &H01 , &H00                ' "T"
371
Data &H3F , &H40 , &H40 , &H40 , &H3F , &H00                ' "U"
372
Data &H1F , &H20 , &H40 , &H20 , &H1F , &H00                ' "V"
373
Data &H3F , &H40 , &H3C , &H40 , &H3F , &H00                ' "W"
374
Data &H63 , &H14 , &H08 , &H14 , &H63 , &H00                ' "X"
375
Data &H07 , &H08 , &H70 , &H08 , &H07 , &H00                ' "Y"
376
Data &H71 , &H49 , &H45 , &H43 , &H00 , &H00                ' "Z"
377
Data &H00 , &H7F , &H41 , &H41 , &H00 , &H00                ' "["
378
'90
379
Data &H02 , &H04 , &H08 , &H10 , &H20 , &H00                ' "\"
380
Data &H00 , &H41 , &H41 , &H7F , &H00 , &H00                ' "]"
381
Data &H04 , &H02 , &H01 , &H02 , &H04 , &H00                ' "^"
382
Data &H80 , &H80 , &H80 , &H80 , &H80 , &H00                ' "_"                      ' "`"
383
Data &H0C , &H12 , &H12 , &H0C , &H00 , &H00                ' neu "°" statt "`"
384
'Data &H00 , &H03 , &H07 , &H00 , &H00  , &H00
385
Data &H20 , &H54 , &H54 , &H54 , &H78 , &H00                ' "a"
386
Data &H7F , &H44 , &H44 , &H44 , &H38 , &H00                ' "b"
387
Data &H38 , &H44 , &H44 , &H44 , &H28 , &H00                ' "c"
388
Data &H38 , &H44 , &H44 , &H44 , &H7F , &H00                ' "d"
389
Data &H38 , &H54 , &H54 , &H54 , &H18 , &H00                ' "e"
390
Data &H08 , &H7E , &H09 , &H09 , &H00 , &H00                ' "f"
391
'100
392
Data &H18 , &HA4 , &HA4 , &HA4 , &H7C , &H00                ' "g"
393
Data &H7F , &H04 , &H04 , &H78 , &H00 , &H00                ' "h"
394
Data &H00 , &H00 , &H7D , &H00 , &H00 , &H00                ' "i"
395
Data &H40 , &H80 , &H84 , &H7D , &H00 , &H00                ' "j"
396
Data &H7F , &H10 , &H28 , &H44 , &H00 , &H00                ' "k"
397
Data &H00 , &H00 , &H7F , &H40 , &H00 , &H00                ' "l"
398
Data &H7C , &H04 , &H18 , &H04 , &H78 , &H00                ' "m"
399
Data &H7C , &H04 , &H04 , &H78 , &H00 , &H00                ' "n"
400
Data &H38 , &H44 , &H44 , &H44 , &H38 , &H00                ' "o"
401
Data &HFC , &H44 , &H44 , &H44 , &H38 , &H00                ' "p"
402
Data &H38 , &H44 , &H44 , &H44 , &HFC , &H00                ' "q"
403
'110
404
Data &H44 , &H78 , &H44 , &H04 , &H08 , &H00                ' "r"
405
Data &H08 , &H54 , &H54 , &H54 , &H20 , &H00                ' "s"
406
Data &H04 , &H3E , &H44 , &H24 , &H00 , &H00                ' "t"
407
Data &H3C , &H40 , &H20 , &H7C , &H00 , &H00                ' "u"
408
Data &H1C , &H20 , &H40 , &H20 , &H1C , &H00                ' "v"
409
Data &H3C , &H60 , &H30 , &H60 , &H3C , &H00                ' "w"
410
Data &H6C , &H10 , &H10 , &H6C , &H00 , &H00                ' "x"
411
Data &H9C , &HA0 , &H60 , &H3C , &H00 , &H00                ' "y"
412
Data &H64 , &H54 , &H54 , &H4C , &H00 , &H00                ' "z"
413
Data &H08 , &H3E , &H41 , &H41 , &H00 , &H00                ' "{"
414
'120
415
Data &H00 , &H00 , &H7F , &H00 , &H00 , &H00                ' "|"
416
Data &H00 , &H41 , &H41 , &H3E , &H08 , &H00                ' "}"
417
Data &H02 , &H01 , &H02 , &H01 , &H00 , &H00                ' "~"
418
Data &H3F , &H21 , &H21 , &H21 , &H21 , &H00                ' "["
419
Data &H21 , &H21 , &H21 , &H21 , &H21 , &H00
420
Data &H21 , &H21 , &H21 , &H21 . &H3F , &H00                ' "]"
421
Data &H3F , &H3F , &H3F , &H3F , &H3F , &H00
422
Data &H3F , &H00 , &H00 , &H00 , &H00 , &H00
423
$data

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Hättest du im Forum nachgeschaut welches auch auf der HP ( 
http://www.comwebnet.de ) gibt, hättest du gesehen -> das die Zeichen

ins EEPROM gehören und in BASCOM explizit ins M8 geladen werden müssen, 
je nach Einstellung, da nach jeder Flashung das EEPROM mit gelöscht 
wird.

Aber wieso fragt man nicht an der Quelle?

Der Author

PS: Code schön in ZIP einpacken und als Dateianhang hochladen,
    sonst gib es böse Worte.

von Michael B. (miba)


Lesenswert?

Hallo,

ich versuche gerade ein LHP88 an einem MSP430 mit Software SPI zum 
Laufen zu bringen. Leider tut sich auf dem Display rein gar nichts.
Verwende den Beispielcode von aethr im IAR, 3.0 V, keine Pegelwandler.

Habe in einem Beitrag gelesen, dass vor dem Löschen des Displays Muster 
bzw. zufällige Daten angezeigt werden. Ab welchem Punkt ist frühestens 
zu erkennen, dass das Display und die Ansteuerung funktioniert? Nach dem 
Schalten des Reset-PIN, nach dem Einschalten des Oszillators?

Michael

von Daniel (Gast)


Lesenswert?

Grüß euch

@avr nix und all:

Da du dich hier ja gut aus kennst, kannst du mir vielleicht sagen, wie 
ich die Schriftgröße ändere?

Jetzt ist sie ja auf 6x8 ...?

Kann man die nicht einfach verdoppeln auf 12x16? Würde das gehen?

MFG Peter

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Die Schriftgröße ist fix. Entweder jeden Pixel verdoppeln oder ein neuen 
Font erstellen und das Programm anpassen. Hatte das mal vor aber da ich 
im Moment keine zeit für die Erweiterung habe, wäre das doch mal ein 
schönes Projekt und kannst das dann hier oder auf meiner HP 
vorveröffentlichen.

von Thorsten S. (whitenoise)


Lesenswert?

Hallo,

Welches Display sollte man sich jetzt am besten anschaffen. Bei 
Christian ist das LS020xxx am weitesten ausgeführt, zumindest auf den 
ersten Blick.

Zu dem Epson schwirrte hier meine ich sogar mal ein Datenblatt rum...

Gruß,
Dennis

von Juras Pr. (Gast)


Angehängte Dateien:

Lesenswert?

Hi!
There are some results of researching of hardware scrolling. LCD - 
LS020B8UD06.

Registers:
R0Fh - start position
R10h - end position
R11h - offset value (up to value of R10h)

von Juras Pr. (Gast)


Angehängte Dateien:

Lesenswert?

Und video :)

von GastTX (Gast)


Lesenswert?

Sourcecode ?  Wieder eine Funktion mehr , gut!

von Gunni (Gast)


Lesenswert?

Kann es sein, dass das Video defekt ist, oder fehlt mir irgendein codec?

von Gunni (Gast)


Lesenswert?

Hat sich gerade erledigt.
Mit VLC kann ich es mir anschauen.

von Juras Pr. (Gast)


Lesenswert?

Ich benutze H246-codec fur Video.

Some discrepancies found:
The Register R10h isn't end position of scrolling part, it is width of 
part.
The end position of part may be calculated as R0Fh+R10h.
R11h shouldn't be equal or greater of R10h.
Sourcecode will later, after preparing.

At this moment some new effects are found.
I suggest to join search process.

von Juras P. (juras-projects)


Angehängte Dateien:

Lesenswert?

Some info about partial screen write in LS020.

von Alex F. (alexf)


Lesenswert?

Hi Juras,

there is already some information available about the advance address 
modes of LS020 ->

http://www.superkranz.de/christian/S65_Display/DisplayRamAccess.html

How do you write to a specific register address? The hardware scrolling 
looks very good.

Alex

von Juras P. (juras-projects)


Angehängte Dateien:

Lesenswert?

Hi Alex!
I mean, the first byte of the command "lcd_wrcmd16()" is a register 
address, second byte is a data byte.
The registers from this page are very similar to registers of 
LQ022B8UD04. These registers really does work with LS020. Probably, the 
register EFh is the memory bank switcher. The same results we can get 
with different registers combinations in different "banks". For example, 
we can access the HOST INTERFACE SETTING REGISTER by two ways:

way 1:
lcd_wrcmd16($EF80);
lcd_wrcmd16($10XX);

way 2:
lcd_wrcmd16($EF90);
lcd_wrcmd16($E8XX);

I refer to datasheet of LQ022 and i try to describe the init block 2 of 
LS020 LCD:
1
ls020_init_block_2:
2
.db 0xEF, 0x90  ;Bank Switch
3
.db 0x09, 0x83  ;Set X2 Corner, 131 - checked
4
.db 0x08, 0x00  ;Set X1 Corner, 0 - checked
5
.db 0x0B, 0xAF  ;Set Y2 Corner, 175 - checked
6
.db 0x0A, 0x00  ;Set Y1 Corner, 0 - checked
7
.db 0x05, 0x00  ;Set Orientation - checked
8
.db 0x06, 0x00  ;Set "cursor" position Y - checked
9
.db 0x07, 0x00  ;Set "cursor" position X - checked
10
11
.db 0xEF, 0x00  ;Bank Switch
12
.db 0xEE, 0x0C  ;?
13
14
.db 0xEF, 0x90  ;Bank Switch
15
.db 0x00, 0x80  ;Display OFF (WHITE) - checked
16
17
.db 0xEF, 0xB0  ;Bank Switch
18
.db 0x49, 0x02  ;Set Color Mode (positive) - checked
19
20
.db 0xEF, 0x00  ;Bank Switch
21
.db 0x7F, 0x01  ;?
22
.db 0xE1, 0x81  ;?
23
.db 0xE2, 0x02  ;?
24
.db 0xE2, 0x76  ;?
25
.db 0xE1, 0x83  ;?
26
.db 0x80, 0x01  ; Display ON ?
27
28
.db 0xEF, 0x90  ;Bank Switch
29
.db 0x00, 0x00  ;Display ON - checked

In addition, you can see the video with description of some checked 
commands and hardware functions. Sorry, but the video isn't very 
quality.

P.S. I use two displays: LS020 and LQ020. I hope these displays are 
fully compatible.

von Peter (Gast)


Lesenswert?

Hallo Ich habe ein LPH88 mit einem MSP430 am laufen, sehe aber einen 
Fehler:
- das Display zeigt nicht die 65k Farben, nur einen Teil davon.

Hat jemand so ein Problem schon mal gesehen?

mfg

Peter

von Juras P. (juras-projects)


Angehängte Dateien:

Lesenswert?

The palette of LS020 in 8-bit host mode.

von Gunni H. (gunni)


Lesenswert?

@ Juras Pr.:
Can you explain how you configure the display in 8bit color mode?

von Gunni H. (gunni)


Lesenswert?

@ Juras Pr.
Now, i can display pictures in 8 Bit mode.
But not whith the right Color Palette.
Can you give me your Palette in a format, that i can import it to Gimp 
or other?

von Juras P. (juras-projects)


Angehängte Dateien:

Lesenswert?

@ Guntmar H.:
The palettes in two formats (*.act, *.pal) are in archive.
To configure the display in 8-bit mode i use the following commands 
sequence:
lcd_wrcmd16($EF90);
lcd_wrcmd16($E800);
I think, this 8-bit mode is useful for displaying a simple menu drawings 
and text.
P.S. Sorry for the some mismatch in the top of previous picture (the new 
picture is in archive).

von Henrique V. (Firma: CMOS Drake) (rickonvb)


Angehängte Dateien:

Lesenswert?

Hallo Freunde!

I am sending you now a little program that I made just to make things 
easier about images plotting.

You just have to create a 8 bit  12 bit  16 bit image using the right 
dimensions and it creates a ASCII image file for you.

It works pretty good here! Hope it might help you guys!

If you have any comments.. doubts... or you are facing any error.. 
please tell me..

Grüsse!

Henrique

von Christian B. (drunkenmog)


Lesenswert?

Hallo zusammen,
ich habe mich jetzt im groben schon ziemlich durch dieses Thema 
durchgearbeitet aber alles habe ich dann doch nicht geschaft zu lesen.
Ich habe es auch geschaft ein PO3.. (L2F50xxx ) in betrieb zu nehmen.
Ich kann bis jetzt allerdings nur Sachen im Hochformat ausgeben.
Ich wollte nun fragen ob das schon jemand im Querformat mit Bildern 
geschafft hat denn da hapert es a bissi am verständins.(in der Bucht 
giebt es auch nur PO3.. Displays zu kaufen keine anderen mehr...)
Und dann wollte ich noch wissen welche Hexzahl welche Farbe ergibt ich 
habe schon viel rumgespielt aber ich komme da hinter kein system ein 
begriff zum googeln oder ne tabelle wären da hilfreich denn die richtig 
klaren Farben wie blau oder rot bekomm ich einfach nicht hin.

Danke für die mühe wenn ich was übersehen habe sorry

von Christian B. (drunkenmog)


Lesenswert?

Dann wollte ich noch was nachtragen ´bei mir wird der ober schwarze 
streifen sehr heiß habe ich da was geschrottet oder ist das normal?

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

schrott

von Christian B. (drunkenmog)


Lesenswert?

Wie ich schon vermuttet habe ist es schrott
Aber lohnt sich der nachkauf eines PO3 weil ich bekoome das selber nicth 
hin das display so einzustellen das ich es im Querformat betreibe und 
ich wollte aber diese so benützen

von Grummel (Gast)


Lesenswert?

Hallo
Eventuell seh ichs ja nicht, aber gibts irgendwo den code fürs 
scrolling?
Gruß Grummel

von Euroscan T. (euroscan)


Angehängte Dateien:

Lesenswert?

one picture from crash display in car.( sx-65 with ARM 7)
--

von Claude S. (claudeschwarz)


Lesenswert?

Mal eine generelle Frage:
Hätte jemand Bedarf an einem Linux Treiber (fbdev device) für 
AT91,AVR32,oder jeden anderen Controller mit SPI Interface für z.b. die 
LS020 Displays? Habe die letzten Tage für ein 240x320 SPI TFT einen 
Treiber geschrieben , aber da das Datenblatt jenes Displays unter einer 
art NDA steht kann ich den Treiber nicht veröffentlichen. Das 
umschreiben des Treibers auf z.b. LS020 wäre eine Fingerübung und 
konform mit der GPL :-). Also wenn genug ,wirklicher!, Bedarf an sowas 
besteht würde ich das in Angriff nehmen.

von Bernd (Gast)


Lesenswert?

Hallo zusammen,,
würde gerne 10 Stück von dem Display LS02...
(Neu mit Schutzfolie)kaufen!
Hat jemand eine gute Bezugsquelle ?

Danke.
MfG
Bernd

von Ben (lightning)


Lesenswert?

Da würde ich glatt auch noch welche nehmen.
Hoffentlich findet sich jemand :)

von ebay (Gast)


Lesenswert?

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&rd=1&item=350009303191&ssPageName=STRK:MEWA:IT&ih=022

"NEW LCD FOR Siemens S65 M65 CX65 SK65 (LS020B8UD06)" für $9,99 (6,30 
EUR).


Vielleicht lohnt sich ja eine Sammelbestellung?
Der Hacken an der Sache sind die zusätzlichen $9,99 Versand pro Display!

Eventuell sind bei einer größeren Abnahme die Versandkosten 
verhandelbar.

von eleCtr00nix (Gast)


Lesenswert?

bei ebay deutschalnd gibts auch massig welche für 4,95+4,9, allerdings 
ohne versandrabatt...

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Aber nicht LSO20...   sondern PO4 -> LF... Display bzw. sehr Teuer 
geworden.

von Ben (lightning)


Lesenswert?

Also als ich den Menschen von der eBay Auktion da weiter oben gefragt 
habe ob man da für die Displays nur einmal Versand zahlen muss und ob es 
Rabatt gebe, wollte er wissen wie viele ich denn da haben will.

Was ist denn da so ne realistische Zahl die ich ihm mailen kann ?
Mal sehn ob man dem was rausleiern kann ;)

Gruß
Lightning

von S65 (Gast)


Lesenswert?

@Ben
>Was ist denn da so ne realistische Zahl die ich ihm mailen kann ?

Bei einem Stückpreis (LSO20...) von 10$ würde ich 20 Stück nehmen.

von Bernd (Gast)


Lesenswert?

@ Ben.. (lightning)
Hallo Ben,
bei US$ 10.- würde ich 30 Stück nehmen.
Das Problem ist nur, dass dann in Deutschland noch 19% Mwst + ca.3% Zoll 
dazu kommen!
Vieleicht sollten wir mal miteinander telefonieren.
Hier mal meine E-Mail zur Kontaktaufnahme  Haus444(at)gmx.de
[(at) = absichtlich anders geschrieben]

Gruß Bernd

von Jens D. (jens) Benutzerseite


Lesenswert?

Hallo,

vielleicht kommt man irgendwann auch mal an ein Datenblatt ran.
Oder zumindest an eine Beschreibung über die Funktionen des Controllers.

Jens

von Markus H. (rf-bug)


Lesenswert?

@ Ben.. (lightning)
Ist mit der Bestellung noch was in der Mache? Oder schon Ende?

@ Jens D. (jens)
Zum LS020... ist mir nichts bekannt. Noch keins gesehen

@all
Frage: habe im Moment das Problem, das mein Display schwarz bleibt. Es 
sieht so aus als ob es Initialisiert (man kann das Löschen sehen[meine 
ich]). Und wenn ich im Code vom glcd_init die folgende Zeile 
auskommentiere
1
rcall   lcd_clrscr
dann sehe ich ein wildes, sich bei einem "Neustart" neu generierendes 
Pixelwirrwar.
Ich denke daher, das die Initialisierung OK ist und somit die GrafikLib 
irgendwie funzt. Allerdings egal wie ich die Hintergrundfarbe einstelle, 
das Display bleibt schwarz. Auch die Demo aus der Christian K. Datei ist 
nicht zu sehen.
Zur Info: Die Hardware ist OK. Mit der Simple3 Demo "Hello World" läuft 
alles, halt nur die Grafiklib bekomme ich nicht zum Rennen.

Jemand eine Idee woran das liegen könnte?

Danke!

PS: Schon klar das es am User liegt, nur wo sollte man suchen ? :)

von Ben (lightning)


Lesenswert?

@Markus H.
Nun ja ich warte bis heute auf eine Antwort von dem. Mal sehn ob das 
noch was wird.

Gruß Lightning

von Achim (Gast)


Lesenswert?

Hallo,
hat mitlerweile jemand den Code auf einen M32c portiert und kann ihn 
bereit stellen? Danke.

von whitenoise (Gast)


Lesenswert?

...

1)warum sind hier eigentlich immer alle auf das lso020... was ist denn 
mit dem p03.. was es momentan bei ebay gibt, ich meine kranz hat doch 
software für alle drei varianten, oder?

2)welchen tools nutzt ihr für die fonterstellung, und welche software 
mit welchem umfang für die darstellung der zeichen und grafiken?

3)gibt es eine einheitliche softwareschnittstelle für alle 3 
displayausführungen in den sourcen von kranz? (zb.: init_display(); 
set_pixel(x,y,col))?

w.

von Christian K. (Gast)


Lesenswert?

Hallo Markus H.

du hast ja deine Display-Leitungen auf zwei Ports verteilt. Original 
benutzt  die lib. aber nur einen Port. (siehe glcd.inc)
1
  #define   LCD_PORT                _SFR_IO_ADDR(PORTB)
2
3
  #define   LCD_PIN                 _SFR_IO_ADDR(PINB)
4
5
  #define   LCD_DDR                 _SFR_IO_ADDR(DDRB)

Du müsstes also einen zweiten Port definieren und dann die glcd_init.asm 
ändern. Überall wo LCD_PORT auftaucht (und LCD_PIN/LCD_DDR) prüfen, 
welcher Port denn nun genommen werden soll. z.B. hier
1
       cbi     LCD_PORT,LCD_CS        ; select Display
2
3
       sbi     LCD_PORT,LCD_RS        ; set RS line

Aber wahrscheinlich ist das nicht das Problem, denn die Initialisierung 
(der assembler Teil) scheint bei dir ja zu funktionieren. (siehe random 
pixel muster und lcd_clrscr).

Ich kann mir vorstellen, dass die C-Zugriffe auf die Assembler Routinen 
nicht funktionieren, oder dass du in deinem Code die Port's des Displays 
versehentlich verändert hast. Hast du schon mal ein minmal Program (nur 
main und clearscreen) versucht? Gibt es irgendwelche Linker Warnungen?

von max (Gast)


Lesenswert?

Das wäre ideal um jedem OpenWrt Router ein ordentliches LCD zu 
verpassen.. Wenn es eine Fingerübung ist: setzt dich mal dran, ich wäre 
sehr interessiert, baue die Tage mein Display auch mal auf und kann 
deinen Code dann testen falls du keine Möglichkeit hast.

Gruß

Max

von T. H. (mctx)


Lesenswert?

Hallo,

versuche verzweifelt ein P03-Display (neu gekauft auf Ebay, Seriennummer 
P03-422BS ) mit der entsprechenden Software auf der Homepage von 
Christian Kranz in Betrieb zu nehmen (auf PIC rüberportiert, beim LPH 
ging das auf Anhieb). Was mir aufgefallen ist ist folgendes:

Wenn ich die "RS"-Leitung ziehe (oder den Pin auf Tristate schalte) sehe 
ich einen uninitialisierten Displayinhalt (Ameisenkino). Lasse ich das 
RS-Signal am Portpin bleibt es grau (so als wenn ich das Display gar 
nicht beschaltet hätte sondern nur das Backlight an ist).

Kann es vielleicht sein, dass es eine neue Version des Displays mit 
9-bit SPI gibt, welche das RS-Signal gar nicht mehr unterstützt oder 
sonst irgendeine Änderung am Displaycontroller vorgenommen wurde?


Ich habe verucht, die Initialisiuerung anhand des L2F50-Datenblatts das 
hier im Formum gepostet wurde nachzuvollziehen. Doch dieses ist 
Preliminary und weicht auch von der Initialiserungssequenz der Software 
von Chistian ab (z.b. sind der OSSEL-Befehl und der SPI Mode gar nicht 
beschrieben.

Danke für Eure Unterstützung!

Btw: Zwischenzeitlich gibt es ja fast ausschließlich P03 Versionen zu 
kaufen. Kennt Einer von Euch eine Quelle für LPH-Typen?

von rf-bug (Gast)


Lesenswert?

@Thomas H. (mctx)

Schau dir mal meinen Post darüber an. Ich sehe ein ähnliches Problem. 
Dein grau könnte schon ein gelöschter Bildschirm sein. Ich sehe halte 
auch so ein Verhalten. Schau dir mal das Display an, wenn du die 
Spannung anschaltest. Ich kann meiner Meinung nach ein Löschen sehen. 
Nur Pixel darstellen geht nicht. Leider noch keine Zeit gehabt. Kommt 
aber hoffentlich noch.

Und das es neuere Versionen gibt wäre mir neu. Habe ich bisher 
jedenfalls nichts davon gehört.

Gruß

von Achim (Gast)


Lesenswert?

So,
ich bin grad fleißig dabei das Display mittels C und Renesas M32c 
anzusteuern, habe aber noch Probleme. Das einfachste, d.h. die 
Hintergrundbeleuchtung, funktioniert, aber das Display (LS020) ist 
komplett weiß, von Anfang an, und ich bekomm nix darauf angezeigt. Hat 
da jemand eine Idee, woran es liegen könnte?
Danke

von Gast (Gast) (Gast)


Lesenswert?

keine Spannungsversorgung...
falsche Spannungsversorgung...
Interface falsch angeschlossen...
Falsche Pegel auf dem Interface...
Programmierfehler...

von Achim (Gast)


Lesenswert?

Sodale,
nun klappt es auch bei mir. Ich hatte zwei Fehler drin:

1.) Ich hatte LSB zuerst gesendet.
2.) Die Übertragungsrate war zu gering.

von Daniel R. (sliderbor)


Lesenswert?

Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu 
bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die 
Unterschiede zu den anderen Typen?

von Christian (Gast)


Lesenswert?

Hallo, ich bin neu in der µC-Welt. Das Projekt interessiert mich sehr 
und ich würde es gerne nachbauen. Leider fehlen mir wohl ein paar 
grundlegende Sachen.
Ich hab das Tutorial für Assembler AVR schon durchgearbeitet und denk 
ich hab zumindesten diese Sachen verinnerlicht.

Für mein "Projekt" bräuchte ich ein Display zur grafischen Darstellung 
und da die 4x20 Displays schon sehr begrenzt sind, brauch ich etwas 
anderes. Mit der Forumssuche bin ich auf diesen Thread gekommen. Die 
LS020 displays sind ja auch noch relativ erschwinglich.

So zu meinen Fragen.:
Das Display brauch also 10.4Volt. Wie stell ich bei den PWM die 47% und 
63.5khz ein?
Kann ich nciht direkt mit 10Volt an den Controller rangehen? Z.B. mit 
einem µA 7810 auf 10Volt runtergehen, oder mit einem Spannungsteiler 
oder einfach mit einem 100K widerstand bei 12V?

Warum sind kondensatoren zw. 2.9V bzw. 5V leitung und GND? Passen da 
100n?

Danke im Voraus

von Klaus R. (klaus2)


Lesenswert?

"Ich hab das Tutorial für Assembler AVR schon durchgearbeitet und denk
ich hab zumindesten diese Sachen verinnerlicht."

-> Endlich mal einer, der sich richtig Arbeit macht und bei dem man 
sofotr merkt: Der hat Ahnung!

"Kann ich nciht direkt mit 10Volt an den Controller rangehen? Z.B. mit
einem µA 7810 auf 10Volt runtergehen, oder mit einem Spannungsteiler
oder einfach mit einem 100K widerstand bei 12V?"

-> Kein Problem, das geht!

Wie machst du die Eingabe? Über Touchscreen, oder?

Klaus.

von Bernd (Gast)


Lesenswert?

@ Cristian

Aber bitte keine 10V auf den Controller geben !!!
Die 10 V (10,2V - 10,4V) sind nur für die LED-Beleuchtung.
Mit einem 100k Widerstand kannst Du da nichts anfangen, ist viel zu groß 
!
Wenn Du 12V zur Verfügung hast, dann kannst Du einen Widerstand von
ca. 100-150 Ohm in Serie schalten, dann stellt sich der gewünschte Strom 
von ca. 15-20mA ein und es liegen ca. 10,2V - 10,4V an den LED's an. Je 
nach Zustand der LED's.

Gruß
Bernd

von SuperUser (Gast)


Lesenswert?

Hallo Christian,

lass dich nicht verarschen (mit den 10V). Wenn du Anfänger bist, 
empfehle ich dir die Schaltung so wie sie ist nachzubauen. Dann ist die 
Wahrscheinlichkeit höher das es klappt. Statt der 15V kannst du auch die 
12V für das Display nehmen, allerdings sollte dann der Widerstand nicht 
180 sondern vielleicht 100Ohm sein.

Der µC braucht die Spannung die im Datasheet steht und zwar aus einer 
relativ guten Quelle. Also nichts mit Vorwiderstand o.ä.

100nF für die Kondensatoren am Spannungsregler sind vmtl. o.k.

von SuperUser (Gast)


Lesenswert?

"Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu
bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die 
Unterschiede zu den anderen Typen?"

Das P03 ist identisch mit dem L2F50, wenn du dir das Bild

http://www.superkranz.de/christian/S65_Display/pics/epson_display_large.jpg

genau ansiehst, findest du da auch den P03-xxxx Aufdruck

von Ben (lightning)


Lesenswert?

@ Klaus R.
Wow übertreibs nich mit dem Sarkasmus, sonst legt der noch
wirklich die 10V an den µC an :D

@ Christian
Hast du das Display bereits oder ist das Ganze erst in Planung ?
Wenn du das Display schon hast und es ein LS020 ist, könntest
mir dann nicht eventuell erzählen woher du es hast oder auch
eins bestellen, kaufen etc. ?

Ach ja noch was, wenn du dir ne 12V Quelle nimmst kannst mit nem
7805 den µC und mit dem 7810 die Display Hintergrundbeleuchtung
betreiben. (Tipp: Nimm ein altes Computernetzteil)
Zum testen dürfte es allemal reichen.

Gruß Lightning

von Christian (Gast)


Lesenswert?

Klaus du bist mein Held!
kannst bei deiner mutti rum trollen

mit 10volt ist natürlich nur für die led-beleuchtung. der 
mikrocontroller wird mit 5v durch einen 7805 gespeist.
Und bei 12V sind 1,6volt spannungsabfall durch 15mA ~ 100ohm. (Das kilo 
ist nur irgendwie reingerutscht)

von Manuel S. (thymythos) Benutzerseite


Lesenswert?

Falls jemand lieber ein Display aus dem S55 benutzen will, ich hab meins 
heute mit nem Logicanalyzer begutachtet: 
Beitrag "Siemens S55 Display"

von Daniel R. (sliderbor)


Lesenswert?

SuperUser wrote:
> "Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu
> bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die
> Unterschiede zu den anderen Typen?"
>
> Das P03 ist identisch mit dem L2F50, wenn du dir das Bild
>
> http://www.superkranz.de/christian/S65_Display/pics/epson_display_large.jpg
>
> genau ansiehst, findest du da auch den P03-xxxx Aufdruck

Ahh, da hat mir das Farbprofil meiner Grafikkarte die Sicht verwehrt 
(die Stelle mit dem P03 war einfach schwarz). Jetzt hab ichs auch 
gesehen. =)

von Achim (Gast)


Lesenswert?

Hallo,
kann mir jemand sagen, wie ich zwischen 8- und 16-Bit Farbe hin- und her 
schalte und der kurzen Seite nach scrolle?

Gefunde habe ich nur folgendes:

8-Bit-Mode
lcd_wrcmd16($EF90);
lcd_wrcmd16($E800);


Scrollen lange Seite (klappt wunderbar)
lcd_wrcmd16($EF90);
R0Fh - start position
R10h - scrollwidth
R11h - offset value (up to value of R10h)

Danke.

von Florian (Gast)


Lesenswert?

Hallo.
Ich habe probiert das display auch anzusteuern, habe aber die 
displayanschlüsse, durch zu oft Löten, geschrottet...
Gibt es einen passenden Adapter, sodass man nicht an der Folie rumlöten 
muss??

Gruß Flo

von LcdMan (Gast)


Lesenswert?

Hello.
Juras Pr., thanks for vertical scrolling method. Do you have a 
specification for LQ022B8UD04 with descriptions of registers? I can't 
found it.

von Ein Display (Gast)


Lesenswert?

Ich auch nicht.

von Juras P. (juras-projects)


Lesenswert?

Hello!
LcdMan, i have only the document based on my researches. But for display 
LS(Q)020B8UD05(6). This document may be expanded and detailed in the 
future.
http://juras.yourbb.be/viewtopic.php?f=2&t=5
or
http://juras-projects.at.tut.by/data/ls020_registers.doc

von LcdMan (Gast)


Lesenswert?

Thanks, it may be useful too.

von pawci0 (Gast)


Lesenswert?

Hi!
I have a LS020 display. It works fine until I try to send some data. It 
appears on the display but after that I can't use any commands anymore.
Before sending data everything works fine. As soon as I lower the RS 
signal and send something through SPI the display seems to ignore all 
commands.
Can you tell me what's wrong?
TIA
Best regards

von Markus H. (rf-bug)


Lesenswert?

Hi pawci0,

If U use the right lib from
http://www.superkranz.de/christian/S65_Display/DisplayIndex.html
everything shoud work.
Check your Hardware if all wires are connected.

BR
Markus

PS: I had a little short @the display by reconnecting the display wires.

von pawci0 (Gast)


Lesenswert?

I have some different code, because i'm using dsPIC33 microcontroler. 
I'm simply using built-in SPI peripheral with hardware CS-pin support. I 
was wondering maybe there's a problem. Normally CS goes low everytime a 
command is send into SPI buffer. But before activating CS i make change 
to the RS-pin - is that OK? Because in Kristian's page it was different 
- first the CS goes low and then RS was changed. But I don't think this 
could be the problem. Somebody correct me if I'm wrong...
In hardware is everything ok, all pins connected correctly. Commands are 
also accepted perfectly BEFORE I send any data (tried for example the 
negative mode... it works). After the RS goes low and I send some data, 
then I can't go back to sending commands - it just doesn't respond for 
ANY commands.

von pawci0 (Gast)


Lesenswert?

oh... forgot to say:
when I go with RS low, than wait a while (but don't send any data), and 
then go with RS high, then commands still work!
Only after sending data display ignores commands - I can write then only 
data (colors), and display keeps raising the pointer position.

von pawci0 (Gast)


Lesenswert?

Problem solved :)
Markus you were right. It seems that CS pin wasn't working as it 
should...
SPI peripheral was making some strange stuff with it, so I had to 
implement toggling CS pin in software. Now everything works fine :)
Thanks for help.

von A. G. (tipfix)


Angehängte Dateien:

Lesenswert?

Abend

Ich habe ein S65 Dispay mit LQ02xxx. Das läuft perfekt. Auf dem Bild 
sieht man wofür es herhalten muss.

Gruß

von unseen (Gast)


Lesenswert?

Hello!
I connected a L2F display to my parallel port, everithing is fine, 
except that when screen is written, there are vertical flickering lines.
These lines are random in length and color, and appear beneath the drawn 
pixels towards the bottom of the screen.
Does anybody experienced similar, what causes them?

Other question, can somebody tell me, what controller is used on C65 
displays?Or at least a project, some source code, anything.
The pinouts are (almost) identical to S65.

Thanx!

von unseen (Gast)


Angehängte Dateien:

Lesenswert?

I attached a video, maybe somebody can help me?

von unseen (Gast)


Angehängte Dateien:

Lesenswert?

Here I made another video. (sorry for quality, webcam)
I've slowed down the SPI communication (only for image data sending) by 
making an 1s delay between each line change, and figured out, that the 
lines appear when the CLOCK line is low. When it goes high, the picture 
gets back to normal.

von unseen (Gast)


Lesenswert?

Hello again!

I still need some help please from somebody who owns an L2F50 based 
display.
Please try out the following: draw a picture, or anything to the screen, 
than pull the SCLK line LOW from software, and make an infinite loop 
afterwards. It would be a huge help for me, I would figure out if my 
display is faulty (the whole picture should turn into vertical 
(sometimes moving) lines, or something else is wrong.

Thank you!

von A. G. (tipfix)


Lesenswert?

Hallo

Hier könnt Ihr mal alle Bilder zu meinem Projekt bewundern.
[[http://www.andyandandy.de/gallery/main.php?g2_view=core.ShowItem&g2_itemId=369]]

Gruß Tipfix

von Michael R. (rubi)


Lesenswert?

Hallo Tipfix

Gratuliere, schöne Prototyping arbeit.

Der Led Cube ist auch sehr schön.
Auf die Idee Heiskleber als Difusor zu verwenden muss man auch mall 
kommen.

Jetzt noch die leds in smd und ein "paar" mehr, schon könnte man in 3D 
fernsehen. :)

LG
Michael

von Klaus2 (Gast)


Lesenswert?

...wieso hat der Atmel nen Kühlkörper auf dem Steckbrett??? :)

Klaus.

von unseen (Gast)


Lesenswert?

Really nobody can help???  :(

von A. G. (tipfix)


Lesenswert?

Guten Morgen

Der Atmel ist von meinem Cube. Da er dort mit 16 MHz läuft und viel zu 
tun hat wird er in der mitte etwas warm. Und da dachte ich mir ein 
Kühlkörper kann nicht schaden. Er ist aber wieder dort wo er hin gehört. 
Für das GPS kommt jetzt ein 644'er zum einsatz. Grund mehr SRAM.

Gruß der Tipfix

von M. E. (meins0273)


Lesenswert?

Hallo, hat jemand das Datenblatt vom S65 LS020 Display?

Danke und Gruß
meins0273

von Joachim (Gast)


Lesenswert?

Falls jemand Interesse hat:

wir verkaufen S65 Displays (LS020 neueste Version) inklusive 
smd-springboard-connector.
Ganz neu, originalverpackt 12€ / Stück.

Bei 10 Stück 10€
Bei 100 Stück 8€.

Bei Interesse schreibt hier hinein.

Viele Grüße

Marc

von A. G. (tipfix)


Lesenswert?

Wie wärs mit einem Bild damit man sich den Connector mal ansehen kann?

von Andreas (Gast)


Lesenswert?

> Joachim
> Marc

Ja was denn nun?
Wenn schon gewerblich hier rumspammen, dann bitte mit richtigem 
Firmennamen.

von Avr N. (avrnix) Benutzerseite


Lesenswert?

Ich hätte an ein S65 Display + Connector Interesse Was kostet der 
Versand?

von S65 (Gast)


Lesenswert?

Hallo Joachim,

was willst Du für 50 Displays ohne Connector.

> Wie wärs mit einem Bild damit man sich den Connector mal ansehen kann?

von Joachim ;-) (Gast)


Angehängte Dateien:

Lesenswert?

Marc und Joachim gibts beide ;-)

Versand DHL Standardpreise je nach Gewicht + 1€ Verpackung.

Schlechtes Bild vom Connector ist anbei.

Bitte schreibt mir eine eMail an supply (AT) butterflyavionics (dot) com

Viele Grüße

Marc


@S65: 450€ + Versand

von Bastler (Gast)


Lesenswert?

Hallo Joachim,

verkaufst Du auch die Connector ohne Display, wenn ja, was würden 10 
Stück kosten?

von Ben (lightning)


Lesenswert?

@Joachim

Tach !
würdest du die Displays auch nach Österreich versenden ?
Wenn ja würde ich auch 4 Stück nehmen.

Gruß Lightning

von mctx (Gast)


Lesenswert?

Was würden denn 50 von den Connectoren kosten?

von Joachim (Gast)


Lesenswert?

Hallo zusammen,

herzlichen Dank für Euer Interesse.

Ich möchte jetzt nicht diesen (wirklich guten) Beitrag hier zusammen. 
Also bitte alle Anfragen an die o.g. Adresse.

Vielen Dank

Marc


@Ben: Versand in die EU ist kein Thema (kostet nicht viel mehr)
@mctx und wigbert: connectoren sind leider vergleichsweise teuer:

1-50:  2€ / Stück
ab 50: 1,80 € / Stück

von Gast (Gast)


Lesenswert?

Hallo,

gibt es Erfahrungswerte zur Lebensdauer der LCD Hintergrundbeleuchtung?

Danke

von Mark .. (mork)


Lesenswert?

Wie hoch ist eigentlich die Reaktionszeit von dem Display? Bei dem 
kleineren Nokia 6100 LCD dauert es voll lange, bis die Pixel nach dem 
Übertragen ihre Farbe wechseln, schätzungsweise so um die 200-300ms, 
sodass bewegte Grafiken sehr verschwommen erscheinen. Ist es bei diesem 
LCD besser?

von Benedikt S. (Firma: embedded projects GmbH) (flopper)


Lesenswert?

Hallo,

hier gibt es jetzt nun einzeln für den Bastler das Display (Preis ist 
inkl. Mehrwertsteuer):

www.eproo.net (direkt auf der Startseite)

(und den passenden Connector natürlich)

Gruss Bene

von SuperUser (Gast)


Lesenswert?

>> gibt es Erfahrungswerte zur Lebensdauer der LCD Hintergrundbeleuchtung?

Meine funktionern seit 2006 ohne Probleme. Da es sich um LED's handelt 
kannst du mit einigen zehn-tausend Stunden rechnen wenn du es mit der 
Helligkeit (Strom) nicht übertreibst.


>> Wie hoch ist eigentlich die Reaktionszeit von dem Display?

Ziemlich schnell. Videos sind kein Problem.

von Gast (Gast)


Lesenswert?

Display3000 spricht von
Zitat:
"Da die LEDs im Display eine begrenzte Lebensdauer von ca. 5000 Stunden 
haben (dann ist die Leuchtkraft auf 70% gefallen)..."

MfG

von Anonym (Gast)


Lesenswert?

Das ist mit den 5x10^3h ist konform mit den Spezifikationen im 
Datenblatt.

Dann tritt 0,7*Helligkeit_max ein.

von Gunni H. (gunni)


Lesenswert?

@ Anonym: Aus welchem Datenblatt hast du die werte entnommen?
Soweit mir bekannt ist, existiert für das Display kein original 
Datenblatt.
Kannst du mir vielleicht eine Kopie... :-)

von M. E. (meins0273)


Lesenswert?

Hallo,
habe jetzt auch zwei S65 Displays an einem PIC18F4520 mit dem CC8E 
Compiler in Betrieb. Gibt es ein Tool um Zeichensätze zu generieren.
Ich benötige einen großen (27x49 oder noch größer). Mir würden die 
Zahlen von 0 - 9 und ein : genügen. Also für eine Zeitanzeige.
Hat jemand einen Tipp?
Danke und Gruß

von dave (Gast)


Lesenswert?

Hallo,

ich benütze das L2F50 Display. ich würde es gerne schaffen, die 
adressierung des displays zu drehen (so wie beim ls020), damit ich es im 
querformat betreiben kann. das würde mir einiges erleichtern ;-)

ich habe jetzt den ganzen thread durchgelesen, aber leider nix gefunden. 
hat das vl. schon irgendjemand zusammengebracht ?

lg,

david

von Markus L. (markusl)


Lesenswert?

Wow, danke für die unglaublich vielen Tipps in diesem Thread! Jetzt 
funktioniert meine 3D-Demo auf dem S65 (über PIC32 angesteuert) endlich! 
Hier ist ein Video: www.cg.tuwien.ac.at/~markusl/MVI_3327.AVI

Das Hardware SPI hat anfangs überhaupt nicht funktioniert. Ich hatte 
aber schlichtweg vergessen auf das Ende der Übetragung zu warten bevor 
ich CS auf
high gesetzt habe.

von Ivan M. (ivanm)


Lesenswert?

I've noticed that Christian's S65 document still is still missing power 
down sequence for LS020 controller.

For a regular shutdown a display needs normally a power down sequence to 
discharge the glass voltage in a controlled manner.
If you do not send this sequence, then after the power down, matrix will 
be some time under DC voltage, which will reduce its lifetime.

This is power down command sequence for LS020B8UD06 based S65 LCD:

Code:

//Function LCD_PowerOff()is performing power down sequence.

void LCD_PowerOff()   //LS020... controller in S65 lcd
{
  const BYTE bOff[52] =
  {
    0xEF, 0x00, 0x7E, 0x04, 0xEF, 0xB0, 0x5A, 0x48,
    0xEF, 0x00, 0x7F, 0x01, 0xEF, 0xB0, 0x64, 0xFF,
    0x65, 0x00, 0xEF, 0x00, 0x7F, 0x01, 0xE2, 0x62,
    0xE2, 0x02, 0xEF, 0xB0, 0xBC, 0x02, 0xEF, 0x00,
    0x7F, 0x01, 0xE2, 0x00, 0x80, 0x00, 0xE2, 0x04,
    0xE2, 0x00, 0xE1, 0x00, 0xEF, 0xB0, 0xBC, 0x00,
    0xEF, 0x00, 0x7F, 0x01
  };
  int i;

   if(m_bPowerOff) return;

  m_bData |= LCD_RS;  //Command bytes

  for(i=0; i<52; i++)
  {
    SPI_Send8bits(bOff[i]);
  }

  SPI_Delay(SPI_DELAY_1ms * 50); //delay 50 msec
  m_bPowerOff = true;
  //turn off power
  ...
}
---------------------
Original link is http://cprime.110mb.com/lesson/0201/1-6.php, I took me 
a while to translate it from Russian :-). Tested, it works.
This is last important piece of LS020B8UD06 protocol (well maybe 
contrast setting will be nice, but default contrast works very well for 
this TFT)


Frohe Weihnachten!

Ivan

von Psych (Gast)


Lesenswert?

>3D-Demo auf dem S65

Sieht aus wie ein Video. Ist bestimmt nen Fake ...

von A. G. (tipfix)


Lesenswert?

Psych wrote:
>>3D-Demo auf dem S65
>
> Sieht aus wie ein Video. Ist bestimmt nen Fake ...
Der Gedanke hat sich mir auch augedrängt. Der Teapott kommt mir bekannt 
vor.
edit:
"Utah teapot" heisst der. Gibt es unzählige videos im netz. Ganz sicher 
auch das.

von Markus L. (markusl)


Lesenswert?

Thanks for the power down sequence... finally, after three years all 
seems to be complete ;)

@A. G., Psych: Klar ists der Utah-Teapot, ist einfach das kultigste um 
was auszuprobieren ;) ... Ist aber kein Video, das ist ein Software 
Scanline-Renderer.  Intern arbeitet der nur mit Fixed-Point Zahlen und 
ist deshalb recht schnell. Das größte Problem war der kleine RAM des 
PIC32 (32kb), da hat nicht der ganze Framebuffer platz. Deshalb wird 
immer nur ein drittel des Bildes berechnet und dargestellt. Intern hat 
der Framebuffer auch das 5-6-5 Farbformat des S65, deshalb kann er sehr 
schnell auf das S65 übertragen werden.

Wer genauer wissen will wie man sowas macht, kann sich ja folgendes mal 
anschauen: http://www.cg.tuwien.ac.at/courses/CG/textblaetter.html
Das ist ne Computergraphik Vorlesung...

von A. G. (tipfix)


Lesenswert?

Markus Lipp wrote:

> @A. G., Psych: Klar ists der Utah-Teapot, ist einfach das kultigste um
> was auszuprobieren ;) ... Ist aber kein Video, das ist ein Software
> Scanline-Renderer.

Kann man aber kaum glauben wenn man es sieht. Dann will ich mal nichts 
gesagt haben.

von Markus L. (markusl)


Lesenswert?

So, dazu gibt es im Internet bestimmt noch kein Video:
www.cg.tuwien.ac.at/~markusl/MVI_3328.AVI

Wollte eigentlich "mikrocontrollet.net" schreiben, aber das hätte viel 
zu viele Dreiecke gebraucht ;) (schon dieser Schriftzug hat 420 
Dreiecke, da kommt der Pic32 bereits ins schnaufen)

von Markus L. (markusl)


Lesenswert?

Noch schnell ein Performance-Tipp:

Es ist absolut NICHT nötig, nach jedem Daten-Befehl die CS oder RS 
Leitung zu ändern. Es reicht aus, einmal CS und RS richtig einzustellen, 
dann kann man alle Pixel nacheinander schicken (Also die Abfolge 
CS-RS-DATA-DATA-DATA .... DATA-DATA-CS). Das ist viiiiel schneller als 
die Abfolge CS-RS-DATA-CS für jedes Pixel (wie sie zb in LCD.asm von 
Christian steht).

von A. G. (tipfix)


Lesenswert?

Gut. Bin überzeugt. Blöde Frage noch: Was ist ein PIC32?

von Markus L. (markusl)


Lesenswert?

A. G. wrote:
> Blöde Frage noch: Was ist ein PIC32?

Klicke dazu einfach auf den Link den die Forumssoftware automatisch in 
dein Post eingefügt hat ;)

von Psych (Gast)


Lesenswert?

>Blöde Frage noch: Was ist ein PIC32?

Das ist ein Produkt der Teufelsfirma, die Atmel übernehmen will, damit 
sie bessere Produkte als momentan im Angebot haben ;-)

>So, dazu gibt es im Internet bestimmt noch kein Video:

Ganz klar, immer noch ein Video. Glaube es erst, wenn ich ein bischen 
Code sehe !

von Achim (Gast)


Lesenswert?

Von dem L2F50 gibt es doch sogar ein Datenblatt. Ist irgendwo viel 
weiter oben schon mal verlinkt. Da sollte eigentlich alles drinne 
stehen, auch wie man dreht:
http://www.mikrocontroller.net/attachment/19968/50052T01e_01_110902.pdf

von M. E. (meins0273)


Lesenswert?

Meinst Du ATMEL oder Microchip :-)

von gast (Gast)


Lesenswert?

hi ich bin grade dabei auch mein erstandenes LCD in betrieb zu nehmen
eine frage hätte ich noch zu dem 2,9V und 1,8V  anschluss

könnte man den 1,8V aanschluss nicht auch über eine diode noch etwas 
abschwächen? das sind dann zwar um 2,1V was aber eben nicht die vollen

und 3 dioden in reihe zu 5V dürften auch die 2,9V erzeugen
oder is dagegen etwas einzuwenden

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Du kannst beide Pins ohne Probleme auf 3V bzw. 3.3V legen.

von James (Gast)


Lesenswert?

Hi, eine Frage an die Hardware Spezis. Gibt es eine Möglichkeit den 
vorgeschlagenen Hochsteller von Christian für die 12V, soweit zu 
modifizieren, das man bei Bedarf die "Hintergrundbeleuchtung" (also die 
12V) komplett ausschalten kann.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Einfach die PWM ausschalten. Die LEDs brauchen mind. eine Spannung von 
ca. 10V und vorher fließt auch kein Strom.

von James (Gast)


Lesenswert?

Das kann ich nicht bestätigen. Sobald du an eine Diode Spannung anlegst 
fließt auch ein Strom. (wenn nicht in Sperrichtung) Und auch in meinem 
Fall, wenn an dem Display 5V anliegen, dann leuchten die LED's schon. 
Zwar nicht so hell aber sie leuchten. Deshalb will ich eine Lösung haben 
die LED Spannung abschalten zu können.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Hat hier noch jemand anders ausser mir das gefühl das die displays ein 
wenig dunkel erscheinen (trotz heller Hintergrundbeleuchtung)?

Bei Menüs und grafiken merkt man das kaum, aber bei Bildern wird es 
schon ganz deutlich meine ich...

Hat einer mal mit der maximalen SPI Frequenz rum probiert? Habe es hier 
an einen SAM7 mit 96 MHz am laufen (glaube ich zumindest, morgen wird 
gemessen).

Interessant ist beim LPH88 das man ohne Probleme einfach neue Daten rein 
schreiben kann ohne dazwischen Kommandos zum Display zu senden (einfach 
einen Bildschirm per SPI übertragen, ich mach das einfach per Hardware 
DMA). Der alte Bildschirminhalt wird dann einfach bildschirmweise neu 
beschrieben.

von Gunni H. (gunni)


Lesenswert?

@Marius S.: Das würde mich auch interessieren.
Ich habe mit dem AVR nur den Max SPI von 8 MHz erreichen können.
Hast du 96 MHz CPU Takt oder SPI Takt ??
Zum Bilder darstellen sind 8 MHz zu wenig, deswegen verusche ich mich 
gerade in den SAM7 einzuarbeiten.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

@James
Bei meinem LPH88 brauche ich mind. 7V damit ein Strom fließt. Ein 
schwaches Leuchten der LEDs sieht man bei dieser Spannung aber nicht.

@Marius S.
> Hat hier noch jemand anders ausser mir das gefühl das die displays ein
> wenig dunkel erscheinen (trotz heller Hintergrundbeleuchtung)?
Meine LPH88 sehen dunkler und auch schlechter ausgeleuchtet als wie die 
LS020 aus...

> Interessant ist beim LPH88 das man ohne Probleme einfach neue Daten rein
> schreiben kann ohne dazwischen Kommandos zum Display zu senden...
Das müsste beim LS020 auch gehen, wenn man den Window-Bereich dem 
entspechend setzt - ich habe es aber noch nicht ausprobiert.

von James (Gast)


Lesenswert?

Ich habe den LS020 und bei dem leuchten die LED's schon bei 5V. Also 
wenn der Hochsteller inaktiv ist. (z.B.:beim Programmieren.) Wie wird 
den die Abschaltug im Handy (zB: S65) realisiert? Ich habe leider keins, 
sonst hätt ich den sofort zerlegt ;). Gewiss gibts da eine feine Lösung.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Einfach einen NPN-Transistor oder N-Chn MosFet zwischen LED-Kathode und 
Masse schalten.

von Lupin (Gast)


Lesenswert?

hab eben mal nachgemessen, mein SPI takt ist wohl 48MHz. komisch, die 
PLL hab ich aber nicht so eingestellt...

Das Problem mit der LED lässt sich auch lösen indem man die Schaltung 
mit 3,3V betreibt (gibt auch keine Probleme mit dem Display).

von James (Gast)


Lesenswert?

@Andreas
Das ist eine Überlegung wert. Danke.

von michael (Gast)


Lesenswert?

hi,

ich hab ein display mit epson-controller laufen. das display hat eine 
spannungsversorgung von 3V und der Controller läuft auf 5V mit 
Spannungsteilern.
Zu Anfang läuft das Display einbandfrei, jedoch berlassen nach ca. 1 - 2 
Sekunden die Farben, bis nichts mehr zu sehen ist. Dann muss ich einige 
zeit (ca. ne halbe bis eine minute) warten, dann geht es kurz wieder.
ich hab das gefühl, dass der controller auf dem display zu warm wird und 
dann abschaltet... kann das sein? hab hier gelesen, dass die displays 
auch mit 3,3V betrieben werden.

von Euroscan T. (euroscan)


Lesenswert?

hi,
- need library ( *.lbr) for EAGLE 4.13 on S65 LCD connector 10 pins.
part number ITT Canon B 5 129.S

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

http://www.watterott.com/S65-Display-LS020 -> Downloads -> Eagle Lib

von Euroscan T. (euroscan)


Lesenswert?

thanks so much for this link.
Eagle library exist in this link only in version > 4.60
it's simply to re-mark to other version.

von Kay (Gast)


Lesenswert?

hallo,

benutze seit langem das S65 Lcd mit LS020 Controller. Funktioniert 
prima, wenn ich es im Landscape modus betreibe. Wenn ich im Hochformat 
was darstellen will, dann ist es spiegelverkehrt. Hier mal meine 
Ansteuerungunsroutine für Bascom:

Window2:
                                                     'Ausgabefenster mit 
den kooridnaten x1,y1 und x2,y2 /X-direction)

   Rs = Kommando
   Ausgabe = &HEF90
   Gosub Lcd_send
   Ausgabe = &H0500                                         ' Direction 
or  &H0504
   Gosub Lcd_send
   '-----------------
   Ausgabe = &H0800 - X1                                    'X1
   Gosub Lcd_send
   '-----------------
   Ausgabe = &H0900 - X2                                    'X2
   Gosub Lcd_send
   '-----------------
   Ausgabe = &H0A00 - Y2                                    'Y1
   Gosub Lcd_send
   '-----------------
   Ausgabe = &H0B00 - Y1                                    'Y2
   Gosub Lcd_send
Return

mit diesem Codeteil wird der Text spiegelverkehrt angezeigt.Ich habe 
schon probiert, die X1,X2,Y1,Y2 zu ändern, aber ich bekomme keine 
normale schrift hin. Auch mit X1 = 131 - y1 oder so, bekomme ich es 
nicht hin. Kann mir jemand einen Tip geben, wie ich aus der 
Spiegelverkehrten Schrift, eine lesbare Schrift hinbekomme ?

danke und gruß Kay

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Schau dir mal diese Übersicht zur Schreibrichtung an:
http://juras.yourbb.be/viewtopic.php?f=2&t=5#p15

von Lupin (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal das Datenblatt zum LS020... steht nicht viel zum Interface 
drin.

Es geht aber daraus hervor, dass der Controller tatsächlich ein LR38826 
ist - eigentlich suche ich nach dem Datenblatt dafür.

Die Supply voltage ist mit 2.8 bis 3.0 Volt angegeben - die meisten 
betreiben ihr Display also mit Überspannung.

Aber laut dem Datenblatt kann der display controller nicht mit 1.8 Volt 
betrieben werden - komisch...

von Mathias T. (schildkroete)


Lesenswert?

hallo,
kann der Pin 1V8 auch einfach an 2,9V angeschlossen werden oder geht das 
LCD dann kaputt?

von Andreas W. (Gast)


Lesenswert?

Beim LS020 und LPH88 kann man das ohne Bedenken machen. Der L2F50 Typ 
scheint es nicht so zu mögen - steht alles in diesem Beitrag.

von Michael B. (bubi)


Angehängte Dateien:

Lesenswert?

Hallo,

Hänge mich hier auch mal an,
Anbei der Initialisierungscode für einen STM32 Prozessor und LS2020 
Display.
2 Funktionen habe ich Testweise eingebaut:

1 mal FillScreen zum auffüllen des Displays und eine DrawBitmap passend 
zu Beitrag "Bitmap Konverter". Angepasst muss in der 
"for" Schleife in der Funktion eig nur der Pixelwert des zu zeichnenden 
Bildes angepasst werden.
Interesant sollte aber nur der INIT Code sein ;)

Viel Spass damit.
Und danke euch allen für die super Vorarbeit.

von Lasse S. (cowz) Benutzerseite


Lesenswert?

Hi,

ich habe mein Display an einen Mega2561 angeschlossen, alle Verbindungen 
überprüft und doppelt gecheckt. Die Software von superkranz genommen, 
aber leider "passiert nichts". Genauer gesagt: Auf dem Display verändert 
sich nichts und der Code bleibt irgendwo in der lcd_init hängen.

Aufgrund der Adresse der Register SPCR und SPIF habe ich die SPI_SEND 
Befehle wie folgt geändert:
1
SPI_SEND:
2
  lds R28,SPCR
3
  sbr R28, (1<<SPE)
4
  sts SPCR, R28  
5
  ;sbi SPCR,SPE        ;enable SPI
6
  out SPDR,r24        ;load byte in SPI data register
7
SPI_SEND_0:
8
  lds R28,SPSR
9
  sbrs R28,SPIF 
10
  ;sbis    SPSR,SPIF
11
  rjmp    SPI_SEND_0      ;transmitt byte to LCD
12
  in  r0,SPDR
13
  sbi PORTF,LCD_CS        ;deselect Display
14
  ret

Zudem habe ich den XTAL-Wert auf 7372800 angepasst und die 
Pin-Definitionen zu meinem System passend eingestellt. Da bei mir nicht 
alle Pins (RS, CS, RESET) auf PORTB, sondern auf PORTE und PORTF liegen, 
habe ich im Code auch die entsprechenden Zeilen geändert.

Das ganze betreibe ich direkt an 3,3V. Vielleicht hat's ja mein Display 
geschossen? ;)

Hat jemand von euch eine Idee, warum das ganze bei mir nicht 
funktioniert (vllt noch andere Ideen als die 3,3V?)?

Grüße, Lasse

von Guest (Gast)


Lesenswert?

> Blöde Frage noch: Was ist ein PIC32?

Das ist eine afrikansche Tausendfüssler- Ausführung mit nur 32 Beinen 
:_))

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.