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

📄 cjq3.0v.bak

📁 本程序为集中抄表系统中低压电力线载波数据采集器程序源代码
💻 BAK
📖 第 1 页 / 共 5 页
字号:
                MOV     R4,#HIGH(METER_CONST_10)	;电表常数高位
		MOV	DPH,#10
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
		MOV     R5,#LOW(METER_CONST_11)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_11)	;电表常数高位
		MOV	DPH,#11
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
               	MOV     R5,#LOW(METER_CONST_12)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_12)	;电表常数高位
		MOV	DPH,#12
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
               	MOV     R5,#LOW(METER_CONST_13)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_13)	;电表常数高位
		MOV	DPH,#13
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
               	MOV     R5,#LOW(METER_CONST_14)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_14)	;电表常数高位
		MOV	DPH,#14
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
               	MOV     R5,#LOW(METER_CONST_15)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_15)	;电表常数高位
		MOV	DPH,#15
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
       		MOV     R5,#LOW(METER_CONST_16)		;电表常数低位
                MOV     R4,#HIGH(METER_CONST_16)	;电表常数高位
		MOV	DPH,#16
                LCALL   COMPUTE_RESOLUTION					;写入电表分辨率
;---------------------------------------------
;读入所有继电器状态字并发送电前各状态
;---------------------------------------------
ST_JUDGE_RELAY:
                MOV     JDQ_1_4_STATE,#00H                       ;置1-4路继电器状态字为0
                MOV     JDQ_5_8_STATE,#00H                       ;置5-8路继电器状态字为0
                MOV     JDQ_9_12_STATE,#00H                      ;置9-12路继电器状态字为0
                MOV     JDQ_13_16_STATE,#00H                     ;置13-16路继电器状态字为0
                MOV	R7,#00H                                  ;从通道1号开始查询继电器状态
READ_JDQ:
                LCALL   READ_JDQ_STATE                          ;读出表1继电器状态字
                CJNE    A,#01H,JUDGE_OPEN_STATE
METER_JDQ1:
                CJNE    R7,#1,METER_JDQ2
                MOV     A,JDQ_1_4_STATE
                ORL     A,#01H                                  ;置继电器1为闭合状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
JUDGE_OPEN_STATE:
                AJMP    JUDGE_OPEN_STATE1
METER_JDQ2:
                CJNE    R7,#2,METER_JDQ3
                MOV     A,JDQ_1_4_STATE
                ORL     A,#04H                                  ;置继电器2为闭合状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ3:
                CJNE    R7,#3,METER_JDQ4
                MOV     A,JDQ_1_4_STATE
                ORL     A,#10H                                  ;置继电器3为闭合状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ4:
                CJNE    R7,#4,METER_JDQ5
                MOV     A,JDQ_1_4_STATE
                ORL     A,#40H                                  ;置继电器4为闭合状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ5:
                CJNE    R7,#5,METER_JDQ6
                MOV     A,JDQ_5_8_STATE
                ORL     A,#01H                                  ;置继电器5为闭合状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ6:
                CJNE    R7,#6,METER_JDQ7
                MOV     A,JDQ_5_8_STATE
                ORL     A,#04H                                  ;置继电器6为闭合状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ7:
                CJNE    R7,#7,METER_JDQ8
                MOV     A,JDQ_5_8_STATE
                ORL     A,#10H                                  ;置继电器7为闭合状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ8:
                CJNE    R7,#8,METER_JDQ9
                MOV     A,JDQ_5_8_STATE
                ORL     A,#40H                                  ;置继电器8为闭合状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ9:
                CJNE    R7,#9,METER_JDQ10
                MOV     A,JDQ_9_12_STATE
                ORL     A,#01H                                  ;置继电器9为闭合状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ10:
                CJNE    R7,#10,METER_JDQ11
                MOV     A,JDQ_9_12_STATE
                ORL     A,#04H                                  ;置继电器10为闭合状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ11:
                CJNE    R7,#11,METER_JDQ12
                MOV     A,JDQ_9_12_STATE
                ORL     A,#10H                                  ;置继电器11为闭合状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ12:
                CJNE    R7,#12,METER_JDQ13
                MOV     A,JDQ_9_12_STATE
                ORL     A,#40H                                  ;置继电器12为闭合状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ13:
                CJNE    R7,#13,METER_JDQ14
                MOV     A,JDQ_13_16_STATE
                ORL     A,#01H                                  ;置继电器13为闭合状态
                MOV     JDQ_13_16_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ14:
                CJNE    R7,#14,METER_JDQ15
                MOV     A,JDQ_13_16_STATE
                ORL     A,#04H                                  ;置继电器14为闭合状态
                MOV     JDQ_13_16_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ15:
                CJNE    R7,#15,METER_JDQ16
                MOV     A,JDQ_13_16_STATE
                ORL     A,#10H                                  ;置继电器15为闭合状态
                MOV     JDQ_13_16_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ16:
                CJNE    R7,#16,METER_JDQ17
                MOV     A,JDQ_13_16_STATE
                ORL     A,#40H                                  ;置继电器16为闭合状态
                MOV     JDQ_13_16_STATE,A
                AJMP    READ_ALL_OVER                           ;读完16路
METER_JDQ17:
                MOV    R7,#00H                                  ;
                AJMP    READ_ALL_OVER
READ_NEXT_JDQ:
                LJMP    READ_JDQ                                ;读下一通道
;---------------------------------------
;继电器断开状态
JUDGE_OPEN_STATE1:
                CJNE    A,#00H,JUDGE_ERR_STATE
METER_JDQ1_OPEN:
                CJNE    R7,#1,METER_JDQ2_OPEN
                MOV     A,JDQ_1_4_STATE
                ORL     A,#02H                                  ;置继电器1为断开状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
JUDGE_ERR_STATE:
                AJMP    ST_INI_EXIT
METER_JDQ2_OPEN:
                CJNE    R7,#2,METER_JDQ3_OPEN
                MOV     A,JDQ_1_4_STATE
                ORL     A,#08H                                  ;置继电器2为断开状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ3_OPEN:
                CJNE    R7,#3,METER_JDQ4_OPEN
                MOV     A,JDQ_1_4_STATE
                ORL     A,#20H                                  ;置继电器3为断开状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ4_OPEN:
                CJNE    R7,#4,METER_JDQ5_OPEN
                MOV     A,JDQ_1_4_STATE
                ORL     A,#80H                                  ;置继电器4为断开状态
                MOV     JDQ_1_4_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ5_OPEN:
                CJNE    R7,#5,METER_JDQ6_OPEN
                MOV     A,JDQ_5_8_STATE
                ORL     A,#02H                                  ;置继电器5为断开状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ6_OPEN:
                CJNE    R7,#6,METER_JDQ7_OPEN
                MOV     A,JDQ_5_8_STATE
                ORL     A,#08H                                  ;置继电器6为断开状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ7_OPEN:
                CJNE    R7,#7,METER_JDQ8_OPEN
                MOV     A,JDQ_5_8_STATE
                ORL     A,#20H                                  ;置继电器7为断开状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ8_OPEN:
                CJNE    R7,#8,METER_JDQ9_OPEN
                MOV     A,JDQ_5_8_STATE
                ORL     A,#80H                                  ;置继电器8为断开状态
                MOV     JDQ_5_8_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ9_OPEN:
                CJNE    R7,#9,METER_JDQ10_OPEN
                MOV     A,JDQ_9_12_STATE
                ORL     A,#02H                                  ;置继电器9为断开状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ10_OPEN:
                CJNE    R7,#10,METER_JDQ11_OPEN
                MOV     A,JDQ_9_12_STATE
                ORL     A,#08H                                  ;置继电器10为断开状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ11_OPEN:
                CJNE    R7,#11,METER_JDQ12_OPEN
                MOV     A,JDQ_9_12_STATE
                ORL     A,#20H                                  ;置继电器11为断开状态
                MOV     JDQ_9_12_STATE,A
                AJMP    READ_NEXT_JDQ
METER_JDQ12_OPEN:
                CJNE    R7,#12,METER_JDQ13_OPEN
                MOV     A,JDQ_9_12_STATE
                ORL     A,#80H                                  ;置继电器12为断开状态
                MOV     JDQ_9_12_STAT

⌨️ 快捷键说明

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