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

📄 yq9.asm

📁 单片机与上微机通信的汇编语言程序 支持485传输协议
💻 ASM
📖 第 1 页 / 共 5 页
字号:
DJM1OH  EQU    01H
DJM1OL  EQU    0F4H
DJM1RH  EQU    01H
DJM1RL  EQU    90H

DJM2OH  EQU    01H
DJM2OL  EQU    90H
DJM2RH  EQU    01H
DJM2RL  EQU    86H
DJM3OH  EQU    01H
DJM3OL  EQU    2CH
DJM3RH  EQU    01H
DJM3RL  EQU    22H
DJM4OH  EQU    01H
DJM4OL  EQU    5EH
DJM4RH  EQU    01H
DJM4RL  EQU    54H

PWOFC   EQU    03H
	ORG   0000H

	LJMP  STAR
        LJMP  INT0E     
	ORG   0023H
	LJMP  SIOI
	ORG   0030H
  STAR: NOP
	MOV   IE,#00H
	MOV   SP,#07H
	LCALL RRAM	  
	LCALL REST
        LCALL DEL1S
  MAIN: NOP
        LCALL WDOG
        LCALL CHSELT    
        LCALL DATLB     
                        
        LCALL WDOG
        LCALL WDOG
        MOV   R6,46H
        MOV   R5,45H
        LCALL DIV32     
        LCALL PUTFZ
        LCALL OUT
        MOV   A,40H
        INC   A
        ANL   A,#07H
        MOV   40H,A
        LCALL TXSS      
        INC   57H
        CLR   C
        MOV   A,57H
        SUBB  A,#50
        JC    MAIN
        LCALL REST
        LJMP  MAIN

 DATLB: NOP
        LCALL WDOG
        LCALL INDAT    
        LCALL WDOG
        LCALL INDAT     
        LCALL WDOG
        MOV   45H,48H
        MOV   46H,49H
        MOV   47H,#00H
        LCALL INDAT     
        LCALL WDOG
        MOV   A,45H
        ADD   A,48H
        MOV   45H,A
        MOV   A,46H
        ADDC  A,49H
        MOV   46H,A
        MOV   A,47H
        ADDC  A,#00H
        MOV   47H,A
        LCALL INDAT     
        LCALL WDOG
        MOV   A,45H
        ADD   A,48H
        MOV   45H,A
        MOV   A,46H
        ADDC  A,49H
        MOV   46H,A
        MOV   A,47H
        ADDC  A,#00H
        MOV   47H,A
        LCALL INDAT    
        LCALL WDOG
        MOV   A,45H
        ADD   A,48H
        MOV   45H,A
        MOV   A,46H
        ADDC  A,49H
        MOV   46H,A
        MOV   A,47H
        ADDC  A,#00H
        MOV   47H,A
        NOP            
        MOV   A,47H
        RRC   A
        MOV   47H,A
        MOV   A,46H
        RRC   A
        MOV   46H,A
        MOV   A,45H
        RRC   A
        MOV   45H,A
        MOV   A,47H
        RRC   A
        MOV   47H,A
        MOV   A,46H
        RRC   A
        MOV   46H,A
        MOV   A,45H
        RRC   A
        MOV   45H,A
        RET

   OUT: NOP  
        MOV   A,P1
        ANL   A,#0C0H
        XRL   A,#00H
        JNZ   OUT1
        LJMP  OUT000    
  OUT1: MOV   A,P1
        ANL   A,#0C0H
        XRL   A,#40H
        JNZ   OUT2
        LJMP  OUT100    
  OUT2: MOV   A,P1
        ANL   A,#0C0H
        XRL   A,#80H
        JNZ   OUT3
        LJMP  OUT200    
  OUT3: MOV   A,P1
        ANL   A,#0C0H
        XRL   A,#0C0H
        JNZ   OUT4
        LJMP  OUT300    
  OUT4: RET

;OUT000: NOP  
        SETB  P2.0
        SETB  P2.1
        SETB  P2.2
        SETB  P2.3
        MOV   2CH,#00H
        RET

OUT000: NOP  
        CLR   C         
        MOV   A,30H
        SUBB  A,#DJM1OL
        MOV   A,31H
        SUBB  A,#DJM1OH
        JC    OUT011    
        MOV   A,25H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT010
        MOV   A,25H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,25H
        ANL   A,#0F0H
        ADD   A,B
        MOV   25H,A
        LJMP  OUT014
