基于单片机电阻炉模糊算法控制性系统设计-资料

资料下载地址-1021(百度网盘):点击下载

随着科学技术的发展,模糊控制的温度控制系统也越来越先进,对温度的控制精度要求也越来越高,模糊控制针对被控对象存在的滞后、时变、非线性等特点,将模糊控制算法引入温度控制系统,改善了系統的控制效果, 在工业电阻温度中有非常好的应用前景。

本毕业设计研究的是基于单片机实现对温度的检测与控制,系统能够实时显示当前的温度值,并可以通过按键设定将要控制的温度值。

首先,本设计系统采用单片机作为信息处理中心,通过传感器,A/D转换器,以及对单片机的编程,完成信号输入检测,温度分析处理及温度显示等功能。利用单片机系统来实现模糊控制的温度控制系统的设计和分析。

其次,系统组成包括传感器,键盘输入,单片机电路,显示电路和LED显示等部分。此次的重点和难点是单片机I/O端口的输出电流难以点亮数码管和模糊控制规则库的建立,本设计通过当检测到当前温度时,单片机计算出误差和误差变化率,在通过查询根据模糊控制规则得出的控制表,找出正确,有效的控制量代码,再按照对应的控制方法发出控制信号,控制电热丝和电风扇执行相应的动作。

最后,对这个毕业设计课题在这一段时间里取得的成就进行总结,并提出和改进了一些模块的功能。

关键词:模糊控制  单片机  传感器  控制量代码

基于单片机电阻炉模糊算法控制性系统设计-资料

 */
#include <reg51.h>
#define  uchar	unsigned char
#define  uint	unsigned int
sbit		DQ		= P1 ^ 4;
sbit		SET		= P1 ^ 0;
sbit		INC_A		= P1 ^ 1;
sbit		INC_B		= P1 ^ 2;
sbit		temp_inc	= P3 ^ 0;
sbit		temp_dec	= P3 ^ 1;
sbit		GAO		= P3 ^ 2;
sbit		DI		= P3 ^ 3;
sbit		NOR		= P3 ^ 4;
unsigned char	flag, flaga, SET_A = 2, SET_B = 5, e1 = 0;
unsigned char	TCNT, U, set_tempA, set_tempB, realtemp, settemp;
/* 行扫描数组 */
uchar code scan[8] = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf,
		       0xbf, 0x7f };                                            /* row0--row7 */
/* 数码管显示的段码 */
uchar code	table[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,
			    0x6F,      0x40, 0x39, 0x00, 0x78, 0x79 };          /* ,-,C,kong,t,e */
uchar code	ditab[16] = { 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x06,
			      0x06,	 0x07, 0x08, 0x08, 0x09, 0x09 };        /* 小数显示查询表 */
uchar code	fuzzy[21][11] = { { 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 1 }, { 5, 5, 5, 5, 5, 5, 4, 2, 2, 1, 1 },
				  { 5, 5, 5, 5, 5, 5, 4, 2, 2, 1, 1 },
				  { 5, 5, 5, 5, 5, 5, 4, 2, 1, 1, 1 },
				  { 5, 5, 5, 5, 5, 5, 4, 2, 1, 1, 1 },
				  { 5, 5, 5, 5, 5, 5, 4, 2, 1, 1, 1 },
				  { 5, 5, 5, 4, 4, 4, 3, 2, 1, 1, 1 },
				  { 5, 5, 5, 4, 4, 4, 3, 2, 1, 1, 1 },
				  { 5, 5, 4, 4, 4, 3, 2, 2, 1, 0, 0 },
				  { 5, 5, 4, 4, 3, 2, 1, 1, 1, 0, 0 },
				  { 4, 4, 3, 3, 2, 1, 1, 1, 0, 0, 0 },
				  { 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, 0 },
				  { 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0 },
				  { 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 },
				  { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 } };
uchar		dispbuf[8];     /* 显示缓冲区 */
uchar		temper[2];      /* 存放温度的数组 */

基于单片机电阻炉模糊算法控制性系统设计-资料

上一篇:EasyPlayer_Android RTSP安卓播放器直播画面卡在第一帧问题修复


下一篇:UE、UI、UCD、UED?职责划分?