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;
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???
Hast du Jumper XTAL1 auf dem STK500 geöffnet (d. h. NICHT gesetzt) ? Das muß so sein bei externer bzw. prozessorinterner Taktversorgung. Thorsten
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?
Hallo, Überprüfe doch die einstellungen an denem "ASSR Register" was ist dort eingetragen klack
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?
Kleine Frage, wieso brauchst du Eingänge am µC wenn du ein LCD anschließen willst ?
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
Leute, das ist wirklich wichtig, es kann doch nicht war sein, dass keiner eine LCD-Anzeige an den PORTB von Mega8 angeschlossen hat.
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
Ne, Watchdog ist es ganz bestimmt nicht. Dasselbe Programm mit dem PORTD funktioniert ohne Aufwand, mit dem PORTB will die Anzeige nicht.
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.
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
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!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.