OUT010: CLR   P2.0     
        SETB  2CH.0
        SETB  2CH.4
        MOV   25H,#00H
        LJMP  OUT014
OUT011: CLR   C
        MOV   A,30H
        SUBB  A,#DJM1RL
        MOV   A,31H
        SUBB  A,#DJM1RH
        JC    OUT012
        LJMP  OUT014   
OUT012: MOV   A,25H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT013
        MOV   A,25H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   25H,A
        LJMP  OUT014
OUT013: MOV   25H,#00H 
        SETB  P2.0
        CLR   2CH.0
        CLR   2CH.4
OUT014: NOP
        CLR   C        
        MOV   A,32H
        SUBB  A,#DJM2OL
        MOV   A,33H
        SUBB  A,#DJM2OH
        JC    OUT021    
        MOV   A,26H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT020
        MOV   A,26H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,26H
        ANL   A,#0F0H
        ADD   A,B
        MOV   26H,A
        LJMP  OUT024
OUT020: CLR   P2.1     
        SETB  2CH.1
        SETB  2CH.5
        MOV   26H,#00H
        LJMP  OUT024
OUT021: CLR   C        
        MOV   A,32H
        SUBB  A,#DJM2RL
        MOV   A,33H
        SUBB  A,#DJM2RH
        JNC   OUT024   
OUT022: MOV   A,26H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT023
        MOV   A,26H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   26H,A
        LJMP  OUT024
OUT023: MOV   26H,#00H  
        SETB  P2.1
        CLR   2CH.1
        CLR   2CH.5
OUT024: NOP
        CLR   C        
        MOV   A,34H
        SUBB  A,#DJM3OL
        MOV   A,35H
        SUBB  A,#DJM3OH
        JC    OUT031    
        MOV   A,27H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT030
        MOV   A,27H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,27H
        ANL   A,#0F0H
        ADD   A,B
        MOV   27H,A
        LJMP  OUT034
OUT030: CLR   P2.2     
        SETB  2CH.2
        SETB  2CH.6
        MOV   27H,#00H
        LJMP  OUT034
OUT031: CLR   C        
        MOV   A,34H
        SUBB  A,#DJM3RL
        MOV   A,35H
        SUBB  A,#DJM3RH
        JNC   OUT034   
OUT032: MOV   A,27H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT033
        MOV   A,27H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   27H,A
        LJMP  OUT034
OUT033: MOV   27H,#00H  
        SETB  P2.2
        CLR   2CH.2
        CLR   2CH.6
OUT034: NOP
        CLR   C        
        MOV   A,36H
        SUBB  A,#DJM4OL
        MOV   A,37H
        SUBB  A,#DJM4OH
        JC    OUT041   
        MOV   A,28H    
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT040
        MOV   A,28H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,28H
        ANL   A,#0F0H
        ADD   A,B
        MOV   28H,A
        LJMP  OUT044
OUT040: CLR   P2.3     
        SETB  2CH.3
        SETB  2CH.7
        MOV   28H,#00H
        LJMP  OUT044
OUT041: CLR   C        
        MOV   A,36H
        SUBB  A,#DJM4RL
        MOV   A,37H
        SUBB  A,#DJM4RH
        JNC   OUT044   
OUT042: MOV   A,28H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT043
        MOV   A,28H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   28H,A
        LJMP  OUT044
OUT043: MOV   28H,#00H  
        SETB  P2.3
        CLR   2CH.3
        CLR   2CH.7
OUT044: NOP
        RET


OUT100: NOP  
        CLR   C        
        MOV   A,30H
        SUBB  A,#DJM1OL
        MOV   A,31H
        SUBB  A,#DJM1OH
        JC    OUT111    
        MOV   A,25H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT110
        MOV   A,25H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,25H
        ANL   A,#0F0H
        ADD   A,B
        MOV   25H,A
        LJMP  OUT114
OUT110: CLR   P2.0     
        SETB  2CH.0
        SETB  2CH.4
        MOV   25H,#00H
        LJMP  OUT114
OUT111: CLR   C
        MOV   A,30H
        SUBB  A,#DJM1RL
        MOV   A,31H
        SUBB  A,#DJM1RH
        JC    OUT112
        LJMP  OUT114   
OUT112: MOV   A,25H   
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT113
        MOV   A,25H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   25H,A
        LJMP  OUT114
OUT113: MOV   25H,#00H  
        SETB  P2.0
        CLR   2CH.0
        CLR   2CH.4
OUT114: NOP
        CLR   C        
        MOV   A,32H
        SUBB  A,#DJM1OL
        MOV   A,33H
        SUBB  A,#DJM1OH
        JC    OUT121    
        MOV   A,26H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT120
        MOV   A,26H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,26H
        ANL   A,#0F0H
        ADD   A,B
        MOV   26H,A
        LJMP  OUT124
OUT120: CLR   P2.1     
        SETB  2CH.1
        SETB  2CH.5
        MOV   26H,#00H
        LJMP  OUT124
OUT121: CLR   C
        MOV   A,32H
        SUBB  A,#DJM1RL
        MOV   A,33H
        SUBB  A,#DJM1RH
        JC    OUT122
        LJMP  OUT124  
OUT122: MOV   A,26H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT123
        MOV   A,26H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   26H,A
        LJMP  OUT124
OUT123: MOV   26H,#00H  
        SETB  P2.1
        CLR   2CH.1
        CLR   2CH.5
OUT124: NOP
        CLR   C         
        MOV   A,34H
        SUBB  A,#DJM1OL
        MOV   A,35H
        SUBB  A,#DJM1OH
        JC    OUT131    
        MOV   A,27H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT130
        MOV   A,27H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,27H
        ANL   A,#0F0H
        ADD   A,B
        MOV   27H,A
        LJMP  OUT134
OUT130: CLR   P2.2     
        SETB  2CH.2
        SETB  2CH.6
        MOV   27H,#00H
        LJMP  OUT134
OUT131: CLR   C
        MOV   A,34H
        SUBB  A,#DJM1RL
        MOV   A,35H
        SUBB  A,#DJM1RH
        JC    OUT132
        LJMP  OUT134   
OUT132: MOV   A,27H   
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT133
        MOV   A,27H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   27H,A
        LJMP  OUT134
OUT133: MOV   27H,#00H  
        SETB  P2.2
        CLR   2CH.2
        CLR   2CH.6
OUT134: NOP
        CLR   C         
        MOV   A,36H
        SUBB  A,#DJM1OL
        MOV   A,37H
        SUBB  A,#DJM1OH
        JC    OUT141    
        MOV   A,28H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT140
        MOV   A,28H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,28H
        ANL   A,#0F0H
        ADD   A,B
        MOV   28H,A
        LJMP  OUT144
OUT140: CLR   P2.3    
        SETB  2CH.3
        SETB  2CH.7
        MOV   28H,#00H
        LJMP  OUT144
OUT141: CLR   C
        MOV   A,36H
        SUBB  A,#DJM1RL
        MOV   A,37H
        SUBB  A,#DJM1RH
        JC    OUT142
        LJMP  OUT144   
OUT142: MOV   A,28H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT143
        MOV   A,28H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   28H,A
        LJMP  OUT144
OUT143: MOV   28H,#00H  ;复电
        SETB  P2.3
        CLR   2CH.3
        CLR   2CH.7
OUT144: NOP
        RET


OUT200: NOP  
        CLR   C        
        MOV   A,30H
        SUBB  A,#DJM2OL
        MOV   A,31H
        SUBB  A,#DJM2OH
        JC    OUT211    
        MOV   A,25H     
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT210
        MOV   A,25H
        INC   A
        ANL   A,#0FH
        MOV   B,A
        MOV   A,25H
        ANL   A,#0F0H
        ADD   A,B
        MOV   25H,A
        LJMP  OUT214
OUT210: CLR   P2.0     
        SETB  2CH.0
        SETB  2CH.4
        MOV   25H,#00H
        LJMP  OUT214
OUT211: CLR   C
        MOV   A,30H
        SUBB  A,#DJM2RL
        MOV   A,31H
        SUBB  A,#DJM2RH
        JC    OUT212
        LJMP  OUT214   
OUT212: MOV   A,25H    
        SWAP  A
        ANL   A,#0FH
        XRL   A,#PWOFC
        JZ    OUT213
        MOV   A,25H
        SWAP  A
        INC   A
        ANL   A,#0FH
        SWAP  A
        MOV   25H,A
        LJMP  OUT214
OUT213: MOV   25H,#00H 
        SETB  P2.0
        CLR   2CH.0
        CLR   2CH.4
OUT214: NOP
        CLR   C         
        MOV   A,32H
        SUBB  A,#DJM2OL
        MOV   A,33H
        SUBB  A,#DJM2OH
        JC    OUT221    

⌨️ 快捷键说明

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