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

📄 tsf_main.asm

📁 变频器程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	RET

	.endfunc	592,000000000H,1

	.sym	_GndJzgEn,_GndJzgEn,32,2,0
	.globl	_GndJzgEn

	.func	594
;>>>> 	 void GndJzgEn(void)
******************************************************
* FUNCTION DEF : _GndJzgEn
******************************************************
_GndJzgEn:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	 {*PEDATDIR=*PEDATDIR|0x8000;
	LARK	AR3,28821
	LALK	1,15
	OR	* 
	SACL	* 
	.line	3
;>>>> 	 *PEDATDIR=*PEDATDIR&0xFF7F;
	LACK	65407
	AND	* 
	SACL	* 
	.line	4
;>>>> 	   *PADATDIR=*PADATDIR&0xFFDF;  //cap3 down
	LACK	65503
	ADRK	3
	AND	* 
	SACL	* ,AR1
EPI0_23:
	.line	5
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	598,000000000H,1

	.sym	_UpVtgRes,_UpVtgRes,32,2,0
	.globl	_UpVtgRes

	.func	599
;>>>> 	 void UpVtgRes(void)
******************************************************
* FUNCTION DEF : _UpVtgRes
******************************************************
_UpVtgRes:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	5
;>>>> 	 *PFDATDIR=*PFDATDIR|0x101;
	LARK	AR3,28822
	LACK	257
	OR	* 
	SACL	* ,AR1
EPI0_24:
	.line	6
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	604,000000000H,1

	.sym	_GndVtgRes,_GndVtgRes,32,2,0
	.globl	_GndVtgRes

	.func	605
;>>>> 	 void GndVtgRes(void)
******************************************************
* FUNCTION DEF : _GndVtgRes
******************************************************
_GndVtgRes:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	 {*PFDATDIR=*PFDATDIR|0x0100;
	LARK	AR3,28822
	LACK	256
	OR	* 
	SACL	* 
	.line	4
;>>>> 	 *PFDATDIR=*PFDATDIR&0xFFFE;
	LACK	65534
	AND	* 
	SACL	* ,AR1
EPI0_25:
	.line	5
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	609,000000000H,1

	.sym	_UpVtgs,_UpVtgs,32,2,0
	.globl	_UpVtgs

	.func	610
;>>>> 	 void UpVtgs(void)
******************************************************
* FUNCTION DEF : _UpVtgs
******************************************************
_UpVtgs:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	4
;>>>> 	 {*PFDATDIR=*PFDATDIR&0xFDFF;
	LARK	AR3,28822
	LACK	65023
	AND	* 
	SACL	* 
	.line	5
;>>>> 	 *PFDATDIR=*PFDATDIR|0x0002;
	LACK	2
	OR	* 
	SACL	* ,AR1
EPI0_26:
	.line	6
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	615,000000000H,1

	.sym	_GndVtgS,_GndVtgS,32,2,0
	.globl	_GndVtgS

	.func	620
;>>>> 	 void GndVtgS(void)
******************************************************
* FUNCTION DEF : _GndVtgS
******************************************************
_GndVtgS:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	 {*PFDATDIR=*PFDATDIR&0xFDFD;
	LARK	AR3,28822
	LACK	65021
	AND	* 
	SACL	* ,AR1
EPI0_27:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	622,000000000H,1

	.sym	_UpJcqEn,_UpJcqEn,32,2,0
	.globl	_UpJcqEn

	.func	626
;>>>> 	void UpJcqEn(void)
******************************************************
* FUNCTION DEF : _UpJcqEn
******************************************************
_UpJcqEn:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
	LARK	AR3,28822
	LACK	16
	OR	* 
	SACL	* ,AR1
EPI0_28:
	.line	2
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	627,000000000H,1

	.sym	_GndJcqEn,_GndJcqEn,32,2,0
	.globl	_GndJcqEn

	.func	630
;>>>> 	void GndJcqEn(void)
******************************************************
* FUNCTION DEF : _GndJcqEn
******************************************************
_GndJcqEn:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
;>>>> 		   *PFDATDIR=*PFDATDIR&0xFFEF;
	LARK	AR3,28822
	LACK	65519
	AND	* 
	SACL	* ,AR1
EPI0_29:
	.line	7
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	636,000000000H,1

	.sym	_DisDrive,_DisDrive,32,2,0
	.globl	_DisDrive

	.func	644
;>>>> 	void DisDrive(void)
******************************************************
* FUNCTION DEF : _DisDrive
******************************************************
_DisDrive:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	{*PADATDIR=*PADATDIR|0x0080;
	LARK	AR3,28824
	LACK	128
	OR	* 
	SACL	* 
	.line	3
;>>>> 	*PBDATDIR=*PBDATDIR|0x000A;
	LACK	10
	ADRK	2
	OR	* 
	SACL	* ,AR1
EPI0_30:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	647,000000000H,1

	.sym	_EnDrive,_EnDrive,32,2,0
	.globl	_EnDrive

	.func	650
;>>>> 	void EnDrive(void)
******************************************************
* FUNCTION DEF : _EnDrive
******************************************************
_EnDrive:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	{*PADATDIR=*PADATDIR&0xFF7F;
	LARK	AR3,28824
	LACK	65407
	AND	* 
	SACL	* 
	.line	3
;>>>> 	*PBDATDIR=*PBDATDIR&0xFFF5;
	LACK	65525
	ADRK	2
	AND	* 
	SACL	* ,AR1
EPI0_31:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	653,000000000H,1

	.sym	_UpRes,_UpRes,32,2,0
	.globl	_UpRes

	.func	656
;>>>> 	void UpRes(void)
******************************************************
* FUNCTION DEF : _UpRes
******************************************************
_UpRes:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	{*PBDATDIR=*PBDATDIR&0xFFEF;
	LARK	AR3,28826
	LACK	65519
	AND	* 
	SACL	* ,AR1
EPI0_32:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	658,000000000H,1

	.sym	_GndRes,_GndRes,32,2,0
	.globl	_GndRes

	.func	660
;>>>> 	void GndRes(void)
******************************************************
* FUNCTION DEF : _GndRes
******************************************************
_GndRes:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	{*PBDATDIR=*PBDATDIR|0x0010;
	LARK	AR3,28826
	LACK	16
	OR	* 
	SACL	* ,AR1
EPI0_33:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	662,000000000H,1

	.sym	_UpP1,_UpP1,32,2,0
	.globl	_UpP1

	.func	666
;>>>> 	void UpP1(void)
******************************************************
* FUNCTION DEF : _UpP1
******************************************************
_UpP1:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	3
	LARK	AR3,28824
	LACK	64
	OR	* 
	SACL	* ,AR1
EPI0_34:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	668,000000000H,1

	.sym	_GndP1,_GndP1,32,2,0
	.globl	_GndP1

	.func	669
;>>>> 	void GndP1(void)
******************************************************
* FUNCTION DEF : _GndP1
******************************************************
_GndP1:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR3

	.line	2
;>>>> 	{*PADATDIR=*PADATDIR&0xFFBF;
	LARK	AR3,28824
	LACK	65471
	AND	* 
	SACL	* ,AR1
EPI0_35:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	672,000000000H,1

	.sym	_timer2_isr,_timer2_isr,32,2,0
	.globl	_timer2_isr

	.func	703
;>>>> 	interrupt void timer2_isr(void)
******************************************************
* FUNCTION DEF : _timer2_isr
******************************************************
_timer2_isr:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

EPI0_36:
	.line	4
	SBRK	1
	B	I$$REST,AR1   ;and return

	.endfunc	706,000000000H,1

	.sym	_ad,_ad,32,2,0
	.globl	_ad

	.func	707
;>>>> 	void ad(void)
;>>>> 	{ int end_ad,kk,tmp1;
;>>>> 	static unsigned int tt=0,xxx=0;
;>>>> 	static int ii=0;
;>>>> 	static int i=0,j=0;
;>>>> 	//loop:
;>>>> 	//	end_ad=*ADCTRL2&0x1000; /*wait for the end of conversion of adbit12*/
;>>>> 	//	while(end_ad) goto loop; 
;>>>> 	//	*ADCTRL2=*ADCTRL2|0x4000; /*Immediately reset sequencer to state CONV00*/  
;>>>> 	//    channel_0=(*RESULT15)>>6; /*Phase B*/
;>>>> 	//    channel_1=(*RESULT7)>>6; /*Phase C*/
;>>>> 	//	channel_2=(*RESULT14)>>6; /*None*/
;>>>> 	//	channel_3=(*RESULT6)>>6; /*Phase A*/
;>>>> 	   // Ad_data[ii]=(*RESULT3)>>6
;>>>> 	//if(tt<50) tt++ ;  
******************************************************
* FUNCTION DEF : _ad
******************************************************
_ad:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,4
	LAR	AR0,*0+


	.sect	".cinit"
	.word	1,_tt$1
	.word	0
	.text

	.sym	_tt,_tt$1,14,3,16

	.sect	".cinit"
	.word	1,_xxx$2
	.word	0
	.text

	.sym	_xxx,_xxx$2,14,3,16

	.sect	".cinit"
	.word	1,_ii$3
	.word	0
	.text

	.sym	_ii,_ii$3,4,3,16

	.sect	".cinit"
	.word	1,_i$4
	.word	0
	.text

	.sym	_i,_i$4,4,3,16

	.sect	".cinit"
	.word	1,_j$5
	.word	0
	.text

	.sym	_j,_j$5,4,3,16
	.sym	_end_ad,1,4,1,16
	.sym	_kk,2,4,1,16
	.sym	_tmp1,3,4,1,16
	.line	22
;>>>> 	tt=tt+50;
;>>>> 	//*CMPR1 = 1000;/*pwm_duty;*/                 /* set PWM1 duty cycle 563*/
;>>>> 	//*CMPR2 = 1000;/*pwm_duty;*/
;>>>> 	//*CMPR3 = 1000;/*pwm_duty;*/ 
	LDPK	_tt$1
	LAC	_tt$1
	ADDK	50
	SACL	_tt$1
	.line	26
;>>>> 	xxx++;
;>>>> 	//if(qq==1) freq_testing=0;
	LAC	_xxx$2
	ADDK	1
	SACL	_xxx$2
	.line	28
;>>>> 	 if(qq==1)
	LAC	_qq
	SUBK	1
	BNZ	L22
	.line	30
;>>>> 	  if(xxx==12&&amp>0)
	LAC	_xxx$2
	SUBK	12
	BNZ	L24
	SSXM
	LAC	_amp
	BLEZ	L24
	.line	32
;>>>> 	   amp--;
	SUBK	1
	SACL	_amp
	.line	33
;>>>> 	   xxx=0;
;>>>> 	 else {  
	LACK	0
	SACL	_xxx$2
	B	L24
L22:
	.line	38
;>>>> 	   if(xxx==12&&amp<0x2000)
	LAC	_xxx$2
	SUBK	12
	BNZ	L24
	SSXM
	LAC	_amp
	SUBK	8192
	BGEZ	L24
	.line	40
;>>>> 	     amp=amp+1;
	ADDK	8193
	SACL	_amp
	.line	41
;>>>> 	     xxx=0;
	LACK	0
	SACL	_xxx$2
L24:
	.line	45
;>>>> 	Vq_testing = amp;  
;>>>> 	       //drive.calc(&drive);
;>>>> 	//       rmpc.target_value = freq_testing;
	BLKD	#_amp,_Vq_testing
	.line	54
;>>>> 	       rmpc.calc((void *)&rmpc);
	LALK	_rmpc+0
	SACL	*+
	LAC	_rmpc+7
	CALA
	MAR	*-
	.line	56
;>>>> 	       rg.rmp_freq=rmpc.setpt_value;
	LDPK	_rmpc+5
	BLDD	_rmpc+5,#_rg
	.line	58
;>>>> 	       rg.calc((void *)&rg);
	LALK	_rg+0
	SACL	*+
	LAC	_rg+6
	CALA
	MAR	*-
	.line	63
;>>>> 	       pid_spd.pid_ref_reg1 = 500;
	LDPK	_pid_spd
	SPLK	#500,_pid_spd
	.line	64
;>>>> 	       pid_spd.pid_fb_reg1 = sp.speed_frq;
	BLKD	#_sp+4,_pid_spd+1
	.line	65
;>>>> 	       pid_spd.calc((void *)&pid_spd);
	LALK	_pid_spd+0
	SACL	*+
	LAC	_pid_spd+11
	CALA
	MAR	*-
	.line	69
;>>>> 	       pid_id.pid_ref_reg3 = 0x2000;//0x0
	LDPK	_pid_id
	SPLK	#8192,_pid_id
	.line	70
;>>>> 	       pid_id.pid_fdb_reg3 = current_DQ.d;
	BLKD	#_current_DQ,_pid_id+1
	.line	71
;>>>> 	       pid_id.calc((void *)&pid_id);
	LALK	_pid_id+0
	SACL	*+
	LAC	_pid_id+18
	CALA
	MAR	*-
	.line	73
;>>>> 	       pid_iq.pid_ref_reg3 = pid_spd.pid_out_reg1;
	LDPK	_pid_spd+10
	BLDD	_pid_spd+10,#_pid_iq
	.line	74
;>>>> 	       pid_iq.pid_fdb_reg3 = current_DQ.q;
	BLDD	_current_DQ+1,#_pid_iq+1
	.line	75
;>>>> 	       pid_iq.calc((void *)&pid_iq);
;>>>> 	       //observe((pid_spd.pid_out_reg3^0x8000)>>4,(pid_spd.pid_fdb_reg3^0x8000)>>4,(pid_iq.pid_out_reg3^0x8000)>>4,(pid_iq.pid_fdb_reg3^0x8000)>>4);
	LALK	_pid_iq+0
	SACL	*+
	LDPK	_pid_iq+18
	LAC	_pid_iq+18
	CALA
	MAR	*-
	.line	78
;>>>> 	       voltage_DQt.D = pid_id.pid_out_reg3;
	LDPK	_pid_id+12
	BLDD	_pid_id+12,#_voltage_DQt
	.line	79
;>>>> 	       voltage_DQt.Q = pid_iq.pid_out_reg3;
;>>>> 	       //voltage_DQt.theta = 0;
;>>>> 	       //voltage_DQt.theta = fe.theta_r_fe;
;>>>> 	      //voltage_DQt.D = 0;
;>>>> 	       //voltage_DQt.Q = Vq_testing;
	BLDD	_pid_iq+12,#_voltage_DQt+1
	.line	87
;>>>> 	      voltage_DQt.theta = cur.theta_cur_mod;
;>>>> 		//	voltage_DQt.theta = rg.rmp_out;
	LDPK	_cur+9
	BLDD	_cur+9,#_voltage_DQt+2
	.line	91
;>>>> 	       ipark((void *)&voltage_DQt,(void *)&voltage_dq);
;>>>> 	//      observe((current_DQ.d^0x8000)>>4,(current_DQ.q^0x8000)>>4,(voltage_DQt.D^0x8000)>>4,(voltage_DQt.Q^0x8000)>>4);
	LALK	_voltage_dq+0
	SACL	*+
	LALK	_voltage_DQt+0
	SACL	*+
	CALL	_ipark
	SBRK	2

⌨️ 快捷键说明

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