📄 f.s43
字号:
BIC.B #LEDK,&P6OUT
BIC.B #LEDM,&P6OUT
JMP UP_Q4
UP_Q1 CMP #01H,LEDPQKM
JNE UP_Q2
BIS.B #LEDK,&P6OUT
BIC.B #LEDM,&P6OUT
JMP UP_Q4
UP_Q2 CMP #10H,LEDPQKM
JNE UP_Q4
BIC.B #LEDK,&P6OUT
BIS.B #LEDM,&P6OUT
JMP UP_Q4
UP_Q4 MOV QTEMP,R4
CALL #BINTOBCD
MOV.B DISP1,DISPB1
MOV.B DISP2,DISPB2
MOV.B DISP3,DISPB3
MOV.B DISP4,DISPB4
CALL #DISPPU
CALL #ALARMPROG
RET
;-----------------------------------------------------------------------------
UP_H
MOV.B FUHAOP,FUHAOB
MOV.B POINTPQ,POINTB
CMP #0,LEDPQKM
JNE UP_H1
BIC.B #LEDK,&P6OUT
BIC.B #LEDM,&P6OUT
JMP UP_H4
UP_H1 CMP #01H,LEDPQKM
JNE UP_H2
BIS.B #LEDK,&P6OUT
BIC.B #LEDM,&P6OUT
JMP UP_H4
UP_H2 CMP #10H,LEDPQKM
JNE UP_H4
BIC.B #LEDK,&P6OUT
BIS.B #LEDM,&P6OUT
JMP UP_H4
UP_H4 MOV HTEMP,R4
CALL #BINTOBCD
MOV.B DISP1,DISPB1
MOV.B DISP2,DISPB2
MOV.B DISP3,DISPB3
MOV.B DISP4,DISPB4
CALL #DISPPU
CALL #ALARMPROG
RET
;-----------------------------------------------------------------------------
UP_S
MOV STEMP,R4
CALL #BINTOBCD
MOV.B DISP1,DISPB1
MOV.B DISP2,DISPB2
MOV.B DISP3,DISPB3
MOV.B DISP4,DISPB4
CALL #DISPPU
CALL #ALARMPROG
RET
;-----------------------------------------------------------------------------
UP_F
MOV FTEMP,R4
CALL #BINTOBCD
MOV.B DISP1,DISPB1
MOV.B DISP2,DISPB2
MOV.B DISP3,DISPB3
MOV.B DISP4,DISPB4
CALL #DISPPU
CALL #ALARMPROG
RET
;--------------------------------------------------------------------------
GETP
CALL #BEILV
MOV DISPLINE,PTEMP
RET
GETQ
CALL #BEILV
MOV QDISPLINE,QTEMP
RET
GETF
CMP #2H,FA1
JLO F_1
MOV FA1,R11
MOV #0FA0H,R12
call #mpy
mov r7,r11
MOV #64H,R12
call #mpy
mov r7,FDISPLINE
MOV FDISPLINE,FTEMP
JMP F_2
F_1
MOV 00,FTEMP
F_2
RET
;-------------------------------------------------
ALARMPROG ;报警子程序
;--------------------------------------------------
A_ALARM BIT #DO1MODEFLAG,DOMODE
JNZ B_ALARM1
A_A BIT #AALHORFLAG,ALARMORFLAG
JNZ A_A1
A_A2 BIT #AALLORFLAG,ALARMORFLAG
JNZ A_A3
A_A4 BIS.B #KO1,&P1OUT
BIC.B #BIT0,KOCOM
BIC.B #LEDP2,&P6OUT
JMP B_ALARM
A_A1 BIT #AALHONFLAG,ALARMONFLAG
JNZ B_ALARM
JMP A_A2
A_A3 BIT #AALLONFLAG,ALARMONFLAG
JNZ B_ALARM
JMP A_A4
B_ALARM1 BIC #AALHORFLAG+AALLORFLAG,ALARMORFLAG
B_ALARM BIT #DO2MODEFLAG,DOMODE
JNZ C_ALARM1
A_B BIT #BALHORFLAG,ALARMORFLAG
JNZ A_B1
A_B2 BIT #BALLORFLAG,ALARMORFLAG
JNZ A_B3
A_B4 BIS.B #KO2,&P1OUT
BIC.B #BIT1,KOCOM
BIC.B #LEDP3,&P6OUT
JMP C_ALARM
A_B1 BIT #BALHONFLAG,ALARMONFLAG
JNZ C_ALARM
JMP A_B2
A_B3 BIT #BALLONFLAG,ALARMONFLAG
JNZ C_ALARM
JMP A_B4
C_ALARM1 BIC #BALHORFLAG+BALLORFLAG,ALARMORFLAG
C_ALARM
AL_AH1
BIT #AALHORFLAG,ALARMORFLAG
JZ AL_AL1A
BIT #AALHONFLAG,ALARMONFLAG
JZ AL_AH2
CMP PTEMP,AALHOFFDATE ;是否低于上报警关闭值
JLO AL_BH1
BIC #AALHONFLAG,ALARMONFLAG
BIS.B #KO1,&P1OUT ; 关触点 P4.1驱动A相继电器
BIC.B #BIT0,KOCOM
BIC.B #LEDP2,&P6OUT
JMP AL_AL1
AL_AH2 CMP PTEMP,AALHONDATE ;是否超过上报警开启值
JLO AL_AH3
JMP AL_AL1
AL_AH3 BIS #AALHONFLAG,ALARMONFLAG
BIC.B #KO1,&P1OUT ;开触点 P4.1驱动A相继电器
BIS.B #BIT0,KOCOM
BIS.B #LEDP2,&P6OUT
JMP AL_BH1
AL_AL1A BIC #AALHONFLAG,ALARMONFLAG
AL_AL1 BIT #AALLORFLAG,ALARMORFLAG
JZ AL_BH1A
BIT #AALLONFLAG,ALARMONFLAG
JZ AL_AL2
CMP AALLOFFDATE, PTEMP ;是否高于下报警关闭值
JLO AL_BH1
BIC #AALLONFLAG,ALARMONFLAG
BIS.B #KO1,&P1OUT ; 关触点 P4.1驱动A相继电器
BIC.B #BIT0,KOCOM
BIC.B #LEDP2,&P6OUT
JMP AL_BH1
AL_AL2 CMP AALLONDATE, PTEMP ;是否低于下报警开启值
JLO AL_AL3
JMP AL_BH1
AL_AL3 BIS #AALLONFLAG,ALARMONFLAG
BIC.B #KO1,&P1OUT ;开触点 P4.1驱动A相继电器
BIS.B #BIT0,KOCOM
BIS.B #LEDP2,&P6OUT
JMP AL_BH1
AL_BH1A
BIC #AALLONFLAG,ALARMONFLAG
AL_BH1
BIT #BALHORFLAG,ALARMORFLAG
JZ AL_BL1A
BIT #BALHONFLAG,ALARMONFLAG
JZ AL_BH2
CMP PTEMP,BALHOFFDATE ;是否低于上报警关闭值
JLO AL_CH1
BIC #BALHONFLAG,ALARMONFLAG
BIS.B #KO2,&P1OUT ; 关触点 P4.2驱动B相继电器
BIC.B #BIT1,KOCOM
BIC.B #LEDP3,&P6OUT
JMP AL_BL1
AL_BH2 CMP PTEMP,BALHONDATE ;是否超过上报警开启值
JLO AL_BH3
JMP AL_BL1
AL_BH3 BIS #BALHONFLAG,ALARMONFLAG
BIC.B #KO2,&P1OUT ;开触点 P4.2驱动B相继电器
BIS.B #BIT1,KOCOM
BIS.B #LEDP3,&P6OUT
JMP AL_CH1
AL_BL1A BIC #BALHONFLAG,ALARMONFLAG
AL_BL1 BIT #BALLORFLAG,ALARMORFLAG
JZ AL_CH1A
BIT #BALLONFLAG,ALARMONFLAG
JZ AL_BL2
CMP BALLOFFDATE, PTEMP ;是否高于下报警关闭值
JLO AL_CH1
BIC #BALLONFLAG,ALARMONFLAG
BIS.B #KO2,&P1OUT ; 关触点 P4.2驱动B相继电器
BIC.B #BIT1,KOCOM
BIC.B #LEDP3,&P6OUT
JMP AL_CH1
AL_BL2 CMP BALLONDATE, PTEMP ;是否低于下报警开启值
JLO AL_BL3
JMP AL_CH1
AL_BL3 BIS #BALLONFLAG,ALARMONFLAG
BIC.B #KO2,&P1OUT ;开触点 P4.2驱动B相继电器
BIS.B #BIT1,KOCOM
BIS.B #LEDP3,&P6OUT
JMP AL_CH1
AL_CH1A BIC #BALLONFLAG,ALARMONFLAG
AL_CH1
AL_Q RET
;----------------------------------------------------------------------------
PACADD push r4
clr r4
BIT.B #FUHAOFLAGA,FUHAO ;AC两相相加
JNZ PACADD_1
BIT.B #FUHAOFLAGC,FUHAO
JNZ PACADD_2
ADD ADLINE1,r4
ADD ADLINE1C,r4
MOV R4,ADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP PACADD_Q
PACADD_2 CMP ADLINE1,ADLINE1C
JLO PACADD_3
MOV ADLINE1C,R4
SUB ADLINE1,R4
MOV R4,ADLINEFULL
MOV.B #NFLAG,FUHAOP
BIS #PPOL,LINEDATE3
JMP PACADD_Q
PACADD_3 MOV ADLINE1,R4
SUB ADLINE1C,R4
MOV R4,ADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP PACADD_Q
PACADD_1 BIT.B #FUHAOFLAGC,FUHAO
JNZ PACADD_4
CMP ADLINE1,ADLINE1C
JLO PACADD_5
MOV ADLINE1C,R4
SUB ADLINE1,R4
MOV R4,ADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP PACADD_Q
PACADD_5 MOV ADLINE1,R4
SUB ADLINE1C,R4
MOV R4,ADLINEFULL
MOV.B #NFLAG,FUHAOP
BIS #PPOL,LINEDATE3
JMP PACADD_Q
PACADD_4
ADD ADLINE1,R4
ADD ADLINE1C,R4
MOV R4,ADLINEFULL
MOV.B #NFLAG,FUHAOP
BIS #PPOL,LINEDATE3
PACADD_Q
POP R4
RET
;-----------------------------------------------------------
QACADD push r4
clr r4
BIT.B #QFUHAOFLAGA,FUHAO ;AC两相相加
JNZ QACADD_1
BIT.B #QFUHAOFLAGC,FUHAO
JNZ QACADD_2
ADD QADLINE1,r4
ADD QADLINE1C,r4
MOV R4,QADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP QACADD_Q
QACADD_2 CMP QADLINE1,QADLINE1C
JLO QACADD_3
MOV QADLINE1C,R4
SUB QADLINE1,R4
MOV R4,QADLINEFULL
MOV.B #NFLAG,FUHAOP
BIS #PPOL,LINEDATE3
JMP QACADD_Q
QACADD_3 MOV QADLINE1,R4
SUB QADLINE1C,R4
MOV R4,QADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP QACADD_Q
QACADD_1 BIT.B #QFUHAOFLAGC,FUHAO
JNZ QACADD_4
CMP QADLINE1,QADLINE1C
JLO QACADD_5
MOV QADLINE1C,R4
SUB QADLINE1,R4
MOV R4,QADLINEFULL
MOV.B #PFLAG,FUHAOP
BIC #PPOL,LINEDATE3
JMP QACADD_Q
QACADD_5 MOV QADLINE1,R4
SUB QADLINE1C,R4
MOV R4,QADLINEFULL
MOV.B #NFLAG,FUHAOP
BIS #PPOL,LINEDATE3
JMP QACADD_Q
QACADD_4
ADD QADLINE1,R4
ADD QADLINE1C,R4
MOV R4,QADLINEFULL
MOV.B #NFLAG,FUHAOP
QACADD_Q
POP R4
RET
;-----------------------------------------------------------
HACADD
MOV HADLINE1,HADLINEFULL
RET
;--------------------------------------------------------
BEILV ;倍率计算
MOV USCLSAVE,R11
MOV.B ISCLSAVE,R12
AND #00FFH,R12
call #mpy
mov r7,r11
MOV #1732,R12
call #mpy
MOV R7,R12
MOV R14,R13
MOV #100,R11
call #divide
mov r14,r7
CALL #RITOBIN
MOV BCDEND,R12
mov r7,r11
call #mpy
CALL #RUTOBIN
MOV BCDEND,R12
mov #00h,r13
mov r14,r11
mov r7,r10
call #MpyU32
MOV #00H,R6
MOV #00H,R5
MOV #2710H,R4
CALL #compthree
BIT.B #FLAGSMALL,THREEFLAG
JZ BEI_1
MOV.B #POINT10,POINTPQ
BIC #PQPOINT,LINEDATE3
BIS #PQPOINT2,LINEDATE3
MOV #0,LEDPQKM
BIC #PQUNIT,LINEDATE3
BIC #PQUNIT2,LINEDATE3
MOV R10,R11
JMP BEI_NEXT
BEI_1 MOV #00H,R6
MOV #01H,R5
MOV #86A0H,R4
CALL #compthree
BIT.B #FLAGSMALL,THREEFLAG
JZ BEI_2
MOV.B #POINT1000,POINTPQ
BIS #PQPOINT,LINEDATE3
BIS #PQPOINT2,LINEDATE3
MOV #01H,LEDPQKM
BIC #PQUNIT,LINEDATE3
BIS #PQUNIT2,LINEDATE3
MOV R11,R13
MOV R10,R12
MOV #0AH,R11
CALL #divide
MOV R14,R11
JMP BEI_NEXT
BEI_2 MOV #00H,R6
MOV #0FH,R5
MOV #4240H,R4
CALL #compthree
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -