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

📄 tsf_main.asm

📁 变频器程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	_phase_voltage_calc+0
IS7	.set	10

	.sym	_volt,_volt,8,2,160,.fake8
	.globl	_volt
	.word	IS8,_pid_id
	.word	0
	.word	0
	.word	0
	.word	5883
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	12288
	.word	-12289
	.word	0
	.word	0
	.word	2000
	.word	30421
	.word	0
	.word	0
	.word	_pid_reg3_calc+0
IS8	.set	19

	.sym	_pid_id,_pid_id,8,2,304,.fake5
	.globl	_pid_id
	.word	IS9,_pid_iq
	.word	0
	.word	0
	.word	0
	.word	5883
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	12288
	.word	-12289
	.word	0
	.word	0
	.word	2000
	.word	30421
	.word	0
	.word	0
	.word	_pid_reg3_calc+0
IS9	.set	19

	.sym	_pid_iq,_pid_iq,8,2,304,.fake5
	.globl	_pid_iq
	.word	IS10,_pid_spd
	.word	0
	.word	0
	.word	8704
	.word	48
	.word	-8531
	.word	0
	.word	32767
	.word	-256
	.word	0
	.word	0
	.word	0
	.word	_pid_reg1_calc+0
IS10	.set	12

	.sym	_pid_spd,_pid_spd,8,2,192,.fake6
	.globl	_pid_spd
	.word	IS11,_ilg2_vdc
	.word	8191
	.word	0
	.word	0
	.word	8191
	.word	0
	.word	0
	.word	8191
	.word	0
	.word	0
	.word	0
	.word	3378
	.word	_F2407_ileg2_dcbus_drv_init+0
	.word	_F2407_ileg2_dcbus_drv_read+0
IS11	.set	13

	.sym	_ilg2_vdc,_ilg2_vdc,8,2,208,.fake3
	.globl	_ilg2_vdc
	.word	IS12,_qep1
	.word	0
	.word	0
	.word	0
	.word	16776
	.word	0
	.word	4
	.word	0
	.word	0
	.word	0
	.word	_F2407_EV1_qep_theta_calc+0
	.word	_F2407_EV1_QEP_Init+0
	.word	_F2407_EV1_QEP_Index_Handle+0
IS12	.set	12

	.sym	_qep1,_qep1,8,2,192,.fake4
	.globl	_qep1
	.word	IS13,_sp
	.word	0
	.word	6400
	.word	0
	.word	22261
	.word	0
	.word	10507
	.word	7200
	.word	0
	.word	_speed_frq+0
IS13	.set	9

	.sym	_sp,_sp,8,2,144,.fake7
	.globl	_sp
	.word	IS14,_fe
	.word	0
	.word	0
	.word	0
	.word	32651
	.word	0
	.word	117
	.word	0
	.word	0
	.word	31203
	.word	3209
	.word	0
	.word	0
	.word	0
	.word	4096
	.word	0
	.word	0
	.word	0
	.word	2816
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	4881
	.word	683
	.word	0
	.word	0
	.word	0
	.word	0
	.word	3370
	.word	17206
	.word	0
	.word	0
	.word	_aci_fe_calc+0
IS14	.set	35

	.sym	_fe,_fe,8,2,560,.fake9
	.globl	_fe
	.word	IS15,_cur
	.word	0
	.word	0
	.word	0
	.word	0
	.word	156
	.word	309
	.word	0
	.word	656
	.word	0
	.word	16383
	.word	_cur_mod_calc+0
IS15	.set	11

	.sym	_cur,_cur,8,2,176,.fake16
	.globl	_cur
	.globl	_voltage_dq
	.globl	_current_dq
	.globl	_current_DQ
	.globl	_voltage_DQt
	.globl	_current_dqt
	.globl	_current_abc
	.word	1,_freq_testing
	.word	2304

	.sym	_freq_testing,_freq_testing,14,2,16
	.globl	_freq_testing
	.word	1,_Vd_testing
	.word	8191

	.sym	_Vd_testing,_Vd_testing,14,2,16
	.globl	_Vd_testing
	.word	1,_Vq_testing
	.word	0

	.sym	_Vq_testing,_Vq_testing,14,2,16
	.globl	_Vq_testing
	.word	1,_speed_ref
	.word	1280

	.sym	_speed_ref,_speed_ref,14,2,16
	.globl	_speed_ref
	.text

	.sym	_main,_main,32,2,0
	.globl	_main

	.func	182
;>>>> 	void main(void)
;>>>> 	int jj;
;>>>> 	int s1,s2,s3,s_t,s_c,s_v,flag;
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,9
	LAR	AR0,*0+,AR3

	.sym	_jj,1,4,1,16
	.sym	_s1,2,4,1,16
	.sym	_s2,3,4,1,16
	.sym	_s3,4,4,1,16
	.sym	_s_t,5,4,1,16
	.sym	_s_c,6,4,1,16
	.sym	_s_v,7,4,1,16
	.sym	_flag,8,4,1,16
	.line	6
;>>>> 	    *IMR = 0x0000;
	LARK	AR3,4
	LACK	0
	SACL	* ,AR1
	.line	7
;>>>> 	    sysinit();
	CALL	_sysinit
	.line	8
;>>>> 	    delay();     
	CALL	_delay
	.line	9
;>>>> 	    delay();
	CALL	_delay
	.line	10
;>>>> 	    delay();
	CALL	_delay
	.line	11
;>>>> 	    delay();   
	CALL	_delay
	.line	12
;>>>> 	fira.dbuffer_ptr=&fira.dbuffer[0];
	LALK	_fira+5
	LDPK	_fira+1
	SACL	_fira+1
	.line	13
;>>>> 	fira.coeff_ptr=&fira.coeff[0];
	LALK	_fira+25
	SACL	_fira
	.line	14
;>>>> 	fira.init(&fira);
	LALK	_fira+0
	SACL	*+
	LAC	_fira+46
	CALA
	MAR	*-
	.line	15
;>>>> 	firb.dbuffer_ptr=&firb.dbuffer[0];
	LALK	_firb+5
	LDPK	_firb+1
	SACL	_firb+1
	.line	16
;>>>> 	firb.coeff_ptr=&firb.coeff[0];
	LALK	_firb+25
	SACL	_firb
	.line	17
;>>>> 	firb.init(&firb);
	LALK	_firb+0
	SACL	*+
	LAC	_firb+46
	CALA
	MAR	*-,AR2
	.line	18
;>>>> 	    jj=1;
;>>>> 	//    pid_id.Kp_reg3 = 21178;  		/* Q15 */                                                    
;>>>> 	//    pid_id.Ki_reg3 = 5592;   		/* Q31-16bit */
;>>>> 	//    pid_id.Kd_reg3 = 0;		   		/* Q14 */
;>>>> 	//    pid_id.Kc_reg3 = 20281;  		/* Q15 */
;>>>> 	//    pid_id.pid_out_max = 0x4000;     /* Q15 */
;>>>> 	//    pid_id.pid_out_min = 0xC000;     /* Q15 */
;>>>> 	//    pid_iq.Kp_reg3 = 21178;  		/* Q15 */                                                    
;>>>> 	//    pid_iq.Ki_reg3 = 5592;   		/* Q31-16bit */
;>>>> 	//    pid_iq.Kd_reg3 = 0;		   		/* Q14 */
;>>>> 	//    pid_iq.Kc_reg3 = 20281;  		/* Q15 */
;>>>> 	//    pid_iq.pid_out_max = 0x6500;     /* Q15 */
;>>>> 	//    pid_iq.pid_out_min = 0x9B00;     /* Q15 */
	LACK	1
	LARK	AR2,1
	MAR	*0+
	SACL	* ,AR1
	.line	41
;>>>> 	    current_DQ.d=0;
	LACK	0
	LDPK	_current_DQ
	SACL	_current_DQ
	.line	42
;>>>> 	    current_DQ.q=0;
	SACL	_current_DQ+1
	.line	44
;>>>> 	    ilg2_vdc.Ch_sel=0x067f;
	LDPK	_ilg2_vdc+10
	SPLK	#1663,_ilg2_vdc+10
	.line	45
;>>>> 	    ilg2_vdc.Imeas_a_offset=0;//-400;
	LDPK	_ilg2_vdc+1
	SACL	_ilg2_vdc+1
	.line	46
;>>>> 	    ilg2_vdc.Imeas_b_offset=0;//-400;
	LDPK	_ilg2_vdc+4
	SACL	_ilg2_vdc+4
	.line	47
;>>>> 	    ilg2_vdc.init(&ilg2_vdc);
	LALK	_ilg2_vdc+0
	SACL	*+
	LAC	_ilg2_vdc+11
	CALA
	MAR	*-
	.line	48
;>>>> 	    qep1.init(&qep1);
	LALK	_qep1+0
	SACL	*+
	LDPK	_qep1+10
	LAC	_qep1+10
	CALA
	MAR	*-,AR0
	.line	50
;>>>> 	    DAC0=0;
	LACK	0
	SACL	* 
	OUT	* ,08018h
	.line	51
;>>>> 	    DAC1=0;
	SACL	* 
	OUT	* ,08019h
	.line	52
;>>>> 	    DAC2=0;
	SACL	* 
	OUT	* ,0801ah
	.line	53
;>>>> 	    DAC3=0;
	SACL	* 
	OUT	* ,0801bh
	.line	54
;>>>> 	    DAOUT=3;
;>>>> 	while(1)
	LACK	3
	SACL	* 
	OUT	* ,08020h,AR2
	LARK	AR2,2
	MAR	*0+,AR3
L1:
	.line	57
