?? 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 + -