WR an Masse ?
Gruß
Christopher
Hi Leute!
Ich möchte >dieses< LCD Display mit einem ATmega8 ansteuern (in Bascom).
Nun habe ich den gleichen Code wie für mein 2*16 Display (Bascom LCD Routine) genommen, dies funktionierte aber nicht.
Nun die Frage: Müsste es eigentlich gehen, oder muss ich es anders machen?
Gruß, Björn
P.S.: Ich habe nur D4-D7, E und RS verlötet (+ Versorgung etc)
Nur tote Fische schwimmen mit dem Strom...
WR an Masse ?
Gruß
Christopher
Du meinst R/W? Nee, gar nicht verlötet. Also an GND löten?
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Ok, ich habe R/W und die Kontrastspannung beide auf GND gelegt. Trotzdem leider kein Unterschied ;-(
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Hi,
dann sollte es eigentlich funktionieren, der Controller ist ja kompatibel...
Schreib' mal einen langen String rein, also über 40 Zeichen.
(Maximale Zeichenlänge für eine Zeile im Controller)
Manche LCDs sind da etwas komisch.
Es gibt zB. 16x1 LCDs, da sind die Zeichen 1-8 an der richtigen Stelle, die Zeichen 9-16 ab 41.
Wenn man die normal beschreibt, sieht man immer nur die ersten 8 Stellen
(Netterweise braucht man sich aber darum bei Bascom nicht zu kümmern, da es beide Typen kann, 16*1 und 16*1a)
Vielleicht fängt dein Display auch erst in der zweiten Zeile an zu schreiben... ?
Gruß
Christopher
Hi,
das Display hat ja nur eine Zeile mit 8 Zeichen.
Oder meinst du vorher ein "Lowerline" schreiben?
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Könnte es sein, dass der Kontrast bei 0V und 5V nichts anzeigt, sodass ich also noch einen Poti einbauen muss?
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Hier nochmal zur Verdeutlichung (um Misverständnissen vorzubeugen):
Alle Pins mit dem Kringel sind verlötet.
Nur tote Fische schwimmen mit dem Strom...
Hier (falls es zur Lösung des Problems beiträgt) die Beschaltung:
Die Pinnummern entsprechen dem Datenblatt.
1 - VSS -> GND der Platine
2 - VDD -> +5V der Platine
3 - VEE -> Poti zwischen +5V und GND
4 - RS -> PortB.6
5 - R/W -> GND der Platine
6 - E -> PortD.5
11 - D4 (D0) -> PortD.6
12 - D5 (D1) -> PortD.7
13 - D6 (D2) -> PortB.0
14 - D7 (D3) -> PortB.1
17 - A -> +5V der Platine
18 - C -> GND der Platine
Ist daran irgendetwas faul?
Die Tabelle der Pins aus Datenblatt siehe vorigen Post.
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Hier ist nochmal der Code. Bei 16*1 müsste eigentlich ja 8*1 stehen, das kennt der Compiler aber nicht.
Gruß, Björn
Code:'=============================================================================== ' Compiler '=============================================================================== $regfile = "m8def.dat" 'Mega8 $crystal = 1000000 $baud = 9600 '------------------------------------------------------------------------------- '=============================================================================== ' LCD Parametrieren '=============================================================================== Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.7 , Db6 = Portb.0 , _ Db7 = Portb.1 , E = Portd.5 , Rs = Portb.6 Config Lcd = 16 * 1 Cls Cursor Off Noblink '______________________________________________________________________________ '******************************************************************************* '* HAUPTPROGRAMM * '******************************************************************************* Do Cls Lcd "Hallo" Waitms 2000 Loop '------------------------------------------------------------------------------- '=== End '===
Nur tote Fische schwimmen mit dem Strom...
Lesezeichen