📄 jrdmdyxtsz.asm
字号:
;
; ****** 通过系统密码,进入系统设置菜单 ******
;
InToSysSetup:
MOV InterFace,#24
LCALL LcdInit
LCALL ShowRectangle ; 显示一个矩形框
LCALL ShowSysRuler ; 设备管理员有权进入
LCALL ShowClearWord ; 显示"按←键清除输入"
InToSysSetup1: LCALL ShowSysPass
CLR WorkPassF
MOV R0,#TempBuf
MOV R1,#ShowBuf
MOV KeyCount,#0
InToSysSetup2: LCALL ScanKey
JNB KeyF,InToSysSetup2
CLR KeyF
MOV A,KeyNumber ;
CJNE A,#0AH,InToSysSetup3
LCALL MainInterFace1
RET
InToSysSetup3: CJNE A,#0BH,InToSysSetup4
LCALL MainInterFace1
RET
InToSysSetup4: CJNE A,#0DH,InToSysSetup5
SJMP InToSysSetup1
InToSysSetup5: MOV A,KeyNumber ;
CLR C
SUBB A,#10
JNC InToSysSetup2
INC KeyCount
MOV A,KeyNumber ;
MOV @R0,A
INC R0
MOV A,#TSK
MOVX @R1,A
INC R1
MOV A,#190 ; 显示 " * "
MOVX @R1,A
INC R1
MOV LcdShowX,#23
MOV LcdShowY,#112
MOV A,KeyCount
MOV LcdShowC,A
LCALL DdShowString2
MOV A,KeyCount
CLR C
SUBB A,#PassNum
JC InToSysSetup2
MOV BNUM,#PassNum
MOV BADR,#TempBuf+4
MOV DPTR,#SysPassAdr ; 系统密码首地址
LCALL RD_BLK
MOV R0,#TempBuf
MOV R1,#TempBuf+4
MOV R2,#PassNum
InToSysSetup6: MOV A,@R0
INC R0
MOV B,@R1
INC R1
CJNE A,B,InToSysSetup8
DJNZ R2,InToSysSetup6
SJMP InToSysSetup9
InToSysSetup7: LCALL ShowSysPassErr ; 错误提示
LCALL SendFarZdMaCw ; 远程终端操作系统时返回输入密码错信息
MOV A,#3
LCALL SecDelay
MOV EditShowY,#224
LCALL ClearYiHang
LJMP InToSysSetup1
InToSysSetup8: MOV R0,#TempBuf ; 超级密码:9313
MOV A,@R0
CJNE A,#9,InToSysSetup7
INC R0
MOV A,@R0
CJNE A,#3,InToSysSetup7
INC R0
MOV A,@R0
CJNE A,#1,InToSysSetup7
INC R0
MOV A,@R0
CJNE A,#3,InToSysSetup7
InToSysSetup9: LCALL SendFarZdMaZq ; 远程终端操作系统时返回输入密码正确信息
SETB WorkPassF
LCALL LCDInit
; ****** 最底划线 ******
MOV R3,#000 ; 设置 X 坐标低 8 位初值
MOV R4,#80H ; 设置 X 坐标高 8 位初值
MOV R5,#40H ; 设置 X 坐标低 8 位末值
MOV R6,#81H ; 设置 X 坐标高 8 位末值
MOV R7,#210 ; 设置 Y 坐标初值
LCALL DrawThwartwise
; ****** 最上划线 ******
MOV R3,#050 ; 设置 X 坐标低 8 位初值
MOV R4,#80H ; 设置 X 坐标高 8 位初值
MOV R5,#010 ; 设置 X 坐标低 8 位末值
MOV R6,#81H ; 设置 X 坐标高 8 位末值
MOV R7,#030 ; 设置 Y 坐标初值
LCALL DrawThwartwise
LCALL Show110vTest ; 110V可调电源测试
LCALL Show70Vout
LCALL Show110Vout
LCALL Show145Vout
LCALL Show600Vout
LCALL ShowExit
MOV KeyCount,#0
InToSysSetup10: LCALL ScanKey
JNB KeyF,InToSysSetup10
CLR KeyF
MOV A,KeyNumber ;
CJNE A,#0AH,InToSysSetup11
LCALL RelayClear ;清掉所有继电器输出
LCALL MainInterFace1
RET
InToSysSetup11: CJNE A,#0BH,InToSysSetup12
LCALL MainInterFace1
RET
InToSysSetup12: MOV A,KeyNumber ;
CLR C
SUBB A,#10
JNC InToSysSetup9
INC KeyCount
MOV A,KeyNumber ;
CJNE A,#0,InToSysSetup13
; LCALL OneSelfAdrSet ; 本机地址设置
LJMP InToSysSetup9
InToSysSetup13: CJNE A,#1,InToSysSetup14
MOV DataH,#00H
MOV DataL,#00H ; 输出70V
LCALL WriteFarData ; 写 A/D D/A 打印板数据
LJMP InToSysSetup9
LJMP InToSysSetup9
InToSysSetup14: CJNE A,#2,InToSysSetup15
MOV DataH,#02H
MOV DataL,#90H ;输出110V
LCALL WriteFarData ; 写 A/D D/A 打印板数据
LJMP InToSysSetup9
LJMP InToSysSetup9
InToSysSetup15: CJNE A,#3,InToSysSetup16
MOV DataH,#003H
MOV DataL,#0d0H ;输出135V
LCALL WriteFarData ; 写 A/D D/A 打印板数据
LJMP InToSysSetup9
InToSysSetup16: CJNE A,#4,InToSysSetup17
MOV RelayStatus1,#00000001B
MOV RelayStatus2,#00000000B
MOV RelayStatus3,#00000000B
MOV CallAddr,#01H
MOV FuncCode,#SendCpu1Func15; 控制调压器继电器吸合, J1
LCALL FarModuleJdqWk ; 远程模块继电器位控
LJMP InToSysSetup9
InToSysSetup17: CJNE A,#5,InToSysSetup18
LCALL RelayClear ;清掉所有继电器输出
LCALL MainInterFace1
RET
InToSysSetup18: LJMP InToSysSetup10
;
; ****** 用户密码修改 ******
;
EditUserPass: LCALL LcdInit
LCALL ShowRectangle ; 显示一个矩形框
EditUserPass1: LCALL ShowMdfUserPw ; 显示“请修改用户密码:”
MOV BNUM,#PassNum
MOV BADR,#TempBuf
MOV DPTR,#UserPassAdr ; 系统密码首地址
LCALL RD_BLK
MOV R0,#TempBuf
MOV R1,#ShowBuf
MOV A,#TSK ;
MOVX @R1,A ;
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
INC R0
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
INC R0
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
INC R0
INC R1
MOV A,@R0
MOVX @R1,A
MOV LcdShowX,#23
MOV LcdShowY,#112
MOV LcdShowC,#4
LCALL DdShowString2
MOV R1,#ShowBuf
MOV KeyCount,#0
EditUserPass2: LCALL ScanKey
JNB KeyF,EditUserPass2
CLR KeyF
MOV A,KeyNumber ;
CJNE A,#0AH,EditUserPass3
LJMP EditUserPass1
EditUserPass3: CJNE A,#0BH,EditUserPass4
RET
EditUserPass4: MOV A,KeyNumber ;
CLR C
SUBB A,#10
JNC EditUserPass2
INC KeyCount
MOV A,#TSK ;
MOVX @R1,A ;
INC R1
MOV A,KeyNumber ;
MOVX @R1,A
INC R1
MOV A,KeyCount
MOV LcdShowX,#23
MOV LcdShowY,#112
MOV LcdShowC,A
LCALL DdShowString2
MOV A,KeyCount
CLR C
SUBB A,#4
JC EditUserPass2
MOV R0,#TempBuf
MOV R1,#ShowBuf
INC R1
MOVX A,@R1
INC R1
INC R1
MOV @R0,A
INC R0
MOVX A,@R1
INC R1
INC R1
MOV @R0,A
INC R0
MOVX A,@R1
INC R1
INC R1
MOV @R0,A
INC R0
MOVX A,@R1
MOV @R0,A
MOV BNUM,#PassNum
MOV BADR,#TempBuf
MOV DPTR,#UserPassAdr
LCALL WR_BLK
LJMP EditUserPass1
;
; ****** 系统密码修改 ******
;
EditSysPass: LCALL LcdInit
LCALL ShowRectangle ; 显示一个矩形框
EditSysPass1: LCALL ShowMdfSysPw ; 显示“请修改系统密码:”
MOV BNUM,#PassNum
MOV BADR,#TempBuf
MOV DPTR,#SysPassAdr ; 系统密码首地址
LCALL RD_BLK
MOV R0,#TempBuf
MOV R1,#ShowBuf
MOV A,#TSK ;
MOVX @R1,A ;
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
INC R0
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
INC R0
INC R1
MOV A,@R0
MOVX @R1,A
INC R1
MOV A,#TSK ;
MOVX @R1,A ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -