|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2014-12-13 17:44:27
|
显示全部楼层
谢谢你,我弄懂了,刚学汇编,各种指令弄晕了,不过总算弄出来了。
KEY_V DATA 30H
KEY_S DATA 31H
ORG 0000H
LJMP START
ORG 0200H
START:MOV P1,#0ffH
MOV KEY_S,#0FFH
LOOP: LCALL DELAY_10MS
MOV A,P1
MOV KEY_V,A
XRL A,KEY_S
JZ LOOP
LCALL DELAY_10MS
MOV A,P1
MOV KEY_V,A
XRL A,KEY_S
JZ LOOP
MOV KEY_S,KEY_V
ACALL SKEY
SJMP LOOP
SKEY: MOV A,KEY_S
JNB ACC.6,KEY6
JNB ACC.7,KEY7
RET
KEY6: JNB ACC.0,KEY0
JNB ACC.1,KEY1
JNB ACC.2,KEY2
JNB ACC.3,KEY3
JNB ACC.4,KEY4
JNB ACC.5,KEY5
RET
KEY7: JNB ACC.0,KEY0
JNB ACC.1,KEY1
JNB ACC.2,KEY2
JNB ACC.3,KEY3
JNB ACC.4,KEY4
JNB ACC.5,KEY5
RET
KEY0: CPL P0.4
RET
KEY1: CPL P0.4
RET
KEY2: CPL P0.4
RET
KEY3: CPL P0.4
RET
KEY4: CPL P0.4
RET
KEY5: CPL P0.4
RET
DELAY_10MS:MOV R7,#10H
TS1: MOV R6,#0FFH
TS2: DJNZ R6,TS2
DJNZ R7,TS1
RET
END
|
|