📄 sx.asm
字号:
CPL YK
MOV A,#MIMA1+32H
CLR C
SUBB A,YS_1
MOV R0,A
MOV A,@R0
MOV SJ_DZ,A
DJNZ YS_1,TRIMER0_END
MOV YS_1,#32H
DJNZ YS_2,TRIMER0_END
MOV R0,#MIMA1+30H
CLR A
MOV @R0,A
INC R0
MOV @R0,A
MOV MIMA15,#0
CLR YS_FX
SETB ET1
CLR ET0
CLR TF1
SJMP TRIMER0_END
TRIMER0_1: CLR YK
CLR ET1
MOV A,YS_2
ANL A,#0FH
MOV YS_2,A
TRIMER0_END: POP PSW
POP A
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TRIMER1: PUSH A
PUSH DPL
PUSH DPH
PUSH PSW
MOV PSW,#08H
CLR YK
INC AJ_YS
INC HSECOND
MOV A,HSECOND
JNZ TRIMER1_2
MOV HSECOND,#0
INC SECOND
TRIMER1_2: MOV A,SECOND
CLR C
SUBB A,#48
JC TRIMER1_1
CLR LED1
SETB LED2
SETB LED3
CLR LED4
CLR YJ
MOV P2,#80H
MOV A,SECOND
CLR C
SUBB A,#255
JC TRIMER1_END
CLR EA
NOP
CLR EA
DUANDIAN: CLR DANYUAN
NOP
CLR EA
LJMP DUANDIAN
TRIMER1_1: LCALL SX
TRIMER1_END: POP PSW
POP DPH
POP DPL
POP A
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SX5_1: MOV P2,#0
RET
;;;;;;;;;;;;;;;;;;;;;;
SX: JB ERROR,SX6
MOV DPTR,#TAB_LED
MOV A,SX_W
INC A
ANL A,#XS_ZKB
MOV SX_W,A
JZ SX3
DEC A
JZ SX2
DEC A
JZ SX1
DEC A
JNZ SX5_1
CLR LED3
SETB LED4
MOV A,MI4
MOVC A,@A+DPTR
JNB DZ_P,SX_6
ORL A,#080H
SX_6: MOV P2,A
SJMP SX5
SX1: CLR LED2
JB SX_W3,SX5
SETB LED3
MOV A,MI3
MOVC A,@A+DPTR
MOV P2,A
SJMP SX5
SX2: CLR LED1
JB SX_W2,SX5
SETB LED2
MOV A,MI2
MOVC A,@A+DPTR
MOV P2,A
SJMP SX5
SX3: CLR LED4
JB SX_W1,SX5
SETB LED1
MOV A,MI1
MOVC A,@A+DPTR
MOV P2,A
SX5:
MOV A,SX_W_X1
ADD A,#40H
MOV SX_W_X1,A
MOV A,SX_W_X
ADDC A,#0
MOV SX_W_X,A
CLR C
SUBB A,#80H
JC SX5_9
MOV A,LCD_WZ
JNZ SX5_8
CLR LED1
SJMP SX5_9
SX5_8: DEC A
JNZ SX5_7
CLR LED2
SJMP SX5_9
SX5_7: DEC A
JNZ SX5_6
CLR LED3
SJMP SX5_9
SX5_6: DEC A
JNZ SX5_9
CLR LED4
SX5_9: RET
SX6: CLR LED1
MOV A,SX_W
INC A
ANL A,#XS_ZKB
MOV SX_W,A
JZ SX6_1
DEC A
JZ SX6_2
DEC A
JZ SX6_3
DEC A
JNZ SX6_4
CLR LED3
SETB LED4
MOV P2,#50H
LJMP SX6_1
SX6_3: CLR LED2
SETB LED3
MOV P2,#50H
LJMP SX6_1
SX6_2: CLR LED4
SETB LED2
MOV P2,#79H
LJMP SX6_1
SX6_1: RET
SX6_4: MOV P2,#0
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY_WZ: MOV A,MI1
JNZ KEY_WZ_1
MOV A,LCD_WZ
JZ KEY_WZ_1
SETB SX_W1
DEC A
JZ KEY_WZ_2
MOV A,MI2
JNZ KEY_WZ_2
SETB SX_W2
MOV A,MI3
JNZ KEY_WZ_3
MOV A,LCD_WZ
DEC A
DEC A
JZ KEY_WZ_3
SETB SX_W3
SJMP KEY_WZ_4
KEY_WZ_1: CLR SX_W1
KEY_WZ_2: CLR SX_W2
KEY_WZ_3: CLR SX_W3
KEY_WZ_4: RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY_ON: JNB YJ,TIMER_BG
CLR ERROR ;;P06分 P07合 P10闭 P11解 P14左 P13下 P01确认
MOV A,KEY_SC
RL A
ADD A,KEY_SC
MOV KEY_SC,#0
MOV DPTR,#KEY_JP
JMP @A+DPTR
NOP
KEY_JP: LJMP TIMER_BG
LJMP KEY_HE
LJMP KEY_FEN
LJMP KEY_BISUO
LJMP KEY_JIESUO
LJMP KEY_ZUO
LJMP KEY_XIA
LJMP KEY_QIREN
NOP
NOP
TIMER_BG: SETB YJ
RET
KEY_HE: MOV MIMA15,#11000000B ;合闸
LJMP TIMER_BG1
KEY_FEN: MOV MIMA15,#00110000B ;分闸
LJMP TIMER_BG1
KEY_BISUO: MOV MIMA15,#00001100B ;闭锁
LJMP TIMER_BG1
KEY_JIESUO: MOV MIMA15,#00000011B ;解锁
TIMER_BG1: JB XH_P,TIMER_BG2
MOV MIMA15,#0
LJMP TIMER_BG
TIMER_BG2: LCALL SJ_BM
LJMP TIMER_BG
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY_ZUO: CLR XH_P
MOV MIMA11,#0 ;??????????????
MOV A,LCD_WZ
DEC A
ANL A,#03H
MOV LCD_WZ,A
LCALL KEY_WZ
LJMP TIMER_BG
KEY_XIA: CLR XH_P
MOV MIMA11,#0 ;?????????????????
MOV A,LCD_WZ
JNB ACC.2,KEY_XIA1
MOV LCD_WZ,#3
KEY_XIA1: MOV A,#LCD_WZ+1
ADD A,LCD_WZ
MOV R0,A
MOV A,@R0
INC A
MOV @R0,A
CLR C
SUBB A,#10
JC TIMER_BG
CLR A
MOV @R0,A
LJMP TIMER_BG
KEY_QIREN: JNB DZ_P,KEY_QIREN1
CLR DZ_P
CLR XH_P
MOV LCD_WZ,#3
LCALL WR_MIMA
MOV A,MIMA_DPH
ANL A,#0FH
MOV MI2,A
MOV A,MIMA_DPH
SWAP A
ANL A,#0FH
MOV MI1,A
MOV A,MIMA_DPL
ANL A,#0FH
MOV MI4,A
MOV A,MIMA_DPL
SWAP A
ANL A,#0FH
MOV MI3,A
TIMER_BG9: LCALL KEY_WZ
RET
KEY_QIREN1: JB XH_P,TIMER_BG9
MOV LCD_WZ,#4
MOV A,MI1
SWAP A
ORL A,MI2
MOV MIMA_DPH,A
MOV A,MI3
SWAP A
ORL A,MI4
MOV MIMA_DPL,A
LCALL DU_MIMA
CLR DZ_P
SETB XH_P
LCALL KEY_WZ
RET
KEY_ON_ON: JNB YJ,KEY_ON_ON1
CLR ERROR
MOV A,KEY_SC ;P01确认 567 P14左 P13下
CLR C
SUBB A,#5
JZ KEY_ON_ON9
DEC A
JZ KEY_ON_ON9
DEC A
JNZ KEY_ON_ON1
JB DZ_P,KEY_QIREN
MOV A,MI1
SWAP A
ORL A,MI2
MOV MIMA_DPH,A
MOV A,MI3
SWAP A
ORL A,MI4
MOV MIMA_DPL,A
ADD A,MIMA_DPH
JZ KEY_ON_ON1
SETB DZ_P
CLR XH_P
LCALL DU_MIMA
MOV A,DQ_SJ_H
ANL A,#0FH
MOV MI2,A
MOV A,DQ_SJ_H
SWAP A
ANL A,#0FH
MOV MI1,A
MOV A,DQ_SJ_L
ANL A,#0FH
MOV MI4,A
MOV A,DQ_SJ_L
SWAP A
ANL A,#0FH
MOV MI3,A
MOV LCD_WZ,#3 ;??????????
LCALL KEY_WZ
KEY_ON_ON1: SETB YJ
RET
KEY_ON_ON9: LJMP DUANDIAN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;P06分 P07合 P10闭 P11解 P14左 P13下 P01确认
KEY_ZHSM: MOV A,#0H
MOV B,#0
JB P0.6,KEY_ZHSM_1
INC A
MOV B,#01
KEY_ZHSM_1: JB P0.7,KEY_ZHSM_2
INC A
MOV B,#02
KEY_ZHSM_2: JB P1.0,KEY_ZHSM_3
INC A
MOV B,#03
KEY_ZHSM_3: JB P1.1,KEY_ZHSM_4
INC A
MOV B,#04
KEY_ZHSM_4: JB P1.4,KEY_ZHSM_5
INC A
MOV B,#05
KEY_ZHSM_5: JB P1.3,KEY_ZHSM_6
INC A
MOV B,#06
KEY_ZHSM_6: JB P0.1,KEY_ZHSM_7
INC A
MOV B,#07
KEY_ZHSM_7: JZ KEY_ZHSM_22 ;没有按键
MOV HSECOND,#0
MOV SECOND,#0
DEC A
JNZ KEY_ZHSM_21 ;有双按键
JB KEY_YCL,KEY_ZHSM_END
MOV ST2,#KEY_DK_YS
MOV A,B ;有按键
CLR C
SUBB A,KEY_SC
JZ KEY_ZHSM_12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -