📄 wdt4mmeasurewater.s43
字号:
#include "WDT4MDefination.h"
extern SYSTEMDATA1
extern SYSTEMDATA2
//********************************* Water Measuring *****************************//
PUBLIC MeasureWater
//********************************* Water Measuring *****************************//
RSEG CODE
MeasureWater
bit #WaterFlowFG ;流量计数标志
jz MWRTN
bic #WaterFlowFG
call #Count ;流量计数程序
mov &ThisMonth,AX
cmp &Q_JB1,AX
jlo NoChao1
sub &Q_JB1,AX
add AX,&Chao1
NoChao1
cmp &Q_JB2,AX
jlo MWRTN
sub &Q_JB2,AX
add AX,&Chao2
MWRTN RET
;------------------流量计数程序-----------------
Count
/*
//040611--->
cmp #0,&Oddment
jz CountDsg
bit #OddBorrFG
jz DsgAdd
jmp CountDsg
DsgAdd
inc &Dosage
bis #OddBorrFG
CountDsg
//<---040611
*/
MOV &Dosage,AX
MOV #0H,&Dosage
bit #NFG ;当余量为负时
jz OverZero
LowZero
add AX,&LcdL ;余量加
Cntloop cmp #10000,&LcdL ;余量值是否达到1000
jlo Datadisp
sub #10000,&LcdL
INC &Q_YL
inc &Q_LJ
inc &ThisMonth
jmp Cntloop
OverZero
sub AX,&LcdL ;余量值减
jn YLJug
jmp Datadisp
YLJug
add #10000,&LcdL
cmp #0,&Q_YL
jeq YlZero
SubYL
dec &Q_YL ;流量减1吨
inc &Q_LJ
inc &ThisMonth
jmp Datadisp
YlZero bis #NFG ;置余量为负标记
MOV #180,&State ;置状态标志
inc &Q_LJ
mov #10000,AX
sub &LcdL,AX
mov AX,&LcdL
Datadisp
//040611--->
mov &Q_YL,AX
add &LcdL,AX
jnz CountOddDisp
cmp #0,&Oddment
jz CountOddDisp
bis #NFG
MOV #180,&State ;置状态标志
CountOddDisp
/*
mov &Q_YL,&Q_YLDisp ;040818
mov &LcdL,&LcdLDisp ;040818
bit #NFG
jz CountOddDisp1
mov &Oddment,&OddDisp
jmp Datadisp1
CountOddDisp1
//040818 --->
cmp #00h,&LcdLDisp
jnz CountOddDisp2
dec &Q_YLDisp
mov #9999,&LcdLDisp
jmp CountOddDisp3
CountOddDisp2
dec &LcdLDisp
CountOddDisp3
//<--- 040818
mov #10000,&OddDisp
sub &Oddment,&OddDisp
//<---040611
Datadisp1
*/
mov.b #DSPTM_,&DSPTM
mov.b #0,&DSPNO ;disply remain
bis #DSPFG
CountRTN
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -