Forum: Mikrocontroller und Digitale Elektronik Problem mit LCD Init


von Peter Z. (Gast)


Lesenswert?

Hallo,

mein PROBLEM ist folgendes. Ich initialisiere mein 4X20 LCD
im 4 Bit Modus ohne Busy Flag, aber das ist ja bei der Initialisierung
ohne Bedeutung (habe ich mal in irgendeinen Datenblatt gelesen).Schalte
ich die Versorgungsspannung einige male AUS/EIN kann es vielleicht von
20 mal passieren das er 1-2mal nicht initialisiert und nur zwei
schwarze Balken am Display zu erkennen sind. Ob PIC oder AVR ist Egal.
Bei beiden Controllern gleicher Effekt.
Hat jemand eine ähnliche Erfahrung und Lösung des Problems?

von Andreas (Gast)


Lesenswert?

Bestimmt ein Timing-Problem. Vielleicht nach dem Einschalten einfach
länger warten.

von Peter Z. (Gast)


Lesenswert?

Hallo Andreas,

habe auch schon längere Delays ausprobiert. Hat auch nichts geholfen.

von Martin Jansen (Gast)


Lesenswert?

baust du auf nem breadboard?
wenn ja, ich hab das gleiche prob, liegt wohl an den nicht so ganz
sicheren kontakten auf solch einem board (obwohl ich ein angeblich
hochwertiges hab...)
gruß
martin

von Arne (Gast)


Lesenswert?

Hast Du die Versorgungsspannung auch lange genug abgezogen, um sicher zu
sein, daß sich sämtliche Elkos auch entladen haben?
Einige LCDs behalten ihre Einstellungen auch bei kleinster Spannung
noch. Bei mir langten die Restströme des LPTs um ähnlichen Ärger zu
erhalten, d.h. das LCD hatte sich noch nicht vergessen (resetet)!

Gruß,
Arne.

von Marco Haufe (Gast)


Lesenswert?

Kann man dieses LCD mit einem HW-Signal resetten ?
Bei einigen geht das ja, so z.B. welches ich jetzt gerade
in der Mache habe. Erst hatte ich den rst fest auf einem potenzial
gehabt, jetzt steuer aber der avr gezielt vor dem init den rst an,
wartet 100ms und macht die init.
Das funktioniert sicher.
VG Marco

von Peter Z. (Gast)


Lesenswert?

Also mein Display ist ein normales 4*20 Char Display und hat nur
Standartanschlüsse--> RS RW E usw. Ein Display mit seperatem Reset
hatte ich noch nicht. Das Problem tritt auch auf wenn ich die Platine
zum ersten mal an Spannung lege. Da müssten ja auch die Elkos nicht
mehr geladen sein.

von Reini (Gast)


Lesenswert?

Vielleicht liegt es am Listing ? Kannst Deinen Code ja mal posten
Reini

von Boris (Gast)


Lesenswert?

hallo,
du solltest das bussy flag vom display abfragen dann weist du wann es
ereit ist befehle zu empfangen ! ds display braucht nach dem
einschalten mind. 100ms zum eigenen initalisieren. von eable bis zu
enable mind 1000ns, enable muss mind 450ns high sein, enable muss mind.
320ns high sein damit der befehl üernommen wird oder die daten !

dann klappt es auch ohne die zwei balken :-)

gruss
boris

von Martin Jansen (Gast)


Lesenswert?

ich habe die routinen von andreas genommen und einfach an mein quarz
angepasst (wartezeiten verdoppelt).
daraufhin lief es problemlos!

von boris (Gast)


Lesenswert?

so kann mann es auch machen um sich das progie für das bussy zu sparen
:-)
elganter ist es das bussy abzufragen und du hast keine problemme mehr
mit dem quarz !

gruss
boris

von Martin Jansen (Gast)


Lesenswert?

@ boris:
mit andreas' routinen sparst du dir ne portleitung für das busyflag -
und wer weiß für was das gut sein kann.... ;-)

von boris (Gast)


Lesenswert?

eine portleitung mehr :-) na mal schaun was man damit anfangen kann, mit
der leitung ! :-)
ich habe es aber lieber das das display funzt und es sauber hochläuft
:-)

gruss
boris

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
Noch kein Account? Hier anmelden.