第2个回答 2018-11-26
ORG 0000H
START: MOV DPTR,#TAB
MOV R0,#03H
MOV R1,#4H
MOV R4,#00H
MOV P0,#03H
WAIT: MOV P0,R0
MOV P0,#0FFH
JNB P3.4,TIZ;
JNB P3.0,ZHENG;
JNB P3.1,FAN
SJMP WAIT
ZHENG:
MOV A,R4
MOVC A,@A+DPTR
ACALL DELAY
INC R4
AJMP KEY
FAN:
MOV R4,#6
MOV A,R4
MOVC A,@A+DPTR
MOV P3,A;
ACALL DELAY
AJMP KEY
KEY: MOV P3,#0FFH
JB P3.4,ZZI
AJMP TIZ
TIZ: MOV P0,#00H
AJMP KEY
ZZI: JB P3.0,FZI
CJNE R4,#8,LOOPZ
MOV R4,#0
LOOPZ: MOV A,R4
MOVC A,@A+DPTR
MOV P0,A
SETB P1.1
CPL P1.0
JNB P3.2,JIASUZ
JNB P3.3,JIANSUZ
ACALL DELAY
INC R4
AJMP KEY
FZI:
JB P3.1,KEY
CJNE R4,#255,LOOPF
MOV R4,#8
LOOPF: DEC R4
MOV A,R4
MOVC A,@A+DPTR
MOV P0,A
SETB P1.0
CPL P1.1
JNB P3.2,JIASUF
JNB P3.3,JIANSUF
ACALL DELAY
AJMP KEY
DELAY: MOV A,R1
MOV R6,A
DELAY2:MOV R5,#6H
DD2: MOV R7,#0
DD3: DJNZ R7,DD3
DJNZ R5,DD2
DJNZ R6,DELAY2
RET
DELAY1:
MOV R6,#20H
DD4: MOV R5,#02H
DD5: MOV R7,#0
DD6: DJNZ R7,DD6
DJNZ R5,DD5
DJNZ R6,DD4
RET
JIASUZ:
ACALL DELAY1
CJNE R1,#02,L1
JMP L2
L1: DEC R1
L2: JMP LOOPZ
JIANSUZ:
ACALL DELAY1
CJNE R1,#05H,L3
JMP L4
L3: INC R1
L4: JMP LOOPZ
JIASUF:
ACALL DELAY1
CJNE R1,#02H,L5
JMP L6
L5: DEC R1
L6: JMP LOOPF
JIANSUF:
ACALL DELAY1
CJNE R1,#04H,L7
JMP L8
L7: INC R1
L8: JMP LOOPF
TAB: DB 02H,06H,04H,0CH
DB 08H,09H,01H,03H
END
我已经实现了功能