mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik lcd will nicht


Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
kann man lcd mit 4,5 volt betreiben oder MUSS 5 volt sein
in datenblatt steht von 4,5 bis 5 volt
danke

Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn im Datenblatt steht, das es mit 4,5V geht, dann wird es wohl mit
4,5V, warum wuerde das da sonst drin stehen?

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also
so habe ich den lcd beschaltet
Db4 -> Portc.3
Db5 -> Portc.2
Db6 -> Portc.1
Db7 -> Portc.0
E ->   Portd.6
Rs ->  Portd.5

Db0 bis Db3 auf masse
pin3(LCD) und pin5(LCD)auf masse
pin1 auf masse und pin2 auf 4,5 volt

und mit dem programm

im A As Byte
$regfile = "m16def.dat"
$crystal = 4000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 ,
Db7 = Portc.0 , E = Portd.6 , Rs = Portd.5
A = 55
Upperline
Lcd "HALLO"
Wait 1
Lowerline
Wait 1
Lcd Hex(a)
End

getestet
aber es kommt gar nicht warum?
am anfang habe ich pin1(lcd)auf plus und pin2 auf minus
ist der LCD kapput?

wie kann ich wissen ob der lcd in ordnung ist?
danke
hes.

Autor: Wolfram Hildebrandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie siehts mit dem Kontrast aus?
Kontrast zu niedrig eingestellt?

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>wie siehts mit dem Kontrast aus?
alles probiert einmal auf masse und einmal auf 4,5 volt
aber kam leider nix

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,

ist da in dem kleinen Programm eine Initialisierung für das LCD
enthalten? Die ist nämlich auch noch nötig.

Gruß

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein,wie macht man das?
ich habe den lcd an atmega16 angeschlossen
und für die lcd  steht lcd adresse c000
und für rs adresse 8000
ich möchte auch wissen ob der lcd kaputt ist(test)?

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mich jetzt gerade erst mit LCD's beschäftigt und lange
gebraucht, bis alles funktioniert hab. Mit C komme ich noch nicht klar
aber im Assembler hatte ich folgende Fehler:

1. Die Initialisierungssequenzen müssen exakt eingehalten werden
2. Ganz wichtig ! egal was man macht (Daten o. Befehle senden oder das
Busy Flag abfragen) geht nur, wenn auch ein Enable Impuls an das LCD
gesendet wird.

Vielleicht helfen diese Hinweise weiter.

Gruss Holger

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Holger
deine Hinweise sind sehr gut und wichtig
ich wusste es nicht ,ich bin noch neu im uc
kannst du vieleicht mir ein programm geben für atmega16
als test mit den anschlüsse für lcd an uc
danke
hes.

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich komme nicht weiter
woran kann es noch liegen?

Autor: Pfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du den LCD nur an die Spannungsversorgung hälst und den
Kontrast auf maximal stellst, dann sollten bei einem zweizeiligen LCD
zwi schwarze Balken aufleuchten. Wenn nicht ist etwas kaputt. Ich habe
auch schon ein LCD gesch***tet indem ich es aus Versehen verkehrt
angeschlossen habe.....

Gruss und ich hoffe natürlich, dass zwei schwarze Balken erscheinen

Autor: hesham (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Pfi
also ich habe es jetzt gerada probiert ,die hintergrundbeleuchtung
funktioniert sonst NICHTS ,d.h. außerdem sehe ich nichts(KEINE schwarze
Balken )
ist das einfach so das der lcd kaputt geht wenn man einen lcd verkehrt
anschliesst????

Autor: Denis Gérard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal das datenblatt genau an, manche lcd wollen negative
spannung für den kontrast!!!
bevor die schwarzen balken nicht sichtbar werden brauchst nicht an den
programmen zu fummelen.

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab auch ein Problem mit meinen LCD. Ist ein 2x16, wenn ich einfach nur
die Spannung anlege habe ich aber nur einen schwarzen Balken, und das
bei zwei verschiedenen Displays die ich besitze. die sind doch wohl
nicht beide im A...? Oder ist deren standard-initialisierungsroutine
nur auf eine Zeile eingestellt? Das gibts laut Datenblatt naemlich
auch.(Function Set DB3)

TIM

Autor: Divison (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei meinem funktionierenden LCD gibt es vor der Initialisierung
auch nur einen schwarzen Balken. (obere Zeile beim 2x16 von
Displaytech) Das ist dann schon so in Ordnung. Nur wenn KEIN schwarzer
Balken zu sehen ist, dann brauch man auch nicht am Quellcode
rumbasteln.

Liebe Grüsse

Division

Autor: stromi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
division hat wohl recht:
auch bei einem 2-zeiligen display kommt nur ein balken und zwar oben,
wenn man es mit ub versorgt.
wenn bei dir nicht's kommt ist die kontrastspannung nicht da, oder das
display defekt.
kontrastspannung kann zum test mal auf masse gelegt werden.
toi toi toi

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte schreib mal was alles auf dem display steht (Platine) wegen
Datenblatt. Kannst Du den Controller sehen? Steht ein typ drauf?
Oder hast Du das passende Datenblatt? Ich schau dann mal nach, was man
tun kann. Wenn meine gerade geschriebene Routine zu Deinem Display
passt, stell ich sie mal rein.

Gruss Holger

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man denn nun eigentlich direkt text an das display geben, nachdem
man es angeschaltet hat? Eogentlich macht es doch on selbst eine
Initialisierung! Im Datebblatt steht was von internal reset circuit
when powered on. Ist das der gleiche wie den den man dann von Hand
macht, oder muss man auf jeden fall eine Initialisierung per uC
durchfuehren?

TIM

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tim:
Wenn du Spannung anlegst und oben den (hell)schwarzen Balken siehst,
bedeutet das nur dass die Spannung richtig gepolt anliegt un der
Kontrast vernünftig spielt (also entweder Poti oder Gnd).
99% aller LCD-Displays müssen jetzt initialisiert werden. Die
prinzipiellen Routinen findest du im LCD Datenblatt. Die Abfolge ist
etwas "krank", es muß das Konfigbyte 3mal geschrieben werden mit
exakt definierten Pausen dazwischen. Danach noch die Konfig für
Busbreite, Zeilenanzahl, Cursor, Mode udgl. Danach sollte der obere
schwarze Balken verschwinden. eventuell tauchen jetzt zwei Balken (oben
und unten auf, aber nur bei extrem eingestellten Kontrast). Danach
kannst du Daten schicken.

Bei 4-Bit Betrieb ist auch zu beachten dass die Initialisierung noch im
8-Bit Mode erfolgt (also ein enable pro Byte), verwendest Du die 4-Bit
write Routinen (also zwei enable pro Byte) so werden dem Display statt
drei gleichen Initalisierungsbytes abwechselnd das Init-Byte und ein
Nullbyte geschickt und das kann so manches Display ins Datennirwana
schicken. Und selbst wenn das Display die falschen Initbytes ignoriert
hast du mit dem Konfigbyte für 4-Bit Mode ein enable zu viel geschickt
und ab dann sieht das Display immer die vermischten Nibbles aus dem
letzten und dem aktuellen Byte.

grüsse leo9

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.