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

📄 ad7708.asm

📁 AD7708数据采集软件
💻 ASM
字号:

		USING	0

; Port Definition
ADCRESET	BIT	P3.6
ADCCS		BIT	P3.7
ADCRDY		BIT	P3.2
DQ_LOW		EQU	P2
DQ_HIGH		EQU	P1

DATAVAL		BIT	20H.0
DQVAL		BIT	P1.0

		ORG	0000H
		LJMP	_START

		ORG	0003H
		LJMP	_EXINT0

		ORG	000BH
		RETI

		ORG	0013H
		RETI

		ORG	001BH
		RETI

		ORG	0023H
		LJMP	_SERIALPORT

		ORG	0030H
_START:
		MOV	SP,#70H		; Stack: 70H~7FH

		MOV	SCON,#10H	; Mode 0, REN = 1
		MOV	PCON,#80H
		CLR	ADCCS
		SETB	ADCRESET
		SETB	IT0		; Edge trigger
		SETB	EX0
		SETB	ES
		SETB	EA
		CLR	DATAVAL
		SETB	DQVAL

		MOV	A,#07H		; Next: write to the I/O Control Reg
		SETB	TI
		MOV	A,#00H
		SETB	TI
		MOV	A,#03H		; Next: write to the Filter Reg
		SETB	TI
		MOV	A,#0DH
		SETB	TI
		MOV	A,#02H		; Next: ADC Control Reg
		SETB	TI
		MOV	A,#8FH
		SETB	TI
		MOV	A,#01H		; Next: Mode Reg
		SETB	TI
		MOV	A,#03H
		SETB	TI

_MAINLOOP:
		JNB	DATAVAL,$	; Waiting for the convertion data
		CLR	DATAVAL
		MOV	DQ_LOW,R7
		MOV	DQ_HIGH,R6
		CLR	DQVAL
		NOP
		NOP
		NOP
		NOP
		NOP
		SETB	DQVAL
		SJMP	_MAINLOOP

_EXINT0:
		CLR	EA
		MOV	A,#44H
		ACALL	_SWAP
		MOV	SBUF,A
		JNB	TI,$
		CLR	TI

		JNB	RI,$
		CLR	RI
		MOV	A,SBUF
		ACALL	_SWAP
		MOV	R6,A		; High order byte

		MOV	A,#44H
		ACALL	_SWAP
		MOV	SBUF,A
		JNB	TI,$
		CLR	TI

		JNB	RI,$
		CLR	RI
		MOV	A,SBUF
		ACALL	_SWAP
		MOV	R7,A		; Low order byte
		SETB	EA
		RETI


_SERIALPORT:
		CLR	ES
		JB	TI,_SERIALPORT_TRANSMIT
		CLR	RI
		MOV	A,SBUF
		ACALL	_SWAP
		SJMP	_SERIALPORT_EXIT

_SERIALPORT_TRANSMIT:
		CLR	TI
		ACALL	_SWAP
		MOV	SBUF,A
		JNB	TI,$
		CLR	TI

_SERIALPORT_EXIT:
		SETB	ES
		RETI



_SWAP:
		PUSH	AR0
		PUSH	AR1
		PUSH	AR2
		PUSH	PSW
		MOV	R2,#08H
		MOV	R1,#00H
_SWAP_REPEAT:
		CLR	C
		RRC	A
		MOV	R0,A
		MOV	A,R1
		RLC	A
		MOV	R1,A
		MOV	A,R0
		DJNZ	R2,_SWAP_REPEAT

		MOV	A,R1
		POP	PSW
		POP	AR2
		POP	AR1
		POP	AR0
		RET

		END

⌨️ 快捷键说明

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