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

📄 jrdmdydy.asm

📁 用增强型单片机51RD2做的控制器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;
;
;
;
;       ******  写远程打印数据  ******
;
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 + -