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

📄 data_log1.asm

📁 无速度pid的异步电机vf控制的dsp调试程序
💻 ASM
字号:
;====================================================================================
; File Name:	Data_log.asm
;
; Module Name: 	DATA_LOG					      
;
; Initialization Routine: DATA_LOG_INIT
;
; Originator:	Digital Control Systems Group
;			Texas Instruments
;
; Description:	Stores the realtime values of two user selectable s/w 
;		variables in the external data RAM provided on the 24x/24xx
;		EVM. Two s/w variables are selected by configuring two 
;		module inputs, dlog_iptr1 and dlog_iptr2, point to the 
;		address of the two variables. The starting addresses of the 
;		two RAM locations, where the data values are stored, are set 
;		to 8000h and 8400h. Each section allows logging of 400 data 
;		values.
;
;				|~~~~~~~~~~~~~~~~~~~~~~~|	  
;	dlog_iptr1	o------>|		  	|
;   	dlog_iptr2    	o------>|    DATA_LOG/ Data RAM |
;   	 		o------>|		     	|
;				|_______________________|	   
;
;
; Target dependency:	C2xx core only
;
;
;=====================================================================================
; History:
;-------------------------------------------------------------------------------------
; 9-15-2000	Release	Rev 1.0
;===========================================================================
;(To use this Module, copy this section to main system file)
;		.ref		DATA_LOG, DATA_LOG_INIT		;function call
;		.ref		dlog_iptr1, dlog_iptr2		;Inputs
;		.ref		trig_value						;Inputs
;===========================================================================
;Module definitions for external reference.
		.def		DATA_LOG, DATA_LOG_INIT		;function call
		.def		dlog_iptr1, dlog_iptr2		;Inputs
;		.def		trig_value						;Inputs
;===========================================================================

		.include	x24x_app.h


DLOG_PRESCALE	.set	1			;1 gives 50uS log rate
DL_BUFFER1_ADR	.set	08000h
DL_BUFFER2_ADR	.set	08400h
DLOG_CNTR_MAX	.set	400
dlog_skip_cnt_  .set     0

dlog_iptr1	.usect "data_log",1
dlog_iptr2	.usect "data_log",1
dlog_skip_cntr	.usect "data_log",1
dlog_cntr	.usect "data_log",1
task_ptr	.usect "data_log",1
graph_ptr1	.usect "data_log",1
graph_ptr2	.usect "data_log",1
trig_value	.usect "data_log",1



;-----------------------------------------------------------------------------
DATA_LOG_INIT:
;-----------------------------------------------------------------------------
		LDP	#task_ptr
;		SPLK	#POS_TRIG_S1, task_ptr
		SPLK	#DL_BUFFER1_ADR, graph_ptr1
		SPLK	#DL_BUFFER2_ADR, graph_ptr2
		SPLK	#281h, dlog_iptr1
		SPLK	#235h, dlog_iptr2

;		SPLK	#0h, trig_value		;Set trig point to 0h

     	SPLK	#dlog_skip_cnt_, dlog_skip_cntr	;clear Data log skip counter
		SPLK	#0h, dlog_cntr		;clear Data log counter

		RET

;---------------------------------------------------------------------------------
DATA_LOG:
;---------------------------------------------------------------------------------
;		LDP	#task_ptr
;		MAR	*, AR5
;		SETC	SXM
;		LACC	task_ptr
;		BACC

;POS_TRIG_S1:	;(Positive trigger, detect Negative signal)
	;	LAR	AR5, dlog_iptr1
	;	LACC	*,1
	;	SUB	trig_value,1
	;	BCND	DL_EXIT, GEQ			;If not Neg return
	;	SPLK	#POS_TRIG_S2, task_ptr
	;	B	DL_EXIT

;POS_TRIG_S2:	;(Positive trigger, detect Positive signal)
		;LAR	AR5, dlog_iptr1
		;LACC	*,1
	;	SUB	trig_value,1
	;	BCND	PTS2_1, LT			;If Neg, return to S1
	;	SPLK	#DL_TRIGGERED, task_ptr

	;	B	DL_EXIT

;PTS2_1:		SPLK	#POS_TRIG_S1, task_ptr
		;B	DL_EXIT


;DL_TRIGGERED:

		;LACC	dlog_skip_cntr		;Check if time to Log
		;ADD	#1
		;SACL	dlog_skip_cntr
		;SUB	#DLOG_PRESCALE
		;BCND	DL_EXIT, NEQ

        



	;Data is logged here
	    LDP #dlog_iptr1
	    MAR *,AR5
	   
	    LACC	dlog_cntr			;Check if Data buffer full
		SUB	#DLOG_CNTR_MAX
		BCND	DL_EXIT, GEQ
		LACC    dlog_skip_cntr       ;CHECK IF DATA LOGGED
		SUB     #1
		SACL    dlog_skip_cntr
		BCND    DL_EXIT,GEQ
		SPLK	#dlog_skip_cnt_, dlog_skip_cntr
		LACC    dlog_cntr
        ADD	#1
		SACL	dlog_cntr
		LAR	AR5, dlog_iptr1
		LACC	*
		LAR	AR5, graph_ptr1
		SACL	*+
		SAR	AR5, graph_ptr1

		LAR	AR5, dlog_iptr2
		LACC	*
		LAR	AR5, graph_ptr2
		SACL	*+
		SAR	AR5, graph_ptr2

;		SPLK	#0, dlog_skip_cntr

		

;		SPLK	#0, dlog_cntr
;		SPLK	#POS_TRIG_S1, task_ptr
;		SPLK	#DL_BUFFER1_ADR, graph_ptr1
;		SPLK	#DL_BUFFER2_ADR, graph_ptr2

DL_EXIT
        
		CLRC	SXM
		RET

⌨️ 快捷键说明

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