📄 ask_hw_data.asm
字号:
;************************************************************
;文档类型: 原代码
;项目编号:
;文档编号:
;修订版本: v1.0
;生成日期: 2005.6.3
;文档作者: LIHENG
;审 核:
;************************************************************
;相关文档: RS485协议处理
;文档编号 说明 (红外抄表应答处理)
;************************************************************
;修订版本:
;修订版本:
;************************************************************
$INCLUDE (RAML128.INC)
$INCLUDE (RAMH128.INC)
$INCLUDE (24ADDR.INC)
$INCLUDE (PL3200.INC)
$INCLUDE (RAM.INC)
CODE_REG SEGMENT CODE
RSEG CODE_REG
;PUBLIC ASK_AUTO_DATE
;PUBLIC ASK_AUTO_DAY
PUBLIC ASK_DATE_TIME
PUBLIC ASK_MTR_RELY
PUBLIC ASK_MTR_REV
PUBLIC ASK_FL_TABLE
PUBLIC ASK_NOW_DL_ALL
;PUBLIC ASK_JL_NOW_DL_ALL
;PUBLIC ASK_NOW_W_Z; HW 读当前无功电量
;PUBLIC ASK_NOW_XL
;PUBLIC ASK_NOW_XL_TIME
;PUBLIC ASK_LAST_M_P_ALL
;PUBLIC ASK_JL_LAST_M_P_ALL
;PUBLIC ASK_LAST_W_Z; HW 读上月冻结无功电量
;PUBLIC ASK_LAST_XL
;PUBLIC ASK_LAST_XL_TIME
;PUBLIC ASK_ZR_M_P_ALL
;PUBLIC ASK_JL_ZR_M_P_ALL
;PUBLIC ASK_ZR_M_P_Z
;PUBLIC ASK_ZR_W_Z
;PUBLIC ASK_ZR_XL
;PUBLIC ASK_ZR_XL_TIME
PUBLIC ASK_SZ
;PUBLIC ASK_STOP_TIME
PUBLIC ASK_DIS_CRLB
PUBLIC ASK_V_A
PUBLIC ASK_I_A
PUBLIC ASK_VA
PUBLIC ASK_IA
;PUBLIC ASK_NOW_GL
PUBLIC LOOP_R1_TO_DPTR
;PUBLIC ASK_YG_JLFS
;PUBLIC ASK_WG_JLFS
;PUBLIC ASK_NOW_FX_W_Z
;PUBLIC ASK_LAST_FX_W_Z
PUBLIC ASK_JLMX
;*******************************;调用子程序情况:
;EXTRN CODE(RD_AUTO_DATE)
;EXTRN CODE(RD_AUTO_DAY)
EXTRN CODE(RD_MTR_RELY)
EXTRN CODE(RD_REV_BCD)
EXTRN CODE(RD_YMD)
EXTRN CODE(RD_HMS)
EXTRN CODE(RD_FL)
EXTRN CODE(RD_SZ)
;EXTRN CODE(RD_STOP_TIME)
;EXTRN CODE(RD_OPEN_TIME)
EXTRN CODE(RD_DIS_CRLB)
;EXTRN CODE(RD_STOP_JL)
;EXTRN CODE(RD_OPEN_JL)
EXTRN CODE(RD_V_A)
EXTRN CODE(RD_I_A)
EXTRN CODE(RD_VI)
;EXTRN CODE(RD_LAST_FL_INT)
;EXTRN CODE(RD_LAST_ZDL)
;EXTRN CODE(RD_LAST_W_INT)
;EXTRN CODE(RD_LAST_XL)
;EXTRN CODE(RD_LAST_XL_TIME)
;EXTRN CODE(RD_NOW_W_DL)
EXTRN CODE(RD_NOW_FL_DL)
EXTRN CODE(RD_NOW_ZDL)
;EXTRN CODE(RD_NOW_Y_XL)
;EXTRN CODE(RD_NOW_Y_XL_TIME)
;EXTRN CODE(RD_ZR_W_INT)
;EXTRN CODE(RD_ZR_FL_INT)
;EXTRN CODE(RD_ZR_ZDL)
;EXTRN CODE(RD_ZR_XL)
;EXTRN CODE(RD_ZR_XL_TIME)
;EXTRN CODE(RD_FLOAT_WG)
EXTRN CODE(RD_FLOAT_ZYG)
;EXTRN CODE(RD_YG_JLFS)
;EXTRN CODE(RD_WG_JLFS)
;EXTRN CODE(RD_FLOAT_FX_WG)
;EXTRN CODE(RD_NOW_FX_W_DL)
;EXTRN CODE(RD_LAST_FX_W_INT)
;EXTRN CODE(RD_ZR_FX_W_INT)
;EXTRN CODE(RD_JL_NOW_ZDL)
;EXTRN CODE(RD_JL_NOW_FL_DL)
;EXTRN CODE(RD_JL_LAST_FL_INT)
;EXTRN CODE(RD_JL_LAST_ZDL)
;EXTRN CODE(RD_JL_ZR_FL_INT)
;EXTRN CODE(RD_JL_ZR_ZDL)
;EXTRN CODE(RD_JL_NOW_W)
;EXTRN CODE(RD_JL_LAST_W)
EXTRN CODE(RD_JLMX)
EXTRN CODE(DPTR_TO_RD4 )
;**************************************************************
;红外抄自动抄表日期:
;**************************************************************
ASK_JLMX:
CALL RD_JLMX
JMP ASK_DATA_2
;**************************************************************
;红外抄自动抄表:
;**************************************************************
;ASK_AUTO_DAY:
; CALL RD_AUTO_DAY
ASK_DATA_1: MOV DPL,#HW_BUF2
MOV A,RD_BUF0 ;HH
MOVX @DPTR,A
RET
;**************************************************************
;红外抄自动抄表:
;**************************************************************
;ASK_YG_JLFS:
; CALL RD_YG_JLFS
; JMP ASK_DATA_1
;**************************************************************
;红外抄自动抄表:
;**************************************************************
;ASK_WG_JLFS:
; CALL RD_WG_JLFS
; JMP ASK_DATA_1
;**************************************************************
;;**抄年,月,日,周,时,分,秒
;**************************************************************
ASK_DATE_TIME: MOV DPL,#HW_BUF2
CALL RD_HMS
MOV A,RD_BUF0
MOVX @DPTR,A
INC DPTR
MOV A,RD_BUF1
MOVX @DPTR,A
INC DPTR
MOV A,RD_BUF2
MOVX @DPTR,A
INC DPTR
MOV EXT_ADR,#84H ;读周,时钟
MOV A,EXT_DAT
MOVX @DPTR,A
INC DPTR
CALL RD_YMD
MOV A,RD_BUF0
MOVX @DPTR,A
INC DPTR
MOV A,RD_BUF1
MOVX @DPTR,A
INC DPTR
MOV A,RD_BUF2
MOVX @DPTR,A
RET
;***********************************************************
ASK_MTR_RELY: NOP ;抄电表继电器状态
CALL RD_MTR_RELY
MOV DPL,#HW_BUF2
MOV A,RD_BUF0
ANL A,#0FH
MOVX @DPTR,A
RET
;******************************************************8
ASK_MTR_REV: ;抄当前电表常数
CALL RD_REV_BCD
JMP ASK_DATA_3
;**************************************************************
;红外抄费率时段及费率号: WR_2404
;**************************************************************
ASK_FL_TABLE:
MOV DPL,#HW_BUF2 ;NN
MOV R6,#8
ASK_FL_X: CLR C
MOV A,#8
SUBB A,R6
MOV B,#4
MUL AB
CALL RD_FL
MOV R7,#3
MOV R0,#RD_BUF0
LOOPM_FL:
MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOPM_FL
DJNZ R6,ASK_FL_X
RET
;******************************************************
;红外抄时钟系数
;******************************************************
ASK_SZ: CALL RD_SZ
JMP ASK_DATA_1
;******************************************************
;红外抄来电、停电时刻
;******************************************************
;
;**************************************************************
;红外抄循显数据项
;**************************************************************
ASK_DIS_CRLB:
CALL RD_DIS_CRLB
ASK_DATA_4: MOV DPH,#2
MOV DPL,#HW_BUF2
CALL LOOP_RD_TO_DPTR
RET
;**************************************************************
;当前功率
;**************************************************************
;ASK_NOW_GL: MOV DPH,#1
; MOV DPL,#NOW_GL_L
; CALL DPTR_TO_RD4
; MOV A,RD_BUF0
; ADD A,RD_BUF1
; ADD A,RD_BUF2
; ADD A,#'X'
; CJNE A,RD_BUF3,RD_GL
; JMP ASK_DATA_3
;RD_GL: MOV RD_BUF0,#0
; MOV RD_BUF1,#0
; MOV RD_BUF2,#0
; JMP ASK_DATA_3
;**************************************************************
;红外电压A
;**************************************************************
ASK_VA:
MOV DPL,#UA_L
JMP ASK_VI
;**************************************************************
;红外电流A
;**************************************************************
ASK_IA:
MOV DPL,#IA_L
ASK_VI: MOV DPH,#2
CALL RD_VI
ASK_DATA_2: MOV DPH,#2
MOV DPL,#HW_BUF2
MOV A,RD_BUF0
MOVX @DPTR,A
INC DPTR
MOV A,RD_BUF1
MOVX @DPTR,A
RET
;**************************************************************
;红外抄A相电压修整系数
;**************************************************************
ASK_V_A: CALL RD_V_A
ASK_DATA_3: MOV DPH,#2
MOV DPL,#HW_BUF2
MOV R1,#RD_BUF0
MOV R7,#3
CALL LOOP_R1_TO_DPTR
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -