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

C语言描述PID算法程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include <C8051F020.H>
; G5 P' O6 G7 P#include <string.h>
( n5 Z5 H+ g3 E: g. `& M0 P1 \#include <math.h>
7 p$ D5 v- k4 k  R' S/ y2 n9 r( o) bllvoid PIDInit(PID "P)]:& W4 w8 L8 O+ I" n
尸定义结构体和公用体16 c0 q& }, r7 X8 i2 O
#define N81 U7 H4 M3 S3 g# W7 y  p( `" ^0 J
typedef struct PID{7 |% w* _* R8 R: G" w6 G
unsigned int setpoint:, Z) X) `! [5 ~3 t1 e3 l4 I9 V
尸设定值1. }5 ?% ?, i2 |# Y" X
unsigned int proportion:) e1 R; X5 G7 Z9 w- l
I"比例系数13 w* N& L+ V# a: H& `, ~$ _( a
unsigned int integral;
: e! H2 f1 i: i- E6 z2 C1积分系数”1
; ^, |# \. l. k6 _+ s/ Yunsigned int derivative;. x& g0 Q/ a( U1 U0 z
尸微分系数°1
3 ]; C, ^4 a/ Hunsigned int lasterror;; _! Y) a. U/ M7 C: h- ?3 p
「前一"拍误差"14 C/ `. ~- u' ~& o# s: v' `
unsigned int preerror,
0 c8 b/ i$ i# x$ g/ `P前两拍误差1
0 M1 D! c% h! r/ B7 B}PID;
! I+ W' q9 g2 D( @4 Hunion stu{4 P: d  \8 R7 N" U$ G3 _; c
unsigned int value;9 J% J4 A0 R7 O
unsigned char num[2];
1 _" P+ v( x# h; G8 n+ ]' w}laser;$ _& z3 ?8 C# q7 P: |4 W: E' S
union dat{
5 ?, u2 ]7 p# X! k3 \- n' z& `unsigned char dd[2]:% f: W( a) z# r: z& W/ Q* ~
unsigned int number,
9 l- L) k$ b& Z, B! p/ D( {: N}collect  e5 }0 A4 J4 `2 ^% m, w. Z6 ~
P函数声明部分"I
/ c9 R: x. G; W4 K! Q7 _2 H- L& iunsigned int PIDcal(PID "pp.int tiser):& [% I7 U: ^$ G0 ~- S6 f8 w8 T% b
void PIDInit(PID "P)]:/ m0 W6 W% ?% {3 W( v) h
void Portinit(void);
" p0 |- }& S1 _/ `unsigned int get ad(void);
3 _, n8 W: c" ~/ H' Q* ]& V+ l. h" d2 dunsigned int flter valve(void).: P6 J2 g8 ]: v2 R
void Delayms(void);6 b% b  x# C, {7 X
P"主函数部分”1
( ]9 d; p: t& S+ Cvoid main(void)
! |: E. @: S  DPID vPID;
& _% g( Q! m# o) d1 U7 N1"定义结构体变量名”1
) w2 C$ a' I7 V7 v( v( ?6 U$ _unsigned int verror,8 C$ {3 j# u1 K9 o+ c: Y4 l" z0 u
unsigned int Error,
. f3 R: d* a: Y% ^; C  }unsigned int tempi:1 X- X. g, J" {. t& C
unsigned8 v9 V+ N0 n5 E9 M0 i
char LASERH,LASERL误差的高低字节变量 “1
& z) Q+ h7 h0 i4 I" w) |2 L( jWDTCN=Oxde;
9 z$ u1 T- z2 e' B, [/ T" BWDTCN=Oxad;
0 O$ b6 \" G& \5 tlporinit);:; L9 `/ s" q1 t7 r9 ~
PIDInit(&vPID);
9 S; G4 r* @: l% x9 W- K1 c) z1 RvPID.proportion=10; P 设置PID 比例系数为10°/
( L8 b/ W. d4 PvPID.integral=10; 1 设定PID 积分系数为10*/1 C- L5 n  L  k" X7 E* R
游客,如果您要查看本帖隐藏内容请回复

1 A4 n4 }7 q# {+ {8 w
& I) Q- i6 s: L8 _6 |3 \
  • TA的每日心情

    2019-11-19 15:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-1-7 17:57 | 只看该作者
    兄弟,你这个偷笑是咋回事?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-18 10:48 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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