mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit LCD 16x2 und µC


Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

habe ein Problem mit meinen LCD.

LCD ist das hier:

http://www.allspectrum.com/store/product_info.php?...

Angeschlossen habe ich es wie folgt:

http://www.roboternetz.de/wissen/index.php/Bascom_...

Das Poti für Kontrast funktioniert auch, denn die Schwarzen Kästchen 
kann ich auch sehen.

Hier mein Programm in Bascom:

 $regfile = "m16def.dat"
 $crystal = 16000000
 $baud = 19200
 $hwstack = 100
 $swstack = 100
 $framesize = 100


 Config Portd = Output
 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , 
Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4

 Config Lcd = 16 * 2                                        'configure 
lcd screen
 Config Lcdbus = 4

 initlcd
 Cls

 Do
 Toggle Portd.6
 Locate 1 , 1
 Lcd "test"
 Wait 1
 Loop
 End


Mein Problem ist, dass auf den Display nichts angezeigt wird. 
Verkabelung ist in Ordnung. Habe es auch schon mit einen anderen Display 
ausprobiert (TC1602A von Pollin).

Genau das selbe Problem. Sehe nur die Schwarzen Balken sonst nichts. 
Könnt ihr mir vll weiter helfen?

Hab auch schon Initlcd ausprobiert, funktioniert auch nicht.

Danke schonmal für eure Antworten.

Bye

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LCD Problem Nr. 200768933

Such hier im Forum. Da wirst du bestimmt was finden.
Oder prüfe dein Verkabelung. Das könnte schneller gehen.

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, das Forum habe ich bereits durch. Hab keine Infos gefunden die mir 
weiter helfen.
Und wie bereits erwähnt, Verkabelung ist auch in Ordnung. Bye

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hi, das Forum habe ich bereits durch. Hab keine Infos gefunden die mir
>weiter helfen.
>Und wie bereits erwähnt, Verkabelung ist auch in Ordnung. Bye

Dann sind deine LCDs wohl defekt ;)
Kann ich die haben?

Autor: Spezi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie ist der Pin 5 des Displays (R/W) angeschlossen? Dieser muss mit GND 
(0V) verbunden sein, sonst geht das Display nicht (richtig).

Die Kommandos "Config Lcdbus = 4" sowie "Config Portd = Output" sind für 
die LCD-Initialisierung im Pin-Modus nicht erforderlich; beides wird 
durch den Befehl "Config Lcdpin = ..." erledigt. Zum Testen einfach mal 
auskommentieren.
Siehe dazu auch die LCD-Beispielprogramme in der BASCOM-Hilfe.

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, rw liegt auf Ground. D0-D3 lag auf auf 0v. Hab ihn jetzt mal auf 
high gelegt und schon verschwinden die schwarzen Kästchen in der 1. 
Zeile. (initialiesierung hat geklappt oder?) leider zeigt es mir danach 
auch nichts an. Am kontrastpoti hab ich auch gedreht. Leider keine 
Veränderung. Hab auch schon vor und nach der initlcd ein wait von 2 
eingefügt um sie zu verlangsamen. Auch ohne Erfolg. Sonst noch eine 
Idee? Bye

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind nicht D0 bis D3 die Datenleitungen ????
Was haben die auf 5V oder GND zu suchen ?
Oder Funktioniert das LCD anders ?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im 4-Bit-Modus werden D0-D3 nicht benutzt; ich habe sie bisher immer
offen gelassen.
Genutzt werden D4-D7.

(Mein letzter Fehler war, D4-D7 in der falschen Reihenfolge 
anzuschließen...)

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Link ist übrigens ein 20x2; ist es wirklich die richtige 
Beschreibung?

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ja das ist der richtige Link. Habe nur das 16x2 noch drin weil ich 
das Problem auch mit den Display von pollin habe. Wie bereits gesagt im 
4 Bit Modus sind d0-d3 nicht belegt. Einer schreibt man soll sie in der 
Luft lasssen, ein anderer auf Ground und manchmal soll man sie auf 5v 
hängen... Was ist den nun richtig? Bye

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachdem der LCD-Controller D0 bis D3 gar nicht auswertet, würde ich
VERMUTEN, es ist egal.

Probiert habe ich es bisher nur, sie gar nicht anzuschließen.
Das hat bei mir nie zu Problemen geführt; getestet mit diversen
LCD-Typen und immer 4-Bit-Modus und R/W fest auf GND.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn schon, dann auf GND

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:

> (Mein letzter Fehler war, D4-D7 in der falschen Reihenfolge
> anzuschließen...)

Etiam tu!
Und ich dachte, nur ich könne so blöd sein, dass mir das passiert und 
ich es eine halbe Stunde lang nicht bemerke :-)

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe etwa doppelt so lange gebraucht, daß ist der Unterschied
zwischen doof und richtig doof.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Und wenn schon, dann auf GND

