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

C语言描述PID算法程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

: U) r2 b! }/ S' z( m" K% x' C0 W! v
#include <C8051 F020.H>) R8 @' H9 y+ H9 i
#include <string.h>. E. J7 g! w- `; X
#include <math.h>. u! ]( N5 D& n- a1 D' ?$ J; J
//void PIDInit(PID *PP);
/ |! U/ o8 G9 \. J3 S# D  m' h/*定义结构体和公用体*/4 M: e& L& z8 j. v; h9 s
#define N 81 ~. W1 k' M/ k; ^' \
typedef struct PID{/ l- J6 S' t- |, h6 Q$ J
unsigned int setpoint; /* 设定值*/$ @" c$ j- N8 ~  G7 t* e
unsigned int proportion;/*比例系数*/
- K- K+ q' @$ A( Wunsigned int integral;/*积分系数*/
+ ]9 J6 [2 [! `7 V  Y) y( F" g# munsigned int derivative;|*微分系数*/. ~( w: q; d2 T5 r1 p1 I
unsigned int lasterror;/*前一拍误差*// s. Z% a0 b: c& z8 [; Y; N
unsigned int preerror; .|*前两拍误差*/
  {2 _$ T5 b1 A; M}PID;, y* J8 Y, {. q
; W0 P# A4 w6 r" q; k4 \
; m) u# A2 S- d# d# g5 G) T0 Z

+ y3 t2 Y0 B  t: gunion stu{' G& v. r% B  O. B9 A+ f0 d
unsigned int value;. ]4 S- i' F8 b/ p* U+ A- P
unsigned char num[2];8 O. C0 w, V( V9 k0 Z% g# u; z) c
}laser;& Y- |6 q& \' e3 E# L4 R; U; y
union dat{
( g0 y6 _: t/ n. M9 X* Runsigned char dd[2];
# p  f! c" @! k% junsigned int number;9 [( g# m9 r. v' P
}collect;/ o: @4 d4 x; H( p9 b8 P' @  c6 h$ R
/*函数声明部分*/7 k- m% J' G7 ]4 U; q/ r$ \6 O/ L3 m
unsigned int PIDcal(PID *pp,int thiserror);; T2 M- @( @9 u# U' D9 t
void PIDInit(PID *PP);5 l$ N* V  o+ P# I1 {
void PortInit(void);
) U, p6 E# V- a- V2 }& hunsigned int get_ _ad(void);
$ s0 N. L" R1 [: U0 i  A; ?unsigned int filter_ _valve(void);
, P" a, j- _6 Q! Jvoid Delayms(void);
+ C* C8 S$ i. t6 [4 E8 O: }- ^/*主函数部分*/% W% X& E, M1 w6 S  [: \
void main(void)
2 z1 P' W& Q% |0 h, U9 H2 y9 ^! k5 `; ~2 h
{. ]& X* H% r1 z+ I$ g7 b
PID vPID;/*定义结构体变量名 */. m. K5 N! I3 i( l) }3 k1 Y0 P
unsigned  int verror;+ x9 i" J; A* d3 K2 S- V4 D
unsigned  int Error;# T; x) q1 b6 _8 j, C. z, }
unsigned  int tempi;
7 I8 A% g# k0 nunsigned char L ASERH,L ASERL;/*误差的高低字节变量*/$ k! O3 D3 t5 {( b; B7 h) p) ~
WDTCN=0xde;
: @0 ?( f1 D( i+ z) Y. `WDTCN=0xad;0 V# f$ v! o' l% v; |0 z
//portinit();7 a% E9 \) t: S4 S7 @
PIDInit(&vPID);7 y" k3 C7 \, J; N) D: x
vPID.proportion= 10;/*设置PID比例系数为10*/
# H7 n& H2 \* _+ _+ x; nvPlD.integral=10;/*设定PID积分系数 为10*/  B6 {8 N; Z+ E6 @6 n' N( K# ~2 l
3 \: i3 v5 E8 b+ X! M
0 e% u! _% I4 Y

. Q3 H5 C8 N4 ?6 t! |, ?  p7 n4 g
游客,如果您要查看本帖隐藏内容请回复
" E( ]" q( Z2 }% ]7 X$ C
7 a- U8 z( A7 o2 p% R  [

+ K% y  m" b9 B& z% l; c8 _
* t; v- w+ M. p2 h) O4 M  J
/ {+ w5 _7 s9 u6 F% H8 j
- B8 Q" @2 U  Q

该用户从未签到

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

该用户从未签到

3#
发表于 2020-12-17 20:53 | 只看该作者
谢谢分享学习- d& E6 D0 Q( Z' |
  • TA的每日心情
    开心
    2021-3-30 15:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2021-3-30 15:12 | 只看该作者
    xxxxxxxxxxxx
    , s* H# O/ K# G9 u4 x4 p
  • 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-7-18 14:34 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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