Anbei mein mini-code. Ich hab einen ATmega32. Das Display ist über PORTD (8 data-bits) und PORTB (die Specials) angeschlossen. Eine LED hab' ich zum Blinken gebracht, also scheint der Code auf's Gerät gekommen zu sein. Kann's ein Programmierfehler sein, oder ist meine Löterei schiefgelaufen? Hab's 2x getestet, aber das heisst ja nix...
Sieht ein bisschen kurz aus der Code. Habe mit folgenden Routinen gute Erfahrungen gemacht: http://www.mikrocontroller.net/forum/read-4-234145.html gruss, bjoern.
Gernot wenn du wirklich hilfe haben willst solltest du vielleicht hinschreiben welches pollin display du meinst, da gibts ein paar mehr. Dennoch weiß ich dass du das Hyundai HP12542R-DYO meinst! Man hat mit den teilen wirklich probleme. Falls du noch kein HD44780 programmiert hast solltest du das erstmal probieren. der SED1565 controller ist etwas mürrischer und komplizierter. Mein display ging am anfang nur am PC (das ist übrigens ein guter test ob es überhaupt geht!) danach hab ich in dem code den Bjoern gepostet hat ein paar sachen mit dem timing verändert und es ging plötzlich mal! Also einfach weiter programmieren, achja und vielleicht mal nen anderen Port benutzen!
Ich hab die Kabel vom Display direkt am Controller angeschlossen - ist das OK? Ich mein - ohne die Widerstände? Mein Board läuft mit 5V. Ich brauch genau das Display - oder eins mit dieser Auflösung. Was ist mit dem Timing? Mein ATmega32 ist noch ohne "fuse-bit" Einstellungen. Ich hab gehört, dass der dann mit 1MHz läuft...
eh die fusebits solltest du schon setzen ;), sonst ist er glaub ich zu lahm für das display! also ich hab die widerstände dran!
>Ich brauch genau das Display - oder eins mit dieser Auflösung. Sollst das Display ja auch nicht wegschmeissen, sondern nur kurz zur Seite legen und erstmal ein anderes zur Uebung programmieren. >Ich hab die Kabel vom Display direkt am Controller angeschlossen - >ist das OK? Ja. Bei mir lief es auch so. >Was ist mit dem Timing? Mein ATmega32 ist noch ohne "fuse-bit" >Einstellungen. Ich hab gehört, dass der dann mit 1MHz läuft... Hier besteht Nachholbedarf. Im Datenblatt steht genau, mit welcher Fusebiteinstellung er geliefert wird. Es ist eine gute Uebung/Grundlage zu wissen, was jedes einzelne bedeutet. Am Ende vom Datenblatt ist eine Uebersicht ueber die Fuses mit Querverweisen. Besonderes Interesse sollte dem JTAG-Bit gelten. gruss, bjoern.
>also ich hab die widerstände dran!
Schaden kann es jedenfalls nicht. So ist die Chance geringer, die
Eingaenge des Displays zu schrotten.
Kapiert. Wenn ich das Fuse Bit: JTAGEN setzt (=0), dann kann ich den PORTC erst verwenden. Damit ist mein ISP dann Müll, richtig? Also -> an den anderen Port. Wie setze ich die Fuse bits mit PonyProg? Weiter gibt es 4 bits: CKSEL0, CKSEL2, CKSEL1, CKSEL0 (0=default), die was mit der Taktung zu tun haben. CKSEL3..0 ext crystal resonator: 1111-1010 ext low-freq. Crystal: 1001 ext RC osc 1000-0101 Calibr. int. RC osc: 0100-0001 Ext clock 0000 Ich hab ein 8MHz quarz angeschlossen (XTAL1/XTAL2) - keinen Oszillator. Welche Bits sollte ich da setzen? Damit mach' ich nix kaupt, oder? <bibber bibber>
>Damit ist mein ISP dann Müll, richtig? ISP hat mit JTAG nicht wirklich was zu tun. Dafuer gibts andere Bits. RESETDISABLE und SERIALPROGRAMMING(Namen nicht genau, kein Datenblatt auf dem Schreibtisch liegen) haben was mit ISP zu tun. SUT und CKOPT sind auch noch wichtig fuer den Takt. Bei Pony genau drauf achten, was ein Haeckchen bedeutet. Frueher war es so, dass ein Haeckchen programmiert, also 0 bedeutet. Heute wahrscheinlich auch noch, sollte aber irgendwo am Rand vom Fenster ein Hinweis sein. Welche Bits du setzen muss, kommt ganz drauf an. Hast du einen Quarz(2 Beinchen=ext crystal) oder einen Quarzoszillator(4 Beinchen=ext clock)? Welche Frequenz? gruss, bjoern.
Oh, ich seh du hast schon geschrieben, was Du dran hast und wie schnell. Sorry. Such halt im Datenblatt noch die passenden SUT und CKOPT dazu raus und poste mal, was du denkst. Ich sag dann, obs richtig ist :) gruss, bjoern.
OK, fertig :) Std ist: hfuse lfuse 10011001 11100001 Ich wuerde ihn so programmieren: hfuse lfuse 11011001 10111111 Dann hast du auch noch die Brownout-Detection auf 2.7V. Das ist nicht unbedingt noetig, und braucht etwas Strom, aber dafuer ist gewaehrleistet, dass der Controller nur an ist, solange genug Spannung fuer alle Funktionen bereitsteht. Ansonsten koennte es zB Probleme beim Schreiben des EEPROMS geben. Ich mach es immer an. gruss, bjoern.
Aber nicht schimpfen, falls ich mich vertan hab(was ich aber nicht glaube). Im Zweifelsfall ist Pony schuld :) Und viel Erfolg noch mit dem Display. Ich denke, du hast in den letzten Tagen schon so einiges dazugelernt. Ist halt kein einfaches Anfaengerprojekt und den Erfolg sieht man erst, wenn wirklich alles stimmt. Sowas kann frusten. gruss, bjoern.
achja, lieber die fusebits mit der demoversion on bascom schreiben! ponyprog kann beim ersten mal gefährlich sein (ich weiß wovon ich rede ;)). damit lässt sich alles ganz gut auswählen.
Ich habe das Display auch und wollte es in den nächsten Tagen benutzen. Ich habe schon einmal einen Controller programmiert, der dem sed angeblich ähnlich war(Es war ein 128x128 Display von Pollin), oder kompatibel. Auf dem Display hatte ich nur heftige Kontrastprobleme, die bei diesem Display scheinbar nicht auftreten. Warum aber sollte ein AVR mit 1MHZ zu langsam sein? braucht dieser Controller einen Mindesttakt?
Was hast du denn deaktiviert? JTAG macht immer ärger, wenn man ihn nicht braucht, das ist klar. Aber musstest du mit dem Display auch schneller kommunizieren?
Normal braucht kein Display einen Mindesttakt. Du kannst es eigentlich so langsam betreiben wie du willst. Nur irgendwo gibts beim lesen Probleme glaube ich weil das Signal nur eine gewisse Zeit anliegt.
OK, so habe ich mir das auch vorgestellt(und auch praktiziert). Ich hatte schon Angst, dass ich einen zusätzlichen AVR brauche um die Taktung einzuhalten.
na siehst du, irgendwann klappt das display doch! :) meins funktioniert eigentlich gut nur leider hab ich schon eine fehlerzeile :(. die lässt sich nicht mehr ansteuern, ist irgendwann mal aufgetreten! dennoch möchte ich bald mal auf farbe und was größeres umsteigen.
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.