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

📄 test_485.asm

📁 一个485通信测试程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;***********************************************************************;
;*****************>      中 转 站 向 文 本 读 数      <*****************;
;***********************************************************************;
;***********************************************************************;
JJ_Read_MW00_01:                              ;中转站发 01 03 00 00 00 02 CRCL CRCH 读取文本MW00,MW01内设置的数据
                  mov     A,00h               ;
                  mov     Tx_Start_AddrL,A    ;起始地址低位    
                  mov     A,02h               ;
                  mov     Tx_DtLength_L,A     ;数据长度低位
JJ_Read_RUN:
                  mov     A,1                 ;
                  mov     Tx_Slave_No,A       ;从机号(00~15) 
                  mov     A,03h               ;
                  mov     Tx_Func_code,A      ;功能码 (03h)
                  clr     Tx_Start_AddrH      ;起始地址高位    
                  clr     Tx_DtLength_H       ;数据长度高位
                  call    JJ_CHKCRC_SET01     ;
                  mov     A,RMB_CRCH          ; 
                  mov     Tx_CRC_Low,A        ;CRC效验码低位
                  mov     A,RMB_CRCL          ;
                  mov     Tx_CRC_High,A       ;CRC效验码高位
;-----------------------------------------------------------;                  
JJ_Read_TxDt:                                 ;中转站发8个数字(42h~49h)   
                  set     PD.3                ; 
                  set     PD.3                ;
                  mov     A,42h               ;
                  mov     mp0,A               ;42h,43h,44h,45h,46h,47h,48h,49h
JJ_RTx_8B:                                    ;
                  mov     A,r0                ;
                  call    TRANSMIT            ;发送  
                  inc     mp0                 ;
                  mov     A,4Ah               ;check 4Ah 
                  xor     A,mp0               ;
                  snz     z                   ;
                  jmp     JJ_RTx_8B           ;
                  clr     PD.3                ;
                  call    JJ_Delay            ;
                  ret                         ;
             
;***************************************************************;
JJ_Read_MW02_04:                              ;中转站发 01 03 00 02 00 03 CRCL CRCH
                  mov     A,02h               ;
                  mov     Tx_Start_AddrL,A    ;起始地址低位    
                  mov     A,03h               ;
                  mov     Tx_DtLength_L,A     ;数据长度低位
                  jmp     JJ_Read_RUN
;***************************************************************;
JJ_Read_MW05_09:                              ;中转站发 01 03 00 05 00 05 CRCL CRCH
                  mov     A,05h               ;
                  mov     Tx_Start_AddrL,A    ;起始地址低位    
                  mov     A,05h               ;
                  mov     Tx_DtLength_L,A     ;数据长度低位
                  jmp     JJ_Read_RUN
;***************************************************************;
JJ_Read_MW10:                                 ;中转站发 01 03 00 0a 00 01 CRCL CRCH
                  mov     A,0ah               ;
                  mov     Tx_Start_AddrL,A    ;起始地址低位    
                  mov     A,01h               ;
                  mov     Tx_DtLength_L,A     ;数据长度低位
                  jmp     JJ_Read_RUN                  
                  
;***********************************************************************;
;***********************************************************************;
;***********************************************************************;
;                                                                       ;
;                         中转站初始清0 MW00,MW01                      ;
;                                                                       ;
;***********************************************************************;  
JJ_CLR_MW00_01:                               ;
                  CALL    JJ_Header_Set       ;
                  mov     A,00h               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位00    
                  jmp     JJ_Look_001         ;
;***********************************************************************;
;                                                                       ;
;                        中转站初始清0 MW02 ~ MW09                      ;
;                                                                       ;
;***********************************************************************;  
JJ_CLR_MW02_09:                               ;
                  CALL    JJ_Header_Set       ;
                  mov     A,02h               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位    
                  mov     A,08h               ; 
                  mov     TTx_DtLength_L,A    ;数组长度低位
                  mov     A,10h               ;
                  mov     TTx_DtLength,A      ;数组字节数
            
                  clr     TTx_Data1_H         ;数组1高位
                  mov     A,01h               ;1号机组
                  mov     TTx_Data1_L,A       ;数组1低位
                  clr     TTx_Data2_H         ;数组2高位
                  clr     TTx_Data2_L         ;数组2低位
                  clr     TTx_Data3_H         ;数组3高位
                  clr     TTx_Data3_L         ;数组3低位
                  clr     TTx_Data4_H         ;数组4高位
                  mov     A,01h               ;
                  mov     TTx_Data4_L,A       ;数组4低位
                  jmp     JJ_Look_002         ; 

;***********************************************************************;
;***********************************************************************;
;*****************>      中 转 站 向 文 本 写 数      <*****************;
;***********************************************************************;
;                                                                       ;
;                        中转站更新在线机组数量状况                     ;
;                                                                       ;
;***********************************************************************;  
JJ_ONWORK_Number:                             ;在线机组数量1A 
                  CALL    JJ_Header_Set       ;01 10 00 1A 00 01 02 00 00 A4 6A
                  mov     A,1Ah               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位    
                  mov     A,01h               ;    从机号
                  mov     TTx_DtLength_L,A    ;数组长度低位
                  mov     A,02h               ;
                  mov     TTx_DtLength,A      ;数组字节数
                
                  mov     A,00h               ; 
                  mov     TTx_Data1_H,A       ;数组1高位
                  mov     A,00h               ;
                  mov     TTx_Data1_L,A       ;数组1低位
               
                 ;call    JG1_RD_EEPROM       ;读出在线机组数量给文本显示
                  
                  call    JJ_CHKCRC_DSP06     ;求CRC码
                
                  mov     A,RMB_CRCL          ;
                  mov     TTx_Data2_L,A       ;CRC效验码低位 
                  mov     A,RMB_CRCH          ; 
                  mov     TTx_Data2_H,A       ;CRC效验码高位 
             
                  jmp     JJ_Tx_11bytes       ; 

;***********************************************************************;
;                                                                       ;
;                        中转站更新在线机组故障状况                     ;
;                                                                       ;
;***********************************************************************;  
JJ_ONWORK_Device:                             ;在线机组设备状态0E,0F
                  CALL    JJ_Header_Set       ;
                  mov     A,0Eh               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位    
JJ_Look_001:            
                  mov     A,02h               ; 
                  mov     TTx_DtLength_L,A    ;数组长度低位
                  mov     A,04h               ;
                  mov     TTx_DtLength,A      ;数组字节数
                  
                  mov     A,00h               ; 
                  mov     TTx_Data1_H,A       ;数组1高位
                  mov     A,01h               ;1号机组   从机号
                  mov     TTx_Data1_L,A       ;数组1低位
                  mov     A,00h               ; 
                  mov     TTx_Data2_H,A       ;数组2高位
                  mov     A,00h               ;
                  mov     TTx_Data2_L,A       ;数组2低位
               
                 ;call    JG2_RD_EEPROM       ;读出在线机组设备状态给文本显示
                  call    JJ_CHKCRC_DSP05     ;求CRC码
                
                  mov     A,RMB_CRCL          ;
                  mov     TTx_Data3_L,A       ;CRC效验码低位 
                  mov     A,RMB_CRCH          ; 
                  mov     TTx_Data3_H,A       ;CRC效验码高位 
             
                  jmp     JJ_Tx_13bytes       ; 

;***********************************************************************;
;                                                                       ;
;                        中转站更新在线机组故障状况                     ;
;                                                                       ;
;***********************************************************************;  
JJ_ONWORK_ERR:                                ;在线机组故障状况10,11
                  CALL    JJ_Header_Set       ;
                  mov     A,10h               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位    
                  mov     A,02h               ; 
                  mov     TTx_DtLength_L,A    ;数组长度低位
                  mov     A,04h               ;
                  mov     TTx_DtLength,A      ;数组字节数
                  
                  mov     A,00h               ; 
                  mov     TTx_Data1_H,A       ;数组1高位
                  mov     A,01h               ;1号机组   从机号
                  mov     TTx_Data1_L,A       ;数组1低位
                  mov     A,00h               ; 
                  mov     TTx_Data2_H,A       ;数组2高位
                  mov     A,00h               ;
                  mov     TTx_Data2_L,A       ;数组2低位
               
                 ;call    JG3_RD_EEPROM       ;读出在线机组故障状况给文本显示
                  call    JJ_CHKCRC_DSP04     ;求CRC码
                
                  mov     A,RMB_CRCL          ;
                  mov     TTx_Data3_L,A       ;CRC效验码低位 
                  mov     A,RMB_CRCH          ; 
                  mov     TTx_Data3_H,A       ;CRC效验码高位 
             
                  jmp     JJ_Tx_13bytes       ; 


;***********************************************************************;
;                                                                       ;
;                        中转站更新在线机组温度状况                     ;
;                                                                       ;
;***********************************************************************;  
JJ_ONWORK_Temper:                             ;在线机组温度状况12,13,14,15,16,17,18,19
                  CALL    JJ_Header_Set       ;01 10 00 12 00 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A2 BC
                  mov     A,12h               ;
                  mov     TTx_Start_AddrL,A   ;起始地址低位    
                  mov     A,08h               ; 
                  mov     TTx_DtLength_L,A    ;数组长度低位
                  mov     A,10h               ;
                  mov     TTx_DtLength,A      ;数组字节数
            
                  mov     A,00h               ; 
                  mov     TTx_Data1_H,A       ;数组1高位
                  mov     A,01h               ;1号机组   从机号
                  mov     TTx_Data1_L,A       ;数组1低位
                  mov     A,00h               ; 
                  mov     TTx_Data2_H,A       ;数组2高位
                  mov     A,00h               ;
                  mov     TTx_Data2_L,A       ;数组2低位
                  mov     A,00h               ; 
                  mov     TTx_Data3_H,A       ;数组3高位
                  mov     A,00h               ;
                  mov     TTx_Data3_L,A       ;数组3低位
                  mov     A,00h               ; 
                  mov     TTx_Data4_H,A       ;数组4高位
                  mov     A,00h               ;
                  mov     TTx_Data4_L,A       ;数组4低位
JJ_Look_002:                
                  mov     A,00h               ; 
                  mov     TTx_Data5_H,A       ;数组5高位
                  mov     A,00h               ;
                  mov     TTx_Data5_L,A       ;数组5低位
                  mov     A,00h               ; 
                  mov     TTx_Data6_H,A       ;数组6高位
                  mov     A,00h               ;
                  mov     TTx_Data6_L,A       ;数组6低位
                  mov     A,00h               ; 
                  mov     TTx_Data7_H,A       ;数组7高位
                  mov     A,00h               ;
                  mov     TTx_Data7_L,A       ;数组7低位
                  mov     A,00h               ; 
                  mov     TTx_Data8_H,A       ;数组8高位
                  mov     A,00h               ;
                  mov     TTx_Data8_L,A       ;数组8低位

⌨️ 快捷键说明

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