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

📄 jrdmdyface.asm

📁 用增强型单片机51RD2做的控制器
💻 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 + -