;>>>> 	{   s1=*PFDATDIR&0x0004;
	LARK	AR3,28822
	LACK	4
	AND	* ,AR2
	SACL	*+,AR3
	.line	58
;>>>> 	    s2=*PFDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	*+,AR3
	.line	59
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	SACL	* 
	.line	60
;>>>> 	    if(s1==0x0000)
	SBRK	2
	LAC	* 
	BNZ	L3
	.line	61
;>>>> 	      {GndJcqEn();
	CALL	_GndJcqEn,AR1
	.line	62
;>>>> 	      Led1On();
;>>>> 	      //UpJzgEn();
	CALL	_Led1On
	.line	64
;>>>> 	      break;}
	B	L2
L3:
	.line	66
;>>>> 	while(1)
	MAR	* ,AR3
	B	L1
L2:
L4:
	.line	68
;>>>> 	{   s1=*PFDATDIR&0x0004;
	LARK	AR3,28822
	LACK	4
	MAR	* ,AR3
	AND	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	*+,AR3
	.line	69
;>>>> 	    s2=*PFDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	*+,AR3
	.line	70
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	SACL	* 
	.line	76
;>>>> 	   if(s3==0x000)
	LAC	* 
	BNZ	L6
	.line	78
;>>>> 	    GndJzgEn();
	CALL	_GndJzgEn,AR1
	.line	79
;>>>> 	    Led3On();
	CALL	_Led3On
	.line	80
;>>>> 	    break;
	B	L5
L6:
	.line	83
	SBRK	2
	MAR	* ,AR3
	B	L4
L5:
	.line	108
;>>>> 	    asm(" CLRC INTM");  
;>>>> 	    //pwm.init(&pwm);
;>>>> 	    while(1)
 CLRC INTM
	MAR	* ,AR3
L7:
	.line	127
;>>>> 	    s1=*PFDATDIR&0x0004;
;>>>> 	    //s2=*PFDATDIR&0x0020;
	LARK	AR3,28822
	LACK	4
	AND	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	* ,AR3
	.line	129
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	ADRK	2
	SACL	* ,AR3
	.line	130
;>>>> 	    s_t=*PBDATDIR&0x0080;
	LACK	128
	ADRK	4
	AND	* ,AR2
	MAR	*+
	SACL	*+,AR3
	.line	131
;>>>> 	    s_c=*PBDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	* ,AR3
	.line	132
;>>>> 	    s_v=*PFDATDIR&0x0002;
;>>>> 	while(1)
	LACK	2
	SBRK	4
	AND	* ,AR2
	MAR	*+
	SACL	* 
	SBRK	4
	MAR	* ,AR3
L9:
	.line	137
;>>>> 	{s2=*PFDATDIR&0x0020;
	LARK	AR3,28822
	LACK	32
	AND	* ,AR2
	SACL	* 
	.line	138
;>>>> 	 if(s2==0x000)
	LAC	* 
	BNZ	L11
	.line	140
;>>>> 	 {delay();
	CALL	_delay,AR1
	.line	141
;>>>> 	s2=*PFDATDIR&0x0020;
	LARK	AR3,28822
	LACK	32
	MAR	* ,AR3
	AND	* ,AR2
	LARK	AR2,3
	MAR	*0+
	SACL	* 
	.line	142
;>>>> 	 if(s2==0x000)
	LAC	* 
	BNZ	L11
	.line	144
;>>>> 	 qq=1;
	LACK	1
	LDPK	_qq
	SACL	_qq
	.line	145
;>>>> 	 Led1Off();
	CALL	_Led1Off,AR1
	.line	146
;>>>> 	 Led3Off();
	CALL	_Led3Off
	.line	147
;>>>> 	 Led2On();
	CALL	_Led2On
	.line	148
;>>>> 	 break;
	B	L10
L11:
	.line	152
;>>>> 	while(1)
	MAR	* ,AR3
	B	L9
L10:
L13:
	.line	156
;>>>> 	 s1=*PFDATDIR&0x0004;
	LARK	AR3,28822
	LACK	4
	MAR	* ,AR3
	AND	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	*+,AR3
	.line	157
;>>>> 	    s2=*PFDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	*+,AR3
	.line	158
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	SACL	*-
	.line	161
;>>>> 	if(s2==0x0000&&s3==0x0000&&(amp==0))
	LAC	* 
	BNZ	L15
	MAR	*+
	LAC	* 
	BNZ	L15
	LDPK	_amp
	LAC	_amp
	BNZ	L15
	.line	163
;>>>> 	{asm(" setc INTM ");
 setc INTM 
	.line	164
;>>>> 	Led2Off();
	CALL	_Led2Off,AR1
	.line	165
;>>>> 	qq=0;
	LACK	0
	LDPK	_qq
	SACL	_qq
	.line	166
;>>>> 	break;
	B	L14
L15:
	.line	168
;>>>> 	while(1)
	MAR	* ,AR3
	B	L13
L14:
L16:
	.line	171
;>>>> 	{   s1=*PFDATDIR&0x0004;
	LARK	AR3,28822
	LACK	4
	MAR	* ,AR3
	AND	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	*+,AR3
	.line	172
;>>>> 	    s2=*PFDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	*+,AR3
	.line	173
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	SACL	* 
	.line	174
;>>>> 	    if(s1==0x0000)
	SBRK	2
	LAC	* 
	BNZ	L18
	.line	175
;>>>> 	      {GndJcqEn();
	CALL	_GndJcqEn,AR1
	.line	176
;>>>> 	      Led1On();
;>>>> 	      //UpJzgEn();
	CALL	_Led1On
	.line	178
;>>>> 	      break;}
	B	L17
L18:
	.line	180
;>>>> 	while(1)
	MAR	* ,AR3
	B	L16
L17:
L19:
	.line	182
;>>>> 	{   s1=*PFDATDIR&0x0004;
	LARK	AR3,28822
	LACK	4
	MAR	* ,AR3
	AND	* ,AR2
	LARK	AR2,2
	MAR	*0+
	SACL	*+,AR3
	.line	183
;>>>> 	    s2=*PFDATDIR&0x0020;
	LACK	32
	AND	* ,AR2
	SACL	*+,AR3
	.line	184
;>>>> 	    s3=*PFDATDIR&0x0008;
	LACK	8
	AND	* ,AR2
	SACL	* 
	.line	190
;>>>> 	   if(s3==0x000)
	LAC	* 
	BNZ	L21
	.line	192
;>>>> 	    GndJzgEn();
	CALL	_GndJzgEn,AR1
	.line	193
;>>>> 	    Led3On();
	CALL	_Led3On
	.line	194
;>>>> 	    asm(" CLRC INTM"); 
 CLRC INTM
	.line	195
;>>>> 	    break;
	B	L20
L21:

⌨️ 快捷键说明

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