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

📄 tj1025g.asm

📁 电压监测的源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;*************************************************************
;************************************************************* 
;                  天津 GPRS 通讯仪表程序
;                     Writed by 李绍鹏  
;                     Date: 2006.10.22:8
;============================================================= 
;-----------------------------------
;RAM:20H21H  BIT:00H--0FH  ORDER
;    2AH2BH      50H--5FH  COMMITTE 
;    2CH2DH      60H--6FH  COMMITTE
;    2EH2FH      70H--7FH  SYSTEM
;-----------------------------------
      GPRS_XY BIT    63H
      SBOF_XY BIT    64H
      SBUD_XY BIT    65H
      XT_XY   BIT    66H
      
      SBUD_G  BIT    67H
      SBOF_G  BIT    68H
      
      XT_G    BIT    6AH
              
      OR_OK   BIT    6CH 
      TD_OK   BIT    6DH
      MA_OK   BIT    6EH               
      OR_G    BIT    6FH
;*************************************************************
;*************************************************************
;*************************************************************
      ORG   0000H
      LJMP  MAIN                       

      org   0003H       
      LJMP  ADPR

      org   0023H       
      LJMP  RSPR

      org   002BH       
      LJMP  KDPR                     

;------------------------------

      ORG   0050H

 MAIN:CLR   EA
      MOV   A,#00H
      MOV   B,#00H         
      MOV   PSW,#00H                  
      MOV   SP,#80H        
      MOV   DPTR,#0FFFFH              
      MOV   P1,#0FFH       
      MOV   P2,#0FFH                
      MOV   P3,#0FFH       
      MOV   IP,#00H                 
      MOV   IE,#00H        
      MOV   TMOD,#00H                
      MOV   TCON,#00H               
      MOV   TH0,#00H      
      MOV   TL0,#00H                
      MOV   TH1,#00H      
      MOV   TL1,#00H
      MOV   T2CON,#00H
      MOV   TH2,#00H      
      MOV   TL2,#00H                
      MOV   SCON,#00H

      LCALL WADOG
      
      LCALL DSPK

      JB    P1.3,MX0
      LCALL MS3
  MX0:JB    P1.3,MX1
      LCALL MS3
  MX1:JB    P1.3,MN0

      LCALL CLRP

  MN0:LCALL WADOG

      MOV   SP,#80H                   
           
      MOV   P0,#0FFH                   
      MOV   P1,#0FFH        
      MOV   P2,#0FFH                    
      MOV   P3,#0FFH        
      MOV   IP,#00H                    
      MOV   IE,#00H       

      MOV   TCON,#00H    
      SETB  0B8H           
      MOV   TMOD,#25H      
      MOV   TH0,#00H       
      MOV   TL0,#00H
      SETB  TR0
      
      MOV   T2CON,#00H     
      MOV   TH2,#00H      
      MOV   TL2,#00H
      MOV   RCAP2H,#0F8H   
      MOV   RCAP2L,#0CDH   

      SETB  TR2      
      SETB  IT0
;-----------------------------
;     检查DS12887
;-----------------------------
 MAA:MOV    DPTR,#0001H
     MOVX   A,@DPTR
     CJNE   A,#0C0H,MA0
     LJMP   MA1
 MA0:MOV    A,#0C0H
     LCALL  WRDA
 MA1:MOV    DPTR,#0003H
     MOVX   A,@DPTR
     CJNE   A,#0C0H,MA2     
     LJMP   MA3
 MA2:MOV    A,#0C0H
     LCALL  WRDA
 MA3:MOV    DPTR,#0005H
     MOVX   A,@DPTR
     CJNE   A,#0C0H,MA4
     LJMP   MA5
 MA4:MOV    A,#0C0H
     LCALL  WRDA
;------------------------------
 MA5:MOV    DPTR,#000AH
     MOVX   A,@DPTR
     CJNE   A,#20H,MA6
     LJMP   MA7
 MA6:MOV    A,#20H
     LCALL  WRDA
;------------------------------
 MA7:MOV    DPTR,#000BH
     MOVX   A,@DPTR
     CJNE   A,#12H,MA8
     
     LJMP   MN2
 
 MA8:LCALL  WADOG
     MOV    A,#12H
     LCALL  WRDA
     MOVX   A,@DPTR
     CJNE   A,#12H,MA8
;============================================
;    检查仪表参数
;============================================
 MN2: MOV   DPTR,#0010H                                        
      MOV   R1,#00H         
      MOV   B,#31       
 MN3: MOVX  A,@DPTR               
      ADD   A,R1                   
      XCH   A,R1
      INC   DPTR
      DJNZ  B,MN3                                              
      MOVX  A,@DPTR       
      CJNE  A,01H,MN4       
;-------------------------------
;     备份数据区
;     备份1:E810-E830
;     备份2:EF10-EF30
;-------------------------------      
      MOV   DPTR,#0010H           
      MOV   B,#32              
 YXA7:MOVX  A,@DPTR 
 
 YGG1:MOV   DPH,#0E8H                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      CJNE  A,02H,YGG1
      
 YGG2:MOV   DPH,#0EFH                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      CJNE  A,02H,YGG2
      
      MOV   DPH,#00H      
      INC   DPL                     
      DJNZ  B,YXA7      
                      
      LJMP MN5   
;-----------------------------
;     检查备份1正确性
;-----------------------------
 MN4: MOV   DPTR,#0E810H                                      
      MOV   R1,#00H         
      MOV   B,#31       
YMN3: MOVX  A,@DPTR                         
      ADD   A,R1                   
      XCH   A,R1
      INC   DPTR
      DJNZ  B,YMN3                                  
      MOVX  A,@DPTR               
      CJNE  A,01H,MN4B    
                        
      MOV   DPTR,#0E810H           
      MOV   B,#32         
 YXF7:MOVX  A,@DPTR
         
 YGF1:MOV   DPH,#00H                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      CJNE  A,02H,YGF1
      
 YGF2:MOV   DPH,#0EFH                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      CJNE  A,02H,YGF2
           
      MOV   DPH,#0E8H      
      INC   DPL                     
      DJNZ  B,YXF7
      
      LJMP MN5
;--------------------------
;     检查备份2正确性
;--------------------------  
MN4B: MOV   DPTR,#0EF10H                                        
      MOV   R1,#00H         
      MOV   B,#31       
YMB3: MOVX  A,@DPTR               
      ADD   A,R1                   
      XCH   A,R1
      INC   DPTR
      DJNZ  B,YMB3                
                  
      MOVX  A,@DPTR               
      CJNE  A,01H,MN4C    
                         
      MOV   DPTR,#0EF10H           
      MOV   B,#32         
 YBB7:MOVX  A,@DPTR   
      
 YGB1:MOV   DPH,#00H                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      XCH   A,R2
      CJNE  A,02H,YGB1
      
 YGB2:MOV   DPH,#8FH                 
      LCALL WRDA
      MOV   R2,A
      MOVX  A,@DPTR
      XCH   A,R2
      CJNE  A,02H,YGB2
                    
      MOV   DPH,#0EFH      
      INC   DPL                     
      DJNZ  B,YBB7 
      
      LJMP  MN5
;-----------------------------
;     重新装载仪表参数        
;-----------------------------      
  MN4C:LCALL SEFD                         
;-----------------------------                
;============================================
;     检查数据文件
;============================================        
;----------------------------- 
;     读上电时间
;-----------------------------       
 MN5: MOV   DPTR,#0000H               
      MOV   B,#0AH         
      MOV   R0,#70H                  
 MN7: MOVX  A,@DPTR      
      MOV   @R0,A                  
      INC   DPTR         
      INC   R0                    
      DJNZ  B,MN7        
      
      MOV   A,70H                    
      ADD   A,72H         
      ADD   A,74H                   
      CJNE  A,#0D5H,MN8   
      LJMP  MN5
;========================================
 MN8:LCALL SUMD                         ;计算上月 上日
;------------------------ 
      LCALL MKT                         ;置RAM区30H-50H为80H          
;------------------------           
      MOV   R7,#00H
  MB0:MOV   R0,#30H        
      MOV   R1,#00H                
  MB1:MOV   DPTR,#8000H                ;8000H
      MOV   A,R7                  
      ADD   A,DPH         
      XCH   A,DPH                   
      
      MOV   A,#24                      ;          
      MOV   B,R1                    
      MUL   AB            
      MOV   DPL,A
      MOV   A,B
      ADD   A,DPH
      MOV   DPH,A

      MOVX  A,@DPTR      
      CJNE  A,#55H,MB3             
      INC   DPTR                        
       
      MOV   R6,#55H              
      MOV   R2,#22                 ;23个数据相加22次                          
  MB2:MOVX  A,@DPTR                      
      ADD   A,R6                  
      MOV   R6,A
      INC   DPTR
      DJNZ  R2,MB2                           

      MOVX  A,@DPTR                    
      CJNE  A,06H,MB3            
        
      MOV   @R0,07H     
  MB3:INC   R0                     
      INC   R1           
      CJNE  R1,#0CH,MB1           ;第一遍检查
      MOV   A,R7
      ADD   A,#08H                
      MOV   R7,A            
      CJNE  R7,#10H,MB0           ;第二遍检查 备份
;-------------------------------
      MOV   1AH,#80H
      MOV   1BH,#08H
