"增量式PID控制算法程序及参数设置详解"

0000H
MOV A, BLOCK1
MOV B, BLOCK2
MOV C, BLOCK3
; 初始化 E(k),E(k-1),E(k-2),RK 为 0
MOV EK, 00H
MOV EK1, 00H
MOV EK2, 00H
MOV RK, 00H
; 读取采样数据至 BUFF
MOV CK, BUFF
; 计算 E(k)
SUBB A, CK
MOV EK, A
; 计算增量式 PID 控制算法输出值
MOV A, EK
MOV B, EK1
MOV C, EK2
MOV DPH, 00H
MOV DPL, UK
CALL PID_CONTROL_ALGORITHM
; 存储 E(k) 至 E(k-1)
MOV EK1, EK
; 将结果存入 REC
MOV REC, UK
; 循环
SJMP TEST
PID_CONTROL_ALGORITHM:
; 读取 KP
MOV A, 30H
MOV B, KP
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, B
INC DPTR
; 读取 TD
MOV A, 33H
MOV B, TD
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, B
INC DPTR
; 读取 TI
MOV A, 36H
MOV B, TI
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, B
INC DPTR
; 读取 T
MOV A, 39H
MOV B, T
MOVX @DPTR, A
INC DPTR
MOVX @DPTR, B
INC DPTR
; 计算增量式 PID 控制算法输出值
; ...
; 返回结果
MOV A, DPL
MOV B, DPH
RET
END
这段程序是一个使用增量式PID控制算法的程序。程序从地址30H,33H,36H,39H依次读取参数KP、TD、TI和T,并从地址43H,46H,49H依次读取AB和C的值。随后,程序通过计算采样数据和AB的差值得到E(k),然后将E(k)输入增量式PID控制算法计算出控制输出值UK。最后将结果存入地址50H处,然后重复以上步骤。
257 浏览量
102 浏览量
108 浏览量
271 浏览量
102 浏览量
821 浏览量


IICCEE624
- 粉丝: 10
最新资源
- 《ASP.NET 4.5 高级编程第8版》深度解读与教程
- 探究MSCOMM控件在单文档中的兼容性问题
- 数值计算方法在复合材料影响分析中的应用
- Elm插件支持Snowpack项目:热模块重载功能
- C++实现跨平台静态网页服务器
- C#开发的ProgaWeatherHW气象信息处理软件
- Memory Analyzer工具:深入分析内存溢出问题
- C#实现文件批量递归修改后缀名工具
- Matlab模拟退火实现经济调度问题解决方案
- Qetch工具:无比例画布绘制时间序列数据查询
- 数据分析技术与应用:Dataanalys-master深入解析
- HyperV高级管理与优化使用手册
- MTK6513/6575智能机主板下载平台
- GooUploader:基于SpringMVC和Servlet的批量上传解决方案
- 掌握log4j.jar包的使用与授权指南
- 基础电脑维修知识全解析