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

📄 tem.asm

📁 一个温控的例子,可以控制温度
💻 ASM
📖 第 1 页 / 共 2 页
字号:
ZZP541:
		LJMP    WU2
ZZP55:
		JC      ZZP551
      	LCALL	WU1
ZZP551:
		LJMP    WU3
ZZP56:
		MOV   	A,36H
      	CJNE   	A,#05H,ZZP57
      	LJMP   	WU0
ZZP57:
		JC      ZZP571
      	LJMP    WU0
ZZP571:	
		LJMP    WU1
WU0:
		MOV 	TMOD,#01H
    	MOV 	R2,#16
    	SETB  	P3.4
LOOP1:
		MOV 	TH0,#0ECH
      	MOV 	TL0,#78H
      	SETB 	TR0
LOOP2:	JBC 	TF0,LOOP3
      	SJMP 	LOOP2
LOOP3: 	
		DJNZ 	R2,LOOPZ1
       	SETB   	P3.5
       	LJMP   	LLL
LOOPZ1:
		LCALL   ZHUANHUAN
      	LCALL   CHNTER
      	LCALL   SHOW    
		LJMP   	LOOP1
WU1:
		MOV 	TMOD,#11H
    	MOV 	R2,#4
    	MOV 	R6,#12
    	CLR 	P3.4
LOOP11:
		MOV   	TH0,#0ECH
      	MOV   	TL0,#78H
     	SETB    TR0
      	SJMP 	LOOP31     
LOOP21:
		MOV 	TH1,#0ECH
      	MOV 	TL1,#78H
      	SETB 	TR1
      	SJMP 	LOOP41
LOOP31:
		JBC 	TF0,LOOP51
      	SJMP 	LOOP31
LOOP41:
		JBC 	TF1,LOOP61
      	SJMP 	LOOP41     
LOOP51:
		DJNZ 	R2,LOOPZ11
       	SETB  	P3.4
       	SJMP 	LOOP21
LOOPZ11:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW     
        LJMP   	LOOP11      
LOOP61: 
		DJNZ 	R6,LOOPZ21 
        LJMP   	LLL
LOOPZ21 :
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW
        LJMP    LOOP21
WU2:
		MOV 	TMOD,#11H
   		MOV 	R2,#8
   		MOV 	R6,#8
   		CLR 	P3.4
LOOP12:
		MOV 	TMOD,#11H
      	MOV 	TH0,#0ECH
      	MOV 	TL0,#78H
      	SETB 	TR0
      	SJMP 	LOOP32
LOOP22:	
		MOV 	TMOD,#11H
       	MOV 	TH1,#0ECH
      	MOV 	TL1,#78H
      	SETB 	TR1
      	SJMP 	LOOP42
LOOP32:
		JBC 	TF0,LOOP52
       	SJMP 	LOOP32
LOOP42:
		JBC 	TF1,LOOP62
      	SJMP 	LOOP42
LOOP52: 
		DJNZ 	R2,LOOPZ12
       	SETB  	P3.4
       	SJMP 	LOOP22
LOOPZ12:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW
       	LJMP    LOOP12
LOOP62:
		DJNZ 	R6,LOOPZ22
       	LJMP   	LLL  
LOOPZ22: 
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW
		LJMP    LOOP22   
WU3:
		MOV 	TMOD,#11H
   		MOV 	R2,#12
   		MOV 	R6,#4
   		CLR 	P3.4
LOOP13:
		MOV 	TH0,#0ECH
      	MOV 	TL0,#78H
      	SETB 	TR0
      	SJMP 	LOOP33
LOOP23:
		MOV 	TH1,#0ECH
      	MOV 	TL1,#78H
      	SETB 	TR1
      	SJMP 	LOOP43
LOOP33:	
		JBC 	TF0,LOOP53
       	SJMP 	LOOP33
LOOP43:
		JBC 	TF1,LOOP63
      	SJMP 	LOOP43
LOOP53: 
		DJNZ 	R2,LOOPZ13
       	SETB  	P3.4
       	SJMP 	LOOP23
LOOPZ13:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW          
		LJMP   	LOOP13     
LOOP63: 
		DJNZ 	R6,LOOPZ23
        LJMP   	LLL
LOOPZ23:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW 
		LJMP   	LOOP23     
