PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei LCD 16x2 und Ausgabe...



CapSob
22.05.2006, 22:38
Hallo!

Da ich wieder anfange mit AVR, dachte ich, ich nehm mal fürn Anfang schnell Basic her.

Ok, eine LED zum blinken hab ich bekommen, yeah!

Aber beim LCD ansteuern hacks.

Hier mein kleiner Quelltext:


$regfile = "m8def.dat"
$crystal = 16000000

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

Cls
Locate 1 , 1
Lcd "Hello World!"

End

Kann mir jemand sagen, an was es liegt, dass ich größtenteils nur schwarze blöcke und eine 0, sowie ein sonderzeichen auf dem display bekomm?

mfg,
rene.

Schokohoernl
22.05.2006, 22:55
Hallo!

Sind alle steuerleitungen richtig angeschlossen?? Hast du auch von der richtigen seite das zählen der pins am LCD angefangen??
Pullupwiderstände??
Handelt es sich überhaupt um einen HD44780 kompatiblen controller?

mfg

Schoko

CapSob
22.05.2006, 23:04
@Schokohoernl:

Alle Steuerleitungen richtig angeschlossen - ja.
Richtige Seite angefangen - ja, Datenblatt.
Pullup - ? Keine Ahnung - vielleicht liegts daran ?
HD44780 kompatibler Controller - ja, standart Reichelt Display.

Pls Hlp!

Edit:

Neuer Quellcode, auch ohne Erfolg:


$regfile = "m8def.dat"
$crystal = 16000000

Ddrb = &B11111111
Portb = &B11111111

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

Cls
Locate 1 , 1
Lcd "Hello World!"

End

jojo3
23.05.2006, 08:22
-Die Kontrast-Spannung angeschlossen ?(meistens reicht auf Masse legen)
-Fusebits im Controller auf externen Quartz gesetzt?

CapSob
23.05.2006, 08:38
Naa toll...

Hab jetzt mal die Fusebits nach einem anderen Beispiel im I-Net gesetzt und rumms - kein zugriff auf den controller mehr...

achja, kontrast funtzt. kann es vllt sein, dass es am port b des controllers liegt, weil jeder, der ein tut über lcds schreibt, den port d benutzt?

mfg,
cap.

p.s.: gibts noch ne möglichkeit, den uC zu retten?

jojo3
23.05.2006, 09:23
-Am Port liegts nicht
-Falls du nur die Osziliator-Einstellung "verbogen" hast,
kannst du an XTAL1 einen externen Takt anlegen (Taktgenerator oder Oszillator, ein paar hundert-Kilo-Hertz reichen)
und dann wieder die Fuses richtig setzen.

CapSob
01.12.2006, 14:12
ich weiss, ist schon lange her, aber:

es lag an der taktfrequenz. mein code war auf 16 mhz eingestellt, aber der uC lief nur aufr 1 mhz.

prob gelöst.