CodeVision+Mega8+LCD

Gast #122787
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;
Gast #122790
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???
Gast #122791
Hast du Jumper XTAL1 auf dem STK500 geöffnet (d. h. NICHT gesetzt) ? Das
muß so sein bei externer bzw. prozessorinterner Taktversorgung.
Thorsten
Gast #122792
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?
Gast #122795
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?
Gast #122797
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
Gast #122799
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
Gast #122800
Ne, Watchdog ist es ganz bestimmt nicht. Dasselbe Programm mit dem PORTD
funktioniert ohne Aufwand, mit dem PORTB will die Anzeige nicht.
Gast #122802
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.
Gast #122803
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
Gast #122804
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!!!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.