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

📄 amp.asm

📁 此源代码用于电力电子变换器的PID调节
💻 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	CCC
;		.def	DDD
		
		.def    amp_bili 
		.ref	Xin_IIR1
		.ref	IIR_BWT41
		.ref	Yout_IIR1 
		.def	in_theta  
		.def	theta_a
		.def	theta_b
		.def	theta_c 
		.def	amp_period
		.def	amp_hperiod
		.def	amp_conv
		.def	amp_conv1
	    .def	in_daoshu
	    .def	add_120 
	    .def	PID_pointer 
	    
	    .ref	PID_ref_a
	    .ref	PID_in_a
	    .ref	PID_out_a
	    .ref	PID_MAIN_a
	    
	    .ref	PID_ref_c
	    .ref	PID_in_c
	    .ref	PID_out_c
	    .ref	PID_MAIN_c
	    
	    .ref	out_Ua
	    .ref	out_Uc 
	    
	    .def	Ka
	    .def	Kc

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
;CCC			.usect "wave_ge",1
;DDD			.usect "wave_ge",1
amp_bili    .usect "wave_ge",1 
PID_pointer	.usect "wave_ge",1
Ka			.usect "wave_ge",1
Kc			.usect "wave_ge",1  
   
AMP_INIT:	NOP
  			NOP
   			NOP   
			LDP		#add_120
   			SPLK	#521,add_120 
   			SPLK	#1500,amp_hperiod
   			SPLK	#3125,amp_period  
   		;	SPLK	#15360,amp_conv  
   			SPLK	#2988,amp_conv  ;Q10 biao shi  (2*1500/514)
   			SPLK	#12000,amp_dizhi ;Q6 DE (132.5*1.414)V 
   		
   		    SPLK    #10240,amp_bili   ;Q12 de 5  
   			RET
   			
   				
AMP_MAIN:   SETC	SXM
			LDP		#in_theta
   			LACC	in_theta 
   			BCND	AMP1,GT
			ADD		amp_period
   			
AMP1:   	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_dizhi  ;Q6
     		MPY		amp_a         ;Q15
     		PAC
     		SACH	out_ta       ;Q6
            
     		
     		MPY		amp_c
     		PAC
     		SACH	out_tc         ;Q6
     		                
     		                
     		LDP		#ina_amp
     		LACC	out_ta 
     		SUB		ina_amp   ;ina_amp ye shi Q6
            SACL	out_ta 
            
******************************************PID regulate     
     		LDP		#PID_ref_a
     		BLDD	#amp_dizhi,PID_ref_a
     		BLDD	#out_Ua,PID_in_a
     		CALL	PID_MAIN_a
     		LDP		#Ka
     		BLDD	#PID_out_a,Ka 
     		
******************************************     		
     		LDP		#Xin_IIR1
     		BLDD   #out_ta,Xin_IIR1   
     		CALL	 IIR_BWT41
     		LDP		#out_ta
     ;		BLDD	#Yout_IIR1,out_ta
    
     		LACC	out_tc
     		SUB		inc_amp     ;Q6
            SACL	out_tc
******************************************PID regulate     
     		LDP		#PID_ref_c
     		BLDD	#amp_dizhi,PID_ref_c
     		BLDD	#out_Uc,PID_in_c
     		CALL	PID_MAIN_c
     		LDP		#Kc
     		BLDD	#PID_out_c,Kc 
     		
******************************************      		
     		LDP		#Xin_IIR1
     		BLDD   #out_tc,Xin_IIR1   
     		CALL	 IIR_BWT41
     		LDP		#out_tc
     ;		BLDD	#Yout_IIR1,out_tc       
     
            LDP		#Ka
      		SPM		1       
     		LT		Ka  ;Q6
     		MPY		out_ta         ;Q14
     		PAC       
     		ROL
     		SACH	out_ta       ;Q6      
     		SACH	AAA
     		
     		SPM		1       
     		LT		Ka  ;Q6
     		MPY		out_tc         ;Q14
     		PAC       
     		ROL
     		SACH	out_tc        ;Q6      
     		SACH	BBB
     		
     	
*************************************************************************
;amp_conv shi ding zhi 
;in_daoshu yu dian rong dian ya chen fan bi (514/Udc) 
;ta de zhi wei yu 0--4 zhi jian ,ying ci yong Q13 ji shu      		
     		LT		amp_conv       ;Q10  biao shi  (2*1500/514)
     		MPY		in_daoshu       ;Q13 (Udc_bef)
     		PAC		
     		ROL
     		ROL
     		SACH	amp_conv1   ;Q10 
     		
     		
     		SPM		0
     		LT		amp_conv1      ;Q10
     		MPY		out_ta       ;Q6
     		PAC
     		SACH	out_ta        ;Q16  ye jiu shi Q0 (gao 16 wei shi Q0) 
;     		SACH	CCC
     	
     		MPY		out_tc
     		PAC		
     		SACH	out_tc
     		
**************************************************************************
;            SPM     1
;            LDP		#Ka
;            LT      Ka   ;Q12 de 5
;            MPY     amp_dizhi       ;Q0
;            PAC
;            ROL
            
            
;            SACH    AAA       ;Q0
;            MPY     out_tc       ;Q0
;            PAC
;            ROL
;            ROL
;            ROL
;            SACH    out_tc       ;Q0
**************************************************************************

     	
     		LACC	out_ta
     		ADD		#750
     		SACL	out_ta 
     		
     		LACC	out_tc
     		ADD		#750
     		SACL	out_tc 
     		
     		SPLK	#750,out_tb
     		
     		
     		   
     	
     		
     		RET
     			
   				
   				
      	
              

⌨️ 快捷键说明

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