《模糊PID控制温控系统设计C语言程序代码》由会员分享,可在线阅读,更多相关《模糊PID控制温控系统设计C语言程序代码(17页珍藏版)》请在人人文库网上搜索。

1、模糊PID控制温控系统仿真设计C程序代码#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned int#defi ne PULSE 200#defi ne number 0.035sbit SDO = P2A0;sbit SDI = P2A1;sbit CS = P2A2;sbit CLK = P2A3;sbit EOC = P2A4;sbit RS = P2A5;sbit RW = P2A6;sbit EN = P2A7;sbit KEY仁 P3A0;sbit KEY2=卩3八1;sbit KEY3=卩3八2;sbit 。

2、KEY4=卩3八3;sbit KEY5=卩3八4;sbit IN1 = P3A5;sbit IN2 = P3A6;sbit ENA = P3A7;uchar flag;uchar flag_start;float S_temp=60.0;float P_temp=20.0;float Kp;float Ki;float Kd;float Err=0.0;float Last_Err=0.0;float D_Err=0.0;float Sum_Err=0.0;float U=0.0;/*函数功能:延时*/void delay_ms(uchar z)uchar i;uchar j;for(i=z;。

3、 iO;i-)for(j=360;j0;j-);void delay_us(uchar z)uchar i;for(i=z; i0;i-);void LCD_WriteData(uchar Dat) _RS = 1;P1 = Dat;delay_us(10);EN = 1;delay_us(10);EN = 0;void LCD_WriteCOM(uchar com) _RS = 0;P1 = com;delay_us(10);EN = 1;delay_us(10);EN = 0;void Show_Num(uchar x,uchar y,uchar n, float num) _uchar 。

4、a3;uchar i;uint Temp;Temp=(i nt)num;for(i=0;i 0;i-)LCD_WriteData(ai-1+0x30);void Show_Ki(uchar num _Ki)uchar Temp; num_Ki=Ki*100; Temp=(uchar) num _Ki; Show_Num(10,2,1,Temp%10); Temp=Temp/10;Show_Num(9,2,1,Temp%10);Temp=Temp/10;Show_Num(7,2,1,Temp);_void Show_char(uchar x,uchar y,uchar ch)_if(y%2 = 。

5、1)LCD_WriteCOM(0x80+x);elseLCD_WriteCOM(0x80+0x40+x); LCD_WriteData(ch); _ void LCDni t(void) _RW = 0;EN = 0;LCD_WriteCOM(0x38);LCD_WriteCOM(0x0c);LCD_WriteCOM(0x06);LCD_WriteCOM(0x01); /*函数功能:显示函数*void LCD_display(void) _Show_char(1,1,T); delay_us(10); Show_char(0,1,卩);delay_us(10);Show_char(1,1,T)。

6、;delay_us(10);Show_char(2,1,:);delay_us(10);Show_Num(3,1,3,P_temp);delay_us(10);Show_char(10,1,S);delay_us(10);Show_char(11,1,T);delay_us(10);Show_char(12,1,:);delay_us(10);Show_Num(13,1,3,S_temp);delay_us(10);Show_char(0,2, P);delay_us(10);Show_char(1,2,:);delay_us(10);Show_Num(2,2,2,Kp);delay_us(1。

7、0);Show_char(5,2,T);delay_us(10);Show_char(6,2,:);delay_us(10);Show_char(8,2,.);delay_us(10);Show_Ki(Ki);delay_us(10);Show_char(12,2,D);delay_us(10);Show_char(13,2,:);delay_us(10);Show_Num(14,2,2,Kd); delay_us(10); _/* 函数功能:定时器2初始化 */ void Timer2ni t() _RCAP2H =(65536-300)/256;RCAP2L =(65536-300)%25。

