汇编语言按钮功能

Assembly Language button function

这是我的代码:

ORG 0100H    
    SETB P1.0
DONGU1: 
    JB P1.0,DONGU1
     MOV R4,#0FFH
BASLANGIC:
    MOV DPTR,#NUM
        MOV A,#00H
    MOVC A,@A+DPTR
    MOV P3,#02H
    MOV P2,A
    ACALL GECIKME   

    MOV A,#01H
    MOVC A, @A+DPTR
    MOV P3,#08H
    MOV P2,A
    ACALL GECIKME

    MOV A,#02H
    MOVC A, @ A+DPTR
    MOV P3,#04H
    MOV P2,A
    ACALL GECIKME   

    MOV A,#03H
    MOVC A, @A+DPTR
    MOV P3,#01H
    MOV P2,A
    ACALL GECIKME
    DJNZ R4,BASLANGIC   

     MOV P2,#00H
     ACALL GECIKME1 
     SJMP BASLANGIC
GECIKME1:
     MOV R7,#100D
     MOV TMOD,#01H
     L2:MOV TH0,#0DBH
     MOV TL0,#0FFH
     SETB TCON.4
     L3:JNB TCON.5,L3
     CLR TCON.4
     CLR TCON.5
     DJNZ R7,L2
     RET
GECIKME:
    MOV R0, #200
    DJNZ R0, $
    RET
ORG 0000H
NUM:    DB  58H,6H,7CH,75H
END

我想为我的按钮添加开关功能。当我按下按钮时它应该显示字符,当我释放按钮时,它必须停止。

目前正在运行,刚开始显示。
感谢您的建议和帮助。

我刚刚上传了它,看看它是如何工作的。

我正在使用 AT89C51RC2,一切正常,除了按钮的关闭功能。

一旦你进入BASLANGIC你再也不会测试P1.0了。

ORG 0100H    
    SETB P1.0
DONGU1: ;Wait for button down
    JB P1.0,DONGU1
     MOV R4,#0FFH
BASLANGIC:
    ... activate LEDs ...
    ... turn LEDs off ...
    SJMP DONGU1 ; and not BASLANGIC