LCD zerstört - durch RW?

Gast #2258624
Lesenswert?

Hallo zusammen,

eben habe ich ein schönes 4x20 LCD geschrottet wie es scheint... alles 
funktionierte wunderbar bis dahin; ich konnte per PIC18F4550 das Display 
beschreiben, wobei der PIC den Text per USB übertragen bekam. Dann fiel 
mir ein ganz leichter kokeliger Geruch auf... da alles klappte und ich 
keine Fehler sah machte ich weiter. Und dann auf einmal ging das 
verdammte Teil nicht mehr! Beim Einschalten erscheint es zweizeilig mit 
schwarzen Boxen, dann wird es beim Initialisieren korrekt gelöscht. Nur 
leider kommt kein Text mehr an. Hab alle Verbindungen geprüft - alles 
bestens.

Meine Theorie: Die Busy-Abfrage die vor dem Ausgeben von Control- und 
Datenbytes gestartet wird setzt RW auf High. In dem Moment schreibt der 
Controler sein Statusregister auf den Bus... wenn man nun in dem Moment 
den PIC resettet (was ich beim Testen unzählige Male gemacht hab!) setzt 
der erstmal seine Pins am LCD auf Output. Wenn da dann high auf low 
getroffen hat würde das den brenzligen Geruch und das zerstörte Display 
erklären.

Falls es wirklich so war frage ich mich: Wie kann man das verhindern, 
und wieso wird man auf diese Falle in den ganzen Tutorials & Anleitungen 
zur LCD-Ansteuerung nicht auf diese Gefahr hingewiesen? Eigentlich wäre 
das Resetten nur des Mikrocontrollers bei Benutzung des Busy-Flags ja 
absolut unzulässig weil man nicht weiß ob der uC resettet wurde während 
der LCD-Controller seine Tristate-Pins noch auf Output hatte. MAn dürfte 
doch so ein LCD dann nur über Schutzwiderstände in den Datenleitungen 
betreiben...
Gast #2258639
Lesenswert?

"Der PIC setzt seine Pins bei einem Reset auf Output?! - Ist mir neu..."

Das Programm tut das! Ok vielleicht ist das der Fehler... aber das muss 
ich ja um überhaupt mit dem LCD kommunzieren zu können...

>330 Ohm Widerstände einbauen sowas mache ich immer wenn ich mit meinem
>Board spiele

Ok das klingt sinnvoll!
#2258697
Lesenswert?

kennie schrieb:
> Meine Theorie: Die Busy-Abfrage die vor dem Ausgeben von Control- und
> Datenbytes gestartet wird setzt RW auf High. In dem Moment schreibt der
> Controler sein Statusregister auf den Bus... wenn man nun in dem Moment
> den PIC resettet (was ich beim Testen unzählige Male gemacht hab!) setzt
> der erstmal seine Pins am LCD auf Output. Wenn da dann high auf low
> getroffen hat würde das den brenzligen Geruch und das zerstörte Display
> erklären.

Blödsinn, selbst wenn, das töten den Displaycontroller nicht. Das wäre 
mal was ganz was neues.

Nimm ein anderes 4x20 mit gleichem Controller und probier's mal aus. Ich 
glaube eher, dass der Fehler irgendwo in deinen Initialisierungen liegt 
...
Gast #2258707
Lesenswert?

> würde das den brenzligen Geruch und das zerstörte Display
> erklären.

Nicht wirklich, CMOS-Ausgänge regeln zwischen 20 und 40mA ab,
das reicht nicht für brenzligen Geruch.

Die Ursache liegt wohl woanders.
#2258811
Lesenswert?

Thomas O. schrieb:

> @MaWin: Hast du dazu irgendeine Quelle? Ist das sicher, technisch
> bedingt oder kommts auf den Hersteller an?

Da brennt nichts an. Es gibt beliebig viele Leute, die aufgrund 
Unkenntnis und falschen Vorbildern die 4 unbenutzen Datenbus-Pins auf 
Masse oder VCC festzurren, und denen trotzdem beim Busy-Polling nicht 
der Chip davonfliegt, obwohl auch diese 4 Pins dann Ausgänge sind.
Gast #2259546
Lesenswert?

Ihr habt alle recht gehabt und es lag an was anderem. Gestern abend 
erschien während ich über den Sourcecode brütete auf einmal wie von 
Geisterhand -plopp!- wieder der gewünschte Text. Das kann ich mir nur so 
erklären dass das LCD mit Hintergrundbeleuchtung zuviel Strom aus dem 
Bus zieht bzw. die Versorgung nicht sauber ist und dann ein paar 
Milivolt mehr oder weniger den Unterschied machen. Naja muss ich mal 
suchen... jedenfalls danke für die Hilfe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren