📄 test_reslt.asm
字号:
;*************************************************
; 测试结果:
;
;
;**************************************************
TestResult: LCALL RelayClear ;将继电器清零
; setb SaveFlag
JNB SaveFlag,TestResult1 ; 存储标志为"0" , 测试结果不存
LCALL SaveTestRslt
TestResult1: LCALL LcdInit;LcdClear
MOV R3,#000 ; 设置 X 坐标低 8 位初值
MOV R4,#80H ; 设置 X 坐标高 8 位初值
MOV R5,#40H ; 设置 X 坐标低 8 位末值
MOV R6,#81H ; 设置 X 坐标高 8 位末值
MOV R7,#020 ; 设置 Y 坐标初值
LCALL DrawThwartwise
MOV R3,#000 ; 设置 X 坐标低 8 位初值
MOV R4,#80H ; 设置 X 坐标高 8 位初值
MOV R5,#40H ; 设置 X 坐标低 8 位末值
MOV R6,#81H ; 设置 X 坐标高 8 位末值
MOV R7,#150 ; 设置 Y 坐标初值
LCALL DrawThwartwise
lcall ShowTestResult
LCALL ShowZD1 ; 显示"端 动作 正地电压 负地电压 接地电阻"
LCALL ShowPostive
LCALL ShowNegtive
LCALL ShowCurrent1
LCALL ShowLinkGndRko
LCALL ShowLinkGndRko1
LCALL ShowLinkGndRko2 ;显示“KO”
LCALL ShowPrint
LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV DataH,#01H;Variable1
MOV DataL,#2ch;Variable2
LCALL TestShowVolt ;显示300V
MOV LcdShowX,#12
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2 ;接地电阻动态在屏幕上显示出来
MOV DataH,#01H;Variable1
MOV DataL,#02ch;Variable2
LCALL TestShowVolt ;显示300V
MOV LcdShowX,#21
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2 ;接地电阻动态在屏幕上显示出来
LCALL ShowCxKjRq ;显示“检测日期”
LCALL ShowCxKjSj ;显示“检测时间”
LCALL ShowBcJj ;显示“被测装置”
LCALL ShowCxJch ;显示“拆下机号:SS9”
LCALL ShowZxJch ;显示"装上机号:SS9"
LCALL ShowZzCxRq ;显示"拆下日期:"
LCALL ShowZzZsRq ;显示"装上日期"
;--------------------------------------------------
LCALL ReadAdrPoint ; 读报告记录地址指针
LCALL DisplayTestRec ;显示"查询测试记录"
ActiveKeyScan: LCALL ScanKey
JNB KeyF,ActiveKeyScan ; scan key
CLR KeyF
MOV A,KeyNumber
CJNE A,#0AH,ActiveKeyScan1
LCALL MainInterFace1
RET
ActiveKeyScan1: CJNE A,#0CH,ActiveKeyScan2 ; ↑
LCALL AdrPointInc ; 记录地址指针加一
LCALL DisplayTestRec
SJMP ActiveKeyScan
ActiveKeyScan2: CJNE A,#0EH,ActiveKeyScan3 ; ↓
LCALL AdrPointDec ; 记录地址指针减一
LCALL DisplayTestRec
SJMP ActiveKeyScan
ActiveKeyScan3: CJNE A,#0DH,ActiveKeyScan4 ; ←
LCALL AdrPointAdd ; 记录地址指针加十
LCALL DisplayTestRec
SJMP ActiveKeyScan
ActiveKeyScan4: CJNE A,#0FH,ActiveKeyScan5 ; →
LCALL AdrPointSub ; 记录地址指针减十
LCALL DisplayTestRec
SJMP ActiveKeyScan
ActiveKeyScan5: CJNE A,#10H,ActiveKeyScan6
LCALL PrintReport ; 打印试验报告
ActiveKeyScan6: SJMP ActiveKeyScan
;
; ****** 显示"是否动作数据" ******
;
ShowActiveSj:
MOV R1, #TempBuf+2
MOV A, @R1
JNB ACC.0,NoActiveP
LCALL LinkG_active_P ;正端”动作“
ActiveFlagJudge: MOV R1, #TempBuf+3
MOV A, @R1
JNB ACC.0,NoActiveN
LCALL LinkG_active_N ;显示负端“动作”
ActiveFlagJudge1:MOV R1, #TempBuf+4
MOV A, @R1
JNB ACC.0,NoActiveCUR1
LCALL LinkG_active_Cur1 ;显示交流1端“动作”
RET
NoActiveP: LCALL LinkG_PosNOactive ;正端不动作
LJMP ActiveFlagJudge
NoActiveN: LCALL LinkG_NegNOactive ;显示“负端不动作”
LJMP ActiveFlagJudge1
NoActiveCUR1: LCALL LinkG_Ac1NOactive ;显示“交流1端不动作”
ret
;
; ****** 显示"正端正电压数据" ******
;
ShowZdZdySj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+5 ;电压缓冲区
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;将正端正电压显示出来
MOV LcdShowX,#12
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 显示"正端负电压数据" ******
;
ShowZdFdySj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+7 ;电压缓冲区
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;将正端负电压显示出来
MOV LcdShowX,#21
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 显示"负端正电压数据" ******
;
ShowFdZdySj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+11 ;电压缓冲区
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;将负端正电压显示出来
MOV LcdShowX,#12
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 显示"负端负电压数据" ******
;
ShowFdFdySj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+9 ;电压缓冲区
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;将负端负电压显示出来
MOV LcdShowX,#21
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 显示"正端接地电阻数据" ******
;
ShowZdJddzSj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+13 ;接地电阻缓冲区
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;显示接地电阻千欧值,为西文数字
MOV LcdShowX,#31
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+1 ;接地电阻缓冲区
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;显示接地电阻欧母值,为西文数字
MOV LcdShowX,#35
MOV LcdShowY,#53
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 显示"负端接地电阻数据" ******
;
ShowFdJddzSj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+15 ;接地电阻缓冲区
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;显示接地电阻千欧值,为西文数字
MOV LcdShowX,#31
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+3 ;接地电阻缓冲区
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;显示接地电阻欧母值,为西文数字
MOV LcdShowX,#35
MOV LcdShowY,#83
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 显示"交流端接地电阻数据" ******
;
ShowJldJddzSj: LCALL BzDataLoadBuf ;此条调用不用的话,电阻值第二位是乱码
MOV R1,#TempBuf+17 ;接地电阻缓冲区
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;显示接地电阻千欧值,为西文数字
MOV LcdShowX,#31
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+7 ;接地电阻缓冲区
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;显示接地电阻欧母值,为西文数字
MOV LcdShowX,#35
MOV LcdShowY,#113
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 显示查询测试记录数据 ******
;
DisplayTestRec: MOV A,RecordNumH
MOV R2,A
MOV A,RecordNumL
MOV R3,A
MOV R6,#0
MOV R7,#64
; 将 (高R2,R3)和(高R6,R7)中双字节无符号整数相乘,
; 乘积送(高)R4,R5,R6,R7(低) 中
; ****** 双字节无符号乘法 ******
LCALL TowByteNMUL ; 地址指针*32
MOV DPTR,#ReportDatArea
MOV A,R7
ADD A,DPL
MOV DPL,A
MOV A,R6
ADDC A,DPH
MOV DPH,A
DisplayTestRec1:MOV BNUM,#64 ; 读一条记录( 32 Byte )
MOV BADR,#TempBuf
LCALL RD_BLK
LCALL ShowBgXhSj ; 显示:报告序号数据
LCALL ShowKjRqSj ;显示“检测日期数据”
LCALL ShowKjSjSj ;显示“检测时间数据”
LCALL ShowBcJjSj ;显示“被测装置数据”
LCALL ShowCsJchSj ;显示“拆下机号数据“
LCALL ShowZsJchSj ;显示"装上机号:数据“
LCALL ShowCsRqSj ;显示"拆下日期:数据"
LCALL ShowZsRqSj ;显示"装上日期数据"
LCALL ShowActiveSj ;显示"是否动作数据"
LCALL ShowZdZdySj ;显示"正端正电压数据"
LCALL ShowZdFdySj ;显示"正端负电压数据"
LCALL ShowFdZdySj ;显示"负端正电压数据"
LCALL ShowFdFdySj ;显示"负端负电压数据"
LCALL ShowZdJddzSj ;显示"正端接地电阻数据"
LCALL ShowFdJddzSj ;显示"负端接地电阻数据"
LCALL ShowJldJddzSj ;显示"交流端接地电阻数据"
RET
;
; ****** 测试结果存盘 ******
;
SaveTestRslt: MOV BNUM,#2
MOV BADR,#TempBuf
MOV DPTR,#YxBgAdrPoint ; 运行报告数据区地址指针
LCALL RD_BLK
MOV R0,#TempBuf
MOV A,@R0
MOV DataH,A
INC R0
MOV A,@R0
MOV DataL,A
MOV A,DataL
ADD A,#1
MOV DataL,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -