PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD Beispiel funzt nicht



Keksii
05.04.2007, 12:41
Hallo,

bin noch ziemlich grün in der AVR Programmierung. (soll vorab als Entschuldigung für "dumme" Fragen dienen O:) )

Ich hab versucht das LCD Beispiel von dieser Seite nachzubauen.

Hab ein HD44780 kompatibles LCD, einen ATMega16 und das alles aus ein Steckboard montiert.

Ich hab mich genau an die Verdrahtungsanleitung von (https://www.roboternetz.de/wissen/index.php/Bascom_und_LCD%27s)
gehalten und auch nochmal alle Verbindungen nachgemessen.

Der eingesetzte Code :

$regfile = "m16def.dat"
$crystal = 1000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4

Cls
Locate 1 , 1
Lcd "Hallo Welt"

Ich nutze den internen Quarz von 1Mhz, daß heißt die Fusebits sind noch in der default Einstellung.

Ferner hab ich den Mega16 noch an GND(11) & GND(31) mit der Masse verbunden und VCC mit 5 V.

Das Einzige was passiert, ist dass die erste Zeile im LCD Display mit schwarzen Blöcken gefüllt ist, sonst nichts.

Wo könnte mein Fehler liegen ? Danke vorab für Hilfe.

Jon
05.04.2007, 12:50
1. End Befehl am Ende des Progs fehlt.
2. Hast du wirklich ein 16*2 Display?
3. Stelle den Kontrast ein, bis die Balken verschwinden.

jon

Keksii
05.04.2007, 12:57
zu 1. End hatte ich nur nicht mit kopiert.

zu 2. Ja, es ist ein 16*2 Display

zu 3. Wenn ich den Kontrast veränder verschwindet nur der Balken langsam bzw. kommt wieder beim rückdrehen des Poti´s

kalletronic
05.04.2007, 13:33
Hi, hast du den Reset eingang mit nem Widerstand auf +5V gelegt?

Keksii
05.04.2007, 15:03
Ja, hab nen 10k Widerstand dazwischen

Jon
05.04.2007, 15:54
zu 3. Wenn ich den Kontrast veränder verschwindet nur der Balken langsam bzw. kommt wieder beim rückdrehen des Poti´s
Das ist richtig so. Stelle den Kontrast so, dass die Balken gerade so verschwinden.

Mir fällt aber im Moment nicht ein, woran es liegen könnte.
Da es das Programm aus der Wiki ist, sollte es so stimmen.
Kann es also eigentlich nur noch an der Hardware liegen.
Wenn die Verkabelung OK ist, dann kann es nur am LCD liegen.

Also kontrolliere bitte nochmal, ob alles so verbunden ist, wie du es im Programm geschrieben hast.

jon

helimike0705
05.04.2007, 16:54
sind d0 bis d3 mit masse verbunden,rw ebenfalls?
der mega16 eine fusebit das heisst jtagen,das muss ausgeschalten sein.
sonst sind einige pin´s als interface geschalten.weiss aber jetzt nicht ob dies auf dem portd ist ,habe keinen mega16 und somit noch keine ahnung,müsste mir erst das datenblatt anschauen.

magic33
05.04.2007, 18:21
ich würde mal im code den config lcd bus rausnehmen
dann den configlcd 16*2
hinter die pin config

das sollte dem compiler schon mal helfen und dann natürlich nochmal alle anschlüsse prüfen
ist mir auch schon passiert das RS RW vertauscht waren und dann nix ging