TA的每日心情 | 开心 2023-5-30 15:22 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
//PID算法温控C语言2008-08-17 18:58/ J d7 C# S7 v1 T' k, w
#include<w77e58.h> ! p1 X/ ]9 ]; J( G5 P1 I
#include<intrins.h>
3 M" W" r* T$ Z) D#include<math.h> 7 x) h9 W: O8 p4 S) x. t$ W: ^- T
#include<string.h> " @, O% h6 n6 G
struct PID {
$ O% K0 G6 ?2 F$ k/ Q0 [unsigned int SetPoint; // 设定目标 Desired Value
" t" R4 j! b5 C7 gunsigned int Proportion; // 比例常数 Proportional Const
- ~6 j4 k5 d0 n/ Iunsigned int Integral; // 积分常数 Integral Const : ?; v: d D3 a1 ]
unsigned int Derivative; // 微分常数 Derivative Const : H2 K* Q. U/ j: N
unsigned int LastError; // Error[-1] $ f# P6 F' A! _/ d. Z9 O
unsigned int PrevError; // Error[-2]
( O! k' `! B5 i' G* W# O+ f. Aunsigned int SumError; // Sums of Errors
. \! i7 m9 C. u5 j& l2 l}; / A) r& j1 t$ m( |* K3 o
struct PID spid; // PID Control Structure
- ?5 @2 H4 f7 e7 l$ |+ punsigned int rout; // PID Response (Output) I# l6 w) R6 E8 \; y. }2 c4 O# C7 L
unsigned int rin; // PID Feedback (Input) & n5 y' x0 J, W
sbit data1=P1^0; ' J, x1 O# V3 y6 p# D7 X0 t5 _
sbit clk=P1^1; . G/ W/ \5 M2 F. T
sbit plus=P2^0;
* L& C- E) B3 s$ j- n! }. V9 ?sbit subs=P2^1; 0 C5 w2 I- ?$ f. f( x
sbit stop=P2^2; : ]) {6 [" o# f
sbit output=P3^4; ( X- F3 r* {- f& Q7 K
sbit DQ=P3^3; 1 ?( j( i/ Z* A& k4 l# T \
unsigned char flag,flag_1=0;
" O7 Q5 Z7 W8 B" Junsigned char high_time,low_time,count=0;//占空比调节参数
% v2 s# c$ Q i' _1 |unsigned char set_temper=35;
( \" `/ |8 l0 p3 h8 ?% ^/ Uunsigned char temper;
0 ]" R Q' F$ g: [' j4 }unsigned char i; 9 e* J: k. l. ]$ E- ]' W2 v
unsigned char j=0; 6 ]& W( [ @+ o; D" I- `
unsigned int s; 3 n; Q5 r0 C9 i+ P6 ~3 O* k$ }
/***********************************************************
2 u" \! x9 e$ {延时子程序,延时时间以12M晶振为准,延时时间为30us×time
+ F8 @( d" T' P6 J***********************************************************/
0 E" a* T( r; [9 pvoid delay(unsigned char time)
7 Q |& Z. F( I{ 2 v) N2 T2 N; X7 f% @
unsigned char m,n; % z: D: B# V. K: f
for(n=0;n<time;n++) 5 E* @* F7 D6 G
for(m=0;m<2;m++){} / y4 M+ Y) K7 A1 M$ B' w8 X/ h
} : c- `) a9 X5 D* x* c3 @6 k* {1 r
/*********************************************************** " Z% L. P9 b! h' u b/ }; _; m
写一位数据子程序 + ]" [. d1 A) j: g# y3 X
***********************************************************/
/ W4 a! z; s4 \$ M y C6 a+ K, v8 b( L1 n& _& L
" ]+ t) z' x# k( o# y$ Y% u. Y
|
|