was ist sinvoller so Board sich holen oder mit einer Lochplatine selber zusammenlöten. Schaltplanlesen kann ich soweit, pneumatikschaltungen sind ja ähnlich. und kann ich das in Echtzeit anzeigen lassen ? Gruß
Jo des müsste eigendlich oben in den Beitrag. Ich habe mir grad mal den Schaltplan angeschaut, wo wird der Com-Port angeschlossen und wenn ich dieses Stecker abziehe, was passiert dann ? Ciao
Benedikts Projekt ist nur eine "Grafikkarte" da dass Display keine Intelligenz oder Ram besitzt. An die RS232 kommt deine Quelle, zb. ein PC den du mit einem Terminalprogramm dazu bringst dem PDF entsprechend Zeichen Richtung ATmega8515 zu senden, diese werden dann angezeigt. Hier die Software für LCD-Hype ;) Beitrag "Re: LCD Controller für 640x480 LCD mit mega8515" Anselm
Anselm 68 schrieb: > Benedikts Projekt ist nur eine "Grafikkarte" da dass Display keine > Intelligenz oder Ram besitzt. > An die RS232 kommt deine Quelle, zb. ein PC den du mit einem > Terminalprogramm dazu bringst dem PDF entsprechend Zeichen Richtung > ATmega8515 zu senden, diese werden dann angezeigt. > > Hier die Software für LCD-Hype ;) > Beitrag "Re: LCD Controller für 640x480 LCD mit mega8515" > > Anselm Ja sieht schon mal gut aus ;-) Aber er beschreibt das es instabil ist, was ich schon vermutet habe, da mein 128*68 Display schon sehr aufwendig mit LCDHype läuft. Sicherlich kann ich es mit LCDHype probieren, kann dennoch wenn es nicht funtioniert auf die variante mit dem ATMega greifen, wäre allerdings neuland und somit auch etwas nervig. Aber da muss man durch :-) Ciao
Daher habe ich die neue Version entwickelt, bei der ich den ganzen Ballast der alten Version verworfen habe und alles komplett neu entwickelt habe: Beitrag "Re: LCD Controller für 640x480 LCD mit mega8515" Diese sollte stabil laufen. Das Problem an LCDHype ist, dass es keine Displays größer 320x240 unterstützt, daher musste ich oben viele Tricks anwenden um das dennoch zum Laufen zu bekommen, was die ganze Sache etwas kompliziert und fehleranfällig macht. Die neue Version ist nicht mehr kompatibel mit LCDHype, da es einfach sinnlos war. 20-30% CPU Auslastung nur für die Ansteuerung des externen Display ist eindeutig zu viel. Daher ist mehr Intelligenz in den AVR verlagert wurden, der jetzt einfache grafische Operationen ausführen kann, um Boxen, Balken usw. zu zeichnen, sowie verschiedene Schriftarten direkt anzeigen kann.
Benedikt K. schrieb: > Daher habe ich die neue Version entwickelt, bei der ich den ganzen > Ballast der alten Version verworfen habe und alles komplett neu > entwickelt habe: > Beitrag "Re: LCD Controller für 640x480 LCD mit mega8515" > Diese sollte stabil laufen. > > Das Problem an LCDHype ist, dass es keine Displays größer 320x240 > unterstützt, daher musste ich oben viele Tricks anwenden um das dennoch > zum Laufen zu bekommen, was die ganze Sache etwas kompliziert und > fehleranfällig macht. Die neue Version ist nicht mehr kompatibel mit > LCDHype, da es einfach sinnlos war. 20-30% CPU Auslastung nur für die > Ansteuerung des externen Display ist eindeutig zu viel. Daher ist mehr > Intelligenz in den AVR verlagert wurden, der jetzt einfache grafische > Operationen ausführen kann, um Boxen, Balken usw. zu zeichnen, sowie > verschiedene Schriftarten direkt anzeigen kann. Ja das problem kenn ich, willste da was einprogrammieren bekomme ich 100% Auslastung hin. Deswegen will ich es mit dem ATMega probieren ! Ciao
Wirst schon dafür sorgen müsse, dass nur einer der beiden selektiert ist. Also PB0 an /CS1 vom einen und an CS2 vom anderen. Inverter unnötig, da die CS-Anschlüsse ja beide Varianten bieten.
ex) lcd_string(60,230,"640x480 LCD Controller"); lcd_string(64,250,"ATMega8515 (16Mhz)"); void lcd_string(unsigned char x, unsigned char y, unsigned char *string) { while(*string != '\0') { lcd_writechar(x+=2,y,*string); string++; } }
In der fontimage.bin sind enthalten: 12x16 16x26 24x40 32x53 Der Aufbau: Zuerst kommt das Inhaltsverzeichnis: Pro Schriftart gibt es einen 8Byte langen Eintrag, bestehen aus - Startadresse der eigentlichen Daten (32bit) - Breite in Pixel (8bit) - Höhe in Pixel (8bit) Der letze Eintrag im Inhaltsverzeichnis muss auf 0xFF gesetzt werden, damit das Ende erkannt wird.
Hej Benedikt, zunächst einmal vielen Dank für Deine ausführlichen Arbeiten und Unterlagen zum LCD-Controller! Gerade für mich als "Greenhorn" sind diese eine perfekte Starthilfe. Habe letzte Woche günstig ein LM64K101 erstanden und bin dabei, das Projekt welches Du am 19.11.2009 hier eingestellt hast, zum Leben zu erwecken. Was mich verwundert ist, daß besagtes Sharp-Panel keinen MOD AC-Eingang hat. Wird dieser nicht benötigt oder überlese ich im Datenblatt etwas? Danke für Deine Hilfe und beste Grüße dreandas
Hallo Super Projekt Benedikt!! Eine Frage kann man das Farb-LCD verwenden? http://www.pollin.de/shop/dt/NTQ5OTc4OTk-/Bauelemente/Aktiv/Displays/TFT_Farbdisplay_HOSIDEN_HLD1026_011150.html
@Benedikt ich bin über eine Tüte S-Rams AS7C4096A 12ns gestolpert. Die hätten 512Kx8 und wären nun mal da. in der 1.Schaltung Deines Beitrag "Re: Zwei 90S2313 verbinden und definierte Daten lesen" benutzt Du ja ein HC02 um ein weiteren S-Ram zu benutzen, nun wollte ich die 2. Schaltung auf 1024Kx8 damit aufstocken. Ich hoffe das geht. Dank Dir mal schon. Wigbert
@Benedikt Hallo, erstmal Danke für das tolle Projekt. Ich hätte eine Frage. Hast du schon mal ein 320xRGBx240 (SX14Q001-ZZA) Display angesteuert mit deinem Controller ? Ich sitze irgendwie auf dem Schlauch, wie man eine intelligente (schnell) Adressierung eines Pixel durchführt. 7 6 5 4 3 2 1 0 Pixel 2 1 0 Byte Nummer 77766655 54443332 22111000 Color Elemente bgrbgrbg rbgrbgrb grbgrbgr Gehe erst mal von einem 1 zu 1 Abbild Speicher LCD aus. Mein Ansatz ist einfach zu langsam. Ich denke es muss irgend einen Trick geben. Beispiel Fall SetPixel(x,y,col) x = 11 y = 10 col = bxxx Worst Case: wenn ein Pixel auf zwei Bytes verteilt ist. eine Zeile = 320*3/8 = 120 Byte pro Zeile Offset = 120 * y 8 Pixel in drei Byte also x= 11 div 8 = 1 Rest 3 Offset = 120 * y + 3 * 1 Da der Rest 3 ist, währe das gesuchte Pixel im Byte 0 und 1 in Skizze n-1 also Color Element 222 nach der Adresse noch laden und XOR also: lade byte 0 shift col << 6 Xor col mit Byte schreibe byte 0 lade byte 1 shift col >> 2 Xor col mit Byte schreibe byte 1 Wie man sieht muss man relative viele Befehle ausführen um ein Pixel zu setzen. Außerdem sind viele Fälle zu berücksichtigen, um das richtige Byte in dem Tripel zu finden. Jemand eine Idee ? Vielen Dank Christian
Hallo, also ich hab auch noch ein Farbdisplay von einem Laptop rummleigen,was ich auf garkeinen Fall wegschmeißen will,weil es was hat,dass ich mag:D Auf jedenfall hat das Display FRM(FLM),DISP(VLCD),LOAD (LP),CP (XSCL) HD0-7 LD0-7 VEE mit 32-36V und VCOUNT(Kontrast) mit 25.9-29.3V. Jetzt würde ich aber gerne die Schaltung nehmen,dass das Display nur S/W anzeigt.Kann ich dan nur die ersten 4 Datenleitungen anschließen?? Die ganzen ICs bei der Farb-ansteuerung sind etwas zu viel für mich also will ich erstmal nur S/W. Und noch was: Ich würde das Teil gerne in mein Labor stelle um z.b Spannung,Strom und sowas zu messen. Kann man das irgendwie machen? Ich würde ja bei Visual Basic ein Programm schreiben,dass die Spannung irgendwie misst und die Werte durch den RS232 Anschluss an den Controller schickt.Dafür würde ich evtl. noch ein MCU benutzen.
Hi, ich habe gerade bei pollin das hier gefunden: http://www.pollin.de/shop/dt/NjI5OTgxOTk-/Bausaetze/Diverse/AVR_NET_IO_Fertigmodul.html Könnte man dami was anfangen ???
Hi@all erstmal @Benedikt Wenn ich das richtig verstanden habe dann kann ich mit Deiner Schaltung das SW-Lc-Display von Pollin(Citicen 9,5" um 9,95€)ansteuern. Wenn ja würd ich es gerne in mein Camaro Projekt einbinden. Ich verwende derzeit eine Atmega 32 zur Steuerung diverser Funktionen wie Glühfadenabfrage,Heckscheibenheizung,Neblerkontrolle,Innenbeleuchtung,Wa rnblinker, Heizlüfterdrehzahl,Klappensteuerung der Lufteinlässe, Aussentemperatur,Ganganzeige vom Automatikgetriebe usw. Gibt es da die Möglichkeit den AT32 einzubinden und die Funktionen grafisch darzustellen? Brauch keine Graustufen nur SW. Wäre tollm wenn ich z.b. Tür(Heckklappe) offen anzeigen kann(Grafisch) oder Lampe defekt oder welcher Gang eingelegt ist. Bin leider mit der Materie noch nicht so vertraut und würd dich um Unterstützung bitten. Mit Dank im Voraus
hallo, ich habe mal die version vom 19.11.2009 ausprobiert, aber leider kann ich keine zeile (zb zeile15,spalte10) setzen der text wird immer in der ersten zeile augegeben, vielleicht hat da einer eine idee mfg
hallo, kann ich denn für den externen speicher für die schriftarten anstelle des M25pxx auch ein 25lcxx nehmen. mfg
Eingaben gemacht... Nachdem so ein LM641542 zusammen mit einigen entfernten Verwandten schon jahrelang seinen Dornröschenschlaf bei mir im Schrank gehalten hatte, fand ich diesen Thread im Sommer 2008. Erst jetzt kam ich aber dazu, die Sache ernsthaft anzupacken. Hier mal eben ein paar (Dankes-) Worte dazu. Speicherbausteine stapeln ist mitunter gut und nützlich, vergrößert jedoch unnötig die Bauhöhe, und so wühlte ich mich lieber bei einem befreundeten Service-Menschen durch einen ziemlichen Haufen ausgedienter Motherboards, bis ich tatsächlich eines mit ein paar W24512 fand. Eine einzige unerwartete Schwierigkeit trat beim Bau dann noch auf - mit einem 1 Ohm-Widerstand hatte ich so gut wie noch nie zu tun. Aber in der braun-schwarz-sonstwas - Sammelbox fanden sich schließlich sogar zwei davon. Die Spule ist selbstgemacht und hat etwa 400 Milliohm bei 470 Mikrohenry. Ein einziges AQV202 steckte im Sortiment bei den anderen Kopplern im Leitgummi und erwies sich als geeignet. Das meiste sonstige Zeug habe ich recycled, DIY-Lötbad sei Dank sogar die Fassungen und den Pfostenverbinder. Auf einen MAX232 konnte ich verzichten. Die freien Gatter des 74HC02 wollten auch was zu tun haben und bekamen nur etwas Unterstützung durch ein paar Widerstände und Dioden. Den, der das Ganze "in einer halben Stunde" funktionsfähig auf Lochraster zusammenbekommt, möchte ich gern sehen; über meinen eigenen Zeitbedarf schweige ich lieber. Die Schaltung funktionierte immerhin auf Anhieb. Allerdings sehe ich mir bei solchen etwas diffizileren Sachen doch vor Anschluß des Zielsystems (hier das LCD) alle Signale auf dem Oskar an. Nachdem diese Prüfung erfolgreich bestanden war, zeigte das Display dann auch bald brav seinen Willkommens-Zweizeiler (verwendet habe ich die Firmware von 2009) und reagierte sogar auf meine Eingaben... Ein großes Dankeschön an Benedikt für das Zur-Verfügung-Stellen der Früchte sicherlich vieler, vieler Stunden beim Programmieren und Testen, sowie für die stets bereitwillig gegebene persönliche Unterstützung! Dank auch allen anderen Stimmen, die hier durch ihre Fragen, Berichte und Uploads zuerst meine Verwirrung, später dann doch noch mein Verständnis gefördert haben! Je nach Gemüt zur Abschreckung oder Anregung ein paar Scans meines Drahtverhaus, sowie eine Aufnahme des (nicht für 8515 vorgesehenen) Test- und Programmierboards. Viel Spaß und Erfolg allen noch kommenden Generationen von Nachbauern... P.S. von Fuchshaar
guten tag, ich habe mal eine frage,und zwar möchte ich gerne eine grössere Schrift(10x16) verwenden als die integrierte 8x12 ,als controller verwende ich den Mega162 wegen mehr Flash,mit einer schriftgrösse von 8x14 funktioniert das auch. aber wenn ich die 10x16 im programm einbinde wird di schrift nicht richtig dargestellt. villeicht könnt mir jemand behilflich sein was ich alles ändern da ich von C nicht viel ahnung hab im anhang das programm mit der 8x14 schriftgrösse und die 10x16datei mfg
hallo, kann mir denn jemand helfen diese eine Schriftart 10x16 darzustellen, wäre sehr dankbar wenn mir jemand etwas helfen würde mfg
Guten Tag, Habe mir auch den Lcd-Controller nachgebaut,allerdings mit einem Mega128 nun fehlen in der oberen und unteren Displayhälfte ein paar Pixel,das hat wohl mit dem Ram vom Mega128 zutun. vielleicht kann denn von euch mir ein paar Tipps geben was ich ändern muss. vielen Dnk MFG
Habe ich irgendwie einen Denkfehler? Ihr habt da 32 KByte RAM, das sind bei mir 32768*8=262144 Bit. Ein sw-Display mit 640x480 Pixel braucht doch aber 307200 Bit. Oder geht es hier doch um nur 640x400 Pixel? Denn dafür braucht man ja nur 256000 Bits und somit würden dann 32 KByte reichen.
Hallo, nachdem Google mir diese Seite als Treffer anzeigt, sollte es für meine Frage, die "Richtige" Stelle sein. Ist es möglich, den Atmel zusammen mit dem LCD 640x480 SW eine VT100 Anzeige zubekommen? Mein Gedanke ist, dass ich z. B. vom Computer Kaffemaschine Set-top-Box / anderer Mikrokontroller den Output an zu zeigen? Es wäre praktisch, eine Anzeige zu haben, den man mit Daten von Aussen füttern kann. Sei es eine Logfile, ein Roman, diverse POST-Error oder einfach nur Bootmeldungen. Schöne Grüße Alex
Hallo, ist zwar nicht mehr das aktuellste Projekt, wollte aber dennoch mal meine Erfahrungen vom Nachbau mitteilen. Zunächst verwendete ich einen 55ns schnellen 512kx8 SRAM von Reichelt, leider ist da immer das Programm fürchterlich abgenippelt (50x per Sekunde viele Rechtecke malen). Etwas (aber nicht viel) Abhilfe schaffte ein Bustreiber 74245 zwischen den Datenleitungen Du0..3 bzw. DL0...3 und dem Display. Als ich dann auf einem DBOX2-Modem von Philips 'nen 128kx8 mit 12ns entdeckte, wurde der flugs verbaut, und was soll ich sagen? Jetzt funktioniert's problemlos, Busy flackert zwar häufig (habe zur Kontrolle 'ne LED dran), der Controller nippelt aber nimmer ab! Als Spule sollte eine von Reichelt passen (L-PIS4720), die haben ja inzwischen geignete Induktivitäten. Die meine ist wohl 'ne Nummer zu groß geraten. Anbei'n Bild von meinem Verhau, die kleine LCD-Anzeige soll mal ersetzt werden (da schwirren noch 'n STM32 und 'n DSP umher). mfg
hallo, ich habe ein problem mit Der Funktion BMPs anzuzeigen. mein sourcecod ist im Anhang. Ich möchte ein BMP Anzeigen mit 240x240 Pixel der umriss, also die Abmaße(240x240Pixel) stimmen aber,nur was mach ich da nur falsch. vielleicht kann mir jemand von ihnen weiterhelfen mfg
Heinz schrieb: > Ich möchte ein BMP Anzeigen mit 240x240 Pixel der umriss, also die > Abmaße(240x240Pixel) stimmen aber,nur was mach ich da nur falsch. Was funktioniert, was funktioniert nicht? Was für Fehler werden Dir angezeigt, bzw. wie äußert sich das "nicht funktionieren"?
Kann das ganze auch testweise ohne RAM benutzt werden? Würde mich über <sinnvolle> Antworten freuen!
Hallo, ich habe eine Frage, und zwar ob man ein solches Display auch mit deinem Controller verwenden kann, und wenn ja, dann wie? http://www.artronic.pl/o_produkcie.php?id=874? Vielen Dank für eine schnelle Antworten.
Ich verwende das LM641541 mit einer der ersten Schaltungen von Benedikt und hab mal eben Daten verglichen, bis auf das CS Signal und dem damit verschobenen Anschluß sollte das eigentlich passen, ich bin schon eine Weile auf der Suche nach einem beleuchteten Display. Holger
Holger W. schrieb: > bis auf das CS Signal und dem damit > verschobenen Anschluß sollte das eigentlich passen Wie meinst du verschoben? Der Anschluss "Pin" oder wie? Und wo finde ich die Aktuellste Version von Schaltplan/Code für S/W Displays? Danke. (Das Display gibts hier zu kaufen: http://www.ebay.de/itm/390435073161)
Beim drüberschauen hab ich gesehen dass die Anschlüsse etwas anders belegt sind. Ich hab schon recht lange die Version 0.21 im Einsatz hier aus dem Thread mit dieser Schaltung: http://www.mikrocontroller.net/attachment/8505/lcdcon_seriell.gif Danke für den Link, werd mal eins bestellen. Holger
@Jonas Tittmann Das LCD ist heute angekommen, mal eben getestet, funktioniert. Holger
Hallo, Wow, das ging ja schnell... kannst du mir mal dein Displayanschluss von hinten Fotografieren? Und dann evtl. eine Skizze anhängen, welche Pins du wie an die Platine angeschlossen hast. Danke
Ich versuch es mal. Im Bild siehst du oben einen 30poligen Steckverbinder für diese flachen Leiterplattenverbinder. Die Belegung findest du am ebay Angebot als Tabelle, ich hab es dort rauskopiert. Leider habe ich so ein Leiterplattenverbindungskabel nicht, so dass ich erstmal die Verbindung direkt zum LCD Anschluß hergestellt habe, dieser ist 15 polig und direkt darunter.Das PDF im Angebot bezieht sich auf diesen Anschluß. Zu der Schaltung von Benedikt ergibt sich folgende Zuordnung, die dann auch auf den 30poligen Anschluß übertragen werden kann: 1 FLM=S 2 LP=CP1 3 XSCL=CP2 4 Disp zum Einschalten auf +5V 5 +5V 6 GND 7 hier bin ich mir nicht ganz sicher, eigenlich sollte das Display die negative Spannung selbst erzeugen, konnte es aber auch mit Tests am 30poligen Anschluß nicht überreden, so dass ich hier eine eigene negative Spannung eingespeist habe (für Kontrast) 8-15 dann die Datenleitungen für upper/lower Damit läuft erstmal das Display. Für die Hintergrundbeleuchtung muß über den 30 poligen Anschluß Pin 10 auf Masse gelegt werden, im Bild oben das schwarze Kabel. Wie gesagt findest du alle Anschlüsse auch wieder am 30poligen Anschluß wieder, diese hat wohl ein Rastermaß von 1mm, wo bekommt man solche Kabel bzw. den Steckverbinder her ??? Holger
Hallo, Ich habe nochmal eine Frage: Was fürn SRAM verwendest du, und wo hast du es gekauft/gefunden oder gibt es da auch welche bei Reichelt zu kaufen, die passen? Danke für das Bild, waren da hinten Lötpads?, oder wo hast du deine Braunen Kabel angelötet? Wohin gehen die vielen Schwarzen Kabel? Grüße von der gerade windigen aber immerhin sonnigen Schwäbischen Alb.
Kann ich dir nicht sagen, hab das vor einigen Jahren anhand dieses Threads aufgebaut, musst du hier mal durchlesen, auch wenn es viel ist. Auf dem IC steht AS7C1024-15JC, keine Ahnung wo ich den her hatte. Der Adapter ist auch von jemandem hier. Die 15 schwarzen Kabel gehen von der hinteren Platine zum Display, darunter sind Lötpunkte die ich angezapft habe. Die scharzen Kabel sind da eingepresst. Holger
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.