Anbei mal wieder eine kleine Applikation von mir zum spielen. Das Minniterminal kann über eine serielle Schnittstelle (9600Baud, even Parity) an jeden Controller angeschlossen werden. Kern des Ganzen bildet ein PIC16F628A. Mit nur 5 externen Bauteilen lässt sich die komplette Schaltung bei 3,3V Betrieb aufbauen. Die Routinen habe ich auf das notwendigste beschränkt. Scrollroutinen etc. lassen sich aber bei Bedarf einfach einbinden. Vor allem die PIC-Hasser sollten mal einen Blick in die Software wagen. Aussagen wie "jedes DB artet in eine Flut von RETLW-Instructions aus" oder "die Auswertung einer komplexen Befehlstabelle ist mit einem PIC absolut unmöglich" usw. dürften sich mit dem Code recht schnell wiederlegen lassen. Die beiliegende Schaltung und das Layout habe ich nur zum Testen entworfen. Die Platine ist genauso groß wie das Display und kann direkt mit einem Klebepad (ich hab Tesa Powerstrips doppelt verwendet) mit dem Display verbunden werden. Eine Matrixtastatur kann über einen Pfostensteckverbinder angeschlossen werden. Mittels der zwei 8-poligen Pfostensteckverbinder kann die Platine auch direkt auf einem anderen Board aufgelötet werden. Eine großartige Dokumentation gibt es nicht. Ich habe den Code soweit ich es für erforderlich hielt kommentiert. Sollten sich trotzdem noch Fragen ergeben, bin ich gern bereit diese zu beantworten. Die Befehle zur Ansteuerung sind zum einen im Quellcode beschrieben und zum anderen wird der komplette Datenverkehr im beiliegenden Demoprogramm (WIN98, 2000, XP über COM2) angezeigt. Wem der Zeichensatz nicht passt, der kann sich mit dem ebenfalls beiliegenden Generator einen eigenen basteln. So, dann viel Spaß. Steffen
Die Lichtverhältnisse sind zwar gerade beschissen aber hier mal ein Bild des Moduls in Funktion. Zum Testen habe ich es auf eine Lochrasterplatte aufgesteckt. Steffen
Nö, also wirklich !!! Sowas habe ich bisher noch nirgends von einem PIC-Programmierer gesehen: Alles schön modular, die Main-Loop paßt auf eine Seite, alles schön über Definitionen gemacht, GOTOs nur für bedingte Sprünge bzw. innerhalb der Funktion. Sogar Errormeldungen werden erzeugt, wenn man die Puffer zu groß definiert. Wirklich super ! Wenn doch nur mehr PIC-Programmierer ihren Spaghetticode mit den unsäglichen GOTOs kreuz und quer und dem Verzicht auf jegliche Definitionen, endlich aufgeben würden. Das könnte durchaus ne Menge dazu beitragen, die PICs in einem besseren Licht erscheinen zu lassen. Peter
Hallo Peter, von dir hätte ich ja nicht gerade das erste Lob erwartet ;-). Danke. Gelle so schlecht sind die PIC´s ja doch nicht. Es kommt eben auf die Anwendung drauf an. Steffen
Hier mal ein Bild des Controllers ohne Display. Wie man sieht sollte ich doch mal wieder etwas Geld in ein neues Zinnbad investieren ;-). Falls Interesse im Nachbau besteht kann ich das Layout auch etwas überarbeiten und bei PCB-Pool die LP´s fertigen lassen. Ab etwa 10 Stück ist das kein Problem. Für alle, die sich evtl. die LP selbst fertigen wollen, die Pad´s zur Kontaktierung des Displays können noch etwas nach oben geschoben werden. So wie das Package momentan angelegt ist liegen die Kontakte so ziehmlich auf dem letzten Stückchen auf. Gibt aber trotzdem einen sauberen Kontakt. @ Andreas Schwarz Irgendwie ist wohl gestern was schief gelaufen. Mein Name und meine Emailadresse stehen ja automatisch in der Eingabemaske. Also ändere ich dort auch nichts weiter. Nur beim letzten Beitrag von mir steht dort ein Torsten und nicht mein Name & Email.? Steffen
hallo super deine lcd steuerung ich habe ein nokia lcd 3110 und ein pic 16f84 bei mir in der elektroniksammlung nun habe ich vollgende frage laeuft dein programm auch in einem 16f84A pic typ? gruss stephan
Hallo Stephan, die Routinen sollten eigentlich fast problemlos auf einem 16F84A laufen. Die Initialisierung müsste allerdings angepasst werden und die Cursoranzeige funktionieren nicht mit einem 16F84, da der RAM-Speicher nicht ausreicht um die ASCII-Codes aller auf dem Display dargestellten Zeichen zu speichern. Ich hab allerdings keine Ahnung, ob das Display des 3210 mit dem des 3310 identisch bzw. kompatibel ist. Steffen
Hallo, @Steffen Ich gehe mal davon aus dass du nicht der Verkäufer bist. http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=3357072748&category=40568 Grüße Alex
Hallo Alex, ist meine Mail nicht bei Dir angekommen? Doch, ich bin der Verkäufer. Ich bin am überlegen, ob ich einen Bausatz für das Display zusammenstelle. Mit der Anlaitung wollte ich im Prinzip testen wie groß das Interesse ist. Steffen
Hallo. Hat vielleicht jemand so eine Roeutine fuer das gleiche LCD, aber fuer nen 89cX051? Koennte sowas sehr gut gebrauchen,aber wenn ich mir das Datenblatt so anseh faellt mir auf dass ich das nicht hinbekomm :). Naja, vielleicht hat jemand was rumliegen, mfg andré
Hallo Andre, ich bastle gerade an einer Ansteuerung des 3310 Displays mit einem 89C4051. Derweilen habe ich noch kein Display zum Testen. Routinen habe ich schon implementiert. Aber die nächsten Wochen sollte ich ein Display bekommen, dann kann ich alles Testen und weitere Funktionen einbinden. Die Kommunikation mit dem PCD8544 ist nicht sehr kompliziert, will man allerdings eine Menüstruktur basteln, die nach was aussieht, wird es kompliziert. Und der 89C4051 hat nur 4k Speicher zur Verfügung um Bilder, Zeichen,... abzulegen. Aber mal schauen, wie alles so funktioniert.... mfg Andi
Hallo. Hm, jo waer super wenn man da noch etwas machen koennte. Bin im Moment erstmal auf ein 4*20LCD umgestiegen, die 3310LCDs sind aber schon vom Preis her viel besser. mfg
Hm, Martin = André, mein Bruder hat wahrscheinlich auch hier gepostet und seinen Namen uebergelassen :)
Hallo Leute! Bin zufällig über diese Seite gestolpert... Ich suche ein schones kleines Display für Industriesteuergeräte und dachte da an so eine Art Handydisplay. Die Dinger müssten doch bei einer Abnahmemenge von ca. 10000 Stk. / Jahr ziemlich billig zu bekommen sein?! Das in der obigen Anwendung wäre ganu das richtige. Wo kann mann diese Teile in diesen Stückzahlen beziehen? Ebay ist wohl nicht so toll, als Ersatzteil aus dem Nokia-Shop sind sie unbezahlbar. Hat jemand eine Idee? Vielen Dank einstweilen, Gruß, Jörg
Ne, ich find die bei ebay ganz gut. Hab vor wenigen Wochen noch massenweise Handys repariert und saemtliche LCDs von ebay bezogen. Waren eigentlich nie schlecht, obwoh es sich nicht um Originaldisplays handelt
Da kann ich mich aber schlecht darauf verlassen. Ich brauche schon eine Bestätigung das ich dieses Display noch eine weile bekommen kann. Dazu kommt natürlich noch die Lieferplaneinteilung, Rabattstaffeln etc. Wie gesagt, es geht nicht um einzellne Reperaturen sondern um eine Serienfertigung. Gruß, Jörg
Hi für eine Serienfertigung die über mehrere Jahre laufen soll würde ich mich auf keinen Fall auf ein Handy-Display stürzen. Es gibt diverse Firmen die kundenspezifische Displays herstellen. Bei Stückzahlen von 10k/a sollte das auch nicht allzu teuer werden (sicher teurer als Handy-Displays aber du kannst in 5 Jahren immer noch die selben Displays bekommen) Matthias
Suche mal im Markt nach den Displays. Dort hatte sich unter anderem auch eine chinesische Herstellerfirma angeboten. Bei Stückzahlen um mehrere 10k werden die Displays wohl nur ein paar Cent kosten. Steffen
Hi Hab mein Terminal gerade fertig bestückt. Sieht etwas grützig aus, weil mit 1mm Lötzinn gemacht, aber naja wenn nix anderes da ist... :) Ist auf jeden Fall eine tolle sache von Steffen. Mfg Suschman
Hallo Steffen wollt dich fragen ob dies mit einem Atmega 128 möglich ist?
Die Ansteuerung ist nicht allzu kompliziert und sollte eigentlich mit fast jedem MC realisierbar sein. Wenn ich demnächst dazu komme, schreibe ich das Programm mal in C. Dann sind die Quellen leichter portierbar. Steffen
Anbei die Quellen zur Ansteuerung des Displays in C. Die Dateien 3310.c und 3310.h enthalten alles, was zur Ansteuerung des Displays notwendig ist. Die Tastenabfrage habe ich in dem Demoprogramm nicht mit eingebaut. Auf die Abspeicherung der kompletten Anzeige im Ram des Prozessors habe ich ebenfalls verzichtet. Damit sollten die Routinen für das Display auch problemlos auf Prozessoren mit wenig RAM (z.B. 16F84) laufen. Die Kursorfunktion funktioniert bei dem Programm daher auch nicht. An sonsten laufen alle Funktionen des PC-Demoprogrammes. Für konstruktive Kritik am Programm, vor allem am Programmierstiel bin ich sehr dankbar, da ich erst seit kurzem mit C arbeite (bin eigentlich mit Pascal großgeworden). Steffen
Hallo Steffen, ist das eigentlich pseudo C Code oder für einen echten (PIC ?) C Compiler? Mich fasziniert jedenfalls die Implementierung deiner Software SPI: #bit SendBit=SByte.7 [schleife] _SDIN=SendBit; // Bit 7 ausgeben SByte<<=1; [schleife ende] Das ist ja fast wie python! schwärm :-) Wenn ich jetzt nicht vermuten würde, dass Du den Code getestet hast, würd ich sagen, dass in der Funktion SPISendBuffer was nicht stimmt: _SCE=0; // Enable Display [...] _SCE=0; // Disable Display Sollte _SCE zum disablen nicht high werden? Ich werde deinen Code jedenfalls demnächst mal für den mspgcc portieren. Gruss und Danke schon mal für die Tipparbeit, oli
Hallo Olli, der Code ist für den PIC-C Compiler von CCS erstellt. Der Code ist natürlich getestet aber was Du gefunden hasst ist wirklich ein Fehler. Nur macht der sich nicht bemerkbar so lange nur das Display am Controller hängt. Es ist eben ständig Enabled. Wie Du richtig erkannt hast müsste die letzte Zeile _SCE=1; sein (Copy&Paste lassen Grüßen). Für alle als Anhang die korrigierte Fassung der Datei. Steffen
Hi, ich muss da jetzt nochmal nachbohren: Die Möglichkeit ein Bit als eine art Pointer auf eine bestimmte Byte-Stelle zu setzen find' ich grandios! Weis jemand, ob das mit GCC Derivaten auch irgendwie schön, ohne umständliche Umwege über Arrays, geht? Aber vielleicht solte ich dazu lieber einen neuen Thread im *GCC Forum aufmachen... Gruss, oli
Na ja, den Code scheint noch keiner richtig getestet zu haben. Es haben sich doch noch zwei Fehler eingeschlichen. Der erste betrifft die Auswahl der richtigen Tabelle in der Funktion GetAsciiByte. Des weiteren habe ich in der Funktion LCDPrintStr noch ein restart_wdt eigefügt, da der WDT sonst bei längeren Zeichenketten zuschlagen kann. Beim typischen "Hallo"-Test hatte ich das damals nicht bemerkt. anbei die geänderten Routinen. Steffen
guten morgen ihr fleißigen :) sagt mal, wo ihr alle so schön mit den nokia lcd`s rumspielt, könnt ihr mir bestimmt bei der konkurenz auch weiter helfen... ich habe noch displays vom siemens sl42(i)/45(i) kann dazu aber weder hersteller noch datenblätter finden :( hab heute nacht 3h lang gegoogelt und nüx gefunden :( (also wieder vergebens um den schlaf gekommen) mfg KoF
hat eigentlich nochniemnd versuch das ganze in ein 3310/3330 zu quetschen? die tastatur hat 16 tasten(wie ne 4x4 matrix) für besten halt ist geboten da das display ja für das ding gebaut wurde (oder andersrum) und dann wäre da noch der akku den man benutzen kann und der platz für andre sachen(falls man damit was vorhaben sollte) zb. unten die nokia schnittstelle mit ner 9pin buchse austauschen. naja nur mal so als idee. ich find wenn man sein handy schon recyclen will dann bitte ganz e45tg4t3
Dann doch lieber mal madOS ansehen, bevor man das schoene Ding ganz auseinanderschnibbelt. mfg
sorry hab noch vergessen was anzuhängen, ich mein ne platine in dem format selber basteln. nich das das missverstanden wird und alle denken ich wäre bekloppt. hab noch die nokia pads für lautsprecher und tasten als eagle 4.11 lib(siehe anhang). viel spass e45tg4t3
Die gleiche Idee hatte ich auch schon. Ich wollte das Ganze zur Steuerung und Anzeige eines MP3-Players im Auto verwenden, bin aber noch nicht dazu gekommen es zu realisieren. Steffen
ich arbeit grad schon an nem pcb. das einzige was mir bisher aufgefallen ist ist das irgendwie ne icsp schnittstele fehlt oder habe ich da was übersehen?? e45tg4t3
Wenn Du die Schaltung von mir meinst, da sind die zur Programmierung notwendigen PINs (RESET,RB6,RB7,+,-) mit auf den Stiftleisten nach außen geführt. Steffen
ok dann hab ich sie wahrscheinlich übersehen. falls jemand interesse hat ich hab die pads nochmal überarbeitet kann sie nur zz nicht hochladen einfach nochmal ne anfrage starten. e45tg4t3
hi leute, ich fange gerade an mich mit c zu beschaeftigen und habe die code eingegeben die ich als anhang eingefuegt habe die frage ist, warum blinkt das led auch wenn ich die taste noch garnicht betaetigt habe? Ich will dass die led nur dann blinkt, wenn die taste gedrueckt ist. Und kann mir bitte jemad ein beispielcode geben, wo die taste staendig abgefragt wird, und dan eine routine gestartet wird. danke im vorraus
Hmmm Also erstmal ist dieser Thread hier sicher nicht der Richtige ort das zu fragen, aber egal :). Du must erstmal sagen, ob du den Pin auf 1 oder 0 Ziehst mit der taste, und solltest dann in dein while auch nen vergleich einbauen. Momentan müste der das while so lange ausführen wie der pin auf Hi steht. Kann auch sein das der Compiler das irgendwie wegoptimiert ...
Hallo @e45tg4t3 hast DU schon eon PCB für die Nokia_Tasten gemacht? Ich habe ein anderes Handy. Wie funktionieren die Tasten im Handy? Gibt es da einen Standard? Ist das einfach Kontakt schließen oder wird da ein Schwingkreis beeinflußt? Fragen über Fragen! Hat schon jemand erfolgreich das Handy mißbraucht und Tastatur und LCD-Display in Verbindung mit einem ATMEGA angesprochen? Falls ja kann jemand seine Erfahrungen weitergeben? Hindergrund: Ich möchte einen Pulsmesser (Brustgurt 5,3KHZ) von Lidl benutzen und das (UMgebaute)Handy als Datenrecorder mit ner MMC_Karte und die Tastatur zu Konfigurierung einsetzen. Das Display zeigt die gewonnen Werte an. Spätere Erweiterung mit Schrittzähler bzw. GPS,Radar.... Vielen Dank für mögliche Antworten. MfG Achim
I want to build a firmware for nokia 3310 gsm. i serach for the compiler can you help me
ich hab ne eagle bibliothekdafür is nich ganz die orginalgröße aber fast perfekt. ich weiss das es die gleihen im 3210,3420 und 3510 auch sind aber sonst hab ich keinen plan. die tasten waren eigentlich nur dafür ausgelegt, das ganze handy zu resyceln(hoffe man erkennt was ich mein) d.h. da wird bei mir nur ne 4x4 matrix gemacht die auf die plätze in nem 3310/3330 gelegt, so das halt alles passt. wenn du mir ne email schickst könnt ich dir die bibliothek im laufe der woche noch schicken. greetz e45tg4t3
Hallo @e45tg4t3 kannst du das nicht hier ins Forum stellen? Doofe Frage: Schließen die Tasten nur nen Kontakt oder beinflussen die einen Schwingkreis? Danke Achim
@e45tg4t3 Ich schliesse mich da womisa an. Warum stellst Du das nicht hier rein? Die Idee finde ich Klasse. Als Bedienpannel für nen MP3-Player im Auto würde so ein resyceltes Nokia sich auf jeden Fall ganz gut machen. Vor allem, wenn man jetzt die Gehäusepreise für die 3210 sieht. Die sind ja out und kaufen tut die keiner mehr. Steffen
Die Tasten schliessen elektrisch, kein Schwingkreis (sieht man auch, wenn man sich im INET mal service manuals fuer die handys raussucht). Sind auch als Matrix ueber colums und rown angeschlossen. Nen "Compiler" gibts fuer die aelteren dct3 Geraete (also 3210,33xx,3410 usw) auch, nennt sich mados und stammt von g3gg0. Man koennte also durchaus den AVR an M oder Fbus des Handys haengen und somit RS232 nutzen, waehrend das Handy eine eigene Software hat. mfG
Hallo @e45tg4t3 was mach dein Project (PCB) mit den Tasten? Kannst Du das hier zur verfügung stellen? MfG Achim
ich hab jetz nicht weiter dran gearbeitet. konzentriere mich grad eher auf mados. aber die vorläufigen tastenvorlagen kann ich schon mal hochladen. sind aber nicht unbedingt zum selberäten geeignet.
Hi Mr. Steffen and ALL I've found your project to drive a Nokia LCD at mikrocontroller.net forum this week. This is a very interesting project ! Congratulations. As you see I don't speak German, only english and Portuguese (Brazil) and There is a lot of information hiden in the german version to me. Could you please help-me in some questions? 1 - Could you share a copy of the schematic in a PDF or JPEG version? In the zip file there is a SCH version that I couldn't open. 2 - There is an english version of the documentation? Thanks a lot, in advance Eduardo Lopes.
The software, which is used to open the .sch-extensions is called "eagle" from www.cadsoft.de I made a picture of that schematic for you. dave
Thanks, Dave ! very simple solution. Is the value of R9, R10 and R11 right? Are they 0 ohms?
Hi Dave, the values are right. You have to install R9, if the terminal is conectet to a 3V Source, R10 and R11 if you have a conection with a 3,3V-level compatibel system.
Hi how i can change serial 9800 br. to 4800 in 3310 demo.c thanks
hi, i see, you have a eagle lib. where is a schematic of "Nokia 3310 LCD 84*48 Pixel" can you send me at email that lbr file please ? dwander(at)centrum.cz
Hallo, habe in Bascom ein kleines Testprogramm zur Übergabe von Asc-Zeichen eines Mega8 an Stffens Miniterminal, über RS232, geschrieben. Da die Zeichenbearbeitung in 2 Include gelegt ist, entfällt die lästige Schreiberei im Hauptprogramm. Ich benutze das Terminal gerne als "abgesetztes Display" Vielleicht kann er jemand gebrauchen. Wigbert
Hallo Leute anbei ein Testcode für die Ausgabe aufs Miniterminal in Bascom. Dieser Code berechnet aus einem String den Datensatz. So wird die Stringlänge ermittelt, der Zeichenbefehl angehangen, und das BCC Kontrollbyte mit Xor-Funktion berechnet und angefügt. Alles in einer Include verpackt. Da je nach Datenempfang eine Bestätigung kommt(ACK;Nack) kann problemlos eine Wiederholung des Datenpaketes eingeleitet werden, bzw nach mehreren Fehlversuchen eine Erroranzeige erfolgen. Wigbert
Hallo! ich bin grad dabei ein nokia 3310 lcd mit einem pic18f452 zu gebrauchen. Da ich neu bin in der programmier welt, kann ich deine Display.inc routine gebrauchen und dann die gewünschten zeichen damit schreiben? bzw. was muss ich ändern an deiner routine? Vielen dank Steffen, und echt super arbeit mit deinem code sieht hammer aus! MFG Sven
Hallo! Hat jemand die Display Pins als Eagle lib?
Ich hoffe, Du kannst damit was anfangen. Viele Gruesse
Beitrag #5156065 wurde von einem Moderator gelöscht.
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.