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

📄 adc0808.asm

📁 AD双通道采集程序+proteus仿真 AD双通道采集程序+proteus仿真
💻 ASM
字号:
	   DPH_TEMP	EQU	20H
DPL_TEMP	EQU	21H
ORG	0000H
LJMP	STAT
ORG	0013H
LJMP	PINT1
ORG	0100H
STAT:	MOV	DPH_TEMP,#3EH
		MOV	DPL_TEMP,#0F8H
		MOV	R1,#40H
		MOV	R7,#08H
		MOV	4EH,#0AH
		SETB	IT1
KK:		SETB	EX1
		SETB	EA
		MOV	DPTR,#3EF8H
		MOVX	@DPTR,A
		NOP
		NOP
		
		LCALL DY10MS
		MOV	P1,4AH
		
		NOP
		NOP
		LJMP	KK
PINT1:PUSH	Acc
PUSH	0F0H
PUSH	PSW
PUSH	DPL	
PUSH	DPH
MOV	DPH,DPH_TEMP
MOV	DPL,DPL_TEMP
MOVX	A,@DPTR
MOV		@R1,A
DJNZ	4EH,XXXX
SJMP	NNNN
XXXX:INC		R1
MOV	A,#01H
XRL	DPL_TEMP,A
MOV	DPL,DPL_TEMP
MOVX	@DPTR,A

SJMP	GRETI
NNNN:CLR	EX1				
LCALL	AVER1
LCALL	AVER2
MOV 4EH,#0AH
MOV	R1,#40H  ;R1重新回到原来地址
MOV		DPL_TEMP,#0F8H
GRETI:POP	DPH
			POP	DPL
			POP	PSW
			POP	0F0H
			POP	Acc
			RETI

	 AVER1:
	 PUSH 02H 
	 MOV	4CH,#00H
			MOV	R2,#05H
			MOV	4AH,#00H	
			MOV	R0,#40H
AG1:MOV	A,@R0
MOV	B,#05H		;置除数		
DIV	AB				;每一项除以05H
ADD	A,4AH			;平均值累加
MOV	4AH,A			;回存
MOV	A,B				;读余数
ADD	A,4CH			;每一项余数累加
MOV	4CH,A			;回存
CLR	C						
SUBB	A,#05H		;余数试减05H
JC	T						;余数累加值<05H否?
INC	4AH					;余数累加值>05H,4AH自加1
MOV	4CH,A				;将余数累加值-05H后,回存
T:INC	R0				;
	INC	R0				;步长为2
	DJNZ	R2,AG1			;到5次了吗?
	MOV	A,4CH					;5次到了
	CJNE	A,#03H,T11	;与03相比较
T11:JC	T12					;余数<03吗?
	INC	4AH						;余数>03,4AH自加1
T12:POP	02H
RET							;余数<03H,返回

;=======================================================
;	求5次测量油压的平均值
;入口:温度测量值41H 43H 45H 47H 49H 
;出口:温度平均值4BH 温度平均值余数4DH
;占用资源:R0 R2 A B 
;=======================================================
AVER2:
PUSH	02H
MOV	4DH,#00H
MOV	R2,#05H
MOV	4BH,#00H
MOV	R0,#41H
AG2:MOV	A,@R0
MOV	B,#05H
DIV	AB
ADD	A,4BH
MOV	4BH,A
MOV	A,B
ADD	A,4DH
MOV	4DH,A
CLR	C
SUBB	A,#05H
JC	T2
INC	4BH
MOV	4DH,A
T2:INC	R0
INC	R0
DJNZ	R2,AG2
MOV	A,4CH
CJNE	A,#03H,T21
T21:JC	T22
INC	4BH
T22:
POP	02H
RET
DY10MS:

MOV	R2,#6
DLP1:MOV	R3,#250
DLP2:DJNZ	R3,DLP2
			DJNZ	R2,DLP1
			RET
		END

⌨️ 快捷键说明

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