📄 zdh-zs.asm
字号:
ORG 0000H
LJMP MIN
ORG 0100H
MIN: LCALL CSH ;初始化
LCALL TM
JNB P1.0,MIN ;判断市电有无
LCALL T5
JNB P1.0,MIN
SETB P1.7 ;MOV P1,#81H ;工作电源投入
LCALL TM
MOV R4,#03H ;三次启动
SDJ: MOV R3,#06H
SETB P1.6 ;MOV P1,#0B1H ;启动投入
SD2: MOV R2,#32H
SD1: MOV C,P3.0
JNC MN5 ;启动成功转移
LCALL TM
MN5: LCALL TM
MOV C,P3.0
JNC MN1
DJNZ R2,SD1
DJNZ R3,SD2
CLR P1.6
LCALL T5
LCALL T5
DJNZ R4,SDJ
MOV P1,#01H
LCALL TIM
LJMP ND
MN1: LCALL TM
JB P3.0,MN5 ;启动不成功转移
CLR P1.6
SETB P1.5 ;启动连锁
LCALL T5
SETB P1.1 ;升速
CLR P1.5
LCALL T5
JNB P3.1,MN4 ;判断是否到额定转速
LJMP MN7
MN4: LCALL TIM
JNB P3.1,MN2
MN7: LCALL T5
JNB P3.1,MN2
CLR P1.1
LCALL TIM
MOV P1,#01H
LJMP ND
MN2: SETB P1.1 ;升速
LCALL T5
LCALL T5
JNB P1.0,MN8 ;检测市电有无
LJMP MN9
MN8: LCALL TIM
JNB P1.0,BH
MN9: SETB P1.4 ;合发电
LCALL TIM
LCALL TIM
CLR P1.4
LCALL TIM
BH: JB P3.2,BH1 ;保护投入
LJMP BH6
BH1: JB P3.3,BH2
LJMP BH6
BH2: JB P3.4,BH3
LJMP BH6
BH3: JB P3.5,BH4
LJMP BH6
BH4: JB P3.7,BH5
LJMP BH6
BH5: JNB P3.1,BH7
BH6: LCALL TIM
JB P3.2,BH11
LJMP BH16
BH11: JB P3.3,BH12
LJMP BH16
BH12: JB P3.4,BH13
LJMP BH16
BH13: JB P3.5,BH14
LJMP BH16
BH14: JB P3.7,BH15
LJMP BH16
BH15: JNB P3.1,BH7
BH16: SETB P1.3 ;停机
LCALL TIM
CLR P1.3
CLR P1.1
LCALL TIM
SETB P1.2
LCALL TIM
MOV P1,#01H
LJMP ND
BH7: JB P1.0,BH
LCALL T5
JB P1.0,BH
SETB P1.3
LCALL TIM
LCALL TIM
CLR P1.3
LCALL TIM
SETB P1.2
LCALL TIM
LCALL TIM
CLR P1.2
LCALL T5
JB P1.0,MN3 ;
LCALL T5
JB P1.0,MN3 ;
CLR P1.1
LCALL T5
JB P1.0,MN3
LCALL T5
JB P1.0,MN3
CLR P1.7
LJMP MIN
MN3: LJMP MN2
CSH: MOV P1,#01H ;初始化子程序
MOV P3,#0FFH
MOV SP,#08H
RET
TM: MOV R0,#0AH ;10MS延时子程序
DL2: MOV R1,#7DH
DL1: NOP
NOP
DJNZ R1,DL1
DJNZ R0,DL2
RET
TIM: MOV R2,#64H ;1S延时子程序
DL3: LCALL TM
DJNZ R2,DL3
RET
T5: MOV R3,#05H ;5S延时子程序
DL4: LCALL TIM
DJNZ R3,DL4
RET
ND: MOV P1,#01H ;故障保护子程序
MOV P3,#0FFH
LJMP ND
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -