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

📄 adcvtxl.a96

📁 80c296sa平台的ads7864采集程序
💻 A96
字号:
;----------------------------------------------------------------
;			A/D CONVERTION MODULE			-
;----------------------------------------------------------------    
; By Niu.Y.J
; Creat on 03/16/2002.
; Last version: 08/15/2002.
;---------------------------------------

ADCVTXL	 module 
$include(80c296sa.inc)
$include(pmain.inc)


; LABLES

	CYBASE	EQU	0F800H		; base address of A/D buffer 
  	BASE0	EQU	CYBASE+700H
  
	       	
;==========================  SUB START  ========================

	CSEG FAR

;************************   INI ADCONVT   ***********************
; Name	: INI_AD.						*
; Func	: initialize variables that about AD convertion.	*
; Input	: no.							*
; Output: no.							*
; Temp	: TMPAL.						*
; Call	: no.							*
;****************************************************************

	PUBLIC INI_AD

INI_AD:	ESTB	TMPAL,INGRP		; select group 2.
;;INI_AD:	ELDB	TMPAL,INGRP		; select group 1.
	LD	REC_PT,#LSW AD_BASE	; rec_pointer.
	LD	REC_PTH,#MSW AD_BASE 
	
	RET

	RST
	RST
	RST

;*************************  AD CONVERT  *************************
; Name	: ADCONVT.						*
; Func	: get data from 12 channels in two times, and write	*
;	  them to sample buffer and wave-record buffer.		*
; Input	: REC_PT,REC_PTH, recorder pointer.			*
; Output: REC_PT,REC_PTH.					*
; Temp	: TMPAX;DPTR0,DPTR0H;DPTR1,DPTR1H			*
; Call	: RESULT_RD.						*
;****************************************************************

	PUBLIC	ADCONVT

ADCONVT:PUSH	TMPAX
	PUSH	DPTR0
	PUSH	DPTR0H
	PUSH	DPTR1
	PUSH	DPTR1H
	PUSH	WSR
	LD	DPTR1,#LSW BASE0+12
	LD	DPTR1H,#MSW BASE0
	ADD	REC_PT,#12
	ESTB	R0,RSTAD
	LD	DPTR0,#LSW CSAD
	LD	DPTR0H,#MSW CSAD
	ELDB	R0,SAMPLE
	LDB	TMPAL,#20
	DJNZ	TMPAL,$
	ELDB	TMPAL,INGRP
	;;ESTB	TMPAL,INGRP
	LCALL	RESULT_RD
	ESTB	R0,SAMPLE
	LDB	TMPAL,#10
	DJNZ	TMPAL,$
	LD	DPTR1,#LSW BASE0
	LD	DPTR1H,#MSW BASE0
	SUB	REC_PT,#24
	ESTB	R0,RSTAD
	LD	DPTR0,#LSW CSAD
	LD	DPTR0H,#MSW CSAD
	ELDB	R0,SAMPLE
	LDB	TMPAL,#20
	DJNZ	TMPAL,$
       	;;ELDB	TMPAL,INGRP
	LCALL	RESULT_RD
	ESTB	R0,SAMPLE
	ESTB	TMPAL,INGRP
	LDB	TMPAL,#10
	DJNZ	TMPAL,$
	ADD	REC_PT,#12
 	CMP	REC_PT,#1FC0H
	JLT	AD_END
	LD	REC_PT,#1000H
	LD	REC_PTH,#01H

AD_END:	POP	WSR
	POP	DPTR1H
	POP	DPTR1
	POP	DPTR0H
	POP	DPTR0
	POP	TMPAX
	RET

	RST
	RST
	RST


;***********************  AD RESULT READ  ***********************
; Name	: RESULT_RD.						*
; Func	: read the result, write to SCADA and REC buffer.	*
; Input	: DPTR1,DPTR1H,REC_PT,REC_PTH.				*
; Output: DPTR1,DPTR1H,REC_PT,REC_PTH.				*
; Temp	: TMPAX;DPTR0,DPTR0H.					*
; Call	: no.							*
;****************************************************************

RESULT_RD:
	NOP
AD_RD:	ELD	TMPAX,[DPTR0]+
	EST	TMPAX,[DPTR1]+
	EST	TMPAX,[REC_PT]+
	CMP	DPTR0,#LSW CSAD+0CH
	JLT	AD_RD
	RET
	
	RST
	RST
	RST

;-----------------------------------------------------------------

end

⌨️ 快捷键说明

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