亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pid_reg3.asm

?? 無刷直流電機的無傳感器控制TI程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;=====================================================================================
; File name:        PID_REG3.ASM                     
;                    
; Originator:	Digital Control Systems Group
;			Texas Instruments
;
; Description:  Digital PID controller with anti-windup correction               
; 
;=====================================================================================
; History:
;-------------------------------------------------------------------------------------
; 02-08-2001	Release	Rev 1.0
;================================================================================
; Applicability: F240,F241,C242,F243,F24xx.  (Peripheral Independent).
;================================================================================
; Routine Name: pid_reg3_calc 				  					    Type: C Callable
;  
;  C prototype : void pid_reg3_calc(struct PIDREG3 *p);
;
;        The struct object is defined in the header file "pid_reg3.h" as follows:
;
; typedef struct {  int  pid_ref_reg3;   	/* Input: Reference input (Q15) */
;				  int  pid_fdb_reg3;   	/* Input: Feedback input (Q15) */
;				  int  e_reg3;			/* Variable: Error  (Q14)  */
;				  int  Kp_reg3;			/* Parameter: Proportional gain (Q15) */
;				  int  up_reg3;			/* Variable: Proportional output (Q14) */
;				  int  ui_hi_reg3;		/* Variable: Integral output  (Q30)  */
;				  int  ui_lo_reg3;		/* Variable: Integral output  (Q30)  */	
;				  int  ud_lo_reg3;		/* Variable: Derivative output  (Q30)  */	
;				  int  ud_hi_reg3;		/* Variable: Derivative output  (Q30)  */
;				  int  uprsat_reg3;	 	/* Variable: Pre-saturated output (Q14) */
;				  int  pid_out_max;		/* Parameter: Maximum output  (Q15)  */
;				  int  pid_out_min;		/* Parameter: Minimum output  (Q15)  */
;				  int  pid_out_reg3;   	/* Output: PID output  (Q15)  */
;				  int  saterr_reg3;		/* Variable: Saturated difference (Q14) */
;				  int  Ki_reg3;			/* Parameter: Integral gain  (Q31-16bit) */
;				  int  Kc_reg3;			/* Parameter: Integral correction gain (Q15) */
;				  int  Kd_reg3; 		/* Parameter: Derivative gain  (Q14)  */
;				  int  up1_reg3;		/* Variable: Previous proportional output (Q14) */
;		 	 	  int  (*calc)();	  	/* Pointer to calculation function */ 
;				 } PIDREG3;	          
;	 		 
;        Frame Usage Details:
;     step   |      a      |      b       |      c       |     d     
;____________|_____________|______________|______________|_____________
;     AR0  	 |             |              | 			 |     
;
;================================================================================
                .def        _pid_reg3_calc
;================================================================================
__pid_reg3_calc_framesize .set 0000h
;================================================================================
_pid_reg3_calc:
 													; Assume now ARP=AR1
     	POPD	*+									; Keep return address
       	SAR  	AR0,*+								; Keep old frame pointer (FP)
       	SAR   	AR1,*								; Keep old stack pointer (SP)
       	LARK  	AR0,__pid_reg3_calc_framesize 		; Load AR0 with frame size	
       	LAR   	AR0,*0+,AR0							; AR0->FP0 (new FP), ARP=AR0

;================================================================================
		SBRK	#3		; ARP=AR0, AR0->FR0-3 (1st argument)		
;----------------------------------------------------------------------------------
		LAR		AR2,*	; ARP=AR0, AR0->pid_ref_reg3, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
		ADRK	#3		; ARP=AR0, AR0->FR0, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
		MAR		*,AR2  	; ARP=AR2, AR0->FR0, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
		SETC 	SXM		; Turn sign extension mode on
						; ARP=AR2, AR0->FR0, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
		SETC	OVM		; Set overflow mode
						; ARP=AR2, AR0->FR0, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
 		SPM     0       ; Reset product mode
       					; ARP=AR2, AR0->FR0, AR2->pid_ref_reg3
