Archiv verlassen und diese Seite im Standarddesign anzeigen : 1*8 LCD Ansteuerung
Hi Leute!
Ich möchte >dieses< (http://www.reichelt.de/inhalt.html?ACTION=7;LASTACTION=6;SORT=artikel.art nr;GRUPPE=A523;WG=0;SUCHE=LCD%252081;ARTIKEL=LCD%2 52520081%252520DIP;START=0;END=16;STATIC=0;FC=670; PROVID=0;TITEL=0;DATASHEETSEARCH=LCD%2520081%2520D IP;FOLDER=A500;FILE=LCD081DIP%2523EAS.pdf;DOWNLOAD TYP=1;DATASHEETAUTO=;OPEN=1) 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)
WR an Masse ?
Gruß
Christopher
Du meinst R/W? Nee, gar nicht verlötet. Also an GND löten?
Gruß, Björn
Ok, ich habe R/W und die Kontrastspannung beide auf GND gelegt. Trotzdem leider kein Unterschied ;-(
Gruß, Björn
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
Könnte es sein, dass der Kontrast bei 0V und 5V nichts anzeigt, sodass ich also noch einen Poti einbauen muss?
Gruß, Björn
Hier nochmal zur Verdeutlichung (um Misverständnissen vorzubeugen):
Alle Pins mit dem Kringel sind verlötet.
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
Hier ist nochmal der Code. Bei 16*1 müsste eigentlich ja 8*1 stehen, das kennt der Compiler aber nicht.
Gruß, Björn
'================================================= ==============================
' 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
'===
Hey es geht!
Nur leider ist der Kontrast katastrophal. Hab den Poti schon auf maximum. Könnte das daran liegen dass die Akkus schon leicht leer sind und statt 4,8V nur noch 4,6V bringen?
Gruß, Björn
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.