📄 jrdmdyface.asm
字号:
;
; ****** LCD 主界面 ******
;
MainInterFace: MOV A,MIN
ANL A,#00001111B
MOV B,SEC
ADD A,B
JZ MainInterFace1
RET
MainInterFace1: LCALL LcdInit
LCALL ShowType ; 显示"JR-2000型智能控制器"
LCALL ShowDnkj ; 显示"时代集团徽标"
MOV R3,#070 ; 设置 X 坐标低 8 位初值
MOV R4,#80H ; 设置 X 坐标高 8 位初值
MOV R5,#240 ; 设置 X 坐标低 8 位末值
MOV R6,#80H ; 设置 X 坐标高 8 位末值
MOV R7,#178 ; 设置 Y 坐标初值
LCALL DrawThwartwise
LCALL ShowSDHB ; 显示“时代徽标”
LCALL ShowXw
MOV A,#91
LCALL WriteData ; 送数据
MOV A,#004
LCALL WriteData ; 送数据
MOV A,#4CH ; 光标 + 1 --> 光标
LCALL WriteComd ; 送指令
MOV A,#42H
LCALL WriteComd ; 送指令
MOV R7,#00H
MainInterFace2: MOV DPTR,#XwTab2
MOV A,R7
MOVC A,@A+DPTR
LCALL WriteData ; 送数据
INC R7
MOV A,R7
CJNE A,#19,MainInterFace2
MOV A,#1
LCALL SecDelay
RET
XwTab2: DB 068H,074H,074H,070H,03AH,02FH,02FH,057H ;http://w
DB 057H,057H,02EH,05AH,05AH,04AH,052H,02EH ;ww.zzjr.
DB 043H,04FH,04DH ;com
;
; ****** 进入用户密码/用户代码 ******
;
IntoWorkPass:
LJMP IntoWorkPass7
LCALL LcdClear
LCALL ShowRectangle ; 显示一个矩形框
LCALL ShowMenPass ; 输入用户密码
LCALL ShowClearWord ; 显示"按←键清除输入"
MOV R0,#TempBuf
MOV R1,#ShowBuf ; 汉字显示缓冲区
MOV KeyCount,#0
IntoWorkPass1: LCALL Watchdog
LCALL ScanKey
JNB KeyF,IntoWorkPass1
CLR KeyF
MOV A,KeyNumber ;
CJNE A,#0AH,IntoWorkPass2
LCALL MainInterFace1
RET
IntoWorkPass2: CJNE A,#0DH,IntoWorkPass3
SJMP IntoWorkPass
IntoWorkPass3: MOV A,KeyNumber ;
CLR C
SUBB A,#10
JNC IntoWorkPass1
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 IntoWorkPass1
MOV BNUM,#PassNum
MOV BADR,#TempBuf+4
MOV DPTR,#UserPassAdr
LCALL RD_BLK
MOV R0,#TempBuf
MOV R1,#TempBuf+4
MOV R2,#PassNum
IntoWorkPass4: MOV A,@R0
MOV B,@R1
CJNE A,B,IntoWorkPass5
INC R0
INC R1
DJNZ R2,IntoWorkPass4
SJMP IntoWorkPass7
IntoWorkPass5: MOV R0,#TempBuf ; 超级密码:9313
MOV A,@R0
CJNE A,#9,IntoWorkPass6 ; 9
INC R0
MOV A,@R0
CJNE A,#3,IntoWorkPass6 ; 3
INC R0
MOV A,@R0
CJNE A,#1,IntoWorkPass6 ; 1
INC R0
MOV A,@R0
XRL A,#3 ; 3
JZ IntoWorkPass7
IntoWorkPass6: LCALL SendFarZdMaCw ; 远程终端操作系统时返回输入密码错信息
LCALL ShowUserPassErr
MOV A,#3
LCALL SecDelay
MOV EditShowY,#224
LCALL ClearYiHang ; 显示"一行空"(清除一行)
LJMP IntoWorkPass
IntoWorkPass7: LCALL SendFarZdMaZq ; 远程终端操作系统时返回输入密码正确信息
LCALL WorkStateInit ; 工作状态初始化
MOV InterFace,#1
MOV AutoTimer,#3
IntoWorkPassX: MOV DataH,#00H ; 将 D/A 输出置为 0
MOV DataL,#00H
LCALL WriteFarData ; 写 A/D D/A 打印板数据
MOV RelayStatus1,#00000000B
MOV RelayStatus2,#00000011B
MOV CallAddr,#01H
MOV FuncCode,#SendCpu1Func15; 继电器位控
LCALL FarModuleJdqWk ; 远程模块继电器位控
LCALL LcdInit
LCALL ShowRectangle2 ;%%%%%%%%%%%%%%%%%%%%%%%%
LCALL ShowGzZtXz ; 显示"选择接地测试类型
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -