-
LCD
Hallo,
ich habe versucht ein LCD Display 16x2
an mein STK 500 anzuschliessen:
Ich bin nach folgender Beschreibung vorgegangen:
http://www.mikrocontroller.net/tutorial/lcd
es sieht aber irgendwie so aus als bekäme das
Display überhaupt keinen Strom.
Das Display hängt an Port A!
Weiss net wirklich was ich machen soll...
kann mir da jemand weiterhelfen?
Kann es sein das VTG keinen Strom liefert??
-
hi
wenn du 5v an pin1, gnd an pin2 und gnd an pin3 legst, solltest du 'schwarze vierecke' auf dem display sehen - funktioniert es denn soweit?
cu
chris
-
ne, da passiert rein garnichts!! muss 5V nicht an Pin2??
-
Ok jetzt habe ich im oberen Bereich schwarz Vierecke!
Jetzt funktioniert es, habe das Ground an Pin 3 vergessen!
-
hi
du musst nicht unbedingt gnd anlegen - an pin 3 kommt ja einfach eine 'kontrastspannung' - bei gnd hast du maximalen kontrast, bei erhöhung der spannung wird dieser kleiner.
mit einem potti könntest du den kontrast frei einstellen
cu
chris
-
eine Frage noch,
wie kann ich die untere und wie die obere
Zeile ansprechen???
-
Das geht üblicherweise über die Cursorposition.
Oben links von 0..15 (doe sichtbaren) und die zweite Zeile ab 40 = 0x28
-
ich mache hier mal weiter, da ich keinen Beitrag gefunden habe, der treffender mein Problem schildert. Also ich habe auch das Mikrocontroller.net Tutorial zur LCD Ansteuerung über Assembler ausprobiert und ich komme auch nicht weiter.
Ich habe alles so angeschlossen wie es im Tutorial stand und ich sehe auf dem Display nur schwarze Rechtecke. Das Programm verändert nichts. Nicht einmal das Löschen des Displays klappt.
Ich habe auch ein Mega8 mit dem internen 4MHz Takt laufen. Ich weiss nicht, welcher Takt für dieses Programm vorgesehen ist.
delay5ms: ;5ms Pause
ldi temp1, $21
WGLOOP0: ldi temp2, $C9
WGLOOP1: dec temp2
brne WGLOOP1
dec temp1
brne WGLOOP0
ret
Das ist die Schleife für eine 5ms Warteschleife. Ich habe mal versucht die Zeit auszurechnen welche dafür benötigt wird. ( $c9= 201 $21=33
ca. (33+33/2)*(201+201/2)=50*300=15000 Takte um diese Schleife zu bearbeiten.
bei 4MHz entspricht das in etwa 15000/8000000=3,75ms. Selbst wenn ich auf 1000000MHz stelle komme ich auf 15ms, aber das Programm läuft trotzdem nicht.
Kann vielleicht jemand den kompletten Assembler Code für den Mega8 mit 8MHz posten. Ich weiss nicht, wie bei dem komplexen Programm den Fehler suchen soll.
http://www.mikrocontroller.net/tutorial/lcd
-
habe jetzt noch die LCD Routine von Skyrider ausprobiert, aber es hat auch nicht geklappt. Habe natürlich die Ports und den Takt angepasst.
kann mir jemand beschreiben, wie sich ein heiles LCD verhält? Was sieht man wenn man eine Spannung anlegt etc. Wie kann man feststellen ob ein LCD defekt ist? Also nachdem ich alles so angeschlossen habe, wie es auch im mikrocontroller.net Tutorium steht, zeigen sich vier Zeilen schwarzer Rechtecke. Habe gedacht, dass wenn ich Pin 16 (Reset) auf GND setze, alle Rechtecke verschwinden, aber es tut sich nichts.
Habt ihr Vorschläge, wie ich das LCD Testen kann?
-
Hi Lektor,
poste hier doch mal deine Anschlußbelegung.
Wenn das Display richtig angeschlossen ist, sollte bei erfolgreicher Initialisierung das Display keine Balken mehr angezeigt werden. Ich schätze das Display wird nicht angesteuert. Benutzt du den R/W Anschluß oder hast du den auf Masse gelegt ?
Welchen PIN 16 (Reset) meinst du ?
Viele Grüße
Skyrider