回覆列表
  • 1 # 滴逃逃

    4只LED為共陽極連線,即微控制器輸出端為低電平時即可點亮LED。

    ;用最直接的方式實現流水燈

    ORG 0000H

    START:MOV P1,#01111111B ;最下面的LED點亮

    LCALL DELAY ;延時60秒

    LCALL DELAY ;延時60秒

    MOV P1,#10111111B ;最下面第二個的LED點亮

    LCALL DELAY ;延時60秒

    LCALL DELAY ;延時60秒

    MOV P1,#11011111B ;最下面第三個的LED點亮 (以下省略)

    LCALL DELAY

    LCALL DELAY ;延時60秒

    MOV P1,#11101111B

    LCALL DELAY

    LCALL DELAY ;延時60秒

    MOV P1,#11110111B

    LCALL DELAY

    LCALL DELAY ;延時60秒

    MOV P1,#11111011B

    LCALL DELAY ;延時60秒

    LCALL DELAY ;延時60秒

    LCALL DELAY ;延時60秒

    LCALL DELAY ;延時60秒

    LCALL DELAY ;完成第一次迴圈點亮,延時約0.25秒

    AJMP START ;反覆迴圈

    ;延時子程式,12M晶振延時約250毫秒

    DELAY: ;大約值:2us*256*256*2=260ms,也可以認為為250ms

    PUSH PSW ;現場保護指令(有時可以不加)

    MOV R4,#240

    L3: MOV R2 ,#00H

    L1: MOV R3 ,#00H

    L2: DJNZ R3 ,L2 ;最內層迴圈:(256次)2個週期指令(R3減一,如果比1大,則轉向L2)

    DJNZ R2 ,L1 ; 中層迴圈:256次

    DJNZ R4 ,L3 ;外層迴圈:240次

    POP PSW

    RET

    END

  • 中秋節和大豐收的關聯?
  • 感冒需要忌口嗎?