请高手帮我看一下我的矩阵键盘扫描程序,在仿真的时候单片机的引脚电平变化是对的,就是显示不了。
不要给我你们自己的程序,就请帮我改一下我的就行了。ORG0000HAJMPMAINORG0030HMAIN:LCALLKSJNZLK2AJMPMAINLK2:LCALLD...
不要给我你们自己的程序,就请帮我改一下我的就行了。
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
LCALL KS
JNZ LK2
AJMP MAIN
LK2: LCALL DELAY
LCALL KS
JNZ LK3
AJMP MAIN
LK3: MOV R0,#00H
MOV R1,#0EFH
MOV A,R1
LK4: MOV P1,A
MOV A,P1
L0: JNB P1.0,L1
MOV A,#00H
AJMP PK
L1: JNB P1.1,L2
MOV A,#01H
AJMP PK
L2: JNB P1.2,L3
MOV A,#02H
AJMP PK
L3: JNB P1.3,NEXT
MOV A,#03H
AJMP PK
RET
PK: ADD A,R0
PUSH ACC
AJMP LK5
NEXT:INC R0
MOV A,R1
RL A
JNB P1.7,MAIN
AJMP LK4
LK5: JNZ $
LK6: ACALL DELAY
JNZ LK6
AJMP DISP
DISP:POP ACC
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
CLR P3.1
RET
DELAY:MOV R7,#01H
DL1:
MOV R6,#26H
DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
KS: MOV A,#0FH
MOV P1,A
MOV A,P1
ORL A,#0FH
CPL A
RET
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 6FH,77H,7CH,39H,5EH,79H,71H,40H,80H,00H
END
下面这是仿真图 展开
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
LCALL KS
JNZ LK2
AJMP MAIN
LK2: LCALL DELAY
LCALL KS
JNZ LK3
AJMP MAIN
LK3: MOV R0,#00H
MOV R1,#0EFH
MOV A,R1
LK4: MOV P1,A
MOV A,P1
L0: JNB P1.0,L1
MOV A,#00H
AJMP PK
L1: JNB P1.1,L2
MOV A,#01H
AJMP PK
L2: JNB P1.2,L3
MOV A,#02H
AJMP PK
L3: JNB P1.3,NEXT
MOV A,#03H
AJMP PK
RET
PK: ADD A,R0
PUSH ACC
AJMP LK5
NEXT:INC R0
MOV A,R1
RL A
JNB P1.7,MAIN
AJMP LK4
LK5: JNZ $
LK6: ACALL DELAY
JNZ LK6
AJMP DISP
DISP:POP ACC
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
CLR P3.1
RET
DELAY:MOV R7,#01H
DL1:
MOV R6,#26H
DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
KS: MOV A,#0FH
MOV P1,A
MOV A,P1
ORL A,#0FH
CPL A
RET
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 6FH,77H,7CH,39H,5EH,79H,71H,40H,80H,00H
END
下面这是仿真图 展开
2个回答
展开全部
从程序来看,数码管应该是共阴的;同时,P2口,应该接上拉电阻。
但是,从插图中,看不出是上拉,也不知道用的是共阴共阳。
但是,从插图中,看不出是上拉,也不知道用的是共阴共阳。
追问
p2口接了上拉电阻了,数码管也是共阴的,只是公共端接到了p3.1脚上。这是图
追答
试试看:
ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
CALL KS
JNZ LK2
JMP MAIN
LK2:
CALL DELAY
CALL KS
JNZ LK3
JMP MAIN
;------------------------
LK3:MOV R0, #00H
MOV R1, #07FH
;------------------------
LK4:MOV P1, R1
MOV A, P1
L0: JB ACC.0, L1
MOV A, #0
JMP PK
L1: JB ACC.1, L2
MOV A, #1
JMP PK
L2: JB ACC.2, L3
MOV A, #2
JMP PK
L3: JB ACC.3, NEXT
MOV A, #3
JMP PK
;------------------------
NEXT:
INC R0
MOV A, R1
RR A
MOV R1, A
JNB ACC.3, MAIN
JMP LK4
;------------------------
PK: MOV B, #4
MUL AB
ADD A, R0
CALL DISP
JMP MAIN
;------------------------
KS: MOV A, #0FH
MOV P1, A
MOV A, P1
ORL A, #0F0H
CPL A
RET
;------------------------
DISP:
MOV DPTR, #TAB
MOVC A, @A+DPTR
MOV P2, A
CLR P3.1
RET
;------------------------
TAB:
DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH
DB 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H, 40H, 80H
;------------------------
DELAY:
MOV R7, #01H
DL1:
MOV R6, #26H
DL0:
MOV R5, #82H
DJNZ R5, $
DJNZ R6, DL0
DJNZ R7, DL1
RET
;------------------------
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询