📄 jrdmdydy.asm
字号:
;
;
;
;
; ****** 写远程打印数据 ******
;
PrintString: MOV CallAddr,#33 ; A/D D/A 转换板地址
MOV FuncCode,#SendCpu1Func27; 发送打印数据
LCALL DataToFarCpu ; 发送一条记录到远程CPU
MOV A,#1
LCALL SecDelay
RET
;
; ****** 装载一个打印字符串程序 ******
;
LoadString: MOV R1,#SendBuf
MOV LcdCount1,#0
MOV A,LcdShowC
MOV LcdCount2,A
LoadString1: MOV A,LcdCount1
MOVC A,@A+DPTR
MOVX @R1,A
INC R1
INC LcdCount1
DJNZ LcdCount2,LoadString1
RET
;
; ****** 打印试验报告 ******
;
PrintReport: MOV A,RelayStatus1
ORL A,#00000010B ; 合上打印机电源 J2
MOV RelayStatus1,A
MOV CallAddr,#01H
MOV FuncCode,#SendCpu1Func15; 继电器位控
LCALL FarModuleJdqWk ; 远程模块继电器位控
MOV A,#3
LCALL SecDelay
LCALL PrinterInit ; 打印机初始化
LCALL PrintYsy ; 打印"验收员:"
LCALL PrintGzZjy ; 打印"工长: 质检员:"
;lcall PrintBlank
; LCALL PrintYsySj
LCALL PrintGzz ; 打印"工作者:"
; lcall PrintBlank
; LCALL PrintGzzSj
LCALL PrintZsRq ; 打印"装上日期:"
LCALL PrintZsRqSj
LCALL PrintZsJch ; 打印"装上机车号:"
LCALL PrintZsJchSj
LCALL PrintCxRq ; 打印"拆下日期:"
LCALL PrintCxRqSj
LCALL PrintCxJch ; 打印"拆下机车号:"
LCALL PrintCxJchSj
LCALL PrintJdDz ; 打印“接地电阻:”
LCALL PrintJl1JddzSj ; 打印:交流1接地电阻数据
LCALL PrintJl1Jd ; 打印“交流1接地:”
LCALL PrintJl1DzSj ; 打印:交流1接地动作数据
;*******************************************************
LCALL PrintJdDz ; 打印“接地电阻:”
LCALL PrintFdJddzSj ; 打印:负端接地电阻数据
LCALL PrintFdDy ; 打印“负端电压:”
LCALL PrintFdFdySj ; 打印:负端负电压数据
LCALL PrintZdDy ; 打印“正端电压:”
LCALL PrintFdZdySj ; 打印:负端正电压数据
LCALL PrintFjd ; 打印“负接地:”
LCALL PrintFdDzSj ; 打印:负接地动作数据
;*******************************************************
LCALL PrintJdDz ; 打印“接地电阻:”
LCALL PrintZdJddzSj ; 打印:正端接地电阻数据
LCALL PrintFdDy ; 打印“负端电压:”
LCALL PrintZdFdySj ; 打印:正端负电压数据
LCALL PrintZdDy ; 打印“正端电压:”
LCALL PrintZdZdySj ; 打印:正端正电压数据
LCALL PrintZjd ; 打印“正接地:”
LCALL PrintZdDzSj ; 打印:正接地动作数据
;********************************************************
LCALL PrintBcZZ ; 打印“被测装置:”
LCALL PrintBcZZsj ; 打印“被测装置数据”
LCALL PrintJcSj ; 打印“检测时间:”
LCALL PrintJcSjsj ; 打印“检测时间数据”
LCALL PrintJcRq ; 打印“检测日期:”
LCALL PrintJcRqSj ; 打印“检测日期数据”
LCALL PrintXhxA ; 打印"===================="
LCALL PrintXhxB ; 打印"===================="
LCALL PrintWyJd ; 打印“无源接地检测装置测试结果”
LCALL PrintCsJg
LCALL PrintBlank
LCALL PrintBlank
MOV A,#3
LCALL SecDelay
MOV A,RelayStatus1
ANL A,#11111101B ; 关闭打印机电源 J2
MOV RelayStatus1,A
MOV CallAddr,#01H
MOV FuncCode,#SendCpu1Func15; 继电器位控
LCALL FarModuleJdqWk ; 远程模块继电器位控
RET
;
; ****** 打印机初始化 ******
;
PrinterInit: MOV DPTR,#PrtInitTab
MOV LcdShowC,#8
LCALL LoadString
LCALL PrintString
RET
PrtInitTab: DB 01BH,040H,00DH,00AH,028D,038D,000H,000H ; 打印机初始化,回车,换行,进入汉字打印方式,结束标志.
;
; ****** 打印机打印空白行 ******
;
PrintBlank: MOV DPTR,#PrtBlankTab
MOV LcdShowC,#6
LCALL LoadString
LCALL PrintString
RET
PrtBlankTab: DB 00DH,00AH,01BH,066H,000H,000H ;
;
; ****** 打印"直流600伏地面电源" ******
;
PrintWyJd: MOV DPTR,#PrtWyJdTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtWyJdTab: DB "无","源","接","地","检","测","装","置","测","试"
DB 000H,000H
; ****** 打印"测试结果"" ******
;
PrintCsJg: MOV DPTR,#PrtCsJgTab
MOV LcdShowC,#11
LCALL LoadString
LCALL PrintString
RET
PrtCsJgTab: DB "结","果"
DB 00DH,00AH,000H
;
; ****** 打印"====================" ******
;
PrintXhxA: MOV DPTR,#PrtXhxATab
MOV LcdShowC,#24
LCALL LoadString
LCALL PrintString
RET
PrtXhxATab: DB "=","=","=","=","=","=","=","="
DB "=","=","=","=","=","=","=","="
DB "=","=","=","=","=","=","=","="
;
; ****** 打印"====================" ******
;
PrintXhxB: MOV DPTR,#PrtXhxBTab
MOV LcdShowC,#24
LCALL LoadString
LCALL PrintString
RET
PrtXhxBTab: DB "=","=","=","=","=","=","=","="
DB "=","=","=","=","=","=","=","="
DB 00DH,00AH,000H,000H,000H,000H,000H,000H
;
; ****** 打印"打印日期:" ******
;
PrintDyRq: MOV DPTR,#PrtDyRqTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtDyRqTab: DB "打","印","日","期",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“正接地:” ******
;
PrintZjd: MOV DPTR,#PrtZjdTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtZjdTab: DB "正","端","接","地",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“负接地:” ******
;
PrintFjd: MOV DPTR,#PrtFjdTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtFjdTab: DB "负","端","接","地",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“电抗器接地:” ******
;
PrintDkqjd: MOV DPTR,#PrtDkqjdTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtDkqjdTab: DB "电","抗","器","接","地",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“交流1接地:” ******
;
PrintJl1jd: MOV DPTR,#PrtJl1jdTab
MOV LcdShowC,#21
LCALL LoadString
LCALL PrintString
RET
PrtJl1jdTab: DB "交","流","接","地",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“交流2接地:” ******
;
PrintJl2jd: MOV DPTR,#PrtJl2jdTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtJl2jdTab: DB "交","流","2","接","地",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“动作” ******
;
PrintDz: MOV DPTR,#PrtDzTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtDzTab: DB "动","作"
;DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 00DH,00AH,000H
;
; ****** 打印“不动作” ******
;
PrintNoDz: MOV DPTR,#PrtNoDzTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtNoDzTab: DB "不","动","作"
; DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 00DH,00AH,000H
;
; ****** 打印“正端电压:” ******
;
PrintZdDy: MOV DPTR,#PrtZdDyTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtZdDyTab: DB "正","地","电","压",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“负端电压:” ******
;
PrintFdDy: MOV DPTR,#PrtFdDyTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtFdDyTab: DB "负","地","电","压",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“接地电阻:” ******
;
PrintJdDz: MOV DPTR,#PrtJdDzTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtJdDzTab: DB "接","地","电","阻",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“被测装置:” ******
;
PrintBcZz: MOV DPTR,#PrtBcZzTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtBcZzTab: DB "被","测","装","置",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印"验收员:" ******
;
PrintYsy: MOV DPTR,#PrintYsyTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrintYsyTab: DB "验","收","员",":"
DB 00DH,00AH,000H,000H,000H,000H,000H,000H
;
; ****** 打印"工作者:" ******
;
PrintGzz: MOV DPTR,#PrintGzzTab
MOV LcdShowC,#26
LCALL LoadString
LCALL PrintString
RET
PrintGzzTab: DB "工","作","者",":"," "," "," "," "," "," "," "," ","组","长",":"
DB 00DH,00AH,000H,000H,000H,000H,000H,000H
;
; ****** 打印"工长: 质检员:" ******
;
PrintGzZjy: MOV DPTR,#PrintGzZjyTab
MOV LcdShowC,#26
LCALL LoadString
LCALL PrintString
RET
PrintGzZjyTab: DB "质","检","员",":"," "," "," "," "," "," "," "," ","工","长",":"
DB 00DH,00AH,000H,000H,000H,000H,000H,000H
;
; ****** 打印"装上日期:" ******
;
PrintZsRq: MOV DPTR,#PrintZsRqTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrintZsRqTab: DB "装","上","日","期",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印"拆下日期:" ******
;
PrintCxRq: MOV DPTR,#PrintCxRqTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrintCxRqTab: DB "拆","下","日","期",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印"拆下机车号:" ******
;
PrintCxJch: MOV DPTR,#PrintCxJchTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrintCxJchTab: DB "拆","下","机","车","号",":","S","S","9"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印"装上机车号:" ******
;
PrintZsJch: MOV DPTR,#PrintZsJchTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrintZsJchTab: DB "装","上","机","车","号",":","S","S","9"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“检测日期:” ******
;
PrintJcRq: MOV DPTR,#PrtJcRqTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtJcRqTab: DB "检","测","日","期",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“检测时间:” ******
;
PrintJcSj: MOV DPTR,#PrtJcSjTab
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtJcSjTab: DB "检","测","时","间",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
;
; ****** 打印“被测装置:” ******
;
PrintBcZZh: MOV DPTR,#PrtBcZZTabh
MOV LcdShowC,#22
LCALL LoadString
LCALL PrintString
RET
PrtBcZZTabh: DB "被","测","装","置",":"
DB 000H,000H,000H,000H,000H,000H,000H,000H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -