📄 pid_a.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 + -