WU4:
		MOV 	TMOD,#01H
    	MOV 	R2,#16
    	CLR 	P3.4
LOOP14:
		MOV 	TH0,#0ECH
       	MOV 	TL0,#78H
       	SETB 	TR0
LOOP24:
		JBC 	TF0,LOOP34
       	SJMP 	LOOP24
LOOP34:
		DJNZ 	R2,LOOPZ14 
        SETB   	P3.4
        LJMP   	LLL
LOOPZ14:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW
		LJMP   	LOOP14 
WU5:
		MOV 	TMOD,#01H
    	MOV 	R2,#16
    	CLR  	P3.5
LOOP15:
		MOV 	TH0,#0ECH
      	MOV 	TL0,#78H
      	SETB 	TR0
LOOP25:
		JBC 	TF0,LOOP35
      	SJMP 	LOOP25
LOOP35: 
		DJNZ 	R2,LOOPZ15
       	SETB   	P3.5
       	LJMP   	LLL
LOOPZ15:
		LCALL   ZHUANHUAN
        LCALL   CHNTER
        LCALL   SHOW     
		LJMP   	LOOP15     
SHOW:	
		LCALL	SHIFT
     	MOV   	A,@R1
     	INC   	R1
     	MOV   	DPTR,#TAB
     	MOVC   	A,@A+DPTR
     	MOV    	P1,A
     	SETB   	P3.0
     	LCALL   DELAY3
     	CLR    	P3.0  
     	LCALL   DELAY3

     	MOV   	A,@R1
     	SWAP  	A
     	ANL  	A,#0FH
     	MOVC   	A,@A+DPTR
     	MOV   	P1,A
     	SETB   	P3.1
     	LCALL   DELAY3
     	CLR   	P3.1
    	LCALL   DELAY3

     	MOV  	A,@R1 
     	INC    	R1 
     	ANL   	A,#0FH
     	MOVC   	A,@A+DPTR
     	MOV   	P1,A
     	SETB   	P3.2
     	LCALL   DELAY3
     	CLR  	P3.2
     	LCALL   DELAY3
	
     	MOV   	A,@R1
     	INC    	R1
     	MOVC   	A,@A+DPTR
     	MOV    	P1,A
     	SETB   	P2.3
     	LCALL   DELAY3
     	CLR    	P2.3
     	LCALL   DELAY3

     	MOV   	A,@R1
     	SWAP   	A
     	ANL   	A,#0FH
     	MOVC   	A,@A+DPTR
     	MOV   	P1,A
     	SETB   	P2.1
     	LCALL   DELAY3
     	CLR   	P2.1
     	LCALL   DELAY3

     	MOV  	A,@R1  
     	ANL   	A,#0FH
     	MOVC   	A,@A+DPTR
     	MOV   	P1,A
     	SETB   	P2.2
     	LCALL   DELAY3
     	CLR   	P2.2
     	LCALL   DELAY3
   
      	CLR    P2.4
 		CLR    P2.5
		CLR    P2.6
		CLR    P2.7
    	SETB   P2.4
 		SETB   P2.5
		SETB   P2.6
		SETB   P2.7
     	LCALL   DELAY3
; 数字代码表
TAB:    DB  	3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
     	RET

SHIFT:
		MOV   	R1,#3DH
      	MOV   	A,25H
      	MOV   	B,#100
      	DIV   	AB
      	MOV   	@R1,A
      	INC   	R1
      	MOV   	A,#10
      	XCH   	A,B
      	DIV   	AB
      	SWAP   	A
      	ADD   	A,B
      	MOV   	@R1,A
      	INC    	R1
      	MOV   	A,28H
      	MOV   	@R1,A
      	INC   	R1
      	MOV   	A,34H
      	MOV   	B,#10
      	DIV   	AB
      	SWAP   	A
      	ADD   	A,B
      	MOV   	@R1,A
      	DEC   	R1
      	DEC   	R1
      	DEC   	R1
      	RET

DELAY1: 
		MOV  	R5,#10
DE11 :  
		MOV  	R4,#80
DE12:   
		DJNZ   	R4,DE12
        DJNZ   	R5,DE11
        RET

DELAY2: 
		MOV	R5,#20
DE21:   
		MOV     R4,#80
