www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CodeVision+Mega8+LCD


Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hab ein Problem mit der Steuerung von HD44780-based
LCD-Anzeige. Es läuft alles unter CodeVision mit Mega8. Es passiert
nichts, wenn ich PORTB als LCD- Port definiere, mit dem PORTD klappt es
einwandfrei. Den Oscillator habe ich mit den Fuses richtig eingestellt
(1MHz intern). Woran könnte es liegen? Mega8 ist neu, kaputt sollte es
nicht sein (ich hab schon mal erlebt, dass die Oscillator-Pins PB6 und
PB7 kaputt waren, aber in diesem Fall liegt es bestimmt nicht daran).
Mit freundlichen Grüßen, Aleksej.

P.S. __lcd_port=0x18;

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du alle vcc und gnd angesplossen, auch avcc usw?

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, klar. Alles ist auf STK500 aufgebaut.

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist wirklich interessant, ich hab alles mögliches abgeschaltet, es
geht ja trotzdem nicht. Ich vermute, dass der Controller nicht in der
Lage ist, LCD abzufragen, deshalb sturzt das Programm ab. Was könnte
mit den Pins von PORTB falsch sein???

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Jumper XTAL1 auf dem STK500 geöffnet (d. h. NICHT gesetzt) ? Das
muß so sein bei externer bzw. prozessorinterner Taktversorgung.
Thorsten

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich habe ich es geöffnet. Das Problem liegt wahrscheinlich daran,
dass Controller aus irgendwelchen Gründen keine Information von der
Anzeige kriegt. Pins 6 und 7 von dem PORTB sollen doch aktiv sein, wenn
ich interner Oscillator einsetze oder?

Autor: klack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Überprüfe doch die einstellungen an denem "ASSR Register"
was ist dort eingetragen

klack

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da steht 0x00

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe es nicht, mit dem PORTB klappt es überhaupt nicht, wenn ich
Pins 6 oder 7 als Eingang einsetzen will. Hat jemand eine Idee?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleine Frage, wieso brauchst du Eingänge am µC wenn du ein LCD
anschließen willst ?

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weil CodeVision testet die, um festzustellen, ob LCD bereit ist. Aber
ich habe gerade procedure von CodeVision so geändert, damit es nur
abgewartet ist, ohne Abfrage. Funktioniert trotzdem nicht

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute, das ist wirklich wichtig, es kann doch nicht war sein, dass
keiner eine LCD-Anzeige an den PORTB von Mega8 angeschlossen hat.

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht ist ja der Watchdog an(ist er glaube ich beim ATMEGA8
standartmäßig), das heißt, wenn du ihn nicht regelmäßig zurücksetzt,
startet er den µC neu
vielleicht kommt er deswegen ja nie bis zu der Stelle, an der etwas mit
dem Display geschieht
Abhilfe würde schaffen, indem man den Watchdog entweder per Fusebits
oder softwaremäßig ausschaltet

aber wie gesagt, es ist nur eine Vermutung

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne, Watchdog ist es ganz bestimmt nicht. Dasselbe Programm mit dem PORTD
funktioniert ohne Aufwand, mit dem PORTB will die Anzeige nicht.

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mal anders gefragt
was zeigt das LCD denn an?
nix? schwarzen Balken?

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schwarze Balken, als ob es nicht initialisiert wurde. Aber um es klar zu
machen - an dem Programm liegt es nicht. Entweder stimmt was mit Mega8
nicht (es soll nicht unbedingt kaputt sein! Kann sein, dass die Pins 6
und 7 von PORTB sind irgendwie anders gebaut) oder soll ich bei den
Fuses noch irgendwas einzustellen.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir fällt da gerade ein, daß ich kürzlich ne Mail von jemandem bekam,
der sein LCD auch nicht an Port B vom ATm8 zum laufen bekam. Als er es
dann mit Port D probierte, funktionierte alles einwandfrei. Ist jetzt
nicht wirklich ne Hilfe, aber schon seltsam.

Thorsten

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab es rausgekriegt! Das Problem lag an STK500, da sind diese Pins
(PB6 und PB7) NICHT an den PORTB angeschlossen! Die kriegt man bei dem
PORTE/AUX (XT1 und XT2). Ich finde es irgendwie unlogish...
Aber trotzdem danke!!!

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Äh, sowas checkt man ja wohl als erstes mittels Durchgangsprüfer oder
so.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.