资源简介
本实例采用51单片机,AD,DA设计,采用单片机C语言编程,并且通过Proteus软件仿真。第一次上传资料,请大家多多指教

代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define KP 100
#define TI 2
#define TD 1
#define T 1
sbit start=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
float y_cur;
float y_pre;
float e_cur;
float e_pre;
float e_last;
float u_cur;
float u_pre;
float u_aug;
uchar AD;
uint INPUT=3;
uint r;
void pid_init()
{
r=INPUT;
y_cur=0;
y_pre=0;
u_pre=0;
e_pre=0;
e_last=0;
}
float pid_process()
{
float q0 q1 q2;
e_cur=r-y_cur;
q0=(float)( KP*(1+T/TI+TD/T));
q1=-KP-2*KP*TD/T;
q2=KP*TD/T;
u_aug=q0*e_cur+q1*e_pre+q2*e_last;
u_cur=u_aug+u_pre;
u_pre=u_cur;
e_last=e_pre;
e_pre=e_cur;
y_pre=y_cur;
return u_cur;
}
void dac1()
{
uint idata out;
out=(int)(pid_process());
P0=out;
}
void delayms()
{
int ij;
for(i=0;i<1000;i++)
{
for(j=0;j<10;j++);
{
;
}
}
}
void ad_0808( )
{
start=1;
start=0;
while(EOC==0)
{
OE=1;
}
AD=P2;
OE=0;
}
void adc()
{
ad_0808();
y_cur=AD;
}
void main()
{
pid_init();
while(1)
{
delayms();
dac1();
adc();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 119499 2010-01-07 22:54 数字PID\Last Loaded PID ok.DBK
文件 1078 2010-01-07 22:54 数字PID\PID ok.PWI
文件 119499 2010-01-07 22:54 数字PID\PID 控制器.DSN
文件 1296 2010-01-07 22:41 数字PID\PID 控制器.c
文件 2178 2010-01-07 18:52 数字PID\PID 控制器.Uv2
文件 6376 2005-03-22 15:22 数字PID\STARTUP.A51
文件 14063 2010-01-07 22:54 数字PID\STARTUP.LST
文件 758 2010-01-07 22:54 数字PID\STARTUP.OBJ
文件 3844 2010-01-07 22:54 数字PID\Text1.LST
文件 7682 2010-01-07 22:54 数字PID\Text1.OBJ
文件 7670 2010-01-07 22:54 数字PID\wo wo
文件 3646 2010-01-07 22:54 数字PID\wo wo.hex
文件 43 2010-01-07 22:54 数字PID\wo wo.lnp
文件 10354 2010-01-07 22:54 数字PID\wo wo.M51
文件 1034 2010-01-07 22:54 数字PID\wo wo.Opt
文件 1008 2010-01-07 22:54 数字PID\wo wo.plg
....... 1041 2010-01-07 22:06 数字PID\wo wo_Opt.Bak
....... 0 2010-01-07 17:57 数字PID\wo wo_Uv2.Bak
目录 0 2010-01-07 22:55 数字PID
----------- --------- ---------- ----- ----
301069 19
- 上一篇:随机生成汉字的小程序
- 下一篇:FIR滤波器的C语言实现
相关资源
- 单片机PID控制(C语言)
- Proteus仿真:PID算法输出.rar
- 一个模糊PID温度控制算法源代码
- pid控制电机
- PID算法.c
- C语言模糊控制程序
- SpiderMonkey1.61.7 编译文件全部libdllh文件
- 先进PID控制MATLAB仿真
- 模糊PID硕士期刊论文及源码.zip
- 先进pid控制及其matlab仿真64898
- 网络爬虫 C++ Crawler Spider
- 获取U盘VIDPID盘符物理序列号源码可运
- PID调节电机转速 配合MPU6050
- 积分分离型PID控制 匿名四轴波形输出
- PID参数整定一本通
- rapid Scada组态软件
- PID学习资料 各种PID解释和应用
- 自适应PID,C语言源码
- DSP的PID控制程序
- SuperPid修改进程PID工具驱动级.别名.
- C语言实现PID控制直流电机调速含pro
- NCDDE服务连接DDE封装的APIddehelper
- 模糊PID控制C语言程序.doc
- Project1.rar
- 模糊PID的C语言程序
- 自适应模糊PID代码 C++实现
- 控制方法的C语言实现
- VS2010版c++PID控制算法详尽注释
- PID算法Matlab仿真程序和C程序
- 模糊pid算法c语言
评论
共有 条评论