;----------------------------------------------------------------------------------
    	LACC	*+,15	; ACC = pid_ref_reg3  (Q30)
    					; ARP=AR2, AR0->FR0, AR2->pid_fdb_reg3
;----------------------------------------------------------------------------------
     	SUB		*+,15	; ACC = pid_ref_reg3 - pid_fdb_reg3 (Q30)
    					; ARP=AR2, AR0->FR0, AR2->e_reg3
;----------------------------------------------------------------------------------
      	SACH	*		; e_reg3 = pid_ref_reg3 - pid_fdb_reg3 (Q14)
    					; ARP=AR2, AR0->FR0, AR2->e_reg3
;----------------------------------------------------------------------------------
     	LT		*+		; TREG = e_reg3  (Q14)
     					; ARP=AR2, AR0->FR0, AR2->Kp_reg3 	
;----------------------------------------------------------------------------------
      	MPY		*+  	; PREG = Kp_reg3*e_reg3  (Q29)
     					; ARP=AR2, AR0->FR0, AR2->up_reg3 
;----------------------------------------------------------------------------------
     	PAC				; ACC = Kp_reg3*e_reg3  (Q29)
     					; ARP=AR2, AR0->FR0, AR2->up_reg3         
;----------------------------------------------------------------------------------
     	SACH	*+,1	; up_reg3 = Kp_reg3*e_reg3  (Q14)
     					; ARP=AR2, AR0->FR0, AR2->ui_hi_reg3 	
;----------------------------------------------------------------------------------
      	LACC	*+,16	; ACC = ui   (Q30)
      					; ARP=AR2, AR0->FR0, AR2->ui_lo_reg3 
;----------------------------------------------------------------------------------
     	ADDS	*+		; ACC = ui   (Q30)
     					; ARP=AR2, AR0->FR0, AR2->ud_lo_reg3	
;----------------------------------------------------------------------------------
      	ADDS	*+		; ACC = ui + ud  (Q30)
      					; ARP=AR2, AR0->FR0, AR2->ud_hi_reg3 	
;----------------------------------------------------------------------------------
      	ADDH	*		; ACC = ui + ud  (Q30)
      					; ARP=AR2, AR0->FR0, AR2->ud_hi_reg3
;----------------------------------------------------------------------------------
    	SBRK	#4		; ARP=AR2, AR0->FR0, AR2->up_reg3
;----------------------------------------------------------------------------------
		ADDH	*		; ACC = up + ui + ud  (Q30)
						; ARP=AR2, AR0->FR0, AR2->up_reg3      	
;----------------------------------------------------------------------------------
      	ADRK	#5		; ARP=AR2, AR0->FR0, AR2->uprsat_reg3
;----------------------------------------------------------------------------------
		SACH	*		; uprsat_reg3 = up + ui + ud  (Q14)
						; ARP=AR2, AR0->FR0, AR2->uprsat_reg3  
;----------------------------------------------------------------------------------
       	LACC	*+,16	; ACC = uprsat_reg3   (Q14)
       					; ARP=AR2, AR0->FR0, AR2->pid_out_max
;----------------------------------------------------------------------------------
  		SUB		*-,15	; ACC = uprsat_reg3 - pid_out_max  (Q14)
       					; ARP=AR2, AR0->FR0, AR2->uprsat_reg3
;----------------------------------------------------------------------------------
      	BCND	SAT_MAX_REG3,GT ; Branch to SAT_MAX_REG3 if uprsat_reg3 > pid_out_max  
      	                ; ARP=AR2, AR0->FR0, AR2->uprsat_reg3
;----------------------------------------------------------------------------------
     	LACC	*,16	; ACC = uprsat_reg3   (Q14)
       					; ARP=AR2, AR0->FR0, AR2->uprsat_reg3
;----------------------------------------------------------------------------------
       	ADRK	#2		; ARP=AR2, AR0->FR0, AR2->pid_out_min
;----------------------------------------------------------------------------------
     	SUB		*,15	; ACC = uprsat_reg3 - pid_out_min   (Q14)
       					; ARP=AR2, AR0->FR0, AR2->pid_out_min
;----------------------------------------------------------------------------------
		SBRK	#2		; ARP=AR2, AR0->FR0, AR2->uprsat_reg3 
;----------------------------------------------------------------------------------
       	BCND	SAT_MIN_REG3,LT ; Branch to SAT_MIN_REG3 if uprsat_reg3 < pid_out_min  
      	                ; ARP=AR2, AR0->FR0, AR2->uprsat_reg3     	
;----------------------------------------------------------------------------------
      	LACC	*,16	; ACC = uprsat_reg3   (Q30)
      					; ARP=AR2, AR0->FR0, AR2->uprsat_reg3 
;----------------------------------------------------------------------------------
      	ADRK	#3		; ARP=AR2, AR0->FR0, AR2->pid_out_reg3 
;----------------------------------------------------------------------------------
    	SACH	*,1		; pid_out_reg3 = uprsat_reg3   (Q15)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区四区| 国产欧美精品在线观看| 亚洲乱码国产乱码精品精98午夜 | 99视频一区二区| 国产调教视频一区| 成人做爰69片免费看网站| 国产精品久久夜| 色综合久久久网| 三级亚洲高清视频| 精品久久国产字幕高潮| 国产不卡一区视频| 亚洲精品成人天堂一二三| 欧美日韩一区二区电影| 免费成人美女在线观看.| 精品国产乱码久久久久久浪潮 | 中文字幕一区二区三区视频| 成人成人成人在线视频| 亚洲国产一区二区在线播放| 日韩欧美精品在线| 成人av在线影院| 亚洲主播在线播放| 精品国产1区二区| a在线欧美一区| 日本中文字幕不卡| 日本一区二区三区电影| 欧美网站大全在线观看| 激情五月激情综合网| 国产精品国产精品国产专区不片| 欧美在线高清视频| 日本成人在线一区| 亚洲色图一区二区| 日韩久久免费av| 91免费小视频| 精品一区二区三区免费| 一区二区三区中文字幕在线观看| 日韩一区二区精品| 91在线国内视频| 国产在线一区观看| 一区二区三区四区在线免费观看 | 国产精品一区二区你懂的| 亚洲欧洲国产日韩| 欧美va亚洲va香蕉在线| 色香色香欲天天天影视综合网| 免费人成在线不卡| 亚洲精品视频免费看| 久久亚区不卡日本| 欧美日韩极品在线观看一区| 成人高清免费观看| 国模娜娜一区二区三区| 性做久久久久久久久| 国产精品人妖ts系列视频| 日韩欧美亚洲另类制服综合在线| 99re热视频精品| 国产精华液一区二区三区| 婷婷开心久久网| 亚洲午夜私人影院| 亚洲乱码日产精品bd| 国产亚洲精品中文字幕| 精品国产伦一区二区三区观看方式| 欧美色男人天堂| 91久久奴性调教| 成人动漫一区二区| 成人高清视频在线| 成人av电影免费观看| 国产精品一卡二| 国产一区亚洲一区| 国产一区 二区 三区一级| 青娱乐精品在线视频| 一区二区国产视频| 亚洲免费在线看| 自拍偷拍亚洲综合| 1024成人网| 《视频一区视频二区| 国产精品视频一二| 国产精品久久夜| 亚洲美女视频在线观看| 亚洲欧美一区二区三区国产精品 | 国产精品国模大尺度视频| 欧美国产精品专区| 欧美激情一区二区三区| 欧美国产综合色视频| 国产精品污污网站在线观看| 国产性做久久久久久| 久久综合九色综合欧美98| 久久婷婷久久一区二区三区| 久久久天堂av| 日本一区二区电影| 中文字幕制服丝袜一区二区三区| 国产精品超碰97尤物18| 亚洲欧美日韩在线不卡| 一区二区三区中文字幕精品精品| 亚洲永久精品国产| 丝袜国产日韩另类美女| 蜜臀av性久久久久av蜜臀妖精| 免费在线成人网| 国产伦精品一区二区三区在线观看| 国产在线视频精品一区| www.成人网.com| 欧美午夜精品久久久| 69堂亚洲精品首页| 久久中文字幕电影| 亚洲欧洲www| 亚洲成人激情av| 国产综合色精品一区二区三区| 大桥未久av一区二区三区中文| 91性感美女视频| 欧美日韩一区视频| 久久蜜桃香蕉精品一区二区三区| 亚洲丝袜美腿综合| 日欧美一区二区| 国产ts人妖一区二区| 一本在线高清不卡dvd| 欧美人牲a欧美精品| 久久久久88色偷偷免费 | 日韩福利视频导航| 国产一区欧美一区| 欧美午夜电影在线播放| 久久这里只有精品首页| 亚洲人123区| 黄页视频在线91| 色婷婷久久久综合中文字幕| 欧美一级理论片| 亚洲色欲色欲www| 免费精品视频在线| 99riav一区二区三区| 欧美一区午夜视频在线观看| 国产精品天天看| 乱中年女人伦av一区二区| 不卡av在线网| 日韩久久免费av| 亚洲国产成人91porn| 国产suv精品一区二区三区| 欧美日韩大陆一区二区| 国产精品久久久久久久久久免费看 | 成人中文字幕合集| 日韩一区二区在线免费观看| 亚洲区小说区图片区qvod| 国产一区久久久| 91精品国产乱| 亚洲一区免费视频| 91麻豆免费视频| 国产欧美精品区一区二区三区| 日本伊人午夜精品| 欧美日韩一级二级| 综合亚洲深深色噜噜狠狠网站| 久久66热偷产精品| 91精品欧美久久久久久动漫| 一区二区三区中文免费| 风流少妇一区二区| 久久理论电影网| 久久国产综合精品| 欧美一区二区三区免费在线看| 亚洲精品中文字幕在线观看| 成人国产电影网| 国产精品美女久久久久久久久久久| 久国产精品韩国三级视频| 91.麻豆视频| 午夜精品久久久久久久久久久 | 欧美日韩一级黄| 亚洲国产精品嫩草影院| 91色porny| 亚洲免费观看视频| 99久久99久久久精品齐齐| 欧美国产1区2区| 99麻豆久久久国产精品免费优播| 国产日韩成人精品| 粉嫩av一区二区三区粉嫩 | 国产成人精品影院| 国产日韩欧美综合一区| 久久精品噜噜噜成人av农村| 日韩一区二区三区免费观看| 日韩av电影天堂| 日韩一区二区中文字幕| 免费一级片91| 久久婷婷国产综合精品青草| 精品亚洲成av人在线观看| 久久久影视传媒| 国产高清久久久久| 国产精品久久久久久久久免费桃花 | 久久久精品国产免费观看同学| 国精产品一区一区三区mba视频| 精品久久久三级丝袜| 国产一区二区精品久久| 国产精品第13页| 欧美日韩在线三级| 日本成人在线一区| 精品国产一区二区亚洲人成毛片| 国产综合久久久久久鬼色 | 蜜桃传媒麻豆第一区在线观看| 欧美成人三级电影在线| 高清久久久久久| 一区二区三区91| 日韩欧美一级二级三级| 国产一区免费电影| 亚洲视频在线一区观看| 欧美日韩久久不卡| 国产在线一区二区综合免费视频| 国产精品久久久久一区| 欧美伊人久久久久久久久影院 | 久久精品一区蜜桃臀影院|