📄 ick
字号:
AJMP INPUT_ADDRESS
DLY_H4_L2:ACALL DLY500MS
JNB P3.1,KEY_D
AJMP INPUT_ADDRESS
DLY_H4_L3:ACALL DLY500MS
JNB P3.2,KEY_E
AJMP INPUT_ADDRESS
DLY_H4_L4:ACALL DLY500MS
JNB P3.3,KEY_F
AJMP INPUT_ADDRESS
KEY_0:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#00H
AJMP INPUT_ADDRESS
KEY_1:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#01H
AJMP INPUT_ADDRESS
KEY_2:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#02H
AJMP INPUT_ADDRESS
KEY_3:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#03H
AJMP INPUT_ADDRESS
KEY_4:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#04H
AJMP INPUT_ADDRESS
KEY_5:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#05H
AJMP INPUT_ADDRESS
KEY_6:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#06H
AJMP INPUT_ADDRESS
KEY_7:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#07H
AJMP INPUT_ADDRESS
KEY_8:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#08H
AJMP INPUT_ADDRESS
KEY_9:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#09H
AJMP INPUT_ADDRESS
KEY_A:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0AH
AJMP INPUT_ADDRESS
KEY_B:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0BH
AJMP INPUT_ADDRESS
KEY_C:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0CH
AJMP INPUT_ADDRESS
KEY_D:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0DH
AJMP INPUT_ADDRESS
KEY_E:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0EH
AJMP INPUT_ADDRESS
KEY_F:CLR TR0
ACALL SUB_ADDRESS
MOV @R0,#0FH
AJMP INPUT_ADDRESS
;*****************************************************************
SUB_ADDRESS:INC 32H
MOV A,32H
CJNE A,#01H,JUGDE1
CLIK1:MOV R0,#60H
MOV 51H,#03H
SETB TR0
AJMP OUT
JUGDE1:MOV A,32H
CJNE A,#02H,JUGDE2
CLIK2:MOV R0,#61H
MOV 51H,#04H
SETB TR0
AJMP OUT
JUGDE2:MOV A,32H
CJNE A,#03H,JUGDE3
CLIK3:MOV R0,#62H
MOV 51H,#05H
SETB TR0
AJMP OUT
JUGDE3:MOV A,32H
CJNE A,#04H,RESTART
CLIK4:MOV R0,#63H
MOV 51H,#06H
SETB TR0
AJMP OUT
RESTART:MOV 32H,#00H
AJMP SUB_ADDRESS
OUT:RET
;******************************************************************
ITOP:PUSH ACC
PUSH SP
PUSH P3
MOV TH0,#0D8H
MOV TL0,#0F0H
MOV A,@R0
DEC R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
MOV P2,50H
MOV A,50H
RL A
MOV 50H,A
DJNZ 51H,EXIT
MOV R0,#63H
MOV 50H,#0FEH
MOV 51H,#06H
EXIT:POP P3
POP SP
POP ACC
RETI
;***********************************************************
COMM_READ_PRG:LCALL ST
MOV A,R2
LCALL WRBYT2
LCALL PULS
MOV A,#64H
LCALL WRBYT2
LCALL PULS
LCALL ST
MOV A,R3
LCALL WRBYT2
LCALL PULS
LCALL RDBYT2
LCALL STOP
LOW_BYTE:MOV A,65H
ANL A,#0FH
MOV 5EH,A
HIGH_BYTE:MOV A,65H
ANL A,#0F0H
SWAP A
MOV 5FH,A
RET
;*******************************************************
ST:SETB P1.1
SETB P1.2
SETB P1.0
NOP
NOP
CLR P1.1
CLR P1.2
NOP
NOP
CLR P1.0
RET
WRBYT1:MOV 54H,#08H
RLC A
WLP1:MOV P1.1,C
RLC A
NOP
NOP
SETB P1.0
NOP
NOP
CLR P1.0
DJNZ 54H,WLP1
RET
WRBYT2:MOV 54H,#08H
RLC A
WLP2:MOV P1.2,C
RLC A
NOP
NOP
SETB P1.0
NOP
NOP
CLR P1.0
DJNZ 54H,WLP2
RET
CACK8:SETB P1.1
SETB P1.0
CLR F0
MOV A,P1
JNB ACC.1,CEND8
SETB F0
CEND8:CLR P1.0
NOP
NOP
RET
RDBYT1:MOV 54H,#08H
RLP:CLR P1.0
NOP
NOP
MOV C,P1.1
RLC A
MOV 66H,A
SETB P1.0
DJNZ 54H,RLP
RET
RDBYT2:MOV 54H,#08H
RLP1:CLR P1.0
NOP
NOP
MOV C,P1.2
RLC A 0
MOV 65H,A
SETB P1.0
DJNZ 54H,RLP1
RET
STOP:CLR P1.1
CLR P1.2
SETB P1.0
NOP
NOP
SETB P1.1
SETB P1.2
NOP
NOP
CLR P1.0
RET
PULS:SETB P1.0
NOP
NOP
CLR P1.0
RET
;***************************************************************
DLY20MS:MOV 30H,#14H
DLM:MOV 31H,#0F9H
DLN:DJNZ 31H,DLN
DJNZ 30H,DLM
RET
DLY500MS:MOV 29H,#20H
DLL:LCALL DLY20MS
DJNZ 29H,DLL
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -