Was ist hier falsch

Gast #24839
HAllo,
ich habe einen Assemblercode geschrieben der im Anhang ist! Er soll wenn 
die PD0 gedrückt ist die led am PB5 ausschalten!
Dieser macht es dann auch machnmal wenn ich drücken aber irgenwann hängt 
er sich auf! Manchmal erst nach dem vierten mal dann schon ganz am 
Anfang! DAnn wird die LED nur nochmal kutz heller!
Ich benutze das STK200 mit den Leuchtdioden und Taster die da drauf 
sind!
Peter
Angehängte Dateien:
Gast
In solchen Fällen sollte man mal auf dem Papier durchgehen, was der 
Prozessor so macht:

:loop3: PortB auf Ausgang, da ist alles OK.
:Dann wird an loop so lange gewartet, bis PIND(0) high wird (sbis = 
Sprung, wenn Bit =1). Auch OK.
:loop2: solange der Portpin (D:0) 1 ist, springt er zu loop3 = 
Hauptschleife.
Und da liegt er begraben: Solange der Kontakt prellt, scheint das zu 
funktionieren. Denn wenn in loop2 die Bedingung PIND(0) = 0 erreicht 
wird, springt er einen Befehl weiter - und das ist die Endlosschleife am 
Ende = er tut nix mehr.

loop:  sbis PIND,0
       rjmp loop
       cbi PORTB,3
loop2: sbic PIND,0
       rjmp loop2
       rjmp loop3

So sollte es funktionieren. Den Endlosloop am Ende braucht man in diesem 
speziellen Fall nicht.

Übrigens: der "." ist zwischen "," und "-" rechts unten auf der Tastatur 
- Hier fliegen einem ja die Ohren weg, bei diesen vielen 
Ausrufezeichen... g

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.