找回密码
 注册
关于网站域名变更的通知
查看: 572|回复: 4
打印 上一主题 下一主题

C语言描述PID算法程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-20 14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

9 w# r# B" `  B( R4 F
# i0 b& m- h0 \: |" e, Y+ K#include <C8051 F020.H>
! z& X  B) B3 a' ~5 |2 Z: U#include <string.h>
. i9 T1 n/ _- H: v#include <math.h>
6 h& K9 I8 Y; t//void PIDInit(PID *PP);
/ K# h7 G: y. J0 Z, w* D; X4 m/*定义结构体和公用体*/4 r3 ?! q4 g3 s* D( ?
#define N 8
8 g5 x$ @$ C; _, c; a" |: f5 ?- |typedef struct PID{: ~, I/ p* \( I) _/ H2 _
unsigned int setpoint; /* 设定值*/' D: u$ t9 D& z8 e& j/ a3 Q
unsigned int proportion;/*比例系数*/; y9 ~- @& b9 ]
unsigned int integral;/*积分系数*/
2 t4 Q$ Y2 g- ~) C9 m2 F! ^9 t; H* s% q' Kunsigned int derivative;|*微分系数*/
7 q" \9 n5 r6 }( E5 m9 N3 q6 Iunsigned int lasterror;/*前一拍误差*/$ o7 j8 t' Q+ i: j* ^1 H, A% Q7 `
unsigned int preerror; .|*前两拍误差*/7 z7 n  H! r( r- H, k
}PID;
# a! i$ b3 |. ^# Z: z
  q1 h4 c. Y+ Y5 i: ?* c5 ^- `( [2 \! K1 w) b# H4 ^  u6 i
/ L" D. L- ~" H" A1 T
union stu{
$ G; a& o3 {2 Lunsigned int value;
: }4 E  P4 Z. H1 ], F0 nunsigned char num[2];
6 Z  W$ z9 z6 c# g0 P}laser;
2 h7 v+ I- l1 C- M, l  i2 B* Zunion dat{
$ a' @4 p6 G- {unsigned char dd[2];
) K5 h' B/ z, R/ ?- M( ^unsigned int number;
# e1 \6 V7 k' M4 q4 @8 T% Z}collect;  `" I' Q; ]. U7 e7 k; I
/*函数声明部分*/( _% b* o0 y; x' m2 _
unsigned int PIDcal(PID *pp,int thiserror);
' {+ ?- N5 y+ H+ |2 S- Hvoid PIDInit(PID *PP);6 Y8 k" N- k9 f5 Q4 ^9 ?5 E# l
void PortInit(void);
1 _" ^1 J7 D$ U* u. K2 punsigned int get_ _ad(void);
6 N6 E' q; E, i8 n. j6 t; [unsigned int filter_ _valve(void);
6 ~  B: C( f" Svoid Delayms(void);
( C# g' B1 q5 ]) x3 D/*主函数部分*/5 }. ?; q0 T9 E
void main(void)! Y3 ^" {+ @( c; G' f, e
/ A: Q) m- ?4 K- Z
{
* i  j) y7 c4 z% S+ \, C% o+ tPID vPID;/*定义结构体变量名 */
3 n4 {' v4 F# d" M1 k: f* e% Kunsigned  int verror;
+ m2 p" p2 V. u: K  C% [8 runsigned  int Error;
  Z) C/ H3 v* A" j/ ]3 Q' Wunsigned  int tempi;
% s- {" T3 m# m% N1 ?unsigned char L ASERH,L ASERL;/*误差的高低字节变量*/! C! j9 ?; n. c' @* x
WDTCN=0xde; & c& K) N3 S3 T) E
WDTCN=0xad;0 p- S1 A( J3 r/ ^/ u; s
//portinit();
7 a' K, c+ K- S6 O  n. r* x, {$ ZPIDInit(&vPID);; L) @" V9 v) d9 F9 H
vPID.proportion= 10;/*设置PID比例系数为10*/
. D7 M& n& v* }7 VvPlD.integral=10;/*设定PID积分系数 为10*/3 k1 o: m) _" U+ N# g+ C
# E# Z" C$ U( W( K

1 Y! u! t  ?# Z: B' P, n
. E$ n* J* N4 y8 h! D( J# x3 X
游客,如果您要查看本帖隐藏内容请回复

8 u- `% `7 ]/ }; t' C
/ f- E  V1 ?, u$ U% T$ _% T* ?, T0 I5 ~& U

9 B3 R" I7 ]* ^  o/ T# ?: d$ m' u3 a& }
7 l" [+ q  o+ k

该用户从未签到

2#
发表于 2020-1-20 18:07 | 只看该作者
C语言描述PID算法程序

该用户从未签到

3#
发表于 2020-12-17 20:53 | 只看该作者
谢谢分享学习
6 J& b" z' ]8 e/ @( ?* H
  • TA的每日心情
    开心
    2021-3-30 15:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2021-3-30 15:12 | 只看该作者
    xxxxxxxxxxxx5 H  |& n3 M, W/ U+ N0 C: j  \
  • TA的每日心情
    开心
    2022-3-14 15:57
  • 签到天数: 105 天

    [LV.6]常住居民II

    5#
    发表于 2022-1-19 14:51 | 只看该作者
    谢谢分享学习
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-22 07:29 , Processed in 0.078125 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表