📄 jdq.bak
字号:
;-----------------------------------------------------
;当前表对应继电器下发状态
;A:继电器状态
JUDGE_JDQ_STATE_BYTE:
CJNE A,#01H,JUMP_RELAY_OPEN ;判断继电器状态是闭合否?
MOV A,R7 ;当前表地址通道号
JUDGE_CLOSE_METER1:
CJNE A,#1,JUDGE_CLOSE_METER2 ;判断是1号表否
MOV JDQ_1_4_STATE,#01H ;置1-4路继电器状态字为01H
AJMP SETB_1_4_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER2:
CJNE A,#2,JUDGE_CLOSE_METER3 ;判断是2号表否
MOV JDQ_1_4_STATE,#04H ;置1-4路继电器状态字为04H
AJMP SETB_1_4_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER3:
CJNE A,#3,JUDGE_CLOSE_METER4 ;判断是3号表否
MOV JDQ_1_4_STATE,#10H ;置1-4路继电器状态字为10H
AJMP SETB_1_4_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER4:
CJNE A,#4,JUDGE_CLOSE_METER5 ;判断是4号表否
MOV JDQ_1_4_STATE,#40H ;置1-4路继电器状态字为40H
SETB_1_4_CHANNEL:
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
LJMP JUDGE_END ;转发送
JUMP_RELAY_OPEN:
LJMP RELAY_OPEN ;转判断是断开状态否
JUDGE_CLOSE_METER5:
CJNE A,#5,JUDGE_CLOSE_METER6 ;判断是5号表否
MOV JDQ_5_8_STATE,#01H ;置5-8路继电器状态字为01H
AJMP SETB_5_8_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER6:
CJNE A,#6,JUDGE_CLOSE_METER7 ;判断是6号表否
MOV JDQ_5_8_STATE,#04H ;置5-8路继电器状态字为04H
AJMP SETB_5_8_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER7:
CJNE A,#7,JUDGE_CLOSE_METER8 ;判断是7号表否
MOV JDQ_5_8_STATE,#10H ;置5-8路继电器状态字为10H
AJMP SETB_5_8_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER8:
CJNE A,#8,JUDGE_CLOSE_METER9 ;判断是8号表否
MOV JDQ_5_8_STATE,#40H ;置5-8路继电器状态字为40H
SETB_5_8_CHANNEL:
MOV JDQ_1_4_STATE,#00H ;置1-4路继电器状态字为0
MOV JDQ_9_12_STATE,#00H ;置9-12路继电器状态字为0
MOV JDQ_13_16_STATE,#00H ;置13-16路继电器状态字为0
LJMP JUDGE_END ;转发送
JUDGE_CLOSE_METER9:
CJNE A,#9,JUDGE_CLOSE_METER10 ;判断是9号表否
MOV JDQ_9_12_STATE,#01H ;置9-12路继电器状态字为01H
LJMP SETB_9_12_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER10:
CJNE A,#10,JUDGE_CLOSE_METER11 ;判断是10号表否
MOV JDQ_9_12_STATE,#04H ;置9-12路继电器状态字为04H
LJMP SETB_9_12_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER11:
CJNE A,#11,JUDGE_CLOSE_METER12 ;判断是11号表否
MOV JDQ_9_12_STATE,#10H ;置9-12路继电器状态字为10H
LJMP SETB_9_12_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER12:
CJNE A,#12,JUDGE_CLOSE_METER13 ;判断是12号表否
MOV JDQ_9_12_STATE,#40H ;置9-12路继电器状态字为40H
SETB_9_12_CHANNEL:
MOV JDQ_1_4_STATE,#00H ;置1-4路继电器状态字为0
MOV JDQ_5_8_STATE,#00H ;置5-8路继电器状态字为0
MOV JDQ_13_16_STATE,#00H ;置13-16路继电器状态字为0
LJMP JUDGE_END ;转发送
JUDGE_CLOSE_METER13:
CJNE A,#13,JUDGE_CLOSE_METER14 ;判断是13号表否
MOV JDQ_13_16_STATE,#01H ;置13-16路继电器状态字为01H
LJMP SETB_13_16_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER14:
CJNE A,#14,JUDGE_CLOSE_METER15 ;判断是14号表否
MOV JDQ_13_16_STATE,#04H ;置13-16路继电器状态字为04H
LJMP SETB_13_16_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER15:
CJNE A,#15,JUDGE_CLOSE_METER16 ;判断是15号表否
MOV JDQ_13_16_STATE,#10H ;置13-16路继电器状态字为10H
LJMP SETB_13_16_CHANNEL ;转清其它通道值并发送
JUDGE_CLOSE_METER16:
CJNE A,#16,JUDGE_STATE_ERR ;判断是16号表否
MOV JDQ_13_16_STATE,#40H ;置13-16路继电器状态字为40H
SETB_13_16_CHANNEL:
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
LJMP JUDGE_END ;转发送
JUDGE_STATE_ERR:
LJMP WR_JDQ_STATE_END ;通道号错误,退出
;--------------------------------
;继电器断开状态判断:
RELAY_OPEN:
CJNE A,#00H,JUDGE_STATE_ERR ;判断继电器状态是断开否?若两种状态都不是,不存储并不回应,等待重发
MOV A,R7 ;当前表地址通道号
JUDGE_OPEN_METER1:
CJNE A,#1,JUDGE_OPEN_METER2 ;判断是1号表否
MOV JDQ_1_4_STATE,#02H ;置1-4路继电器状态字为02H
AJMP SETB_1_4_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER2:
CJNE A,#2,JUDGE_OPEN_METER3 ;判断是2号表否
MOV JDQ_1_4_STATE,#08H ;置1-4路继电器状态字为08H
AJMP SETB_1_4_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER3:
CJNE A,#3,JUDGE_OPEN_METER4 ;判断是3号表否
MOV JDQ_1_4_STATE,#20H ;置1-4路继电器状态字为20H
AJMP SETB_1_4_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER4:
CJNE A,#4,JUDGE_OPEN_METER5 ;判断是4号表否
MOV JDQ_1_4_STATE,#80H ;置1-4路继电器状态字为80H
SETB_1_4_CHANNEL2:
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
LJMP JUDGE_END ;转发送
JUDGE_OPEN_METER5:
CJNE A,#5,JUDGE_OPEN_METER6 ;判断是5号表否
MOV JDQ_5_8_STATE,#02H ;置5-8路继电器状态字为02H
AJMP SETB_5_8_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER6:
CJNE A,#6,JUDGE_OPEN_METER7 ;判断是6号表否
MOV JDQ_5_8_STATE,#08H ;置5-8路继电器状态字为08H
AJMP SETB_5_8_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER7:
CJNE A,#7,JUDGE_OPEN_METER8 ;判断是7号表否
MOV JDQ_5_8_STATE,#20H ;置5-8路继电器状态字为20H
AJMP SETB_5_8_CHANNEL2 ;转清其它通道值并发送
JUDGE_OPEN_METER8:
CJNE A,#8,JUDGE_OPEN_METER9 ;判断是8号表否
MOV JDQ_5_8_STATE,#80H ;置5-8路继电器状态字为80H
SETB_5_8_CHANNEL2:
MOV JDQ_1_4_STATE,#00H ;置1-4路继电器状态字为0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -