📄 h2_3.asm
字号:
RET
LP1BD0: DJNZ LP1_BUZRCNT1,LP1BDOUT
MOV LP1_BUZRCNT1,#LP1_BUZRTIM
DJNZ LP1_BUZRCNT2,LP1BDOUT
SETB LP1_BUZR_OK
LP1BDOUT: RET
;-----------------------------------------------------------------------------------------
LP8_BUZR_DLY:
JB ALM_P2,LP8BD0
MOV LP8_BUZRCNT1,#LP8_BUZRTIM
MOV LP8_BUZRCNT2,#20
CLR LP8_BUZR_OK
RET
LP8BD0: DJNZ LP8_BUZRCNT1,LP8BDOUT
MOV LP8_BUZRCNT1,#LP8_BUZRTIM
DJNZ LP8_BUZRCNT2,LP8BDOUT
SETB LP8_BUZR_OK
LP8BDOUT: RET
;-----------------------------------------------------------------------------------------
ZEROSETDLY: ;零点设置
JB ENT,ZSD0
SETB ENT_OFF
MOV ZSCNT,#ZSDLY*2
RET
ZSD0: JB ENT_OFF,ZSD1
RET
ZSD1: DJNZ ZSCNT,ZSDOUT
SETB ZS_EN
CLR ENT_OFF
ZSDOUT:RET
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ZEROSETDLY1:
JNB F1,ZSDOUT1
JB LEFTKEY,ZSD10
MOV ZSCNT1,#130
CLR ZS_EN1
RET
ZSD10:DJNZ ZSCNT1,ZSDOUT1
CLR LEFTKEY_OFF
SETB ZS_EN1
JNB HL,ZSD11
SETB HH1
CLR HH2
CLR HH3
RET
ZSD11:JNB HU,ZSD12
SETB HH2
CLR HH1
CLR HH3
RET
ZSD12:JNB HD,ZSDOUT1
SETB HH3
CLR HH2
CLR HH1
RET
ZSDOUT1:RET
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;KEYBOARD CONTROL
KEYCTRL: CALL KEYSCAN ;按键控制
CALL VIEWLIMSET
CALL ZEROSET
CALL TOP
CALL FUNSEL
CALL LIMSET
CALL PROSET
CALL VIEWROQ425
CALL DASET
RET
;***************************************************************************************
TOP: JB DESKTOP,TOP1
RET
TOP1: CLR M1
CLR FS
CLR F1
CLR LP1
CLR LP2
CLR LP3
CLR LP4
CLR LP5
CLR HL
CLR HD
CLR HU
CLR F2
CLR PD
CLR PD1
CLR DIRS
CLR LC
CLR L1
CLR L2
CLR L3
CLR L4
CLR L5
CLR L6
CLR L7
CLR L8
CLR L9
CLR L10
CLR L11
CLR L12
CLR L13
CLR L14
CLR L15
CLR ADDR
CLR F3
CLR F4
CLR DA_H
CLR DA_L
CLR CHPD
CLR ED_INT
CLR ED_OK
CLR ED_ESC
CLR ED
CLR DIGIT1
CLR DIGIT2
CLR DIGIT3
CLR DIGIT4
CLR ADJBUF_PS_OK
MOV FUNSEL_REG,#1
MOV F1SEL_REG,#1
MOV F2SEL_REG,#1
MOV F4SEL_REG,#1
JNB FUN,TOP2
SETB FS
CLR DESKTOP
TOP2: RET
;-----------------------------------------------------------------------------------------
ZEROSET: JB DESKTOP,ZS0
RET
ZS0: JB ZS_EN,ZS1
RET
ZS1: JB ENT,ZS2
SETB ENT_OFF
JMP ZSESC
ZS2: JB ENT_OFF,ZS3
RET
ZS3: CLR ENT_OFF
MOV R5,ENCODER_BUF1
MOV DPTR,#Z0_1
CALL BYTWR_VERIFY
MOV R5,ENCODER_BUF2
MOV DPTR,#Z0_2
CALL BYTWR_VERIFY
MOV R5,ENCODER_BUF3
MOV DPTR,#Z0_3
CALL BYTWR_VERIFY
MOV R5,ENCODER_BUF4
MOV DPTR,#Z0_4
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#Z0_M
CALL BYTWR_VERIFY
MOV DISP0,#0FEH ;"0."
MOV DISP1,#7EH
MOV DISP2,#7EH
MOV DISP3,#7EH
CALL DISPSERV
SETB BUZR
MOV R2,#8
CALL DELAYX1
CLR BUZR
CLR ZS_EN
ZSOUT: RET
ZSESC: JB ESC,ZSE0
RET
ZSE0: CLR ZS_EN
RET
;***************************************************************************************
FUNSEL: JB FS,FS0
RET
FS0: MOV DISP0,#47H
MOV DISP1,#1CH
MOV DISP2,#95H
MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV DPTR,#DISPTAB
MOV R2,FUNSEL_REG
MOV R5,#1
MOV R6,#4
CLR SEQADJ_SW
CALL BCDADJ_16
SETB SEQADJ_SW
MOV A,ADJBUF
MOV FUNSEL_REG,A
CJNE A,#1,FS1
MOV DISP3,#30H ;"1"
JMP FSENT
FS1: CJNE A,#2,FS2
MOV DISP3,#6DH ;"2"
JMP FSENT
FS2: CJNE A,#3,FS3
MOV DISP3,#79H ;"3"
JMP FSENT
FS3: MOV DISP3,#33H ;"4"
FSENT: JNB ENT,FSESC
CLR ENT_OFF
CLR FS
CLR ADJBUF_PS_OK
CJNE A,#1,FSEN0
SETB F1
RET
FSEN0: CJNE A,#2,FSEN1
SETB PD
RET
FSEN1: CJNE A,#3,FSEN2
SETB F3
RET
FSEN2: CJNE A,#4,FSESC
SETB PD1
RET
FSESC: JB ESC,FSE0
SETB ESC_OFF
RET
FSE0: JNB ESC_OFF,FSOUT
CLR ESC_OFF
CLR ADJBUF_PS_OK
CLR FS
SETB DESKTOP
MOV FUNSEL_REG,#1
FSOUT: RET
;***************************************************************************************
DASET: CALL ASKPD1
CALL DASETSEL
CALL DALSET
CALL DAHSET
CALL LP1SET
CALL LP2SET
RET
;_______________________________________________________________________________________
DASETSEL:
JB F4,F4S0
RET
F4S0: MOV R2,F4SEL_REG
MOV R5,#1
MOV R6,#4
CLR SEQADJ_SW
CALL BCDADJ_16
SETB SEQADJ_SW
MOV A,ADJBUF
MOV F4SEL_REG,A
CJNE A,#1,F4S1
MOV DISP0,#3DH ;"D"
MOV DISP1,#77H ;"A"
MOV DISP2,#08H ;"_"
MOV DPTR,#DISPTAB
MOV DISP3,#0EH ;"L"
MOV DPTR,#DA_L_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F4S0_0
MOV DPTR,#DA_L_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#DA_L_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 F4S4
F4S0_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F4S4
F4S1: CJNE A,#2,F4S2
MOV DISP0,#3DH ;"D"
MOV DISP1,#77H ;"A"
MOV DISP2,#08H ;"_"
MOV DPTR,#DISPTAB
MOV DISP3,#37H ;"H"
MOV DPTR,#DA_H_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F4S1_0
MOV DPTR,#DA_H_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#DA_H_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 F4S4
F4S1_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F4S4
F4S2: CJNE A,#3,F4S3
MOV DISP0,#0
MOV DISP1,#0EH ;L_L
MOV DISP2,#01H
MOV DISP3,#0EH
MOV DPTR,#LP1_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F4S2_0
MOV DPTR,#LP1_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#LP1_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 F4S4
F4S2_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F4S4
F4S3: CJNE A,#4,F4S4
MOV DISP0,#0
MOV DISP1,#0EH ;L_u
MOV DISP2,#01H
MOV DISP3,#3EH
MOV DPTR,#LP2_M
CALL BYTRD_VERIFY
CJNE A,#STOREMARK,F4S3_0
MOV DPTR,#LP2_H
CALL BYTRD_VERIFY
MOV R6,A
MOV DPTR,#LP2_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 F4S4
F4S3_0: MOV DISP4,#0
MOV DISP5,#0
MOV DISP6,#0
MOV DISP7,#0
MOV R6,#0
MOV R7,#0
JMP F4S4
F4S4: JB ENT,F4S4_0
SETB ENT_OFF
JMP F4SESC
F4S4_0: JB ENT_OFF,F4S4_1
RET
F4S4_1: CLR ENT_OFF
MOV A,F4SEL_REG
CLR F4
CLR ADJBUF_PS_OK
CJNE A,#1,F4S5
SETB DA_L
RET
F4S5: CJNE A,#2,F4S6
SETB DA_H
RET
F4S6: CJNE A,#3,F4S7
SETB LP1
RET
F4S7: CJNE A,#4,F4SESC
SETB LP2
RET
F4SESC: JB ESC,F4SE1
SETB ESC_OFF
RET
F4SE1: JNB ESC_OFF,F4SOUT
CLR ESC_OFF
CLR ADJBUF_PS_OK
CLR F4
SETB FS
MOV F4SEL_REG,#1
F4SOUT: RET
;---------------------------------------------------------------------------------
DALSET: JB DA_L,DALS0
RET
DALS0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,DALSESC
MOV R5,EDBUF_H
MOV DPTR,#DA_L_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#DA_L_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#DA_L_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR DA_L
SETB F4
RET
DALSESC: JB ED_ESC,DALSE0
RET
DALSE0: CLR DA_L
SETB F4
RET
;............................................................................
DAHSET: JB DA_H,DAHS0
RET
DAHS0: SETB ED
MOV A,#80H
ORL DISP5,A
CALL ENTDIT
JNB ED_OK,DAHSESC
MOV R5,EDBUF_H
MOV DPTR,#DA_H_H
CALL BYTWR_VERIFY
MOV R5,EDBUF_L
MOV DPTR,#DA_H_L
CALL BYTWR_VERIFY
MOV R5,#STOREMARK
MOV DPTR,#DA_H_M
CALL BYTWR_VERIFY
SETB BUZR
MOV R2,#5
CALL DELAYX1
CLR BUZR
CLR DA_H
SETB F4
RET
DAHSESC: JB ED_ESC,DAHSE0
RET
DAHSE0: CLR DA_H
SETB F4
RET
;-------------------------------------------------------------------------------------
LP1SET: JB LP1,LP1S0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -