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

📄 tj1025g.asm

📁 电压监测的源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        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 + -