DE22:   
		DJNZ   	R4,DE22
        DJNZ  	R5,DE21
        RET

DELAY3: 
		MOV     R5,#30
DE31:   
		MOV     R4,#30
DE32:   
		DJNZ    R4,DE32
        DJNZ    R5,DE31
        RET

DELAY4: 
		MOV     R5,#100
DE41:   
		MOV     R4,#60
DE42:   
		DJNZ   	R4,DE42
        DJNZ  	R5,DE41
        RET

CHNTER: 
		MOV   	21H,#101    
        MOV   	22H,#0
        MOV   	A,@R0
        MOV   	B,21H
        MUL   	AB
        ADD   	A,22H
        MOV   	24H,A
        MOV   	A,B
        ADDC  	A,23H
        MOV   	25H,A
        RET

FILTER: 
		MOV   	A,31H
        CJNE   	A,32H,CMP1
        AJMP   	CMP2
CMP1:
		JNC	CMP2
     	XCH     A,32H
     	XCH     A,31H
CMP2:
		MOV     A,32H
     	CJNE    A,33H,CMP3
     	MOV     38H,A
     	RET
CMP3:
		JC      CMP4
     	MOV     38H,A
     	RET
CMP4: 
		MOV   	A,33H
      	CJNE    A,31H,CMP5
      	MOV     38H,A
      	RET
CMP5:
		JC      CMP6
     	XCH     A,31H
CMP6:
		MOV     38H,A
     	RET

MULT1:
		MOV	A,39H                
      	XRL    	A,#00H
      	JB     	ACC.7,NEGFU1
      	LJMP   	POS1
NEGFU1:
		MOV    	A,39H
      	CPL    	A
      	ADD    	A,#01H
      	MOV    	B,#02H
      	MUL    	AB
      	MOV    	3CH,A
		CPL    	A
      	ADD    	A,#01H
      	MOV    	36H,A
	RET
POS1: 
		MOV    	A,39H
      	MOV    	B,#02H
      	MUL   	AB
      	MOV    	36H,A 
      	RET             

MULT2:
		MOV    	A,3BH                
      	XRL    	A,#00H
      	JB     	ACC.7,NEGFU2
      	LJMP   	POS2
NEGFU2: 
		MOV    	A,3BH
        CPL    	A
        ADD     A,#01H
        MOV     B,#2
        MUL     AB
        MOV     2CH,A
        MOV     A,3BH
        CPL     A
        ADD     A,#01H
        MOV     B,#2
		DIV     AB
		MOV     2DH,A
		MOV     B,2CH
		ADD     A,B  
        MOV     3CH,A
        CPL     A
        ADD     A,#01H
		MOV     37H,A
	RET
POS2: 
		MOV     A,3BH
    	MOV     B,#2
		MUL     AB
		MOV     2CH,A
		MOV     A,3BH
		MOV     B,#2
		DIV     AB
		MOV     2DH,A
		MOV     B,2CH
		ADD     A,B  
		MOV    	37H,A
      	RET

WUCHA:  
		MOV  	A,34H
        MOV     B,#10
        MUL     AB
        MOV     2AH,A
        MOV     B,28H
        ADD     A,B
        MOV     2BH,A
        MOV     A,25H
        MOV     B,2BH
        CLR     C
        SUBB    A,B
        MOV     2EH,A
	RET

ZHUANHUAN:
 		SETB  	P3.3  
 		NOP
 		NOP
 		CLR   	P3.3 		; 将地址传送到ADC
 		NOP
 		NOP
 		SETB  	P2.0 
 		NOP
 		NOP
 		CLR   	P2.0 		; 启动转换
 		NOP
 		NOP
WAIT:
 		JB    	P3.7, MOVD 	; 结束转换
 		AJMP   	WAIT      	; 等待转换结束
MOVD:
 		CLR   	P3.6
 		NOP
 		NOP
 		SETB  	P3.6       	; 在ADC端口输出转换数据
 		NOP
 		NOP
 		MOV   	A,P0	  	; 将ADC中的数据保存到Acc
		MOV   	@R0,A	  	; 将Acc暂存到R0
		CLR   	P3.6	  	; DAC输出浮点数	
 		NOP
 	NOP
 	RET
END

⌨️ 快捷键说明

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