8、6;TH2 = RCAP2H;TL2 = RCAP2L;ET2 = 1;TR2 = 1;EA = 1;/* 函数功能:键盘扫描,调整设置温度 */ void key_sca n(v oid) _if(KEY1=0)delay_ms(1);if(KEY1=0)S_temp=S_temp+1; if(S_temp=200) S_temp=200;while(!KEY1);if(KEY2=0)delay_ms(1);if(KEY2=0)if(S_temp0) S_temp=S_temp-1;else if(S_temp=10) S_temp=S_temp-10;while(!KEY4); if(KE。

9、Y5=0) delay_ms(1); if(KEY5=0) flag_start=1; while(!KEY5); /*函数功能:PID的计算*/void PID_Calculate() _Err = S_temp - P_temp; Sum_Err += Err; D_Err = Err - Last_Err; Last_Err = Err; U=Kp*Err+Ki*Sum_Err+Kd*D_Err; U=( in t)U;if(U=0) if(U=200) U=200;flag=1;elseU=-U;if(U=200)U=200;flag=0;函数功能:PID参数Kp的计算float fu。

10、zzy_kp(float e, float ec)e,ec 表示误差,误差变化率float Kp_calcu;uchar nu m,pe,pec;float code eRule7=-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0;误差 E 的模糊论域float code ecRule7=-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0; /误差变化率 EC 的模糊论 域float eFuzzy2=0.0,0.0;float ecFuzzy2=0.0,0.0;float code kpRule4=0.0,8.0,16.0,24.0;float KpFuzzy4=0.0,。

11、0.0,0.0,0.0;in t code KpRule77=3,3,3,3,3,3,3,/隶属于误差E的隶属程度/隶属于误差变化率EC的隶属程度/Kp的模糊子集/隶属于Kp的隶属程度/Kp的模糊控制表222,2,1,2,2,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,0,2,3,3,3,3,3,3,3;/*误差E隶属函数描述*/if(e2)PORT = port; return AD_value; _float AD_deal(void) _ui nt AD_value;float temp;AD_value = read_tlc2。

12、543(0x00); temp = AD_value* nu mber; return temp;主函数*void ma in (void)uchar AD_value=0; flag=0;flag_start=0;ENA=1;IN 仁0;IN2=0;LCDni t(); LCD_display(); Timer2_I ni t();while(1) if(flag_start=0) _key_sca n();Show_Num(13,1,3,S_temp);Show_Num(3,1,3,P_temp); 一 一else if(flag_start=1) P_temp=AD_deal();Sho。

13、w_Num(3,1,3,P_temp); PID_Calculate();/E量化因子5Kp=fuzzy_kp(Err/5,D_Err);Ki=fuzzy_ki(Err/5,D_Err);Kd=fuzzy_kd(Err/5,D_Err);Show_Num(2,2,2,Kp); Show_Ki(Ki);Show_Num(14,2,2,Kd); key_sca n();Show_Num(13,1,3,S_temp); void timer2() in terrupt 5 定时器2中断*/static uchar nu m1=0;TF2 = 0;nu m1+;if(n um1PULSE)num仁 0;ENA=1。

