本帖最后由 fhjdzj 于 2015-6-25 13:02 编辑
一个键开始,一个键停止,一个键从上往下,一个键从下往上。
ORG 0000H
START:
MOV R0,#0
MOV P1,#0FFH
MOV P2,#0FFH
JB P1.2,$
SJMP L1
SJMP START
L1: JNB P1.3,START //查看是否停止
JNB P1.5,L2 //查看是否‘下’
MOV A,R0
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
INC R0
CJNE R0,#8,L1
MOV R0,#0
SJMP L1
L2: JNB P1.3,START
JNB P1.4,L1 //判断是否‘上 ’
MOV A,R0
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
INC R0
CJNE R0,#8,L2
MOV R0,#0
SJMP L2
DELAY: //延时大概0.2s
MOV R5,#100
D1:
MOV R6,#100
D2:
MOV R7,#10
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
TABLE1: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
TABLE2: DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
END
|