汇编语言按钮功能

问题描述 投票:0回答:1

这是我的代码。

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 一切都很好,除了按钮的关闭功能。

assembly microcontroller 8051
1个回答
1
投票

一旦你进入 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
© www.soinside.com 2019 - 2024. All rights reserved.