Hallo, ich versuche gerade eine Aufgabe zu realisieren mit AVR Studio 4. Ich möchte 3 Leds zum Leuchten bringen. Das habe ich auch schon geschafft. Aber ich weiß nicht wie ich sie mit einem Taster ausschalten kann. Mit dem Programm "Hapsim" habe ich schon verschiedene Programme simuliert...Ich schaffe es immer LEds zum leuchten zu bringen, aber eben nicht sie auszuschalten. Unter Hapsim habe ich die Leds, und den Taster richtig konfuguriert. ist mein Programm falsch? Ich danke für jede Hilfe. (Anfänger)
Probier mal sbis statt sbic bei der Abfrage des Tasters.
Ich habe keine Ahnung, was Hapsim ist. Ich würde den Debugger von AVR Studio 4.19 verwenden, der eignet sich tadellos für Assembler. Dein Programm schaltet die Ausgänge auf Low, wenn der Taster-Eingang auf High geht. Passt das zu deiner Schaltung? Der Taster muss an PB3 angeschlossen werden, ist das der Fall? Ich frage, weil eine auskommentierte Zeile auf PD3 verweist.
Das ganze funktioniert in einer Simulation nur, wenn dein Taster auch entsprechend angeschlossen bzw. eine vernünftige Schaltung simuliert wird. Dein Programm löscht die zu Beginn eingeschalteten LEDs wieder, sobald am Tasterpin eine logische 1 anliegt, das heißt, dein Taster muss vom Eingang "nach Plus" geschaltet sein. Notwendig ist hier auch noch ein "Pull-Down-Widerstand", damit der Pin auf einem definiertem Pegel gehalten wird, wenn der Taster gerade nicht gedrückt ist und aus der Umgebung keinen Mumpitz einfängt. Wenn du in deinem Simulationsprogramm die Außenbeschaltung verändern kannst, dann versuche es mal mit einem solchen Widerstand. Möglicherweise spinnt die Simulation, wenn kein definierter Pegel anliegt. Üblich ist zur Tasterabfrage aber, dass der interne Pullup aktiviert wird (man braucht keinen extra einlöten) und der Taster nach Masse schaltet. Das ist aber alles erstmal nur gemutmaßt, deine Schaltung hast du ja nicht mitgeliefert. Die auskommentierte Zeile nimm mal wieder rein und ändere sie auf den richtigen Port (siehe Post von stefanus), damit schaltest du den Pullup ein, den Taster dann logischerweise nach Masse schalten lassen. Dann mit SBIC und SBIS spielen, wie Ashoka schrieb, damit kannst du die Reaktion steuern, also ob bei low- oder highpegel am Eingang ausgeschaltet wird. Kannst du mal einen Screenshot von der Simulation reinstellen? Also von der Außenbeschaltung des uC?
hey ich werde mir die antworten noch durchlesen.. bezüglich meiner schaltung, ich habe die hardware nur in der hochschule ..zuhause muss ich es mit "hapsim" simulieren. :(
Hi hapsim -> http://www.helmix.at/hapsim/ https://www.mikrocontroller.net/articles/AVR-Simulation#HAPSIM Benutze selber den Debugger im Studio (ebenfalls 4.??, da sich eine neuere Version nicht (in der VM unter Win7) installieren ließ. Bisher nur Probleme, die vom Progger kamen ... :/ (Fehler 99: Der Fehler sitzt vor dem Gerät) MfG
Ostap A. schrieb: > ich habe die hardware nur in der hochschule ..zuhause muss > ich es mit "hapsim" simulieren. Dann versuch es mal lieber an realer Hardware, so einer Simulation würde ich auch eher wenig vertrauen. Die Laboringenieure, die ich bisher kennenlernen durfte, haben auch wenig Probleme damit gehabt, wenn man mal "neben der Spur" vorbeigekommen ist, um bissel zu tüfteln :) Vielleicht leihen die dir auch was aus? Frag doch einfach mal nett nach. Dein Programm sollte unter Berücksichtigung der hier gegebenen Vorschläge funktionieren, wenn nicht, dann ist es ein Hardwareproblem.
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.