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

5星 · 超过95%的资源 需积分: 9 209 下载量 110 浏览量 更新于2023-12-27 1 收藏 47KB DOC 举报
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处,然后重复以上步骤。