Forum: Mikrocontroller und Digitale Elektronik BASCOM und 2*16-LCD - geht nicht?


von Daniel (Gast)


Lesenswert?

Hallo,

habe mich ganz neu an das Thema µC gewagt... Habe nun mal testweise an 
einen Atmega16 ein 2*16LCD (HD47780) gehängt und das geht irgendwie 
nicht...

Die erste Zeile enthält einen schwarzen Balken, in der zweiten kommt 
nichts...

Habe folgenden Code verwendet, den ich als Muster wo gefunden hatte:


$regfile = "m16def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 9600


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

 Cls
 Locate 1 , 1
 Lcd "hallo welt"

End



angeschlossen ist das display wie folgt:

01 GND
02 Vcc
03 GND
04 Port B6
05 GND
06 Port B5
07 offen
08 offen
09 offen
10 offen
11 Port B1
12 Port B2
13 Port B3
14 Port B4

Wo ist mein Fehler? Hardware? Software?

Würde mich freuern, wenn mir da jemand helfen könnte...

Gruss Daniel

von Daniel H. (danielhd)


Lesenswert?

so... jetzt bin ich auch ordnungsgemäss registriert ;)

von Tobias G. (zer0q12)


Lesenswert?

Hi, passen die Ports und ist der Kontrast bzw die Hintergrundbeleuchtung 
richtig angeschlossen? Sonst evtl das hier mal durchlesen: 
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/ hat 
mir sehr geholfen

mfg Tobias G

von Daniel H. (danielhd)


Lesenswert?

Da finde ich auch nix was falsch wäre :(
Kontrast stimmt, sonst wäre der schwarze Balken ja nicht zu sehen ;)
Und Beleuchtung hat das LCD keine... Aber auch wenn, müsste es ja auch 
was anzeigen, wenn diese aus wäre ;)

von Tobias G. (zer0q12)


Lesenswert?

Hi , $crystal = 8000000 8Mhz Quarz in verwendung?

von Daniel H. (danielhd)


Lesenswert?

jepp!

von Tobias G. (zer0q12)


Lesenswert?

Was mir sonst noch einfällt ich habe die offenen Ports noch an Gnd 
gelegt und sonst schon getestet ob überhaupt der Atmega läuft sonst 
fällt mir auch nix mehr ein.

von Daniel H. (danielhd)


Lesenswert?

Habe mal schnell die offenen auf GND -> bringt nix
und wenn ich ein Lauflicht programmiere und LEDs dranhänge, geht alles. 
Der Atmega ist also definitiv NICHT defekt...

von Tobias G. (zer0q12)


Lesenswert?

03 GND direkt an Gnd dran oder ein Poti dazwischen? Zum richtigen 
einstellen des kontrasts?

von Daniel H. (danielhd)


Lesenswert?

Direkt. Hatte vorher einen Poti drin. Bester Kontrast war bei 0 Ohm ;)

von Tobias G. (zer0q12)


Lesenswert?

Was steht im Datenblatt drin?

von Daniel H. (danielhd)


Angehängte Dateien:

Lesenswert?

nix... siehe anhang...

von ea (Gast)


Lesenswert?

hast Du vielleicht noch Deinen ISP-Programmer gleichzeitig an PortB?

von Andreas M. (Gast)


Lesenswert?

Vielleicht stimmt das timing der Initialisierung nicht

von ea (Gast)


Lesenswert?

hast Du > 4,5V Betriebsspannung? Schreib Doch mal ein Programm, das die 
Ausgänge wackeln läßt, und miss die Verkabelung durch.

Hast Du dir richtige Reihenfolge der Pins (also mit nicht versehentlich 
am Display mit 14 statt mit 1 angefangen)?

Klingt albern, ist aber alles schon vorgekommen.. :-)

von ea (Gast)


Lesenswert?

..und laß mal die Zeilen "config lcdbus.." und "Locate ..." weg.

von Karl H. (kbuchegg)


Lesenswert?

Sicher, dass du B1 bis B4 benutzt hast und nicht doch eher B0 bis B3?

von dj4jz (Gast)


Lesenswert?

Du hattest die Frage noch nicht beantwortet, ob du deinen ISP-Programmer 
noch am Port hast. Der belegt die MOSI (PB5) und MISO (PB6) und SCK 
(PB7) Ports. Das könnte daran liegen. Sonst sollte der Code von dir 
klappen.
Sehr hilfreich ist es, wenn du in Excel eine Tabelle mit der Belegung 
der Ports für den ATMega machst. Da siehst du dann sofort, was du 
problemfrei belegen darfst und was nicht.

von Daniel H. (danielhd)


Lesenswert?

Anschlüsse sind richtig... Hatte schon falsch rum angeschlossen, da ging 
garnichts... In richtiger Reihenfolge bekomme ich immerhin den schwarzen 
Balken... Spannung ist 4,91 Volt, also denke ich okay. Anschlüsse sind 
wirklich B1-B4 und nicht 0-3. ISP ist im Betrieb abgeklemmt. Aber liegt 
der nicht sowieso auf C?

von ea (Gast)


Lesenswert?

jtagen fuse ausgeschaltet?

von Daniel H. (danielhd)


Lesenswert?

ea schrieb:
> jtagen fuse ausgeschaltet?

jepp

von Daniel H. (danielhd)


Lesenswert?

noch was ganz komisches... vllt. hilft das ja weiter... innerhalb des 
schwarzen balken in zwile 1 befindet sich manchmal der blinkende cursor. 
wenn ich dann reset drücke, wandert der eine stelle nach rechts?!?!?!?!?

von Tobi W. (todward)


Lesenswert?

Was hast de denn mit der R/W leitung gemacht?

Weil kann sein das der LCD-controller auf read steht und somit keine 
daten annimmt...

Dumme frage:
Was hast du denn als quarz/oszillator? Den internen oder einen externen? 
sonst guck doch nochmal die fuses nach.

gruß
tobi

von Daniel H. (danielhd)


Lesenswert?

r/w ist wie oben schon geschrieben auf gnd
quarz habe ich externes und auch so in den fuses... wie gesagt. andere 
sachen laufen auf dem µC problemlos...

von Tobi W. (todward)


Lesenswert?

das datenblatt ist ja bei solchen sachen sehr aufschlussreich;-)

Was ist denn da für ein controller drauf?
Vll ist der ja nicht zu den Bascom routinen compatible!

gruß
Tobi

von Daniel H. (danielhd)


Lesenswert?

neeeeeeeeeeeein... ich habs... ein kabel hatte nen wackler... kabel ist 
gebrochen... hab alle kabel mit dem multimeter durchgemessen und eines 
gute "morsezeichen" von sich... jetzt gehts... da soll mal einer gleich 
drauf kommen... :(

von Tobi W. (todward)


Lesenswert?

dann noch viel spass bei weiteren experiementen....
Woher hast du das display und wie hast du die Leitungen daran bekommen?

von Daniel H. (danielhd)


Lesenswert?

habe von einem bekannten wegen umzug ein komplettes "hobby-labor" incl. 
bauteilen geerbt. da waren displays dabei... leitungen sind dran 
gelötet. habe das auf dem bread-board verkabelt und als jumper-kabel die 
innereien eines netzwerk-kabels genommen. das war wohl schon älter ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.