Guten Tag Habe mich die letzten Tage mit dem ansteuern eines LCD`s 2x20 beschäftigt. Funktioniert auch ganz gut bis auf ne Kleinigkeit! Steuere das Display mit einem STK500 auf dem ein 90S8515 arbeitet an. So PortA steuert DB0-DB7 des Displays an. PortD steuert RS=PD2 R/W=PD3 und E=PD4 des Displays! Funtzt prima!!!!!! So wenn ich jetzt E auf PD0 lege (Source-Code natürlich angepasst) spinnt das Display d.h es läßt Zeichen aus oder zeigt falsche an! Das selbe Prob habe ich wenn ich E mit irgendeinem Bit des PortB steuern will! Das Ansteuern von LED`s funktioniert mit allen Ports also ist der AVR i.O.! Das ist doch nicht normal, oder? Hat der Controller ne Macke oder das STK! Habe die Vermutung das der AVR eventuell keinen sauberen Kontakt zum Board hat da die IC-Fassungen erstens recht billig sind und zweitens recht oxidiert (Habe das Bord seit nem Monat)! Wenn dem so ist das es vom Board kommt ist es dann ein Garantiefall?
Hi, also zu den Ports des STK500 habe ich mir auch schon ein paar gedanken gemacht: Wenn ich einen PIN des AVR auf 1 setze, geht die LED aus. Konnte mir die Ursache aber nicht aus der Anleitung erschließen. Deshalb: Probiere es mal mit einer invertierten LCD-Ansteuerung. gruß Markus.
Hallo Schau dir mal das Tutorial an auf dieser Seite http://www.mikrocontroller.net/tutorial/io-basics.htm Die LED liegt mit der Anode (+) an VCC (Betriebsspannung) und die Kathode (-) der LED liegt am I/OPin des AVR. Wenn der I/OPin High-Signal hat, also +5Volt kann die LED nicht leuchten da beide Anschlüsse der LED auf +5Volt liegen. Wenn der I/OPind Low-Signal hat, also GND leuchtet die LED da der eine Anschluß auf GND und der andere Anschluß auf +5Volt liegt.
Samy, wahrscheinlich 'ne blöde Frage, aber hast du die Pins, an denen du E erzeugen willst im entsprechenden (Datenrichtungs-)Register auf "Ausgang" gesetzt? groetjes -uwe
Ist ne blöde Frage! Na klar!!! P.S. Habe nicht umsonst meinen Source-Code hier zum download gestellt!
Sorry, das mit dem Sourcecode hab' ich übersehen! Aus dem geht allerdings auch nicht hervor, wie du mit DDRB im Falle von E auf PortB umgehst! PD0: wenn du RXEN in UCR gesetzt hast , also Serielles empfangen willst, ist das ein Eingang. Zum Thema Wackelkontakt: Miss doch das erzeugte Signal mal nach.
Das PortB als Eingang konfiguriert war ist ausgeschlossen, da sonst das Display überhaupt nicht funktioniert hätte! Habe den Verdacht das die Datensignale nicht immer sauber übertragen werden! Nachmesen würd ich gern aber dazu brächte ich ein Oszi weil der Fehler anscheinend nur bei höheren Frequenzen auftritt! Bei Dauersignal (steuern von LED`s) funktioniert PortD. Da kein Oszi vorhanden habe ich mal Reichelt wegen dem Fehler angeschrieben. Antwort-->Sie können es gerne zu Atmel schicken zum prüfen bzw.Rep oder Garantie! Werd ich wohl einsenden und nen Monat warten müssen bis das Board wieder da ist! Habe ne Woche nach dem Fehler in meinem Source-Code bzw. Schaltung gesucht bis ich auf das mit PortD gekommen bin. Das tue ich mir nicht nochmal an da sollen sie das Teil auf Herz und Nieren Prüfen.
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.