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

📄 pid.asm

📁 一个TSM320C2407的PID控制算法 很管用,可以在C中嵌套使用.
💻 ASM
字号:
;**************************************************************
;**  文件名:pid.asm                                         **
;**  功  能:pid调节器                                       **
;*************************************************************		
			.include  	"F2407REGS.H" 	;引用头部文件
             .def      	_c_int0

		.bss	VREF,1
		.bss	V,1
     	.bss    VE0,1
		.bss	VE1,1
		.bss	VE2,1  
		.bss	PIDTMP1,1  
		.bss	PIDTMP2,1
		.bss	PIDTMP3,1
		.bss	KP,1 
		.bss	KI,1 
		.bss	KD,1 
		.bss	U,1
	
X	.equ	300h

Y:	.equ	200h     ;存放输出波形的起始地址

					
        	.text
_c_int0    
            SETC 	INTM
    		CLRC 	SXM
    		CLRC 	OVM
            CLRC 	CNF	
            LDP 	#0E0H
            SPLK	#82FEH,SCSR1			;CLKIN=10 M,CLKOUT= 20M 
            SPLK	#0E8h,WDCR				;关看门狗
            LDP		#0
	    	SPLK	#0002h,IMR				;允许INT2中断
	    	SPLK	#0FFFFh,IFR				;清所有中断标志
     	  
;参数初始化
			SPLK	#00H,VREF     
			SPLK	#00H,V
			SPLK	#00H,VE0
			SPLK	#00H,VE1
			SPLK	#00H,VE2 
			SPLK	#00H,PIDTMP1       
			SPLK	#00H,PIDTMP2
			SPLK	#00H,PIDTMP3
			SPLK	#00H,U
			SPLK	#055H,KP
			SPLK	#08fH,KI
			SPLK	#05H,KD
			
              			
            LAR		AR2,#X     ; 输入初始化(为阶跃函数)
           	MAR		*,AR2
           	LACL	#00H 
           	RPT		#26
			SACL	*+  
			LACL	#010FFH 
           	RPT		#100
			SACL	*+     
		            
   			LAR		AR2,#Y     ; 输出清零
			MAR		*,AR2
           	LACL	#00H 
           	RPT		#127
			SACL	*+   
            
            
            

            LAR		AR3,#127
            LAR		AR2,#Y          ;存放输出波形的起始地址
            LAR		AR1,#X          ;存放输入波形的起始地址
MAIN        MAR		*,AR1
            LACL	*+
            SACL	VREF  
            CALL	PID
            MAR		*,AR2
            LACL	U
            SACL	*+
            
            SACL 	V             ;闭环
            
			LARP    3
			BANZ	MAIN
        
WAIT 	    NOP
      	    B		WAIT                 
                 
	
PID:
			SETC	SXM        ;参考《TMS320LF240x DSP结构、原理及应用》
			LDP 	#0          ;刘和平等编著,北航出版社 310页
			LACL	VREF
			SUB		V
			SACL	VE2
			SUB		VE1
			SACL	PIDTMP1
			SUB		VE1
			ADD		VE0
			SACL	PIDTMP3
			LT		KP
			MPY		PIDTMP1
			PAC
			RPT		#4
			SFL
			SACH	PIDTMP1,1
			LT		KI
			MPY		VE2
			PAC
			RPT		#4
			SFL
			SACH	PIDTMP2,1
			LT		KD
			MPY		PIDTMP3
			PAC
			RPT		#4
			SFL
			SACH	PIDTMP3,1
			LACL	U
			ADD		PIDTMP1
			ADD		PIDTMP2
			ADD		PIDTMP3
			SACL	U
			SUB		#4B00H
			BCND	PID1,LEQ
    		SPLK	#4A3DH,U
			B		PID2
 
PID1:		BIT		U,0
			BCND	PID2,NTC
			SPLK	#0,U
			
PID2:		LACL	VE1
			SACL 	VE0
			LACL	VE2
			SACL 	VE1
							
        	RET	
	
			END


⌨️ 快捷键说明

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