Forum: Projekte & Code Auswertung im Programm


von Jürgen (Gast)


Lesenswert?

Hallo,

vielleicht kann mir einer helfen, ich möchte das das Program bei einem 
bestimmten Wert an Port D den Ausgang ansteuert. Mein Versuch war leider 
vergebens.

Vielen Dank





.include "4433def.inc"     ;bzw. 2333def.inc

         ldi r16, 0xFF
         out DDRB, r16     ;Port B durch Ausgabe von 0xFF ins
                           ;Richtungsregister DDRB als Ausgang 
konfigurieren
         ldi r16, 0x00
         out DDRD, r16     ;Port D durch Ausgabe von 0x00 ins
                           ;Richtungsregister DDRD als Eingang 
konfigurieren

  ldi r16, 0xFF

loop:



        if1:
    in r16, PORTD
    cpi r16, 3 ; compare immediate
    brne loop   ; branch if not equal
    ldi r16, 0xff
    out PORTB, r16


         rjmp loop         ;Sprung zu "loop:" -> Endlosschleife

von mikki merten (Gast)


Lesenswert?

Hier der Teil mal richtig

loop:

    ;in r16, PORTD  ;Falsch!!! PORTD liest das DDR zurück
    in  r16, PIND   ;Abfrage aktueller Zustand PORTD
    cpi r16, 3 ; compare immediate D0 + D1 = H
    brne loop ; branch if not equal
    ldi r16, 0xff
    out PORTB, r16
    rjmp loop

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
Noch kein Account? Hier anmelden.