Forum: Mikrocontroller und Digitale Elektronik LCD will nicht mit BASCOM und ATmega16


von Willi B. (gcwilli)


Lesenswert?

Hallo,

ich bin Anfaenger, was µC und LCD Displays angeht.
Ich habe einen ATmega8 mit Bascom programmiert, und ein LCD 16*1a 
ansteuern
koennen.
Da ich mich mit den Fusebits noch nicht so auskannte, hab ich mich 
erstmal aus dem den mega8 ausgsperrt. Mit dem extra bestellten STK500 
konnte ich dann die Fusebits auch setzen (per High Voltage).
Aber wenn ich den jetzt einfach nur an VCC und GND anschliesse, (Flash 
ist geloescht) wird das Ding einfach nur noch warm.

Beim STK500 war auch ein ATmega16 dabei, also hab ich es erstmal mit dem 
versucht.
Das klappt auch einigermassen. Ich programmiere den µC per BASCOM und 
der einfachen LPT Schnittstelle. Das mein Code soweit korrekt laeuft seh 
ich an der angeschlossenen PruefLED.

Nun hab ich das LCD Display an PortC angeschlossen (vorher PortD) und 
die PINs
entsprechend im Code angegeben:

vorher:
'Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , 
Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4

jetzt:
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , 
Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5

ich hab die Ports jetzt schon x mal ueberprueft und finde keinen Fehler 
mehr im Anschluss.

Im µC laeuft eine Schleife, die a) die LED kurz blinken laesst und b) 
einen kurzen Text in die erste Zeile schreiben soll.

Das Display zeigt von Anfang an nur eine Zeile schwarze Rechtecke. So 
wie es das auch macht, wenn nur der VCC und GND angeschlossen sind.

auf den DB7 und DB6 kann ich nur 0 bzw. knapp ueber 0 Volt messen, auf 
DB5 und DB4 wackelt es um die 5 V. An PIN 2 udn PIN 4 messe ich auch ca 
5 V.
Das Wackeln passt genau zu meiner Schleife, die die LED blinken laesst 
und den Text einfach immer wieder aufs Display schreiben soll.
PIN 1 3 und 5 habe ich der Einfachheit halber alle mit GND verbunden.
Wenn ich mich recht erinnere, war das am ATmega8 auch so und es lief.
Ohne GND am PIN3 hat das Display gar nichts angezeigt.

Hat jemand einen Tip fuer mich, wie ich den Fehler weiter einkreisen 
kann?

Willi

von John S. (linux_80)


Lesenswert?

Bei einem neuen Mega16 und Problemen mit PortC nachschauen ob JTAG in 
den Fuses deaktiviert ist, das ist bei neuen immer aktiviert !

Dann schreibtst Du nix vom RW-Pin des LCD, das sollte bei Verwendung von 
Bascom immer auf Gnd liegen, da es nicht verwendet wird.

von Willi B. (gcwilli)


Lesenswert?

Hallo,

JTAG war natuerlich an, weil Studio gemeckert hatte ob ich das wirklich 
ausmachen will. Nichts boeses ahnend hab ich das natuerlich erstmal 
angelassen.
Nun hab ich das Fusebit abgeschaltet, aber das hat noch nicht geholfen.

RW auf GND werd ich dann morgen aeh heute mal probieren. Jetzt lass ich 
besser erstmal die Finger vom Loetkolben. Muss mir noch dieses Video 
ansehen von dem Franzmann, der seine Roehren selber bastelt. Genial :-)

Willi

von Holger K. (krulli) Benutzerseite


Lesenswert?

Du mußt Bascom noch verklickern, dass du im 4-Bit Modus arbeiten willst.

Config Lcdbus = 4

von Willi B. (gcwilli)


Lesenswert?

das versteh wer will.

Heute morgen hab ich einen kurzen Versuch mit LCDBus = 4 gemacht. Den 
hab ich dann aber abgebrochen. Irgendwie ging das Display ueberhaupt gar 
nicht mehr. Die Schaltung hatte die ganze Nacht strom. Aber auch eine 
kurzfristige Stromunterbrechung wollte das Display nicht wiederbeleben. 
Also erstmal Strom aus und ab zum Broetchen verdienen.

Jetzt hab ich das Display noch mal getestet und siehe da, immerhin sind 
die schwarzen Rechtecke wieder da. Wie kommt sowas? Die Batterien sind 
die gleichen.

Nachdem ich DB7 wieder angeschlossen habe kommt jetzt der AHA Effekt. 
Das Display geht. Aber warum? Config LCDBus hab ich wieder aus dem 
Programm entfernt. Das Programm ist das gleiche wie gestern Abend. Die 
Anschluesse sind auch 100% identisch. Gestern gings nicht, heute geht 
es. Es ist ja schoen, dass es jetzt geht, aber ich wuerde gerne 
verstehen warum das so ist.

Kann sich da jemand einen Reim drauf machen?

Willi

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.