⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ask_hw_data.asm

📁 基于PL3000芯片的单相复费率多功能电表的应用程序。
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;************************************************************
;文档类型: 原代码 
;项目编号: 
;文档编号: 
;修订版本: 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 + -