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

📄 amp.asm

📁 此源码为用于电力电子变换器的DSP汇编源程序
💻 ASM
字号:
		.include	"x24x_app.h"      
		.def	AMP_INIT
		.def	AMP_MAIN
      	.def	in_theta		;ding yi yi ge jiao du de shu ru
      	.def	ina_amp	,inc_amp ,in_daoshu       ;xu yao chan sheng de zheng xian fu zhi
      	.def	theta_a,theta_b,theta_c ;san ge zi ran huan xiang jiao 
      	.def	out_ta,out_tb,out_tc  ;ding yi san xiang zhan kong bi
		.def	theta_a,theta_b,theta_c    
		.ref	SINTAB_360 
		.def		amp_a,amp_b,amp_c
		.def    amp_dizhi
		.def    AAA
		.def    BBB
		.def    amp_bili 
		.ref	Xin_IIR1
		.ref	IIR_BWT41
		.ref	Yout_IIR1 
		.def	switch1
        .def	switch2 
        .def	scale 
        .def	AMP1_MAIN
                       
        .bss	scale,1                
        .bss		switch1,1
        .bss		switch2,1
in_theta	.usect "wave_ge",1  
amp_dizhi	.usect "wave_ge",1
ina_amp		.usect "wave_ge",1 
inc_amp		.usect "wave_ge",1
in_daoshu	.usect "wave_ge",1
theta_a		.usect "wave_ge",1
theta_b		.usect "wave_ge",1
theta_c		.usect "wave_ge",1
out_ta		.usect "wave_ge",1
out_tb		.usect "wave_ge",1
out_tc		.usect "wave_ge",1
add_120		.usect "wave_ge",1   
amp_period	.usect "wave_ge",1 
amp_a       .usect "wave_ge",1 
amp_b		.usect "wave_ge",1 
amp_c		.usect "wave_ge",1 
amp_hperiod	.usect "wave_ge",1  
amp_conv	.usect "wave_ge",1  
amp_conv1	.usect "wave_ge",1
AAA         .usect "wave_ge",1
BBB         .usect "wave_ge",1
amp_bili    .usect "wave_ge",1   
   
AMP_INIT:	NOP
  			NOP
   			NOP   
			LDP		#add_120
   			SPLK	#355,add_120 
   			SPLK	#1500,amp_hperiod
   		;	SPLK	#3125,amp_period  
   			SPLK	#1064,amp_period
   		;	SPLK	#15360,amp_conv  
   			SPLK	#5977,amp_conv  ;Q10 biao shi  (2*1500/514)
   			SPLK	#12000,amp_dizhi ;Q6 DE (132.5*1.414)V 
   		;	SPLK	#4433,amp_dizhi ;Q6 DE 60V 
   		    SPLK    #20480,amp_bili   ;Q12 de 5 
   		    
   		    SPLK	#29491,scale    ;Q15 de 0.9
   		  ;  SPLK	#26214,scale    ;0.8
   		  ;  SPLK	#19660,scale    ;0.6
   			RET
   			
   				
AMP_MAIN:   SETC	SXM
			LDP		#in_theta
   			LACC	in_theta 
   			SACL	theta_a 
   			
   			ADD		add_120
   			SUB		amp_period       
   			BCND	AMP_DYL1,GEQ
   			ADD		amp_period   
AMP_DYL1	NOP
			SACL	theta_b
			ADD		add_120
			SUB		amp_period   
			BCND	AMP_DYL2,GEQ
			ADD		amp_period   
AMP_DYL2	NOP
     		SACL	theta_c    
     		
     		LACC	#SINTAB_360
     		ADD		theta_a
     		TBLR	amp_a 
     		LACC	#SINTAB_360
     		ADD		theta_b
     		TBLR	amp_b
     		LACC	#SINTAB_360
     		ADD		theta_c
     		TBLR	amp_c
     		
     		
            SPM		1    
     		LT		amp_a
     		MPY		#865  
     		PAC
     		SACH	out_ta 
     		
     		LT		amp_b
     		MPY		#865  
     		PAC
     		SACH	out_tb
     		
     		LT		amp_c
     		MPY		#865 
     		PAC
     		SACH	out_tc   
     	
     		LACC	out_ta
     		ADD		#750
     		SACL	out_ta 
     		
     		LACC	out_tb
     		ADD		#750
     		SACL	out_tb
     		
     		LACC	out_tc
     		ADD		#750
     		SACL	out_tc
     		
     		LDP		#switch1
     		LACC		switch1
     		ADD		#1      
     		SACL	switch1
            B		RE

AMP1_MAIN:   SETC	SXM
			LDP		#in_theta
   			LACC	in_theta 
   			SACL	theta_a 
   			
   			ADD		add_120
   			SUB		amp_period       
   			BCND	AMP_DYL11,GEQ
   			ADD		amp_period   
AMP_DYL11	NOP
			SACL	theta_b
			ADD		add_120
			SUB		amp_period   
			BCND	AMP_DYL21,GEQ
			ADD		amp_period   
AMP_DYL21	NOP
     		SACL	theta_c    
     		
     		LACC	#SINTAB_360
     		ADD		theta_a
     		TBLR	amp_a 
     		LACC	#SINTAB_360
     		ADD		theta_b
     		TBLR	amp_b
     		LACC	#SINTAB_360
     		ADD		theta_c
     		TBLR	amp_c
     		
     		
            SPM		1    
     		LT		amp_a
     		MPY		#865  
     		PAC
     		SACH	out_ta
     		
     		LT		out_ta
     		MPY		scale
     		PAC
     		SACH	out_ta
     		 
     		
     		LT		amp_b
     		MPY		#865  
     		PAC
     		SACH	out_tb 
     		
     		LT		out_tb
     		MPY		scale
     		PAC
     		SACH	out_tb
     		
     		LT		amp_c
     		MPY		#865 
     		PAC
     		SACH	out_tc   
     	                   
     	    LT		out_tc
     		MPY		scale
     		PAC
     		SACH	out_tc               
     	                   
     		LACC	out_ta
     		ADD		#750
     		SACL	out_ta 
     		
     		LACC	out_tb
     		ADD		#750
     		SACL	out_tb
     		
     		LACC	out_tc
     		ADD		#750
     		SACL	out_tc
     		               
     		LDP		#switch2               
     		LACC		switch2
     		ADD		#1     
     		SACL	switch2
 
RE			NOP           
     		
     		RET
		
   				
      	
              

⌨️ 快捷键说明

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