汇编 程序那里有问题?

2019-07-16 05:32发布

4*4矩阵……下按键 对应显示0--15,可是只要 超过10后,在按下10以内的按键数字显示就不对了……如图: RCOO1HE~LT[%FLKGFN$V1XX.jpg 这个是按键9,理论上应该显示的是09才对,可是按过10键后在按9就是这个样子,9以前显示的都不对……程序中用了BCD码调整,程序如下,理论上应该对呀……ORG 0000H
START: MOV R0,#0
MOV R1,#4
MOV R2,#11111110B

SCAN: MOV A,R2
MOV P2,A

JNB P2.4,KEYIN//检测没列按键情况
INC R0

JNB P2.5,KEYIN
INC R0

JNB P2.6,KEYIN
INC R0

JNB P2.7,KEYIN
INC R0

MOV A,R2//下一行信号扫描
RL A
MOV R2,A
DJNZ R1,SCAN
JMP START

KEYIN: CALL DEBOUNCE//显示部分
MOV A,R0
DA A
MOV P1,A
MOV A,#0
JMP START

DEBOUNCE:MOV R7,#50//延时
D1: MOV R6,#200
DJNZ R6,$
DJNZ R7,D1
RET
END
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。