(Dann aber natürlich dazu sagen, daß das nur mit R/W auf GND gut geht.
Wenn das nicht sicher ist, lieber D0 bis D3 über einen Widerstand
auf einen Pegel legen.)

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Aber warum funktioniert dann das initialisieren wenn ich sie auf 5v 
lege? ... Leider klappt die Ausgabe noch immer nicht. Vll Fehler von 
bascom??? Bye

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder könnte es auch an der Frequenz vom Quarz liegen? Momentan betreibe 
ich ja den ic mit 16 MHz. Bye

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Voll schrieb:
> Ok. Aber warum funktioniert dann das initialisieren wenn ich sie auf 5v
> lege?

Offensichtlich hat es eh nicht geklappt.
Sonst würde das Display ja was anzeigen.

> Vll Fehler von
> bascom??? Bye

Möglich. Kontrolliere trotzdem zum 20-mal die Verdrahtung.
Hast du am Display auch wirklich D4-D7
Sind die am Controller auch wirklich auf d0 bis d3
Ist die Reihenfolge richtig? D4 muss an d0, D5 an d1 etc.
Sind die Steuerleitungen auch richtig?
Haben alle Leitungen Durchgang (Mit Durchgangsprüfer kontrollieren. Bei 
einer Messspitze an der LCD-Kabel-Kontaktlötstelle und der anderen am µC 
Pin muss es piepsen)

Ich weiß, du hast das alles schon kontrolliert. Aber kontrolliere es 
nocheinmal.

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok check ich heute Abend gleich nochmal alles durch. An den 16 Mhz kann 
es nicht liegen oder? dass Vll das Initialisieren zu schnell abläuft?

Sollte ich es mal mit den Internen Takt probieren?

bye

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also hab jetzt das 20x2 Display hinbekommen. Verdrahtung hat gepasst. 
War am Code gelegen:

Hier der Neue Code:

 $regfile = "m16def.dat"
 $crystal = 16000000
 '$baud = 19200
 $hwstack = 100
 $swstack = 100
 $framesize = 100


 Config Portd = Output
 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , 
Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
 'Wait 2
 Config Lcd = 20 * 2                                        'configure 
lcd screen
 Config Lcdbus = 4
 'Wait 2
 Initlcd
 'Wait 2
 Cls

 Do
 Toggle Portd.6
 Locate 1 , 1
 Lcd "test"
 Wait 1
 Locate 2 , 1
 Lcd "hallo"
 Wait 1
 Cursor off blink
 Loop
 End


Nun habe ich das 16x2 Display von Pollin angeschlossen, mit der selben 
verdrahtung aber dieses läuft nicht!

Es scheint sich nicht zu initialisieren. (Die schwarzen Balken gehen 
nicht weg) Woran könnte dies noch liegen?

bye

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh und eine Frage hab ich auch noch:

Was ist der Unterschied zwischen "FSTN" und "STN" Displays?

Bye

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wo ist jetzt der prinzipielle Unterschied zu oben,
außer 16*2 bzw. 20*2 und daß $baud auskommentiert ist?

Autor: Erba57 Ba (orfix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

prgramm funktioniert mit internen oder mit externen takt ohne probleme.
Blinkt die led?

kontrolliere mit den ozi oder mit einer led alle datenleitungen.

mfg

orfix

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> und wo ist jetzt der prinzipielle Unterschied zu oben,
>> außer 16*2 bzw. 20*2 und daß $baud auskommentiert ist?

Sobald Bascom die $Baud Deklaration findet, wird die serielle 
Schnittstelle initialisiert, beim ATM16 durch Setzen von RXEN und TXEN 
in UCSRB.

Damit stehen die Pins PD0 und PD1 nicht mehr zur normalen Verfügung. 
Wenn man also die Serielle nicht braucht, die entsprechenden Pins 
dagegen schon, dann kein $Baud reinschreiben. :D

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ MWS

Ja genau richtig. Das habe ich nicht gewusst. Hab mir grad bei Pollin 
noch ein 16x2 LCD bestellt. Vll ist das alte ja Kaputt weil das 20x2 
funktioniert ja!

bye

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> ...
> Sobald Bascom die $Baud Deklaration findet, wird die serielle
> Schnittstelle initialisiert, beim ATM16 durch Setzen von RXEN und TXEN
> in UCSRB.
>
> Damit stehen die Pins PD0 und PD1 nicht mehr zur normalen Verfügung.
> Wenn man also die Serielle nicht braucht, die entsprechenden Pins
> dagegen schon, dann kein $Baud reinschreiben. :D

BASIC ist ja noch kranker, als ich dachte.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> BASIC ist ja noch kranker, als ich dachte.

Was hat das denn mit Basic zu tun ? Das ist eine Bascom Eigenheit, und 
wenn man die nicht kennt, geht's halt nicht.

Hab' mir sagen lassen, daß es in anderen Dialekten auch nicht klappt, 
wenn man die nicht richtig verwendet.

Autor: Stefan Voll (lj-products)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Antwort?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat keiner eine Antwort?

Doch, Google z.B.:

http://www.itwissen.info/definition/lexikon/film-s...

Hier sind noch mehr Antworten:

http://www.google.de/search?q=fstn+stn&ie=utf-8&oe...

...

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.