PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lcd problem



Tom K
16.06.2006, 08:34
Hallo zusammen

Ich hab ein kleines Problem mit einem Lcd 16x4
Angeschlossen ist´s nun wie im Wiki https://www.roboternetz.de/wissen/index.php/LCD-Modul_am_AVR auch der M16 ist mit Quelltext nur bekomm ich nichts auf das Lcd

Hab das Stk500 und hab mal die Led´s aufgeschalten der Prozi sendet müsste passen

Beim Lcd hab ich für den Kontrast ein 10K Poti verwendet wenn ich den Kontrast schnell verändere tauchen senkrechte Striche auf die langsam verschwinden

Was kann da sein? Modul im A..

Marco78
16.06.2006, 19:23
Sind die erste und dritte Zeile voll ausgefüllt, nachdem das LCD Spannung bekommt?
Was für einen Controler hat das LCD? HD44780 oder einen anderen?

demerzel
16.06.2006, 21:39
hast du beim starten resetet?

Tom K
16.06.2006, 22:16
Es sollte ein S6A0069X Controller sein laut http://www.powertip.com.tw/product/pro_char.aspdie Lcd-Modulnr. PC 1604-A Datenblatt http://www.powertip.com.tw/product/PC%20SERIES/PC%201604-A.PDF

Wenn ich es an Spannung leg fangen die Balken links an und sind unterschiedlich lang und verschwinden dann (lösen sich langsam auf)

Was meinst du mit beim starten resetet? Wenn ich das STK500 an Spannung leg 12V dann hat der Proz. und das lcd Saft 5V.

Wenn ich auch nachher den Proz. resetet ändert sich nichts.

Mir ist nur aufgefallen wenn der Proz dem Lcd was sendet flakert kurz die Hintergrundbel.

Marco78
17.06.2006, 09:06
S6A0069X ist 100%ig nicht der Controller. Das ist sicherlich nur ein Treiber.
Das Display sollte ein HD44780-Controller haben.

Wie hast du es denn angeschlossen?
Womit programmierst du?

Das Frage nach dem Reset verstehe ich auch nicht. LCD und AVR machen den Reset automatisch.

Tom K
17.06.2006, 09:39
Morgen

Ich hab mich noch etwas umgesehen was ich mitbekommen hab solten die controller kompatibel sein.
Db4 = Portc.0 ,
Db5 = Portc.1 ,
Db6 = Portc.2 ,
Db7 = Portc.3 ,
E = Portc.5 ,
Rs = Portc.4
$regfile = "m16def.dat" ' ATmega8515
$crystal = 3690000 ' für STK500
$baud = 19200


Config Lcd = 16 * 4 'wir verwenden ein 4 x 20 Zeichen Display
' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4

Cls 'loesche das LCD Display
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Hello world." 'String auf Display anzeigen

Marco78
17.06.2006, 10:02
was ich mitbekommen hab solten die controller kompatibel sein
Nur kompatibel reicht aber nicht! Wenn es ein KSxxxx ist, ist die Initalisierung anders. Und wenn die nicht richtig abgeschlossen ist, funktioniert nix.


Db4 = Portc.0 ,
Db5 = Portc.1 ,
Db6 = Portc.2 ,
Db7 = Portc.3 ,
E = Portc.5 ,
Rs = Portc.4

Das alleine reicht ja noch nicht. Wo ist Vcc und GND angeschlossen? Was ist mit den anderen vier Datenleitungen?


$crystal = 3690000

Ist der Mega16 auch ganz bestimmt auf externen Quarz eingestellt? Sonst passt das Timing nicht.

Tom K
17.06.2006, 10:21
Die Spannungsversorgung kommt vom Stk 500 hängt paralell zum m 16
die Datenleitungen Db0 bis Db3 sind auf GNDsowie die R/W.

Habs auch schon mit dem 1 Mhz getestet ist das gleiche und die baund rate müsste passen da ich schon ein Test Programm geflasht hab das mir die Tasten der Tastatur ins Lcd schreiben sollte mit rückmeldung der taste ins Terminal.

Hab übrigens Bascom in verwendung

Marco78
17.06.2006, 10:48
Bascom habe ich schon erkannt.
Wenn die Baudrate stimmt, wird der Quarz auch auf extern stehen, weil RS232 auch vom Timing abhänig ist.

Was hast du am LCD an den Pins 1,2 und 3 angeschlossen?


Ich hab mich noch etwas umgesehen was ich mitbekommen hab solten die controller kompatibel sein.
Wo hast du dich umgesehen und welche Controller sollten es sein?

Tom K
17.06.2006, 10:59
1=Gnd
2=+5V
3= Kontrast 10k Poti GND -- +5V -- Pin 3(Mittelpunkt)

m.a.r.v.i.n
17.06.2006, 17:56
Hallo Tom,

sind die Fusebits richtig gesetzt? JTAGEN muß disabled, d.h. unprogrammiert sein. Sonst funktioniert der C-Port nicht richtig.

Das BASCOM Programm Beispiel aus dem Wiki ist nicht vollständig. Am Ende des Programms sollte noch ein END Befehl stehen und davor besser noch eine Endlosschleife. Kann sein, das der Controller sonst Blödsinn macht.
Werd das mal bei Gelegenheit im Wiki ausbessern.

Gruß m.a.r.v.i.n

Tom K
17.06.2006, 21:18
Hallo m.a.r.v.i.n

JTAGEN Intervace war schon disable do schleife war schon prog. nur end fehlte hat aber auch nichts gebracht.

Ich glaube es liegt an der Init des Lcd Controllers. Die passt nicht

pumann
04.07.2006, 21:52
1=Gnd
2=+5V
3= Kontrast 10k Poti GND -- +5V -- Pin 3(Mittelpunkt)
... steht leider nicht im Datenblatt, aber Dein Kontrast braucht etwa -4V.
Habe das gleiche Display hier irgendwo noch herumkullern und erfolgreich angesteuert (allerdings im 8-Bit-Modus). Angesteuert wirds genau wie ein HD44780, Darstellung in 1. + 3. sowie 2. + 4. Zeile.

m.a.r.v.i.n
05.07.2006, 10:34
Das Display wäre dann also eines für den erweiterten Temperaturbereich (-20°..+70°). Gut, das wäre eine Erklärung.

Wie man die Kontrastspannung für so ein Display erzeugt, findet man bei sprut (http://www.sprut.de/electronic/lcd/index.htm#strom).

Gruß m.a.r.v.i.n