⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pid-para set.c

📁 模糊pID控制的典型程序
💻 C
字号:
void PIDpara_set(void)   //设定PID参数
{unsigned char p=0xc0; 、、//指向参数存储器EEPROM首地址
unsigned char i;			  //设置参数的个数变量
unsigned char x[3],old_x;	 //需要设定3个参数
unsigned char setting;		 //	是否继续设置该参数的标志
unsigned char nc[2];
//此处添加函数使8个数码管显示PID-P
for(i=0;i<3;i++)			 、、//设置参数的个数为3
{x[i]=EEPROM_read(p);			 //取出第i个数据到x
old_x=x[i];						// 保存原始键值
nc[0]=x[i]%10;
nc[1]=x[i]/10;
//送显示,使最后的两个数码管显示P、I、D的值
setting=1;
second=0;
minuter=0;
while(setting)
{key_value=Read_key();				//读键值
if(key_value==key_up)				//加键
{if(++x[i]>99)x[i]=0;				//键值处理
}
if(key_value==key_down)				//减键
{if(x[i]>0)x[i]--;					 //键值处理
else x[i]=99;
}
nc[0]=x[i]%10;
mc[1]=x[i]/10;
//送显示,使最后的两个数码管显示调制后的P、I、D的值
if(key_value==key_set) setting=0;	  //准备跳出
if(second1>2)						  //3S
{PID_ctrl();
m_count=PID.ui;						  //m_count 加热的周波数
second1=0;
}
if(minuter>2)break;					  //每个参数最多设置3min
}									  //结束while循环体
if(old_x!=x[i]) EEPROM_write(p,x[i]);
p++;
}										
key_value=0xff;							//给出按键程序已经被执行标志
PID.P=x[0];								//刷新参数
PID.I=x[1];								//刷新参数
PID.D=x[2];								//刷新参数
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -