📄 rd_data.asm
字号:
; MOV FL_NUM,A ;读取第6费率表底
; CALL RD_ZR_FL_INT
; CALL RD_TO_CAL
; INC FL_NUM ; 读取第7费率表底
; CALL RD_ZR_FL_INT
; CALL CAL_DL_SUM
; INC FL_NUM ;读取第8费率表底
; CALL RD_ZR_FL_INT
; CALL CAL_DL_SUM
;RD_JL_ZR_ZDL1:
; CALL RD_ZR_ZDL1
; RET
;*****************************************
;读昨日冻结电量
;****************************************
;EER_812: JMP RESET_SYS
;RD_ZR_FL_INT: CLR C
; MOV A,FL_NUM ;费率数为2,3,4,
; SUBB A,#2
; JC EER_812
; CJNE A,#3,RD_ZR_FL_INT1
; JMP EER_812
;RD_ZR_FL_INT1: CJNE A,#6,RD_ZR_FL_INT2
;RD_ZR_FL_INT3: MOV B,#08H
; MUL AB
; ADD A,#ZR_PFL2_INT_24
; MOV ADDR_24,A
; MOV WR_ID,#WR_2412
; MOV RD_N,#5
; CALL RD24_DO_CHK
; RET
;RD_ZR_FL_INT2: JC RD_ZR_FL_INT3
; JMP EER_812
;******************************************
;按计量方式读昨日冻结电量
; FL_NUM_BAK=2、3、4 05-11-30 LIHENG
;******************************************
;RD_JL_ZR_FL_INT:
; CALL CAL_TO_0
; CALL RD_YG_JLFS
; MOV A,RD_BUF0
; CJNE A,#11H,RD_JL_ZR_FL_INT1 ;=11 正+反
; MOV A,FL_NUM_BAK
; ADD A,#4
; MOV FL_NUM,A ;读取第?费率表底
; CALL RD_ZR_FL_INT
; CALL RD_TO_CAL
;RD_JL_ZR_FL_INT1:
; MOV FL_NUM,FL_NUM_BAK
; CALL RD_ZR_FL_INT
; CALL CAL_DL_SUM
; RET
;****************************************
;读昨日冻结日期
;****************************************
;RD_ZR_DAY: MOV ADDR_24,#ZR_DAY_24
; MOV WR_ID,#WR_2412
; MOV RD_N,#2
; CALL RD24_DO_CHK
; RET
;****************************************
;读昨日最大需量
;****************************************
;RD_ZR_XL:
; MOV ADDR_24,#ZR_XL_INT_24
; MOV WR_ID,#WR_2412
; MOV RD_N,#4
; CALL RD24_DO_CHK
; RET
;****************************************
;读昨日最大需量发生时间
;****************************************
;RD_ZR_XL_TIME:
; MOV ADDR_24,#ZR_XL_TIME_24
; MOV WR_ID,#WR_2412
; MOV RD_N,#5
; CALL RD24_DO_CHK
; RET
;******************************************************
;读时钟系数
;******************************************************
RD_SZ: MOV RD_N,#2
MOV ADDR_24,#SZ_24
MOV WR_ID,#WR_2414
CALL RD24_DO_CHK
RET
;******************************************************
;读停电时刻快速保存
;******************************************************
;RD_STOP_ONE: MOV RD_N,#6
; MOV ADDR_24,#STOP_ONE_24
; MOV WR_ID,#WR_2410
; CALL RD24_DO_CHK
; RET
;******************************************************
;读停电时刻
;******************************************************
;RD_STOP_TIME: MOV RD_N,#6
; MOV ADDR_24,A
; MOV WR_ID,#WR_2416
; CALL RD24_DO_CHK
; RET
;******************************************************
;读来电时刻
;******************************************************
;RD_OPEN_TIME: MOV RD_N,#6
; MOV ADDR_24,A
; MOV WR_ID,#WR_2416
; CALL RD24_DO_CHK
; RET
;******************************************************
;读来电时刻记录
;******************************************************
;RD_OPEN_JL: MOV RD_N,#2
; MOV ADDR_24,#OPEN_JL_24
; MOV WR_ID,#WR_2416
; CALL RD24_DO_CHK
; RET
;******************************************************
;读停电时刻记录
;******************************************************
;RD_STOP_JL: MOV RD_N,#2
; MOV ADDR_24,#STOP_JL_24
; MOV WR_ID,#WR_2416
; CALL RD24_DO_CHK
; RET
;**************************************************************
;读循显数据项,数据放在RD_BUF0-3
;**************************************************************
RD_DIS_CRLB: CLR C
MOV A,LCD_CTRL_B0
ADD A,LCD_CTRL_B1
ADD A,LCD_CTRL_B2
ADD A,#'X'
MOV R0,#LCD_CTRL_BX
MOV B,@R0
CJNE A,B,RD_DIS_CRLB_24
MOV RD_BUF0,LCD_CTRL_B0
MOV RD_BUF1,LCD_CTRL_B1
MOV RD_BUF2,LCD_CTRL_B2
RET
RD_DIS_CRLB_24: MOV RD_N,#5
MOV ADDR_24,#DIS_CRLB_24
MOV WR_ID,#WR_2414
CALL RD24_DO_CHK
JNC DIS_CRLB_RET
MOV A,RD_BUF0
JNZ DIS_CRLB_RET1
MOV A,RD_BUF1
JNZ DIS_CRLB_RET1
MOV A,RD_BUF2
JZ DIS_CRLB_RET
DIS_CRLB_RET1: CLR C
MOV A,RD_BUF0
ADD A,RD_BUF1
ADD A,RD_BUF2
ADD A,#'X'
MOV R0,#LCD_CTRL_BX
MOV @R0,A
RET
DIS_CRLB_RET: MOV RD_BUF0,#0FFH ;默认全显
MOV RD_BUF1,#0FFH
MOV RD_BUF2,#0FFH
JMP DIS_CRLB_RET1
;*********************************************
RD_VI: MOVX A,@DPTR ;VI
MOV RD_BUF0,A
INC DPTR
MOVX A,@DPTR
MOV RD_BUF1,A
INC DPTR
MOVX A,@DPTR
MOV RD_BUF2,A
MOV A,RD_BUF0
ADD A,RD_BUF1
ADD A,#'X'
CJNE A,RD_BUF2,RD_VI_RET
RET
RD_VI_RET: MOV RD_BUF0,#00H
MOV RD_BUF1,#00H
RET
;******************************************
;2004.6.12 电量求和
;IN:CAL_BUF0、1、2、3,RD_BUF0、1、2、3
;OUT:CAL_BUF0,1,2,3,BUF0为低字节
;******************************************
CAL_DL_SUM:
MOV A,CAL_BUF0
ADD A,RD_BUF0
DA A
MOV CAL_BUF0,A
MOV A,CAL_BUF1
ADDC A,RD_BUF1
DA A
MOV CAL_BUF1,A
MOV A,CAL_BUF2
ADDC A,RD_BUF2
DA A
MOV CAL_BUF2,A
MOV A,CAL_BUF3
ADDC A,RD_BUF3
DA A
MOV CAL_BUF3,A
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;数据转移 05-11-30 LIHENG
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;RD_TO_CAL:
; MOV CAL_BUF0,RD_BUF0
; MOV CAL_BUF1,RD_BUF1
; MOV CAL_BUF2,RD_BUF2
; MOV CAL_BUF3,RD_BUF3
; RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;数据转移 05-11-30 LIHENG
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CAL_TO_RD:
MOV RD_BUF0,CAL_BUF0
MOV RD_BUF1,CAL_BUF1
MOV RD_BUF2,CAL_BUF2
MOV RD_BUF3,CAL_BUF3
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;数据清0 05-11-30 LIHENG
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CAL_TO_0: MOV CAL_BUF0,#0
MOV CAL_BUF1,#0
MOV CAL_BUF2,#0
MOV CAL_BUF3,#0
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;用于读有功正向和反向小数
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RD_FLOAT_ZYG: NOP
MOV A,FL_NUM
CLR C
SUBB A,#5
; JNC RD_FLOAT_FYG ;反向转移 LI 05-11-28
MOV A,FL_NUM
CJNE A,FL_NUM_JS,RD_FLT_24 ;判断所读费率时段与当前时段
MOV R0,#NOW_FLOAT_ZYG ;是否相同,相同读RAM,不同读24
MOV A,@R0
MOV RD_BUF0,A
ADD A,#'X'
MOV B,A
INC R0
MOV A,@R0
MOV RD_BUF1,A
CJNE A,B,RD_FLT_24
RET
RD_FLT_24: NOP
MOV A,FL_NUM
DEC A
DEC A ;-2
MOV B,#4
MUL AB
ADD A,#PFL2_FLOAT_24
MOV ADDR_24,A
MOV WR_ID,#WR_2410
MOV RD_N,#2
CALL RD24_DO_CHK
RET
;RD_FLOAT_FYG: NOP
; MOV A,FL_NUM
; CLR C
; SUBB A,#4
; CJNE A,FL_NUM_JS,RD_FLT_24_F ;判断所读费率时段与当前时段
; MOV R0,#NOW_FLOAT_FYG ;是否相同,相同读RAM,不同读24
; MOV A,@R0
; MOV RD_BUF0,A
; ADD A,#'X'
; MOV B,A
; INC R0
; MOV A,@R0
; MOV RD_BUF1,A
; CJNE A,B,RD_FLT_24_F
; RET
;RD_FLT_24_F: NOP
;; MOV A,FL_NUM
; CLR C
; SUBB A,#6
; MOV B,#4
;; MUL AB
; ADD A,#PFL2_FX_FLOAT_24
; MOV ADDR_24,A
; MOV WR_ID,#WR_2410
; MOV RD_N,#2
; CALL RD24_DO_CHK
; RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;用于读无功正向和反向小数
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;RD_FLOAT_WG: NOP
; MOV R0,#NOW_FLOAT_WG ;是否相同,相同读RAM,不同读24
; MOV A,@R0
; MOV RD_BUF0,A
; ADD A,#'X'
; MOV B,A
; INC R0
; MOV A,@R0
; MOV RD_BUF1,A
; CJNE A,B,RD_FLT_24_W
; RET
;RD_FLT_24_W: NOP
; MOV ADDR_24,#QFL_FLOAT_24
; MOV WR_ID,#WR_2410
; MOV RD_N,#2
; CALL RD24_DO_CHK
; RET
;RD_FLOAT_FX_WG: NOP
; MOV R0,#NOW_FLOAT_FWG ;是否相同,相同读RAM,不同读24
; MOV A,@R0
; MOV RD_BUF0,A
; ADD A,#'X'
; MOV B,A
; INC R0
; MOV A,@R0
; MOV RD_BUF1,A
; CJNE A,B,RD_FLT_FX_24_W
; RET
;RD_FLT_FX_24_W: NOP
; MOV ADDR_24,#QFL_FLOAT_FX_24
; MOV WR_ID,#WR_2410
; MOV RD_N,#2
; CALL RD24_DO_CHK
; RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -