Forum: Mikrocontroller und Digitale Elektronik LCD- Problem


von Matthias Hochholzer (Gast)


Lesenswert?

Hallo!

Ich habe gerade mal das Tutorial durchgearbeitet, genauer gesagt den
LCD- Teil. Ich habe jetzt das Problem, daß das LCD nicht "Test"
ausgibt, sondern "à" !

Was könnte ich falsch gemacht haben? Ich habe alles nochmal überprüft,
konnte aber keinen Fehler finden.

Ich benutze einen ATMega8, dazu das kleine Board aus dem shop. Ich
nutze AVR Studio und yaap.

Matthias

von Chris (Gast)


Lesenswert?

der auszug aus deinem Programmcode wäre nicht schlecht!

von Merle (Gast)


Lesenswert?

Ja poste mal deinen Programmcode Bitte.

Mfg. Merle

von Matthias Hochholzer (Gast)


Lesenswert?

Wie gesagt, es ist der Code aus dem Tutorial!

von Chris (Gast)


Lesenswert?

Bunutzt du ein LCD mit demselben Controller?

8Bit oder 4bit ansteuerung?

im AVR studio kann man sehr gut verfolgen, wie er die Bits an den
Registern setzt, bevor bei deinem proggie Enable auf high springt

Gruß
Chris

von Matthias Hochholzer (Gast)


Lesenswert?

Hallo!

Das LCD hat denselben Controller!

Das mit AVR studio muß ich mir mal anschauen. Ich hab allerdings mit
dem Programm noch nicht so viel Erfahrung.
Ich schau mir das nochmal an!

Matthias

von Matthias Hochholzer (Gast)


Lesenswert?

Hallo nochmal.

Ich glaube ich kann das Problem jetzt etwas eingrenzen.

Wenn ich im AVR Studio Strg+F7 drücke (assemblieren + debuggen) fängt
er schon in der 3. Programmzeile an zu meckern. Da ist dann einfach ein
gelber Pfeil vorne vor. Die Zeile lautet: "ldi temp, RAMEND". Er
scheint aber auch alle anderen Befehle nicht zu aktzepieren. Wenn ich
diese Zeile lösche, meckert er bei der nächsten usw.

Ist da evtl. nur eine Einstellung falsch?
Ich habe die erste Zeile auf meinen Prozessor angepasst. (.include
"m8def.inc")

Gruß, Matthias

von Chris (Gast)


Lesenswert?

den befehl ldi kann man nur für bestimmt register benutzen, ich glaube
ab r16. Wie hast du temp definiert?

Der Mega8 hat mehr als einen 8 Bit Stack. das solltest du mit
Low(ramend) und high(ramend) arbeiten.

Gruß
Chris

von Matthias Hochholzer (Gast)


Lesenswert?

Hallo!

Also, das ist wie gesagt nicht mein eigener code, sondern der aus dem
Tutorial! Der hat schon gewiß bei einigen hundert anderen Leuten
funktioniert, da muß er doch normalerweise auch bei mir gehen...

Was könnte das noch sein? Hardwaremäßig habe ich das alles so
angeschlossen wie vorgeschrieben!

Matthias

von Merle (Gast)


Lesenswert?

Vieleicht ist ein Kabel zwischen AVR und LCD Kaputt oder sonst sowas in
die richtung kannst du mal n Foto von deinem Versuchsaufbau als
dateianhang Posten??

Dann hab ich ne Vorstellung wie das aussieht und kann dir vieleicht
weiterhelfen.

von Matthias Hochholzer (Gast)


Lesenswert?

Hallo!

Die Kabel habe ich alle nochmal durchgemessen! Die sind alle ok!

Kann jetzt hier gerade kein Foto machen. Ich habe das kleine Board aus
dem shop. Dazu habe ich alles so angeschlossen, wie es die Tabelle aus
dem Tutorial verlangt!

Ich glaube bei mir liegt da eher ein Software Problem vor.

Matthias

von Merle (Gast)


Lesenswert?

Schau mal unter

Systemsteuerung - System - Gerätemaneger - Anschlüsse(COM und LPT) -
Druckeranschluss (LPT1) - Ressourcen

ob da irgendetwas mit der Zahl 378 aktiviert ist.

Mfg. Merle

von Matthias Hochholzer (Gast)


Lesenswert?

Ja, ist es (E/A- Bereich)
Warum?

von Merle (Gast)


Lesenswert?

Och hätte vieleicht an dem ligen können aber bei mir ist es auch genau
so eingestellt. mit was Programmierst du den AVR?? YAAP oder PONY PROG
oder was anderes ???

von Matthias Hochholzer (Gast)


Lesenswert?

Wie oben schon beschrieben mit yaap.

von Matthias Hochholzer (Gast)


Lesenswert?

Aber ich denke das Problem liegt eher bei AVR- Studio! Da bekomme ich ja
die Fehlermeldung. Genauer gesagt: nur ein gelber Pfeil, aber ich denke
das soll eine Fehlermeldung darstellen!

von Merle (Gast)


Lesenswert?

Hm...

Der code ist der Gleiche wie im Tutorial und die Verbindungen sind auch
alle in ordnung Hmmm.........

Hast du das Programm nach der Reihe geschrieben:

1.Stelle- Das mit dem swap usw
2.Stelle- Das lcd Test asm.
3.Stelle- LCD routines asm.

Mfg. Merle

von Merle (Gast)


Lesenswert?

Ich weiß zwar nicht was der gelbe Pfeil anzeigt aber er zeigt keine
Fehler an. Schau mal oben in der Menüliste lasse mal nch der eihe alle
listen herunterklappen bis du zu der kommst wo steht next ERROR oder
sowas ähnliches.

Mfg. merle

von Matthias Hochholzer (Gast)


Lesenswert?

Ich denke hier sind nur die beiden letzten .asm- Dateien nötig! lcd-test
und lcd-routines.

Was mich wundert, ist das nach dem Drücken von Strg+F7 erst das Fenster
"Project Output" kommt, in dem er mir sagt "Assembly complete with
no errors". Dann aber öffnet sich das Fenster mit lcd-test.asm, wobei
er anscheinend Probleme hat!

von Merle (Gast)


Lesenswert?

Setze das mit dem swap auch mal ein ganz oben ab anfang des Programmes.

Probier es in den AVR zu Laden dan müsste es eigentlich
Funktionieren.

von Matthias Hochholzer (Gast)


Lesenswert?

Habe mich gerade mal durch die Hilfe- Datei gearbeitet. Der gelbe Pfeil
ist also nicht wie ich gedacht hatte ein Fehler sondern bedeutet:
"next statement to be executed"

Und nu?

Matthias

von Matthias Hochholzer (Gast)


Lesenswert?

Also ich lasse mich ja gerne eines besseren belehren, aber ich denke es
sind NUR die beiden .asm- Dateien nötig! Das was vorher geschrieben
steht ist nur zur Erklärung, das hat in dem Programm nichts zu suchen!

oder liege ich da falsch!

Matthias

von Merle (Gast)


Lesenswert?

Hast du es mit dem swap zeug schon probiert??

von Merle (Gast)


Lesenswert?

Probiers einfach mal kann ja nicht schaden. Probiers ich hab es auch
immer vor dem lcd test asm. stehen und bei mir funzt es einwandfrei
probiers einfach mal

Viel glück

Mfg. merle

von Merle (Gast)


Lesenswert?

und hat es Funktioniert???

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Hallo Matthias,

der Stackpointer wird falsch initialisiert, da das Programm für den
AT90S4433/2333 geschrieben ist... ich habe es inzwischen korrigiert und
für den ATmega8 angepasst.

Andreas

von Merle (Gast)


Lesenswert?

Ach ja genau er benutzt ja nen mega8 Sorry Matthias Hochholzer.

Mfg. merle

von Matthias Hochholzer (Gast)


Lesenswert?

JAAAAA!

Es läuft! Endlich!
Tja, leider bin ich noch nicht soweit, daß ich diesen Fehler von
alleine sehen könnte!

Danke Andreas

Gruß, Matthias

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.