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

📄 minute_chk.asm

📁 一、 模块功能简介 &nbsp &#1048698 支持串口通信与电力线载波通信之间的转发; &nbsp &#1048698 ZF3106串口‐载波通讯模块可以完成载波信道到TTL串口
💻 ASM
字号:
;************************************************************
;文档类型: 原代码 
;项目编号: 
;文档编号:  
;修订版本: 
;生成日期: 
;文档作者: 
;审    核: 
;************************************************************
;相关文档: 主程序,规约
;文档编号      说明 
;************************************************************
;修订说明:载波
;修订版本
;修订说明:
;修订版本: 
;************************************************************
$INCLUDE	(PL3105.INC)
$INCLUDE	(RAML128.INC)
$INCLUDE	(RAMH128.INC)
CODE_REG	SEGMENT	CODE
RSEG		CODE_REG
PUBLIC          MINUTE_CHK
EXTRN   CODE    (HW_DO_WITH)
;--------------------------------------------------------------
;每3分钟读取一次表号及继电器状态
MINUTE_CHK:
            NOP
            NOP
            NOP
            MOV     R0,#MINUTE
            CJNE    @R0,#55H,MINUTE_CHK_RET
            CLR     EREN
            CLR     ES
            
            MOV     R0,#HW_681 
            MOV     @R0,#68H
            MOV     R0,#HW_682 
            MOV     @R0,#68H
            MOV     R0,#HW_CTR 
            MOV     @R0,#01H
            MOV     R0,#HW_L
            MOV     @R0,#02H
            MOV     FS_L_HW,#14
            MOV     FS_JYL_HW,#12
            
            MOV     R0,#RD_JS
            MOV     A,@R0
            CJNE    A,#3,JS_PD1         ;一种表号累计读取失败三次以上?
JS_PD0:
            MOV     A,AA_99_FLAG
            CJNE    A,#55H,JS_PD01
            MOV     R0,#RD_JS
            MOV     @R0,#0              ;读取失败次数清零
            MOV     R0,#RD_BH_TIME
            MOV     @R0,#180
            MOV     TMR_M1,#180
            MOV     AA_99_FLAG,#0AAH
            JMP     MINUTE_CHK_RET

JS_PD01:    MOV     A,AA_99_FLAG        ;一种表号累计三次以上不成功,换表号读取            
            CPL     A
            MOV     AA_99_FLAG,A
            MOV     R0,#RD_JS
            MOV     @R0,#0             ;读取失败次数清零            
            JMP     SNO_PD
            
MINUTE_CHK_RET:
            NOP
            NOP
            RET
JS_PD1:            
            JNC     JS_PD0            ;累计失败次数大于三次?
                       
SNO_PD:            
            MOV     A,AA_99_FLAG
            CJNE    A,#0AAH,GB_ADDR   ;发送缩位表号还是广播表号?
                            
AA_RD_SNO:  MOV     R0,#RD_JS   
            INC     @R0 ;RD_JS 
            MOV     AA_99_FLAG,#0AAH      
            MOV     R7,#6
            MOV     R0,#MTR_ADDR0
AA_ADDR:    
            MOV     @R0,#0AAH        ;缩位地址读表号
            INC     R0
            DJNZ    R7,AA_ADDR
            JMP     RD_BH_JDQ
            
GB_ADDR:            
            MOV     AA_99_FLAG,#055H 
            MOV     R0,#RD_JS   
            INC     @R0 ;     RD_JS
            MOV     R7,#6
            MOV     R0,#MTR_ADDR0
GB_ADDR0:    
            MOV     @R0,#099H        ;广播地址读表号
            INC     R0
            DJNZ    R7,GB_ADDR0
             
RD_BH_JDQ:            
            
            MOV    R0,#BH_JDQ        ;BH_JDQ=55h发送读取表号命令,否则发送读取继电器状态命令       
            MOV    A,@R0              ;ZHZ 07.7.4
           CJNE    A,#55H,RD_JDQ 
            
            MOV     R0,#HW_DI0
            MOV     @R0,#65H
            INC     R0
            MOV     @R0,#0F3H
            JMP     JY
            
RD_JDQ:            
            MOV     R0,#HW_DI0
            MOV     @R0,#68H
            INC     R0
            MOV     @R0,#0F3H
JY:            
            MOV     R0,#HW_681          ;计算校验
            MOV     R7,#0
JY_LOOP:            
            MOV     A,@R0
            ADD     A,R7
            MOV     R7,A
            INC     R0
            DJNZ    FS_JYL_HW,JY_LOOP
            MOV     A,R7
            MOV     @R0,A
            INC     R0
            MOV     @R0,#16H
            
            CALL    HW_DO_WITH     ;发送命令
               
            MOV     ZB_HW,#0       ;清载波直抄表命令标志
            MOV     HW_OK,#0
            SETB    EREN
            SETB    ES
                            
            NOP
            NOP
            RET
        
            
            END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -