51单片机P2.4连接独立按键k4,实现按键计数0-9,为什么我的程序显示到1,按键后数码管就不再变了?求指点

ORG 0000HK4 BIT P2.4 SECOND EQU 30H START: CLR P2.3;38译码器使能端MOV SECOND,#0 KEY: LCALL DISPLAYSETB K4MOV A,P2JNB K4,ADD_SECOND LJMP KEY ADD_SECOND: LCALL DELAY JB K4,KEY INC SECOND MOV A,SECOND CJNE A,#9,J0 MOV SECOND,#0 LJMP KEYJ0: JB K4,KEYLCALL DISPLAY SJMP J0DISPLAY: MOV A,SECOND MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A;P0接数码管 LCALL DELAY MOV P2,#05H;数码管位选RET DELAY:MOV R7,#250DJNZ R7,$RET TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END
2026年09月21日 11:48
有1个网友回答
网友(1):

K4 BIT P2.4
SECOND EQU 30H

ORG 0000H
CLR P2.3;38译码器使能端
MOV SECOND,#0
SETB K4
KEY:
LCALL DISPLAY
MOV A,P2
JNB K4,ADD_SECOND
LJMP KEY
ADD_SECOND:
LCALL DELAY
JB K4,KEY
INC SECOND
MOV A,SECOND
CJNE A,#9,J0
MOV SECOND,#0
LJMP KEY