|
pid[9]=wendu;//存儲溫度值
for(j=0;j<9;j++)
pid[j]=pid[j+1];
//P比例計算 P參數(shù)為1
if(wendu<set)
p=(set-wendu)+128;
else
p=128-(wendu-set);
//I積分計算 I參數(shù)為1
k=0;
for(j=0;j<10;j++)
k=k+pid[j];
k=k/10;
if(k<set)
i=(set-k)+128;
else
i=128-(k-set);
//D微分計算 D參數(shù)為1
if(pid[8]<pid[9])
{
d=128+(pid[9]-pid[8]);
}
else
d=128-(pid[8]-pid[9]);
k=p+i+d;
k=k/3;
PCF8591_write(k);
|
|