回覆列表
  • 1 # 使用者9662297337979

    你的這一段“MAIN:

    MOV P1,A

    LCALL DELAY

    LOOP1:

    RL A

    INC R1

    AJMP MAIN”有點問題,這一段實際上已經構成了迴圈,執行到INC R1處時,程式回到MAIN處,累加器內資料已經左移了一位,而R1內資料加1,當再次執行到RL A 處,再次左移一位,R1內資料加1,程式又回到MAIN.後面的程式就沒有執行。改成下面的試試,我在微控制器實驗板上已經實現,是來回滾動的。

    ORG 00H

    START:

    MOV R1,#0

    MOV A,#00H

    MOV P2,A

    MOV A,#01H

    LOOP1:

    RL A

    INC R1

    MOV P2,A

    LCALL DELAY

    CJNE R1,#7, LOOP1

    LOOP2:

    RR A

    DEC R1

    MOV P2,A

    LCALL DELAY

    CJNE R1,#0,LOOP2

    AJMP START

    DELAY:

    MOV R2,#0FFH

    D1:

    MOV R3,#0FFH

    D2:

    DJNZ R3,D2

    DJNZ R2,D1

    RET

    END

  • 中秋節和大豐收的關聯?
  • 考初級會計職稱用什麼軟體?