📄 jrdmdycsh.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 + -