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

📄 pid_a.asm

📁 此源代码用于电力电子变换器的PID调节
💻 ASM
字号:

		.include	"x24x_app.h"      
		.def	PID_ref_a,  PID_in_a, PID_out_a
		.def	VE2_a,VE1_a,VE0_a
		.def	PIDTMP1_a,PIDTMP2_a,PIDTMP3_a
		.def	KP_a,KI_a,KD_a
		.def	PID_max_a,PID_min_a
		.def	PID_INIT_a
		.def	PID_MAIN_a
;		.ref	DDD 
		.def	switch_a
		.ref	AAA      
		.ref	in_Udc
		
PID_ref_a		.usect "pid",1	
PID_in_a		.usect "pid",1
PID_out_a   .usect "pid",1	
VE2_a       .usect "pid",1
VE1_a		.usect "pid",1
VE0_a		.usect "pid",1
	
PIDTMP1_a     .usect "pid",1
PIDTMP2_a     .usect "pid",1
PIDTMP3_a     .usect "pid",1
KP_a			.usect "pid",1
KI_a			.usect "pid",1
KD_a			.usect "pid",1
PID_max_a		.usect "pid",1
PID_min_a		.usect "pid",1 

switch_a		.usect "pid",1

PID_INIT_a:	NOP
			LDP		#VE2_a
			SPLK	#0,VE2_a
			SPLK	#0,VE1_a
			SPLK	#0,VE0_a
			SPLK	#0,PIDTMP1_a
			SPLK	#0,PIDTMP2_a
			SPLK	#0,PIDTMP3_a
						
			LDP		#KP_a
			SPLK	#0,KP_a 			;Q15
            SPLK	#327,KI_a           ;Q8
            SPLK	#0,KD_a               ;0
            LDP		#PID_max_a
           ; SPLK	#19660,PID_max_a  
            SPLK	#32766,PID_max_a
           ; SPLK	#14745,PID_min_a
            SPLK	#14745,PID_min_a
            LDP		#PID_in_a
           ; SPLK	#15564,PID_out_a   ;Q14 
            SPLK	#14745,PID_out_a   ;Q14
            SPLK	#1200,switch_a

PID_MAIN_a:		    
			LDP		#PID_ref_a			;				
        	SETC		SXM					;允许符号扩展  
        	
        	 
;			LDP		#in_Udc
;        	LACC	in_Udc
;        	SUB		#990
;        	BCND	PID6_a,GT 
;            B       PID7_a
;PID6_a:		
;			LDP		#PID_min_a
;			BLDD	#16384,PID_min_a
PID7_a:		LDP		#PID_ref_a
			LACC	PID_ref_a				;Q6
			SUB		PID_in_a					;Q6 			
	
			SACL	VE2_a	  				;e(k)= PID_ref-PID_in,Q6
			SUB		VE1_a					;e(k-1),Q6 
			SACL	PIDTMP1_a				;Delta(e(k))=e(k)-e(k-1),Q6
			SUB		VE1_a
			ADD		VE0_a					;e(k-2),Q6
			SACL	PIDTMP3_a				;Delta(e(k))

⌨️ 快捷键说明

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