温控系统c语言源代码,模糊PID控制温控系统设计C语言程序代码相关推荐

  1. 温控仪C语言程序,模糊PID控制温控系统设计C语言程序代码

    <模糊PID控制温控系统设计C语言程序代码>由会员分享,可在线阅读,更多相关<模糊PID控制温控系统设计C语言程序代码(17页珍藏版)>请在人人文库网上搜索. 1.*模糊PID ...

  2. 单片机自动调光C语言,基于51单片机的DS18B20水温PID控制调节系统设计C语言程序...

    #include 'reg52.h' #include 'stdio.h' #define uchar unsigned char #define uint unsigned int sbit s1= ...

  3. 模糊pid控制的温度系统matlab源代码_变风量空调模糊 PID 控制系统的仿真研究

    一般在负荷变化较大的大型中央空调系统中,采用温度恒定和改变风量的调节方式,从而使控制房间的送风量随系统负荷的变化而变化的中央空调系统叫做变风量空调系统.该系统最大优点就是a节能,如果全年运行,可节约能 ...

  4. 模糊PID控制在自动光电整纬装置中的应用

    模糊PID控制在自动光电整纬装置中的应用 摘要:针对纺织品在运行过程中的变形是非线性.时变的特点,提出一种新型自动整纬装置的设计方法.采用高性能的TMS320LF2407A芯片作为主处理单元,软件采用 ...

  5. 基于SIMULINK的燃烧过程模糊PID控制系统仿真

    基于SIMULINK的燃烧过程模糊PID控制系统仿真 1 燃烧过程控制系统 在许多的工业生产过程中,燃烧都是必需的一环.燃烧过程有燃油.燃煤.燃气等区别.虽然燃烧应用场合和燃料各异,但是燃烧过程的控制 ...

  6. 模糊PID控制双容水箱液位控制-模糊控制

    资源: 双容水箱液位模糊PID控制MATLAB仿真-电子商务文档类资源-CSDN文库 模糊控制原理 水流入量Qi由调节阀R1(FV101)控制,流出量Q2由用户通过负载阀R2来改变,被调量为下水箱水位 ...

  7. matlab 模糊pid mimo 对应,双关节机械手的模糊PID控制系统设计.doc

    双关节机械手的模糊 PID 控制系统设计 摘 要 为了实现高阶.非线性.强耦合的机械手运动系统的控制,本文选用能够充分 体现机械手特性并且结构较为简单的 2 自由度机械手--双关节机械手,作为被控 对 ...

  8. 汽车防抱死系统_ABS_建模与模糊PID控制研究

    本文旨在设计一种利用模糊控制理论优化的pid控制器,控制abs系统,达到对滑移率最佳控制范围的要求 ,所提出的方案采用级联控制架构:设计用于外环中的车轮打滑控制的具有Takagi-Sugeno-Kan ...

  9. 双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)

    前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看.(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:双容模糊 获取完整无水印报告+仿真源文件+ ...

最新文章

  1. 02_记录学生相关数据,输出平均分数
  2. Mysql的“Table ‘mysql.servers‘ doesn‘t exist”的解决方法
  3. leetcode算法题--盛最多水的容器
  4. Linux设备驱动模型概述(Linux device driver model overview)
  5. centos7 python
  6. Container.ItemIndex 获取reapeater行号
  7. 程序员必备技能-科学砍需求 1
  8. 字节跳动笔试题-前端(互娱)
  9. Vue人资中台--打包上线
  10. smartbi服务器缓存文件,导出资源 - Smartbi V10帮助中心 -
  11. 科目三 流程 记录 LTS
  12. 二维数组与字符数组——英文字母、数字字符及其他字符的个数
  13. Android基础入门教程——2.5.1 Toast(吐司)的基本使用
  14. 洛谷P7529 Permutation G
  15. 迅为4412开发板网络-最小局域网的配置方法
  16. win10打开.md文件
  17. 网易云音乐mp3外链-真实地址下载方法
  18. jQuery 参考手册
  19. java获取中国城市代码 中国城市ID(天气预报可用哦)
  20. 招投标(政府采购) 流程及注意事项

热门文章

  1. Intellij Idea如何不显示.idea target文件夹
  2. html语言基范例,简单html网页范例
  3. Objective-C(十九、通知-消息发送模式之中的一个)——iOS开发基础
  4. 最新M1专用AU更新Adobe Audition CC 2021中文直装版,已解决M1安装不上闪退等问题!
  5. Linux C/C++网络编程实战-陈硕-笔记15-如何正确使用 TCP
  6. 如今甲骨文正式发布Java 14……
  7. linux php安全配置文件,centos_linux系统安全配置、php安全配置
  8. intel,ARM,问华为海思麒麟是自主的吗
  9. 线程锁,进程锁以及分布式锁丨锁的实现及原理分析丨高效的使用
  10. 汽车电子标识协议(类LLRP协议)wireshark插件