?? test_reslt.asm
字號(hào):
;*************************************************
; 測(cè)試結(jié)果:
;
;
;**************************************************
TestResult: LCALL RelayClear ;將繼電器清零
; setb SaveFlag
JNB SaveFlag,TestResult1 ; 存儲(chǔ)標(biāo)志為"0" , 測(cè)試結(jié)果不存
LCALL SaveTestRslt
TestResult1: LCALL LcdInit;LcdClear
MOV R3,#000 ; 設(shè)置 X 坐標(biāo)低 8 位初值
MOV R4,#80H ; 設(shè)置 X 坐標(biāo)高 8 位初值
MOV R5,#40H ; 設(shè)置 X 坐標(biāo)低 8 位末值
MOV R6,#81H ; 設(shè)置 X 坐標(biāo)高 8 位末值
MOV R7,#020 ; 設(shè)置 Y 坐標(biāo)初值
LCALL DrawThwartwise
MOV R3,#000 ; 設(shè)置 X 坐標(biāo)低 8 位初值
MOV R4,#80H ; 設(shè)置 X 坐標(biāo)高 8 位初值
MOV R5,#40H ; 設(shè)置 X 坐標(biāo)低 8 位末值
MOV R6,#81H ; 設(shè)置 X 坐標(biāo)高 8 位末值
MOV R7,#150 ; 設(shè)置 Y 坐標(biāo)初值
LCALL DrawThwartwise
lcall ShowTestResult
LCALL ShowZD1 ; 顯示"端 動(dòng)作 正地電壓 負(fù)地電壓 接地電阻"
LCALL ShowPostive
LCALL ShowNegtive
LCALL ShowCurrent1
LCALL ShowLinkGndRko
LCALL ShowLinkGndRko1
LCALL ShowLinkGndRko2 ;顯示“KO”
LCALL ShowPrint
LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV DataH,#01H;Variable1
MOV DataL,#2ch;Variable2
LCALL TestShowVolt ;顯示300V
MOV LcdShowX,#12
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2 ;接地電阻動(dòng)態(tài)在屏幕上顯示出來(lái)
MOV DataH,#01H;Variable1
MOV DataL,#02ch;Variable2
LCALL TestShowVolt ;顯示300V
MOV LcdShowX,#21
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2 ;接地電阻動(dòng)態(tài)在屏幕上顯示出來(lái)
LCALL ShowCxKjRq ;顯示“檢測(cè)日期”
LCALL ShowCxKjSj ;顯示“檢測(cè)時(shí)間”
LCALL ShowBcJj ;顯示“被測(cè)裝置”
LCALL ShowCxJch ;顯示“拆下機(jī)號(hào):SS9”
LCALL ShowZxJch ;顯示"裝上機(jī)號(hào):SS9"
LCALL ShowZzCxRq ;顯示"拆下日期:"
LCALL ShowZzZsRq ;顯示"裝上日期"
;--------------------------------------------------
LCALL ReadAdrPoint ; 讀報(bào)告記錄地址指針
LCALL DisplayTestRec ;顯示"查詢(xún)測(cè)試記錄"
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 ; 打印試驗(yàn)報(bào)告
ActiveKeyScan6: SJMP ActiveKeyScan
;
; ****** 顯示"是否動(dòng)作數(shù)據(jù)" ******
;
ShowActiveSj:
MOV A, @R1
JNB ACC.0,NoActiveP
LCALL LinkG_active_P ;正端”動(dòng)作“
ActiveFlagJudge: MOV R1, #TempBuf+3
MOV A, @R1
JNB ACC.0,NoActiveN
LCALL LinkG_active_N ;顯示負(fù)端“動(dòng)作”
ActiveFlagJudge1:MOV R1, #TempBuf+4
MOV A, @R1
JNB ACC.0,NoActiveCUR1
LCALL LinkG_active_Cur1 ;顯示交流1端“動(dòng)作”
RET
NoActiveP: LCALL LinkG_PosNOactive ;正端不動(dòng)作
LJMP ActiveFlagJudge
NoActiveN: LCALL LinkG_NegNOactive ;顯示“負(fù)端不動(dòng)作”
LJMP ActiveFlagJudge1
NoActiveCUR1: LCALL LinkG_Ac1NOactive ;顯示“交流1端不動(dòng)作”
ret
;
; ****** 顯示"正端正電壓數(shù)據(jù)" ******
;
ShowZdZdySj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+5 ;電壓緩沖區(qū)
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;將正端正電壓顯示出來(lái)
MOV LcdShowX,#12
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 顯示"正端負(fù)電壓數(shù)據(jù)" ******
;
ShowZdFdySj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+7 ;電壓緩沖區(qū)
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;將正端負(fù)電壓顯示出來(lái)
MOV LcdShowX,#21
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 顯示"負(fù)端正電壓數(shù)據(jù)" ******
;
ShowFdZdySj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+11 ;電壓緩沖區(qū)
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;將負(fù)端正電壓顯示出來(lái)
MOV LcdShowX,#12
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 顯示"負(fù)端負(fù)電壓數(shù)據(jù)" ******
;
ShowFdFdySj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+9 ;電壓緩沖區(qū)
MOV A,@R1
MOV DataH,A
INC R1
MOV A,@R1
MOV DataL,A
LCALL TestShowVolt ;將負(fù)端負(fù)電壓顯示出來(lái)
MOV LcdShowX,#21
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
RET
;
; ****** 顯示"正端接地電阻數(shù)據(jù)" ******
;
ShowZdJddzSj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+13 ;接地電阻緩沖區(qū)
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;顯示接地電阻千歐值,為西文數(shù)字
MOV LcdShowX,#31
MOV LcdShowY,#53
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+1 ;接地電阻緩沖區(qū)
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;顯示接地電阻歐母值,為西文數(shù)字
MOV LcdShowX,#35
MOV LcdShowY,#53
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 顯示"負(fù)端接地電阻數(shù)據(jù)" ******
;
ShowFdJddzSj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+15 ;接地電阻緩沖區(qū)
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;顯示接地電阻千歐值,為西文數(shù)字
MOV LcdShowX,#31
MOV LcdShowY,#83
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+3 ;接地電阻緩沖區(qū)
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;顯示接地電阻歐母值,為西文數(shù)字
MOV LcdShowX,#35
MOV LcdShowY,#83
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 顯示"交流端接地電阻數(shù)據(jù)" ******
;
ShowJldJddzSj: LCALL BzDataLoadBuf ;此條調(diào)用不用的話(huà),電阻值第二位是亂碼
MOV R1,#TempBuf+17 ;接地電阻緩沖區(qū)
MOV A,@R1
MOV DataH,#00
MOV DataL,A
LCALL LinkG_dispKO_digit ;顯示接地電阻千歐值,為西文數(shù)字
MOV LcdShowX,#31
MOV LcdShowY,#113
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#LinkG_R_buf+7 ;接地電阻緩沖區(qū)
MOVX A,@R1
MOV DataL,A
LCALL LinkG_dispOM_digit ;顯示接地電阻歐母值,為西文數(shù)字
MOV LcdShowX,#35
MOV LcdShowY,#113
MOV LcdShowC,#1
LCALL DdShowString2
RET
;
; ****** 顯示查詢(xún)測(cè)試記錄數(shù)據(jù) ******
;
DisplayTestRec: MOV A,RecordNumH
MOV R2,A
MOV A,RecordNumL
MOV R3,A
MOV R6,#0
MOV R7,#64
; 將 (高R2,R3)和(高R6,R7)中雙字節(jié)無(wú)符號(hào)整數(shù)相乘,
; 乘積送(高)R4,R5,R6,R7(低) 中
; ****** 雙字節(jié)無(wú)符號(hào)乘法 ******
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 ; 顯示:報(bào)告序號(hào)數(shù)據(jù)
LCALL ShowKjRqSj ;顯示“檢測(cè)日期數(shù)據(jù)”
LCALL ShowKjSjSj ;顯示“檢測(cè)時(shí)間數(shù)據(jù)”
LCALL ShowBcJjSj ;顯示“被測(cè)裝置數(shù)據(jù)”
LCALL ShowCsJchSj ;顯示“拆下機(jī)號(hào)數(shù)據(jù)“
LCALL ShowZsJchSj ;顯示"裝上機(jī)號(hào):數(shù)據(jù)“
LCALL ShowCsRqSj ;顯示"拆下日期:數(shù)據(jù)"
LCALL ShowZsRqSj ;顯示"裝上日期數(shù)據(jù)"
LCALL ShowActiveSj ;顯示"是否動(dòng)作數(shù)據(jù)"
LCALL ShowZdZdySj ;顯示"正端正電壓數(shù)據(jù)"
LCALL ShowZdFdySj ;顯示"正端負(fù)電壓數(shù)據(jù)"
LCALL ShowFdZdySj ;顯示"負(fù)端正電壓數(shù)據(jù)"
LCALL ShowFdFdySj ;顯示"負(fù)端負(fù)電壓數(shù)據(jù)"
LCALL ShowZdJddzSj ;顯示"正端接地電阻數(shù)據(jù)"
LCALL ShowFdJddzSj ;顯示"負(fù)端接地電阻數(shù)據(jù)"
LCALL ShowJldJddzSj ;顯示"交流端接地電阻數(shù)據(jù)"
RET
;
; ****** 測(cè)試結(jié)果存盤(pán) ******
;
SaveTestRslt: MOV BNUM,#2
MOV BADR,#TempBuf
MOV DPTR,#YxBgAdrPoint ; 運(yùn)行報(bào)告數(shù)據(jù)區(qū)地址指針
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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -