📄 gi.asm
字号:
;============================================================
; 文件名: gi.asm
;
; 模块名: GI_A
;
; 初始化程序名: GI_A_INIT
;
; 公司: 达盛科技
;
; 功能描述:给定积分器
;
; |~~~~~~~~~~~~~~~|
; gi_ref o------>| |
; | gi_a |----->o gi_out
; gi_fdb o------>| |
; step o------>| |
; |_______________|
;
;
; 目标板cpu: 'c2xx
;=====================================================================================
; 更改记录:
;-------------------------------------------------------------------------------------
; 最后更新时间:2005.6.15 版本号: Ver 1.0
;====================================================================
*************************************************************
* 速度 PI 调节器
*************************************************************
; .ref GI_A,GI_A_INIT ; 子程序调用
; .ref gi_ref,gi_step ; 输入
; .ref gi_out ; 输出
;------------------------------------------------------------
; 变量声明
;------------------------------------------------------------
.def GI_A,GI_A_INIT ; 子程序调用
.def gi_ref,gi_step ; 输入
.def gi_out ; 输出
;------------------------------------------------------------
; 输入输出变量定义
;------------------------------------------------------------
gi_ref .usect "GI_A",1 ;预期输入值
gi_fdb .usect "GI_A",1 ;反馈值
gi_out .usect "GI_A",1 ;输出值
gi_step .usect "GI_A",1 ;步长
gi_skp_cnt .usect "GI_A",1
;------------------------------------------------------------
; 初始化
;------------------------------------------------------------
GI_A_INIT
zac
ldp #gi_ref
sacl gi_fdb
sacl gi_out
sacl gi_step
*** 积分系数***
splk #0001H,gi_step ;默认步长
SPLK #0010H,gi_skp_cnt ;默认跳过次数
SPLK #0000H,gi_ref ;初始参考值
ret
;------------------------------------------------------------
;控制程序
;------------------------------------------------------------
GI_A
spm 0
setc SXM ;ZYG
setc OVM
LDP #gi_skp_cnt
lacc gi_skp_cnt
sub #1
sacl gi_skp_cnt
bcnd endgi1,NEQ
ldp #gi_out
lacc gi_out ;Q15
ldp #gi_fdb
sacl gi_fdb ;Q15
ldp #gi_ref
lacc gi_ref
sub gi_fdb
bcnd lowaim,LEQ
LACC gi_out
add gi_step
B endgi
lowaim
bcnd lowaim1,LT
; ldp #gi_ref ;test start
; lacl gi_ref
; neg
; sacl gi_ref ;test end
SPLK #10H,gi_skp_cnt
B endgi1
lowaim1
LDP #gi_out
LACC gi_out
sub gi_step
endgi
sacl gi_out
SPLK #10H,gi_skp_cnt
endgi1
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -