51单片机汇编语言程序设计:

2025-03-13 10:48:45
推荐回答(1个)
回答1:

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
    CLR 00H
START:
    MOV 30H,#0FEH
    MOV 31H,#0FFH
    MOV R2,#12
LOOP:
    JB P3.2,LOOP1
    JNB P3.2,$
    CPL 00H
    SJMP START
LOOP1:
    JB 00H,LOOPR
    MOV P0,30H
    MOV P1,31H
    MOV A,30H
    RLC A
    PUSH ACC
    XCH A,31H
    RLC A
    MOV 31H,A
    MOV C,ACC.4
    POP ACC
    MOV ACC.0,C
    MOV 30H,A
    LCALL DELAY
    DJNZ R2,LOOP
    SJMP START
LOOPR:
    JB P3.2,LOOPR1
    JNB P3.2,$
    CPL 00H
    LJMP START
LOOPR1:
    MOV P0,30H
    MOV P1,31H
    MOV A,31H
    RRC A
    PUSH ACC
    XCH A,30H
    RRC A
    MOV 30H,A
    POP ACC
    MOV ACC.3,C
    MOV 31H,A
    LCALL DELAY
    DJNZ R2,LOOPR
    LJMP START    
DELAY:
    MOV R3,#200
DLY:
    MOV R4,#250
    DJNZ R4,$
    DJNZ R3,DLY
    RET
    END