|
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 \ |
|