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

📄 jrdmdycsh.asm

📁 用增强型单片机51RD2做的控制器
💻 ASM
字号:

;
;       ******  变量初始化  ******
;
VariableInit:
                MOV     RelayStatus1,#0
                MOV     RelayStatus2,#0
                MOV     RelayStatus3,#0

             

          

                MOV     LedStatus,#01H
                MOV     SecTimerA,#00H
                MOV     SecTimerB,#00H
                MOV     MinTimerA,#00H
                MOV     MinTimerB,#00H

                MOV     InterFace,#12
                MOV     AutoTimer,#5

                SETB    AutoRunF
                RET



;
;       ******  I/O port 初始化  ******
;
PortInit:
                RET


;
;       ******  用户密码初始化  ******
;
UserPassInit:   MOV     BNUM,#PassNum
                MOV     BADR,#SendBuf
                MOV     DPTR,#UserPassAdr
                LCALL   RD_BLK
                MOV     R0,#SendBuf
                MOVx     A,@R0
                CJNE    A,#0FFH,UserPassInit2
                MOV     R0,#SendBuf
                MOV     R1,#PassNum
                MOV     A,#0            ; 密码初始化0000
UserPassInit1:  MOVx     @R0,A
                INC     R0
                DJNZ    R1,UserPassInit1
                MOV     BNUM,#PassNum
                MOV     BADR,#SendBuf
                MOV     DPTR,#UserPassAdr
                LCALL   WR_BLK
UserPassInit2:  RET
;
;       ******  系统密码初始化  ******
;
SysPassInit:    MOV     BNUM,#PassNum
                MOV     BADR,#SendBuf
                MOV     DPTR,#SysPassAdr
                LCALL   RD_BLK
                MOV     R0,#SendBuf
                MOVx     A,@R0
                CJNE    A,#0FFH,SysPassInit2
                MOV     R0,#SendBuf
                MOV     R1,#PassNum
                MOV     A,#0            ; 密码初始化0000
SysPassInit1:   MOVx     @R0,A
                INC     R0
                DJNZ    R1,SysPassInit1
                MOV     BNUM,#PassNum
                MOV     BADR,#SendBuf
                MOV     DPTR,#SysPassAdr
                LCALL   WR_BLK
SysPassInit2:   RET

;
;       ******  报告记录地址指针初始化 ******
;
BgJlPointInit:  MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#YxBgAdrPoint      ; 运行报告数据区地址指针
                LCALL   RD_BLK
                MOV     R1,#TempBuf
                MOV     A,@R1
                CJNE    A,#0FFH,BgJlPointInit1
                MOV     R1,#TempBuf
                MOV     A,#0
                MOV     @R1,A
                INC     R1
                MOV     @R1,A
                MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#YxBgAdrPoint      ; 运行报告数据区地址指针
                LCALL   WR_BLK
BgJlPointInit1: MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#YxBgAdrPoint      ; 运行报告数据区地址指针
                LCALL   RD_BLK
                MOV     R1,#TempBuf
                MOV     A,@R1
                MOV     RecordNumH,A
                INC     R1
                MOV     A,@R1
                MOV     RecordNumL,A
                RET

;
;       ******  泄漏电流数据区地址指针初始化 ******
;
XlDlPointInit:  MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#XlDlAdrPoint      ; 泄漏电流数据区地址指针
                LCALL   RD_BLK
                MOV     R1,#TempBuf
                MOV     A,@R1
                CJNE    A,#0FFH,XlDlPointInit1
                MOV     R1,#TempBuf
                MOV     A,#0
                MOV     @R1,A
                INC     R1
                MOV     @R1,A
                MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#XlDlAdrPoint      ; 泄漏电流数据区地址指针
                LCALL   WR_BLK
XlDlPointInit1: MOV     BNUM,#2
                MOV     BADR,#TempBuf
                MOV     DPTR,#XlDlAdrPoint      ; 泄漏电流数据区地址指针
                LCALL   RD_BLK
                MOV     R1,#TempBuf
                RET

;
;       ******  清除所有数据  ******
;
ClearAllData:   MOV     R1,#TempBuf             ; 临时数据缓冲区(32Byte)
                MOV     R2,#32
                MOV     A,#0
ClearAllData1:  MOV     @R1,A
                INC     R1
                DJNZ    R2,ClearAllData1
                LCALL   LcdInit
                LCALL   ShowZzQcSjQsh           ; 显示“正在清除数据请稍候… ”
                MOV     DataH,#0
                MOV     DataL,#0
                MOV     DPTR,#StartDatArea      ; 存储数据开始区
ClearAllData2:  MOV     BNUM,#32                ; 写32个字节一条记录
                MOV     BADR,#TempBuf           ; 临时数据缓冲区(32Byte)
                LCALL   WR_BLK

                MOV     A,DPL
                ADD     A,#32
                MOV     DPL,A
                MOV     A,DPH
                ADDC    A,#0
                MOV     DPH,A

                MOV     A,DataL
                ADD     A,#1
                MOV     DataL,A
                MOV     A,DataH
                ADDC    A,#0
                MOV     DataH,A

                MOV     A,DataL
                CLR     C
                SUBB    A,#0E8H                 ; 共 03E8H 个记录(03E8H = 1000D )
                MOV     A,DataH
                SUBB    A,#03H
                JC      ClearAllData2
                RET

;
;       ******  Program end flag  ******
;
               END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -