📄 jrdmdydy.asm.bak
字号:
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:交流1接地电阻数据 ******
;
PrintJl1JddzSj: MOV R0,#LinkG_R_buf+6
MOVX A,@R0
MOV Variable1,A ; 取接地电阻千欧值
MOV A,#00;Variable1
MOV R2,A
MOV A,Variable1
MOV R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
; ****** 双字节二进制数转换为BCD数子程序 ******
LCALL BinToBcd
MOV A,R5
MOV Variable1,A
MOV A,R6
MOV Variable2,A
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,Variable2
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,#0A3H
MOVX @R0,A ; .
INC R0
MOV A,#0AEH
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
MOV R0,#LinkG_R_buf+7
MOVX A,@R0
MOV Variable1,A ; 取接地电阻千欧值
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,#0C7H
MOVX @R0,A ; 千
INC R0
MOV A,#0A7H
MOVX @R0,A
INC R0
MOV A,#0C5H
MOVX @R0,A ; 欧
INC R0
MOV A,#0B7H
MOVX @R0,A
INC R0
MOV A,#0DH ; 回车
MOVX @R0,A
INC R0
MOV A,#0AH ; 换行
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:交流2接地电阻数据 ******
;
PrintJl2JddzSj: MOV R0,#LinkG_R_buf+8
MOVX A,@R0
MOV Variable1,A ; 取接地电阻千欧值
MOV A,#00;Variable1
MOV R2,A
MOV A,Variable1
MOV R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
; ****** 双字节二进制数转换为BCD数子程序 ******
LCALL BinToBcd
MOV A,R5
MOV Variable1,A
MOV A,R6
MOV Variable2,A
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,Variable2
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,#0A3H
MOVX @R0,A ; .
INC R0
MOV A,#0AEH
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
MOV R0,#LinkG_R_buf+9
MOVX A,@R0
MOV Variable1,A ; 取接地电阻千欧值
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,#0C7H
MOVX @R0,A ; 千
INC R0
MOV A,#0A7H
MOVX @R0,A
INC R0
MOV A,#0C5H
MOVX @R0,A ; 欧
INC R0
MOV A,#0B7H
MOVX @R0,A
INC R0
MOV A,#0DH ; 回车
MOVX @R0,A
INC R0
MOV A,#0AH ; 换行
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:被测装置数据 ******
;
PrintBcZZsj: MOV R0,#TempBuf+0
MOVX A,@R0
MOV Variable1,A ; 取被测装置编号的每1位
INC R0
MOVX A,@R0
MOV Variable2,A ; 取被测装置编号的每2位
INC R0
MOVX A,@R0
MOV Variable3,A ; 取被测装置编号的每3位
INC R0
MOVX A,@R0
MOV Variable4,A ; 取被测装置编号的每4位
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,Variable3
ANL A,#0FH
LCALL Character
MOV A,Variable4
ANL A,#0FH
LCALL Character
MOV A,#0BAH
MOVX @R0,A ; 号
INC R0
MOV A,#0C5H
MOVX @R0,A
INC R0
MOV A,#0DH ; 回车
MOVX @R0,A
INC R0
MOV A,#0AH ; 换行
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:正接地动作数据 ******
;
PrintZdDzSj: MOV R1, #ActiveFlagBuf+0
MOVX A, @R1
JNB ACC.0,PrintNoActiveZd
LCALL PrintDz ; 打印“动作”
ret
PrintNoActiveZd: LCALL PrintNoDz ; 打印“不动作”
ret
;
; ****** 打印:负接地动作数据 ******
;
PrintFdDzSj: MOV R1, #ActiveFlagBuf+1
MOVX A, @R1
JNB ACC.0,PrintNoActiveFd
LCALL PrintDz ; 打印“动作”
ret
PrintNoActiveFd: LCALL PrintNoDz ; 打印“不动作”
ret
;
; ****** 打印:电抗器接地动作数据 ******
;
PrintDkqDzSj: MOV R1, #ActiveFlagBuf+2
MOVX A, @R1
JNB ACC.0,PrintNoActiveDkq
LCALL PrintDz ; 打印“动作”
ret
PrintNoActiveDkq: LCALL PrintNoDz ; 打印“不动作”
ret
;
; ****** 打印:交流1接地动作数据 ******
;
PrintJl1DzSj: MOV R1, #ActiveFlagBuf+3
MOVX A, @R1
JNB ACC.0,PrintNoActiveJl1
LCALL PrintDz ; 打印“动作”
ret
PrintNoActiveJl1: LCALL PrintNoDz ; 打印“不动作”
ret
;
; ****** 打印:交流2接地动作数据 ******
;
PrintJl2DzSj: MOV R1, #ActiveFlagBuf+4
MOVX A, @R1
JNB ACC.0,PrintNoActiveJl2
LCALL PrintDz ; 打印“动作”
ret
PrintNoActiveJl2: LCALL PrintNoDz ; 打印“不动作”
ret
;
; ****** 打印:检测日期数据 ******
;
PrintJcRqSj: MOV R0,#TempBuf+4
MOV A,@R0
MOV Variable1,A ; 取“年”字节
INC R0
MOV A,@R0
MOV Variable2,A ; 取“月”字节
INC R0
MOV A,@R0
MOV Variable3,A ; 取“日”字节
INC R0
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,#0C4H
MOVX @R0,A ; 年
INC R0
MOV A,#0EAH ;
MOVX @R0,A
INC R0
MOV A,Variable2
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,#0D4H
MOVX @R0,A ; 月
INC R0
MOV A,#0C2H
MOVX @R0,A
INC R0
MOV A,Variable3
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable3
ANL A,#0FH
LCALL Character
MOV A,#0C8H
MOVX @R0,A ; 日
INC R0
MOV A,#0D5H
MOVX @R0,A
INC R0
MOV A,#0DH ; 回车
MOVX @R0,A
INC R0
MOV A,#0AH ; 换行
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:检测时间数据 ******
;
PrintJcSjsj: MOV R0,#TempBuf+7
MOV A,@R0
MOV Variable1,A ; 取“时”字节
INC R0
MOV A,@R0
MOV Variable2,A ; 取“分”字节
INC R0
MOV A,@R0
MOV Variable3,A ; 取“秒”字节
NOP
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,#0CAH
MOVX @R0,A ; 时
INC R0
MOV A,#0B1H
MOVX @R0,A
INC R0
MOV A,Variable2
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,#0B7H
MOVX @R0,A ; 分
INC R0
MOV A,#0D6H
MOVX @R0,A
INC R0
MOV A,Variable3
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable3
ANL A,#0FH
LCALL Character
MOV A,#0C3H
MOVX @R0,A ; 秒
INC R0
MOV A,#0EBH
MOVX @R0,A
INC R0
MOV A,#0DH ; 回车
MOVX @R0,A
INC R0
MOV A,#0AH ; 换行
MOVX @R0,A
INC R0
MOV A,#00H ; 结束
MOVX @R0,A
LCALL PrintString
RET
;
; ****** 打印:检测日期数据 ******
;
PrintGjRqSj: MOV R0,#TempBuf+7
MOV A,@R0
MOV Variable1,A ; 取“年”字节
INC R0
MOV A,@R0
MOV Variable2,A ; 取“月”字节
INC R0
MOV A,@R0
MOV Variable3,A ; 取“日”字节
INC R0
MOV R0,#SendBuf
MOV A,Variable1
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable1
ANL A,#0FH
LCALL Character
MOV A,#0C4H
MOVX @R0,A ; 年
INC R0
MOV A,#0EAH ;
MOVX @R0,A
INC R0
MOV A,Variable2
ANL A,#0F0H
SWAP A
LCALL Character
MOV A,Variable2
ANL A,#0FH
LCALL Character
MOV A,#0D4H
MOVX @R0,A ; 月
INC R0
MOV A,#0C2H
MOVX @R0,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -