Hallo, Ich möchte für meine Projektarbeit was sehr gewagtes probieren. Mein ziel ist es ein Display (oder mehrere, ist ja nicht viel mehr arbeit) anzusteuern. von der schule bekomme ich einen µController geliehen mit dem ich diese aufgabe erledigen kann. das problem ist für mich, dass bei dem SPI display mir schwer fällt zu verstehen wie genau es ablaufen soll. Wikipedia meint dass man 4 pins benötigt. ein signal das daten sendet, empfängt,takt und eines, welches für den Multiplex nötig ist (slave select). das mit dem takt sollte ich bequem realisieren, die daten auf die richtige leitung zu bekommen auch, multiplex schaff ich auch. Aber was für daten das display fressen will, versteh ich nicht. Dieses Display möchte ich steuern: http://www.reichelt.de/DOG-LCD-Module/EA-DOGS102W-6/3/index.html?;ACTION=3;LA=2;ARTICLE=101653;GROUPID=3007;artnr=EA+DOGS102W-6;SID=12UK4KQ38AAAIAAGq3GYIcf72c1bace8b1d9ce6a16d69a9bed41e Der µC mit dem ich es angesteuert bekommen will ist auf einem board dran, welches keinen namen hat. klingt bekloppt, aber die boards waren extra angefertigt der µC heisst Atmel AT89C5131A mein lehrer hatte bedenken wegen der 12Mhz taktung, weil es völlig überlastet wäre für 4 displays inklusive verarbeitung und Duplex RGB leuchten. Denkt ihr dass wär ein problem? immerhin behalten die displays ihre zustände bis zur nächsten beschreibung und man kann sie dadurch inaktiv schalten, falls nicht gebraucht. falls es nicht gehen sollte bietet mein lehrer meiner projektgruppe und mir einen µC der mit 900MHz arbeitet, aber ich will ihn nicht die mühe machen, wenn es nicht nötig ist. ich hab nicht auf gross und kleinschreibung geachtet, da ich von der schule aus schreibe und wir in die Pause müssen^^ ich hoffe ihr könnt mir das verzeihen vielen dank für jeden sinnvollen beitrag
:
Gesperrt durch User
Hi, zunächst brauchst Du die Datenleitungen SCK und MOSI und CS. MISO nur, wenn Du Daten aus dem Display zurücklesen möchtest (meist überflüssig). Die befehle, die das Display versteht, findest Du im datenblatt. Wenn Dein µC ein SPI-interface hat, übernimmt dies die Serialisierung der Daten und die Steuerung. 12 Mhz macht kein Problem. Bei mehreren displays werden an alle SCK und MOSI gelegt und über CS (Chip Select) wird das Display ausgewählt, mit dem kommuniziert werden soll. Die RGB Steuerung ist meines Erachtens schnickschnack und könnte mit HC595 bewältigt werden. Gruß QUAX
Sorry der AT89C5131A hat ein SPI-Interface. QUAX
Ach ja, falls (hoffentlich) keine Vorgabe für die Software besteht, würde ich Dir C mit dem freien (kostenlosen) C-Compiler SDCC empfehlen. GRuß QUAX
wir haben µvision 4 für die realisierung in C. das problem ist dass die vorgefertigten header und .c dateien einfach schreklich geschrieben wurden udn so unübrsichtlich verschachtelt sind dass selbst mein programmier-lehrer schimpfworte in den mund nahm :) ich häng mal eine .c datei an, die wir auf der herstelerseite gefunden haben. die funktion void lcd_send() ist unser erstes problem (ich bin mir sicher es werden noch wegen dieser durchfallsyntrax weiter probleme entstehen, weswegen wir profis brauchen) Vielen dank für die verdammt schnelle antwort dieses forum beginnt mir sehr zu gefallen :) ach ja das display ist ein dotmatrix display, einfarbig. wir dachten in farbe wär es uns zu extrem^^ dass der atmel controller einen spi controller enthält, würde ja heissen, dass wir die mitgelieferten .h und .c dateien gar nicht brauchen oder? dann würden wir es ja direkt die vom atmel header aus programmieren können
Also µVision4 , na denn mit KEIL wirds für Euch spaßig, wie Ihr schon bemerkt habt, das debuggen könnte weitehelfen die Sourcen zu verstehen ... die .h und .c braucht Ihr , hat nix mit SPI zu tun, naja fast nix ... Sicher, dass das beispiel zum LCD passt? Gruß QUAX
Hi Ein Beispiel (allerdings für einen AVR) gibt es bei ELECTRONIC ASSEMBLY: http://www.lcd-module.de/fileadmin/downloads/development%20service/DOGS102_UC1701/Init_and_basic_functions_with_EA_DOGS102_MEGA168.zip MfG Spess
Kajee eeeeeee schrieb: > Dieses Display möchte ich steuern: > > http://www.reichelt.de/DOG-LCD-Module/EA-DOGS102W-... Ich verstehe nicht, warum Anfänger immer denken, programmieren sei Pipifax. Und damits richtig schön schwer wird, nimmt man gleich ein Grafik-LCD. Du mußt Dir erstmal alle Zeichen aus Pixeln zusammen basteln. Und das ganze vielleicht noch für verschiedene Schriftgrößen. Na dann viel Spaß dabei. Wieviel Jahre hast Du nochmal dafür eingeplant? Wenn Du aber reale Chancen haben willst, auch etwas fertig zu stellen, nimm ein Text-LCD, z.B.: EA DOGM162-A. Peter
Kajee eeeeeee schrieb: > das problem ist dass die vorgefertigten header und .c dateien einfach > schreklich geschrieben wurden udn so unübrsichtlich verschachtelt sind > dass selbst mein programmier-lehrer schimpfworte in den mund nahm :) Was habt ihr denn vorher so programmiert, wenn ich mal fragen darf? Dein Beispielcode sieht doch super aus und ist sogar kommentiert. Nur hat der 8051 keine PORTs A,B,C,D, sondern 0,1,2,3. Peter
ja wir haben alle unterlagen gesammelt, jedoch weiss ich eben nicht wie man grafiken machen kann wo man unterschiedliche texte einbringen kann. zumal ich eigentlich mit meinen gruppenmitgliedern keine amateure sind sondern informatiker, aber eben angehende. was wir bis jetzt so alles geschafft haben? auf normalen PCs haben wir c und c++ sehr intensiv erlernt µcontroller haben wir seid diesen september an der schule und wir können grade eben alle c befehle die es mit sich bringt, den integrierten textbasierten LCD auf dem board nutzen, 7segment, assembler haben wir auch vom grundstoff durch. die Ports kann man ja im header umdefinieren, das werd ich noch machen. und dass es jahre dauern soll bezweifle ich. Ich vermute wenn wir den "bogen" raus haben, sind wir auch schon fertig, da wir ansonsten kaum was machen müssen.
Kajee eeeeeee schrieb: > falls es nicht gehen sollte bietet mein lehrer meiner projektgruppe und > mir einen µC der mit 900MHz arbeitet Es geht in jedem Fall mit dem 8051. Der Flaschenhals wird eher das LCD selber sein. Videos wirst Du daher auch mit 900MHz nicht abspielen können. Peter
Kajee schrieb: > den integrierten > textbasierten LCD auf dem board nutzen Und habt Ihr das auch durchschaut, wie das LCD funktioniert? Oder habt Ihr nur ne fertige Lib reingepappt. Das kann ja sogar meine Omi und dabei lernt man nichts. Peter
Kajee schrieb: > Ich vermute wenn wir den > "bogen" raus haben Das Ziel sollte sein, den "Bogen" raus zu haben, wie man ein Datenblatt liest und anwendet. Deine Fragen lassen ahnen, daß Du weder das Datenblatt des LCD noch des MC angeschaut hast. Peter
wollt ihr nun mich einfach runter machen, weil ich hilfe brauche?
sry für doppeltpost peter der lehrer hat uns einfach eine funktion genannt die wir wie printf(); beim programmieren von normalen pcs nutzten. was da passiert wurde uns leider nicht genannt. aber genau da brauch ich ja hilfe, wobei die meisten leute hier ausser motzen nichts beitragen wollen.
Hmm, die meisten hier haben a bisserl studiert denen sollte man nicht auf den "Sack" gehen sondern auch ein bisserl lernen wollen, was in dem Fall heisst: Zeit investieren. Ich hab Probleme das Deutschkauderwelsch zu verstehen, sorry. Viel Spass noch, Dir und Deinen Mitstreitern vielleicht nennt Euch der Lehrer auch gleich die Lösung, dann bleibt Zeit zum "Simmsen". Gruß QUAX
Tut mir leid ich steh heute ein wenig unter zeitdruck. ich versuche mal mehr auf meine aussprache zu achten.
Kajee schrieb: > wollt ihr nun mich einfach runter machen, weil ich hilfe brauche? Nein. Ich wollte nur darauf hinweisen, daß es bei der MC Programmierung nicht reicht, eine fertige Lib aufzurufen, sondern daß man auch verstehen muß, was diese Lib macht. In der Regel sind nämlich die Libs nicht so portabel, wie bei einem PC, wo die Hardware immer gleich ist, sondern man muß einige Anpassungen vornehmen. Und das geht eben nicht, wenn man die Lib nur als Black-Box ansieht. Wie schon gesagt, der LCD-Code sieht recht gut aus, darauf kann man aufbauen. Da sind bestimmt auch noch Header und Zeichensätze dabei gewesen. Daß Du mit dem Code nicht klarkommst, liegt bestimmt daran, daß Du nicht in die Datenblätter geschaut hast. Im Datenblatt des MC findest Du das SPI und im Datenblatt des LCD die Kommandos und die Adressierung des Bildspeichers. Peter
wie gesagt ich hab immernoch alle unterlagen, jedoch weiss ich IMMERNOCH nicht wie ich die grafiken und texte in zusammen auf die scheibe bekomme.
Wenn Du gar keinen Ansatzpunkt hast, dann ist die Aufgabe eindeutig zu schwer für Dich. Dann mußt Du eben erstmal die Grundlagen lernen. Also LED blinken, 7-Segment Anzeige, UART, SPI, Text-LCD. Aber selber geschrieben, ganz ohne fremde Libs. Die Treiber für spezielle Hardware selber zu schreiben, ist Alltag bei der MC-Programmierung. Du hast ja kein Windows auf dem MC laufen. Peter
Ach vergisst es! ich habs satt! closed die scheisse einfach und zeigt dass ihr fürs helfen nicht fähig seid! ich frag einfach in einem forum wo man den tatsächlichen sinn eines forums erkannt hat. So ein scheiss ist mir echt zu dumm