📄 h2_3.asm
字号:
RET
LP1S0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,LP1SESC
MOV R5,EDBUF_H
MOV DPTR,#LP1_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#LP1_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#LP1_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR LP1
SETB F4
RET
LP1SESC: JB ED_ESC,LP1SE0
RET
LP1SE0: CLR LP1
SETB F4
RET
;-----------------------------------------------------------------------------------------
LP2SET: JB LP2,LP2S0
RET
LP2S0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,LP2SESC
MOV R5,EDBUF_H
MOV DPTR,#LP2_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#LP2_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#LP2_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR LP2
SETB F4
RET
LP2SESC: JB ED_ESC,LP2SE0
RET
LP2SE0: CLR LP2
SETB F4
RET
;***************************************************************************************
LIMSET: CALL F1SEL
CALL LP3SET
CALL LP4SET
CALL LP5SET
RET
;.......................................................................................
ASKPD1: JB PD1,AP10
RET
AP10:JNB PDSUCCESS1,AP11
CLR PD1
SETB F4
RET
AP11:MOV DISP0,#67H ;"P"
MOV DISP1,#0BDH ;"d."
MOV DISP2,#8 ;"-"
MOV DISP3,#8 ;"-"
MOV R6,#0
MOV R7,#0
SETB ED
CALL ENTDIT
JNB ED_OK,APESC1
CALL PDVRF1
RET
APESC1:JB ED_ESC,APE10
RET
APE10: CLR PD1
SETB FS
RET
PDVRF1: MOV DPTR,#PD_H
CALL BYTRD_VERIFY
CJNE A,EDBUF_H,PDV10
MOV DPTR,#PD_L
CALL BYTRD_VERIFY
CJNE A,EDBUF_L,PDV10
JMP PDV11
PDV10:MOV A,EDBUF_H
CJNE A,#HIGH(PASSWORD),PDV12
MOV A,EDBUF_L
CJNE A,#LOW(PASSWORD),PDV12
PDV11: SETB PDSUCCESS1
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
RET
PDV12: SETB ED
CALL ERRSOUND
RET
;------------------------------------------------------------------
ZSET: JB F1,ZT1
RET
ZT1: JNB HL,ZT2
JNB ZS_EN1,ZTE0
SETB HH1
CLR HH2
CLR HH3
RET
ZT2: JNB HU,ZT3
JNB ZS_EN1,ZTE0
SETB HH2
CLR HH1
CLR HH3
RET
ZT3: JNB HD,ZTESC
JNB ZS_EN1,ZTE0
SETB HH3
CLR HH2
CLR HH1
ZTESC: JB ESC,ZTE0
RET
ZTE0: RET
CSET: JNB HH1,C1
MOV DPTR,#LP3_H
CALL BYTRD_VERIFY
MOV R0,A
MOV DPTR,#LP3_L
CALL BYTRD_VERIFY
MOV R1,A
JMP C3
C1: JNB HH2,C2
MOV DPTR,#LP4_H
CALL BYTRD_VERIFY
MOV R0,A
MOV DPTR,#LP4_L
CALL BYTRD_VERIFY
MOV R1,A
JMP C3
C2: JNB HH3,C3OUT
MOV DPTR,#LP5_H
CALL BYTRD_VERIFY
MOV R0,A
MOV DPTR,#LP5_L
CALL BYTRD_VERIFY
MOV R1,A
C3: MOV R2,#0
MOV R3,AR0
MOV R4,AR1
CALL BCDBIN
MOV 4CH,AR6
MOV 4DH,AR7
JB SIGN,C3_1
CLR C
MOV A,HEIGHT_L
SUBB A,4DH
MOV A,HEIGHT_H
SUBB A,4CH
JC C3_0
SETB ALM_JI
CLR OK_Y
CLR ALM_SH
SETB OK_X
RET
C3_0:SETB ALM_SH
CLR OK_X
CLR ALM_JI
SETB OK_Y
C3OUT: RET
C3_1: CLR ALM_JI
SETB OK_Y
RET
;***************************************************************************************
F1SEL: JB F1,F1S0
RET
F1S0: MOV DISP0,#0
MOV DISP1,#37H
MOV DISP2,#01H ;"h"
MOV DPTR,#DISPTAB
MOV R2,F1SEL_REG
MOV R5,#1
MOV R6,#3
CLR SEQADJ_SW
CALL BCDADJ_16
SETB SEQADJ_SW
MOV A,ADJBUF
MOV F1SEL_REG,A
F1S2: CJNE A,#1,F1S3
SETB HL
CLR HU
CLR HD
MOV DISP3,#0EH ;"H-L"
MOV DPTR,#LP3_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F1S2_0
MOV DPTR,#LP3_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#LP3_L
CALL BYTRD_VERIFY
MOV R7,A
MOV DPTR,#DISPTAB
MOV A,R6
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP4,A
MOV A,R6
ANL A,#0FH
MOVC A,@A+DPTR
SETB ACC.7
MOV DISP5,A
MOV A,R7
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP6,A
MOV A,R7
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP7,A
JMP F1SENT
F1S2_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F1SENT
F1S3: CJNE A,#2,F1S4
SETB HU
CLR HL
CLR HD
MOV DISP3,#3EH ;"H-U"
MOV DPTR,#LP4_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F1S3_0
MOV DPTR,#LP4_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#LP4_L
CALL BYTRD_VERIFY
MOV R7,A
MOV DPTR,#DISPTAB
MOV A,R6
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP4,A
MOV A,R6
ANL A,#0FH
MOVC A,@A+DPTR
SETB ACC.7
MOV DISP5,A
MOV A,R7
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP6,A
MOV A,R7
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP7,A
JMP F1SENT
F1S3_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F1SENT
F1S4: CJNE A,#3,F1SENT
SETB HD
CLR HU
CLR HL
MOV DISP3,#3DH ;"H_D"
MOV DPTR,#LP5_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F1S4_0
MOV DPTR,#LP5_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#LP5_L
CALL BYTRD_VERIFY
MOV R7,A
MOV DPTR,#DISPTAB
MOV A,R6
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP4,A
MOV A,R6
ANL A,#0FH
MOVC A,@A+DPTR
SETB ACC.7
MOV DISP5,A
MOV A,R7
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP6,A
MOV A,R7
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP7,A
JMP F1SENT
F1S4_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F1SENT
F1SENT: JB ENT,F1SEN0
SETB ENT_OFF
JMP F1SESC
F1SEN0: JB ENT_OFF,F1SEN1
RET
F1SEN1: CLR ENT_OFF
MOV A,F1SEL_REG
CLR F1
CLR ADJBUF_PS_OK
CJNE A,#1,F1SEN2
SETB LP3
RET
F1SEN2: CJNE A,#2,F1SEN3
SETB LP4
RET
F1SEN3: CJNE A,#3,F1SESC
SETB LP5
RET
F1SESC: JB ESC,F1SE1
SETB ESC_OFF
RET
F1SE1: JNB ESC_OFF,F1SOUT
CLR HU
CLR HL
CLR HD
CLR ESC_OFF
CLR ADJBUF_PS_OK
CLR F1
SETB FS
MOV F1SEL_REG,#1
F1SOUT: RET
;-----------------------------------------------------------------------------------------
LP3SET: JB LP3,LP3S0
RET
LP3S0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,LP3SESC
MOV R5,EDBUF_H
MOV DPTR,#LP3_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#LP3_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#LP3_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR LP3
SETB F1
RET
LP3SESC: JB ED_ESC,LP3SE0
RET
LP3SE0: CLR LP3
SETB F1
RET
;-----------------------------------------------------------------------------------------
LP4SET: JB LP4,LP4S0
RET
LP4S0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,LP4SESC
MOV R5,EDBUF_H
MOV DPTR,#LP4_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#LP4_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#LP4_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR LP4
SETB F1
RET
LP4SESC: JB ED_ESC,LP4SE0
RET
LP4SE0: CLR LP4
SETB F1
RET
;-----------------------------------------------------------------------------------------
LP5SET: JB LP5,LP5S0
RET
LP5S0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,LP5SESC
MOV R5,EDBUF_H
MOV DPTR,#LP5_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#LP5_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#LP5_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR LP5
SETB F1
RET
LP5SESC: JB ED_ESC,LP5SE0
RET
LP5SE0: CLR LP5
SETB F1
RET
;-----------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------
VIEWROQ425:
JB F3,VROQ425
RET
VROQ425:
CALL RD_ENCODER
MOV TEMP1,R4
MOV TEMP2,R5
MOV R3,#TEMP1
MOV R4,#BCDBUF1
MOV R5,#2
CALL BINBCD
MOV DPTR,#DISPTAB
MOV A,BCDBUF2
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP0,A
MOV A,BCDBUF2
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP1,A
MOV A,BCDBUF3
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP2,A
MOV A,BCDBUF3
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP3,A
CALL RD_ENCODER
MOV TEMP1,R6
MOV TEMP2,R7
MOV R3,#TEMP1
MOV R4,#BCDBUF1
MOV R5,#2
CALL BINBCD
MOV DPTR,#DISPTAB
MOV A,BCDBUF2
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP4,A
MOV A,BCDBUF2
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP5,A
MOV A,BCDBUF3
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV DISP6,A
MOV A,BCDBUF3
ANL A,#0FH
MOVC A,@A+DPTR
MOV DISP7,A
JB ESC,VRE0
SETB ESC_OFF
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -