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

📄 rs485.asm

📁 This a good program
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        PUSH    	PSW
        INC     	XRLOW
        MOV     	A,XRLOW
        CJNE    	A,#0,EX0ISR_EX
        INC     	XRHIGH

EX0ISR_EX:
        POP			PSW
        POP	        ACC
        RETI
;===================================================
;==============EX1 INTERUPT ROUTINE================= 
EX1ISR:
	INC				RPM
	RETI
;==================================================
;===============TIMER 0 INTERUPT ROUTINE===========

T0ISR:
        CLR			TR0
        MOV     	TH0,#HIGH(-50000)
        MOV     	TL0,#LOW(-50000)
        SETB    	TR0
        DJNZ    	TC0,T0ISREX
;	CPL		BUZZ
        MOV     	TC0,#20
        SETB    	TC0_F
;	SETB		TC1_F
        MOV     	XRVHIGH,XRHIGH
        MOV     	XRVLOW,XRLOW
        MOV     	XRHIGH,#0
        MOV     	XRLOW,#0
	
T0ISREX:
        RETI

;==================================================




;====================================================

INPMSG1:
            	MOV             DATAPRT,#10000000B    
                CALL            CLOCK
                MOV             DPTR,#MSG1
                CALL            DISP
                CALL            SDLY
                RET
;====================================================

INPMSG2:
                MOV             DATAPRT,#10000000B    
                CALL            CLOCK
                MOV             DPTR,#MSG2
                CALL            DISP
                CALL            SDLY
                RET
;================PRINT ON LINE 2=================
OUTMSG1:
                MOV             DATAPRT,#11001001B    
                CALL            CLOCK
                MOV				A,TVAL
				MOV				B,#100
				DIV				AB
				MOV				TBCD1,A
				MOV				A,B
				MOV				B,#10
				DIV				AB
				MOV				TBCD2,A
				MOV				TBCD3,B
				MOV				A,TBCD1
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS	              
                CALL            SDLY
                MOV             DATAPRT,#11001010B    
                CALL            CLOCK
                MOV				A,TBCD2
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#11001011B    
                CALL            CLOCK
                MOV				A,TBCD3
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
				RET

;================PRINT ON LINE 2=================
OUTMSG2:
                MOV             DATAPRT,#11001001B    
                CALL            CLOCK
				MOV				A,RBCD3
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#11001010B    
                CALL            CLOCK
                MOV				A,RBCD2
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#11001011B    
                CALL            CLOCK
                MOV				A,RBCD1
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#11001100B    
                CALL            CLOCK
                MOV				A,RBCD0
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
				RET

;===================PRINT LINE 1====================
LINE1:
                MOV             DATAPRT,#10000000B    
                CALL            CLOCK
                MOV             DPTR,#MSG3
                CALL            DISP
                CALL            SDLY

;===================PRINT LINE 3====================

                MOV             DATAPRT,#10000101B    
                CALL            CLOCK
                MOV				A,TBCD1
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#10000110B    
                CALL            CLOCK
                MOV				A,TBCD2
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#10000111B    
                CALL            CLOCK
                MOV				A,TBCD3
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY

;===================PRINT LINE 4====================

                MOV             DATAPRT,#10010000B    
                CALL            CLOCK
                MOV				A,RBCD3
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#10010001B    
                CALL            CLOCK
                MOV				A,RBCD2
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#10010010B    
                CALL            CLOCK
                MOV				A,RBCD1
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#10010011B    
                CALL            CLOCK
                MOV				A,RBCD0
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
				RET

;===================PRINT LINE 2====================
LINE2:
                MOV             DATAPRT,#11000000B    
                CALL            CLOCK
                MOV             DPTR,#MSG4
                CALL            DISP
                CALL            SDLY


                RET

;===================PRINT LINE 3====================

LINE3:
                MOV             DATAPRT,#11000101B    
                CALL            CLOCK
                MOV				A,BCD3
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#11000110B    
                CALL            CLOCK
                MOV				A,BCD2
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#11000111B    
                CALL            CLOCK
                MOV				A,BCD1
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
		RET

;===================PRINT LINE 4====================

LINE4:
                MOV             DATAPRT,#11010000B    
                CALL            CLOCK
                MOV				A,BCD3
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY                
                MOV             DATAPRT,#11010001B    
                CALL            CLOCK
                MOV				A,BCD2
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#11010010B    
                CALL            CLOCK
                MOV				A,BCD1
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
                MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
                MOV             DATAPRT,#11010011B    
                CALL            CLOCK
                MOV				A,BCD0
				ANL				A,#0FH
				ORL				A,#30H
				SETB			RS
       	        MOV             DATAPRT,A
				CALL			CLOCK
				CALL			SDLY
				CLR				RS              
                CALL            SDLY
				RET

;============16 BIT BCD CONVERSION ROUTINE=========
BCD_R:

                MOV     BCD0,#0
                MOV     BCD1,#0
                MOV     BCD2,#0
                MOV     BCD3,#0
                MOV     BCD4,#0
                MOV     A,RPMLOW
                MOV     B,#10
                DIV     AB	
                MOV     BCD0,B            
                MOV     BCD1,A            
                MOV     A,RPMHIGH            
                JZ      SPRING 
                MOV     B,#10
                DIV     AB
                MOV     BCD2,B           
                MOV     BCD3,A
                MOV     R0,#BCD2         
                ACALL   TRANSF
                INC     R0             
                ACALL   TRANSF        
SPRING:
                MOV     R0,#BCD0       
                JMP     DECADJ
TRANSF:
                MOV     A,@R0
                MOV     B,#6
                MUL     AB
                DEC     R0
                DEC     R0
                ADD     A,@R0
                MOV     @R0,A
                INC     R0
                INC     R0
                MOV     A,@R0
                MOV     B,#5
                MUL     AB
                DEC     R0
                ADD     A,@R0
                MOV     @R0,A
                INC     R0
                MOV     A,@R0
                RL      A               
                MOV     @R0,A
                RET

DECADJ:
                MOV     A,@R0
DECLOP:
                MOV     B,#10
                DIV     AB
                MOV     @R0,B
                INC     R0
                ADD     A,@R0
                MOV     @R0,A
	
                CJNE    R0,#BCD4,DECLOP
		RET
		
;===================DISPLAY LINE===================
DISP:
                SETB            RS
                MOV             R3,#00H
BAK:
                MOV             A,R3
                MOVC            A,@A+DPTR
                MOV             DATAPRT,A
                CALL            CLOCK
                INC				R3  
                CJNE            R3,#20,BAK
                CLR             RS
                RET

;===============150 uS SMALL DELAY===============
SDLY:
                MOV             R6,#01H
                MOV             R7,#0B0H         
                DJNZ            R7,$
                DJNZ            R6,$-4
                RET

;=============DELAY & EN,DISABLE===============
CLOCK: 
               CALL            SDLY
               CLR             EN
               CALL            SDLY
               SETB            EN
               RET 

;================CLEAR DISPLAY===================
CDIS:
                MOV             DATAPRT,#01H
                CALL            CLOCK
                MOV             DATAPRT,#02H
                CALL            CLOCK
		RET

;==================================================
MSG1:           DB              ' PLEASE ENTER TEMP. '
MSG2:           DB              'PLZ ENTER RPM MOTOR.'
MSG3:           DB              'S_TP=   C,S_RPM=    '
MSG4:           DB              'C_TP=   C,C_RPM=    '

		END

⌨️ 快捷键说明

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