;-------------------------------
      MOV   7AH,#00H
      MOV   7BH,#30H

  MDK:MOV   R0,7BH
      MOV   A,@R0
      JNB   ACC.7,MD01     

      MOV   A,78H          
      LCALL BCH1
      DEC   A
      MOV   B,A
      MOV   A,7AH
      CJNE  A,B,MD00

      LCALL COPE                  ;COPE  错误重装载           
      MOV   B,7AH          
      LCALL RECV                  ;RECV
      LJMP  MD02
 MD00:MOV   B,7AH
      LCALL SEAA                  ;SEAA
      LJMP  MD02         
        
 MD01:PUSH  ACC            
      MOV   A,7AH          
      MOV   B,A
      POP   ACC
      LCALL COPD                 ;COPD 
      MOV   B,7AH
      LCALL RECV                 ;RECV     
 MD02:INC   7AH
      INC   7BH
      MOV   A,7AH
      CJNE  A,#0CH,MDK
;===========================================
;     本月日统计数据上电检查
;===========================================
     LCALL  MKT               

     MOV    1AH,#82H             
     MOV    1BH,#08H

     LCALL  MRSB

     MOV    DPTR,#006BH       
     MOVX   A,@DPTR
     MOV    B,A

     MOV    A,78H
     CJNE   A,B,MG0           
     LCALL  JCLD
     LJMP   MG3

 MG0:MOV    A,7DH
     CJNE   A,B,MG1           

     LCALL  COPG

     MOV    1AH,#82H          
     MOV    1BH,#08H

     mov    b,#1FH
     LCALL  SALD              
     LCALL  COPE              
     MOV    A,77H
     LCALL  BCH1
     DEC    A
     MOV    B,A
     LCALL  RECV

     LJMP   MG3

 MG1:MOV    1AH,#82H                    
     MOV    1BH,#08H

     mov    b,#1fh
     LCALL  SALD              
     LCALL  COPE              
     MOV    A,77H             
     LCALL  BCH1
     DEC    A
     MOV    B,A
     LCALL  RECV

     MOV    1AH,#85H
     MOV    1BH,#08H
     mov    b,#1fh
     LCALL  SALD
     
     LJMP   BCC                  ;跳到主循环
;=====================================
;   上月日统计数据检查
;=====================================
 MG3:LCALL  MKT
     MOV    1AH,#85H
     MOV    1BH,#08H
     LCALL  MRSB
     LCALL  JLLD

;-------------------------------------
;     断电数据记录 
;  数据存储区:E000H-E640H
;  数据备份区:E800H-EE40H  
;-------------------------------------
OFJL: LCALL  WADOG
      MOV    DPTR,#007FH
      MOVX   A,@DPTR
      MOV    B,A

      MOV    DPH,#0E0H            
      MOV    A,#10H        
      MUL    AB            
      MOV    DPL,A         
      MOV    A,B
      ADD    A,DPH
      MOV    DPH,A

      MOV    A,#55H
      LCALL  WRDA

      INC    DPTR
      
      MOV    B,#06H
      MOV    R6,#00H
      MOV    R7,#6AH
 OFJ2:PUSH   DPH
      PUSH   DPL
      MOV    DPH,R6
      MOV    DPL,R7
      MOVX   A,@DPTR
      INC    DPTR
      MOV    R6,DPH
      MOV    R7,DPL
      POP    DPL
      POP    DPH
      LCALL  WRDA
      INC    DPTR
      DJNZ   B,OFJ2

      MOV    A,79H
      LCALL  WRDA
      INC    DPTR
      MOV    A,78H
      LCALL  WRDA
      INC    DPTR
      MOV    A,77H
      LCALL  WRDA
      INC    DPTR
      MOV    A,74H
      LCALL  WRDA
      INC    DPTR
      MOV    A,72H
      LCALL  WRDA
      INC    DPTR
      MOV    A,70H
      LCALL  WRDA
      INC    DPTR
;----------------------
;     断电次数+1
;----------------------
      MOV    DPTR,#007FH
      MOVX   A,@DPTR
      INC    A
      MOV    B,A
      CLR    C
      SUBB   A,#64H           ;
      JC     OFJ3
      MOV    B,#00H
 OFJ3:MOV    A,B
      LCALL  WRDA
;-----------------------------------
;     当前小时数据区检查
;-----------------------------------      
      MOV  A,77H     
      LCALL BCH1
      DEC   A
      MOV   R1,A
      MOV   R0,#00H
      MOV   R2,#02H
      MOV   R3,#40H

      LCALL MUL2
      
      MOV   A,74H     
      LCALL BCH1
      MOV   B,#24
      MUL   AB
      

⌨️ 快捷键说明

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