www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu Punktmatrix 2x16 Zeichen


Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem hatte ich auch mal mit einem besonders peniblen Kunden :-)
Lösung: Kontrastspannung mit einem Transistor umschalten.

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ICh versteh nicht was du eigentlich willst. Initialisierst du das LCD,
ist der schwarze Balken weg. Und dazu reichen ein paar Befehle...

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Jim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:
Lies nochmal die Beiträge...

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Mark Hämmerling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-) )

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AVRli: Hast du die delays deinem Quarz angepasst?

gretz
Danny

Autor: AVRli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.