📄 tj1025g.asm
字号:
MOV A,R6
LCALL WRDA
INC DPTR
MOV A,R7
LCALL WRDA
INC DPTR
MOV 0EH,DPH
MOV 0FH,DPL
RET
;==========================================
XIAOTIME:MOV DPH,10H
MOV DPL,11H
CLR C
MOV A,DPL
ADD A,#10H
MOV DPL,A
MOV A,DPH
ADDC A,#00H
MOV DPH,A
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R4,A
MOV DPH,0EH
MOV DPL,0FH
MOV A,R0
LCALL WRDA
INC DPTR
MOV A,R1
LCALL WRDA
INC DPTR
MOV A,R2
LCALL WRDA
INC DPTR
MOV A,R3
LCALL WRDA
INC DPTR
MOV A,R4
LCALL WRDA
INC DPTR
MOV 0EH,DPH
MOV 0FH,DPL
RET
;----------------------------
; 正点电压
;----------------------------
ZHENDIAN:MOV DPH,10H
MOV DPL,11H
CLR C
MOV A,DPL
ADD A,#15H
MOV DPL,A
MOV A,DPH
ADDC A,#00H
MOV DPH,A
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL VBIN
MOV DPH,0EH
MOV DPL,0FH
MOV A,R5
LCALL WRDA
INC DPTR
MOV A,R6
LCALL WRDA
INC DPTR
MOV A,R7
LCALL WRDA
INC DPTR
MOV 0EH,DPH
MOV 0FH,DPL
RET
;==========================================
; 参数设置程序
;在设置终端运行参数时, 可以采用一次全设也
;可以任意一个或几个单独设置,设置的格式相同
;只是数据单元标识只有一个或几个.
; 接收到数据保存于F800H开始的RAM中
; 没有保存文件尾
;链路用户数据开始单元 F80CH
; 真序列 F80DH
; 数据单元标识 F80EH
;数据单元长度=数据长度-14
;1(延时长度)+3(HHMMSS)+2(PW)+1(序列)+
;1(应用功能码)+1(控制域)+5(地址域)
;
;==========================================
; 数据单元标识解析
;使用RAM 0AH 09H
; 0BH 0CH (数据标识单元标识+数据)总和长度
; 0DH 每个(数据标识单元标识+数据)长度
; 0EH 数据标识单元标识
; 0FH 数据标识单元数据长度
; 10H-15H 数据标识单元数据
;使用位地址:
; 08H 参数改变
; 09H 时间改变
; RAM:21H
;==========================================
CSSZ:LCALL WADOG
LCALL LENG
MOV A,09H
SUBB A,#14
MOV 0BH,A ;低8位 该单元有效
MOV A,0AH
SUBB A,#00H
MOV 0CH,A ;高8位 数据长度不大于255 该单元无效
;---------------------------
MOV 0DH,#00H
;---------------------------
JXB0:MOV DPTR,#0F80EH
CLR C
MOV A,DPL
ADD A,0DH
MOV DPL,A
MOV A,DPH
ADDC A,#00H
MOV DPH,A
MOVX A,@DPTR
MOV 0EH,A ;数据单元标识
INC DPTR
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV 0FH,A ;数据单元标识长度
;---------------------------
ADD A,0DH ;(0DH)+(0FH)+4
ADD A,#04H
MOV 0DH,A ;数据单元标识长度(4)+数据长度
;---------------------------
MOV R0,#10H ;数据单元数据保存于RAM 10H--15H
JXB1:INC DPTR
MOVX A,@DPTR
MOV @R0,A
INC R0
MOV A,0FH
DEC A
MOV 0FH,A
CJNE A,#00H,JXB1
;---------------------------
MOV A,0EH
CJNE A,#0A1H,JXB01
LCALL XGMA ;修改密码
LJMP JXBD
JXB01:CJNE A,#0A2H,JXB02
LCALL XGTIME ;修改时间
LJMP JXBD
JXB02:CJNE A,#0A3H,JXB03
LCALL XGDY ;修改额定电压
LJMP JXBD
JXB03:CJNE A,#0A4H,JXB04
LCALL XGLB ;修改电压类别 修改为备用
LJMP JXBD
JXB04:CJNE A,#0A5H,JXB05
LCALL XGBB ;修改电压变比
LJMP JXBD
JXB05:CJNE A,#0A6H,JXB06
LCALL XGUP ;修改上限值
LJMP JXBD
JXB06:CJNE A,#0A7H,JXB07
LCALL XGDN ;修改下限值
LJMP JXBD
JXB07:CJNE A,#0A8H,JXB08
LCALL XGUPV ;修改超上限延迟时间
LJMP JXBD
JXB08:CJNE A,#0A9H,JXB09
LCALL XGDNV ;修改超下限延迟时间
LJMP JXBD
JXB09:CJNE A,#0AAH,JXB0A
LCALL XGXT ;修改心跳时间
LJMP JXBD
JXB0A:CJNE A,#0ABH,JXB0B
LCALL XGIP ;修改主站IP
LJMP JXBD
JXB0B:CJNE A,#0ACH,JXB0D
LCALL XGDK ;修改主站端口地址
JXBD:MOV A,0DH
CJNE A,0BH,JXBE
LJMP EXBS
JXBE:LJMP JXB0
EXBS:lcall XYDA ;发送应答
LCALL FSTJ
MOV DPTR,#0010H
MOV B,#31
MOV R3,#00H
JXYA3:MOVX A,@DPTR
ADD A,R3
XCH A,R3
INC DPTR
DJNZ B,JXYA3
MOV A,R3
LCALL WRDA
JB 09H,JXYA6
LJMP JXB0D
JXYA6: MOV 35H,#3CH
JXYA4:LCALL WADOG
JNB 7EH,JXYA4
LCALL CAUP
CLR C
MOV A,35H
SUBB A,#01H
MOV 35H,A
CJNE A,#00H,JXYA4
LCALL WADOG
LCALL GRRSDA
MOV 0EH,#00H
MOV 0FH,#2AH
LCALL FSTJ
JXB0D:RET
;------------------------------------------
; 修改密码
;------------------------------------------
XGMA:MOV DPTR,#0010H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改时间
;-----------------------------------------
XGTIME:MOV DPTR,#0009H
MOV A,10H
LCALL WRDA
MOV DPTR,#0008H
MOV A,11H
LCALL WRDA
MOV DPTR,#0007H
MOV A,12H
LCALL WRDA
MOV DPTR,#0004H
MOV A,13H
LCALL WRDA
MOV DPTR,#0002H
MOV A,14H
LCALL WRDA
MOV DPTR,#0000H
MOV A,15H
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改额定电压
;-----------------------------------------
XGDY:MOV DPTR,#0012H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改电压类别
;-----------------------------------------
XGLB:MOV DPTR,#0022H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改电压变比
;-----------------------------------------
XGBB:MOV DPTR,#0020H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改电压上限率 11。22修改
;-----------------------------------------
XGUP:MOV A,10H
JB ACC.4,XGUP0
MOV A,11H
MOV B,#64H
ADD A,B
MOV R1,A
LJMP XGUP1
XGUP0:MOV A,11H
MOV B,A
MOV A,#64H
CLR C
SUBB A,B
MOV R1,A
XGUP1:MOV DPTR,#0012H
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV R0,#00H
LCALL MUL2
MOV R2,#00H
MOV R3,#64H
LCALL DIV2
MOV DPTR,#0014H
MOV A,R6
LCALL WRDA
INC DPTR
MOV A,R7
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改电压下限率 11。22 修改
;-----------------------------------------
XGDN:MOV A,10H
JB ACC.4,XGDN0
MOV A,11H
MOV B,#64H
ADD A,B
MOV R1,A
LJMP XGDN1
XGDN0:MOV A,11H
MOV B,A
MOV A,#64H
CLR C
SUBB A,B
MOV R1,A
XGDN1:MOV DPTR,#0012H
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV R0,#00H
LCALL MUL2
MOV R2,#00H
MOV R3,#64H
LCALL DIV2
MOV DPTR,#0016H
MOV A,R6
LCALL WRDA
INC DPTR
MOV A,R7
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改超上限延迟时间
;-----------------------------------------
XGUPV:MOV A,10H
MOV DPTR,#001EH
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改超下限延迟时间
;-----------------------------------------
XGDNV:MOV A,10H
MOV DPTR,#001FH
LCALL WRDA
SETB 08H
SETB 7DH
RET
;-----------------------------------------
; 修改心跳时间
;-----------------------------------------
XGXT:MOV DPTR,#0027H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 09H
RET
;-----------------------------------------
; 修改主站IP
;-----------------------------------------
XGIP:MOV DPTR,#0029H
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
INC DPTR
MOV A,12H
LCALL WRDA
INC DPTR
MOV A,13H
LCALL WRDA
SETB 09H
RET
;-----------------------------------------
; 修改主站端口地址
;-----------------------------------------
XGDK:MOV DPTR,#002DH
MOV A,10H
LCALL WRDA
INC DPTR
MOV A,11H
LCALL WRDA
SETB 09H
RET
;==========================================
;==========================================
; 参数查询程序
;在设置终端运行参数时, 可以采用一次全设也
;可以任意一个或几个单独查询,设置的格式相同
;只是数据单元标识只有一个或几个.
; 接收到数据保存于F800H开始的RAM中
; 没有保存文件尾
;链路用户数据开始单元 F80CH
; 真序列 F80DH
; 数据单元标识 F80EH
;数据单元长度=数据长度-16
;1(延时长度)+3(TP)+2(PW)+1(序列)
;+1(应用功能码)+1(控制域)+5(地址域)
;
;==========================================
; 数据单元标识解析
;使用RAM 0AH 09H 数据长度
; 0BH 数据标识单元总长度
; 0DH
; 0FH 数据标识单元数据长度
; 10H-15H 数据标识单元数据
;==========================================
CSCX:LCALL WADOG
LCALL LENG
MOV A,09H
SUBB A,#14
MOV 0BH,A ;低8位 该单元有效
;-----------------------
MOV 0CH,#00H
MOV 0DH,#00H
;-----------------------
CXB0:MOV DPTR,#0F80EH
CLR C
MOV A,DPL
ADD A,0DH
MOV DPL,A
MOV A,DPH
ADDC A,#00H
MOV DPH,A
MOVX A,@DPTR
MOV 0EH,A
;---------------------------
CLR A
MOV A,0DH
ADD A,#04H
MOV 0DH,A ;数据单元标识长度(4)+数据长度
;---------------------------
;---------------------------
MOV A,0EH
CJNE A,#0D1H,CXB01
MOV 0FH,#02H
LCALL CXMA ;查询密码
LJMP CXBD
CXB01:CJNE A,#0D2H,CXB02
MOV 0FH,#06H
LCALL CXTIME ;查询时间
LJMP CXBD
CXB02:CJNE A,#0D3H,CXB03
MOV 0FH,#02H
LCALL CXDY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -