Hi Leute, mich würde interessieren ob jemand weiß, wie man eine Dotmatrix Anzeige vielleicht dazu bekommt das sie NICHT nach der Spannungsversorgung gleich die erste Zeile voll "ansteuert". Nach dem anlegen der Stromversorgung soll gleich meine Einschaltmeldung zu sehen sein und nicht der schwarze Balken. Hat jemand eine Idee oder einen Tip für mich? Gruß AVRli
Das Problem hatte ich auch mal mit einem besonders peniblen Kunden :-) Lösung: Kontrastspannung mit einem Transistor umschalten.
Hi crazy horse, danke für den Tip! ;-D Ich dachte man könne da direkt per "Befehl" an das Display was machen. Es ist ein kleiner Schönheitsfehler den man dann mit "Verlust" eines Ausgangs retuschieren kann. Ach dann lass ich es so wie es ist denn ich habe nur nen 2313 verplant... dann ist der Balken ebend ein "Segment CHECK" ;-D MfG AVRli
ICh versteh nicht was du eigentlich willst. Initialisierst du das LCD, ist der schwarze Balken weg. Und dazu reichen ein paar Befehle...
Tcha Benedikt, nachdem Du die Stromversorgung einschaltest (AVR+DISPLAY an einer Stromversorgung) erscheint die gesamte erste Zeile eines 2 Zeilen Displays. Das zwar nur für einen Bruchteil einer Sekunde aber sichtbar... ok? ;-) MfG AVRli
wenn man das sofort initialisiert sieht man es meiner meinung nach nicht. oder ich hab zu langsame augen... mal an die alten anaolg hasen. müsste doch recht einfach gehen sich eine schaltung zu bauen, die den kontrast nach dem einschalten für ein paar 100ms runterdreht. digital müsste das doch mit einem monovibrator oder sowas gehen. naja, vielleicht nur eine verquere idee :)
Die Hardwarelösung die währe es !!! ;-) Bin kein Hardwarefreak... ;-( sorry... Also ich habe mal getestet... Man bräuchte ein +5V für ca. 1Sek nach dem Einschalten der Versorgungspannung. Wer weiß wie das geht? @Tobi es sieht so aus als ob das noch VOR der Initialisierung auf der Platine des Displays "entschieden" wird... MfG AVRli...
@Jim "@Benedikt: Lies nochmal die Beiträge..." Habe ich, daher ja die dumme Antwort, bezogen darauf: "Ich dachte man könne da direkt per "Befehl" an das Display was machen." Hardwaremäßig ist das einfach: Einfach der Masseanschluss des Kontrastpotis mit einem NPN Transistor verbinden, dessen Basis an einem Port des AVR oder an einem RC Glied hängt. Da der Port beim Reset hochohmig ist, reicht ein kleiner Pulldown, damit der Transistor ausbleibt und somit das Display nicht aufleuchtet.
Salut, also ich versteh die Problematik jetzt auch nicht ganz, ehrlich gesagt. AVR und HD44780 werden gleichzeitig mit Spannung versorgt? Dann genügt doch eine entsprechend frühe Initialisierung des Display-Controllers völlig. Ich hab hier grad sowas neben mir liegen. Der Balken, der nach dem Anlegen der Spannung auf dem Display erscheint, ist dort überhaupt nicht sichtbar - auch nicht für den Bruchteil einer Sekunde. Es erscheint sofort eine Bootmeldung. Die paar ms, die die Initialisierung dauert, siehst Du nicht. Falls doch, ist Deine Init-Routine zu langsam. Und selbst wenn... was ist so schlimm daran, daß beim Einschalten kurz ein schwarzer Balken sichtbar ist? Ich glaub, wenn man mit solchen Problemen die Zeit totschlägt, hat man irgendwie die falschen Prioritäten gesetzt... nur meine Meinung. BTW: Das Display wird hier über SPI und Shiftregister angesteuert, also noch wesentlich langsamer als es möglich wäre. Gruß, Mark
soviel Strom zieht das Display ja nicht, wie wärs denn mit nem Kondensator gegen Masse, der den Kontrast beim Einschalten runterdreht. (Vorschlag von einem, der noch kein Display angesteuert hat :-) )
Also ich komme für Init + Display Clear auf etwa 25ms und das sieht man definitiv nicht. Du initialisierst warscheinlich das Display nicht als erstes, sondern erst noch nen Haufen anderer Dinge. Peter
Dito hier. Sowohl mein HD44780 als auch mein KS0108-Display initialiere ich so schnell, dass da kein Balken bzw. beim KS Zufalls-Displaymüll zu sehen ist. Ich würde es daher eher mal mit einer neuen Init- und Clear-Routine versuchen.
Hmm... also ich habe mich an das Tutorial gehalten und initialisiere direkt nachdem ich die Richtungen der Ports im Ini Abschnitt. Initial: ldi wrH,Low(RamEnd) out spl,wrH ; Stack initialisiert ldi wrH,$FF out DDRD,wrH ; PortD Ausgang clr wrH out DDRB,wrH ; PortB Eingang rcall INITIAL_LCD rcall CLEAR_LCD die INITIAL_LCD und die CLEAR_LCD ist aus dem Tutorial... Vielleicht hat ja noch jemad eine Idee... Ich will es nicht dramatisieren... währe nur schön wenn es eine Möglichkeit geben würde. Und wenn man an der Soft feilen kann damit es super aussieht ist es doch ok... Achja ich versorge das Display Komplett über das STK500 vielleicht ist das auch das "Problem"... wer weiß... MfG AVRli...
@AVRli: Hast du die delays deinem Quarz angepasst? gretz Danny
@Danny Hmm ist ein 4MHz Quarz... und ich denke davon geht das Tutorial aus. Es steht nicht im Quellcode aber zwischen den Zeilen... Gruß AVRli
Könnte sein, daß der Programmierprozessor im STK erstmal ne Ewigkeit Deinen Reset festhält. Dann mal testweise den internen BrownOutReset anschalten und den Reset vom Programmierprozessor abklemmen und direkt auf VCC legen. Als Resetzeit sollte die 16ms-Einstellung reichen. Peter
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.