Anfängerproblem mit assembler

Gast #92100
Lesenswert?
• ▲
▼
hallo!
ich bin uC-Neuling, weshalb ich nicht genau weiß was man in assembler
darf und was nicht.
als 1. prog mit 4051 von Atmel wollte ich einfach portpins
setzen/löschen, sobald ein Eingangspin low wird.(assembliert mit
ASEM51, lt. Dokumentation funkt. 89c2051.mcu auch für 4051)

$NOMOD51
$INCLUDE (89c2051.mcu)
  mov P3,#11111111b
  mov P1,#11111100b
main:
Abfragen:
  jnb P3.0,forward
  forward:
    mov P1,#00000000b
jmp Abfragen
END

das problem bei diesem prog ist, dass  Port1 sofort auf 0 gesetzt
wird,die Bedingung dass P3.0 low wird scheint nichts zu beeinflussen.

wäre sehr dankbar wenn mir wer sagen könnte was da falsch programmiert
ist.
Gast #92102
Lesenswert?
• ▲
▼
Sprungziel ist falsch, du landest immer bei "forward".
Ist die Bedingung erfüllt, springst du zu forward.
Ist die Bedingung nicht erfüllt, wird der jnb ... ignoriert, und du
landest auch bei forward.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.