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

📄 pid_c.asm

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

		.include	"x24x_app.h"      
		.def	PID_ref_c,  PID_in_c, PID_out_c
		.def	VE2_c,VE1_c,VE0_c
		.def	PIDTMP1_c,PIDTMP2_c,PIDTMP3_c
		.def	KP_c,KI_c,KD_c
		.def	PID_max_c,PID_min_c
		.def	PID_INIT_c
		.def	PID_MAIN_c
;		.ref	DDD 
		.def	switch_c
;		.ref	CCC   
		.ref	in_Udc
		
PID_ref_c		.usect "pid",1	
PID_in_c		.usect "pid",1
PID_out_c   .usect "pid",1	
VE2_c       .usect "pid",1
VE1_c		.usect "pid",1
VE0_c		.usect "pid",1
	
PIDTMP1_c     .usect "pid",1
PIDTMP2_c     .usect "pid",1
PIDTMP3_c     .usect "pid",1
KP_c			.usect "pid",1
KI_c			.usect "pid",1
KD_c			.usect "pid",1
PID_max_c		.usect "pid",1
PID_min_c		.usect "pid",1 

switch_c		.usect "pid",1

PID_INIT_c:	NOP
			LDP		#VE2_c
			SPLK	#0,VE2_c
			SPLK	#0,VE1_c
			SPLK	#0,VE0_c
			SPLK	#0,PIDTMP1_c
			SPLK	#0,PIDTMP2_c
			SPLK	#0,PIDTMP3_c
						
			LDP		#KP_c
			SPLK	#0,KP_c 			;Q15
            SPLK	#327,KI_c           ;Q15
            SPLK	#0,KD_c               ;0
            LDP		#PID_max_c
            SPLK	#19660,PID_max_c
            SPLK	#14745,PID_min_c
            LDP		#PID_in_c
            SPLK	#15564,PID_out_c
            SPLK	#1200,switch_c

PID_MAIN_c:		    
			LDP		#PID_ref_c			;				
        	SETC		SXM					;允许符号扩展 
        	 
        	
;			LDP		#in_Udc
;        	LACC	in_Udc
;        	SUB		#990
;        	BCND	PID6_c,GT 
;            B		PID7_c
;PID6_c:	   
;			LDP		#PID_min_c
;			BLDD	#16384,PID_min_c
PID7_c:		
            LDP		#PID_ref_c
			LACC	PID_ref_c				;Q6
			SUB		PID_in_c					;Q6  
			SACL	VE2_c	  				;e(k)= PID_ref-PID_in,Q6
			SUB		VE1_c					;e(k-1),Q6 
			SACL	PIDTMP1_c				;Delta(e(k))=e(k)-e(k-1),Q6
			SUB		VE1_c
			ADD		VE0_c					;e(k-2),Q6
			SACL	PIDTMP3_c				;Delta(e(k))

⌨️ 快捷键说明

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