📄 jrdmdydy.asm
字号:
;
; ****** 打印:正端正电压数据 ******
;
PrintZdZdySj: MOV R0,#VoltBuf+0
MOVX A,@R0
MOV Variable1,A ; 取输出电压高8位
INC R0
MOVX A,@R0
MOV Variable2,A ; 取输出电压低8位
INC R0
MOV A,Variable1
MOV R2,A
MOV A,Variable2
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,#0B7H
MOVX @R0,A ; 伏
INC R0
MOV A,#0FCH
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
;
; ****** 打印:正端负电压数据 ******
;
PrintZdFdySj:
MOV R0,#VoltBuf+2
MOVX A,@R0
MOV Variable1,A ; 取输出电压高8位
INC R0
MOVX A,@R0
MOV Variable2,A ; 取输出电压低8位
INC R0
MOV A,Variable1
MOV R2,A
MOV A,Variable2
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,#0B7H
MOVX @R0,A ; 伏
INC R0
MOV A,#0FCH
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
;
; ****** 打印:正端接地电阻数据 ******
;
PrintZdJddzSj: MOV R0,#LinkG_R_buf+0
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+1
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
;
; ****** 打印:负端正电压数据 ******
;
PrintFdZdySj: MOV R0,#VoltBuf+6
MOVX A,@R0
MOV Variable1,A ; 取输出电压高8位
INC R0
MOVX A,@R0
MOV Variable2,A ; 取输出电压低8位
INC R0
MOV A,Variable1
MOV R2,A
MOV A,Variable2
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,#0B7H
MOVX @R0,A ; 伏
INC R0
MOV A,#0FCH
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
;
; ****** 打印:负端负电压数据 ******
;
PrintFdFdySj: MOV R0,#VoltBuf+4
MOVX A,@R0
MOV Variable1,A ; 取输出电压高8位
INC R0
MOVX A,@R0
MOV Variable2,A ; 取输出电压低8位
INC R0
MOV A,Variable1
MOV R2,A
MOV A,Variable2
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,#0B7H
MOVX @R0,A ; 伏
INC R0
MOV A,#0FCH
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
;
; ****** 打印:负端接地电阻数据 ******
;
PrintFdJddzSj: MOV R0,#LinkG_R_buf+2
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+3
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
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -