久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)PID算法實(shí)現(xiàn)

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月03日   【字體:

initial interrupter                
void init_interrupter(void)
{
TMOD=0x21; /* 設(shè)置計(jì)時(shí)器0工作于模式1,設(shè)置計(jì)時(shí)器1工作于模式2*/
TL0=0x00;    /* T0=0000定時(shí)時(shí)間為71.1ms;71.1ms*15=1.066s*/
TH0=0xdc;    /*T0=DC00定時(shí)時(shí)間為10ms;10ms*100=1s*/ /*T0=FC66定時(shí)時(shí)間為1ms;10ms*1000=1s*/
TL1=0xfd;    /* 設(shè)置串口通信速率9600bps*/
TH1=0xfd;
PCON=0x00; /* SMOD=0, 速率不倍增*/
SCON=0x50; /* 8位數(shù)據(jù)通信,串行通信方式1,允許單片機(jī)接收數(shù)據(jù)*/
IP=0x10;    /*serial com is preferential*/
IE=0x92;    /* 定時(shí)器0, 串口中斷允許;定時(shí)器1中斷禁止*/
rs485_receive=0;
rs485_transmitte=0;
TR0=1;      /* 啟動(dòng)定時(shí)器0*/
TR1=1;      /* 啟動(dòng)定時(shí)器1*/
}
void timer0_server(void) interrupt 1 using 1 /**/
{
   TL0=0x00; TH0=0xdc;/*T0=DC00 timing interval is 10ms;10ms*100=1s*/ /*T0=FC66 timing interval is 1ms;10ms*1000=1s*/
   if (flag_serial==1)
   {
     timer0_counter_3++;
     if (timer0_counter_3>11)
     {
         timer0_counter_3=0;
         flag_serial=0;
         pointer_serial_com_data=serial_com_data;
         counter_serial_com_data=0;
     }
   }
   dog=!dog;/*Timer0 is full(10ms), feed dog*/
   if (timing_interval==0) {timing_interval=1;} /*timing_interval is lost then set it to 1 second*/
   timer0_counter_1++;/*timer0_counter_1 is software timer. when timer0 interrupt is full, it increase automatically*/
   if ((unsigned char) (timer0_counter_1/100)==timing_interval) /*timing_interval arrives*/
   {
     out_flag=1;/*indexing 占空比 high level begin*/
     /*-scan 0809 to get current equipment's temperature-*/
     scan_current_Temperature();
     origina_address=0x82;
     display1_Temperature(current_Temperature,origina_address);
     /*-calculate out_value-*/
     PID_algorithm_function(PID_mode,PP,II,DD,BB,current_Temperature,seted_temperature);
     //out_value=0.5;
     if (out_value>0.0) /*out_value=0.0, then 占空比 is zero*/
     {
         control_0=1;
         ledctrl_address=0x8c;
         leddata_address=0xff;
     }
     //reset timer0_counter_1 and timer0_counter_2,
     timer0_counter_1=0; //indexing timing_interval's timing
     timer0_counter_2=0; //indexing 占空比's timing
   }
   if(out_flag==1)
   {
     timer0_counter_2++;
     if (out_value<1.0)
     {
         if( (unsigned char) (timer0_counter_2/out_value/100) >= timing_interval)
         {
           timer0_counter_2=0;
           control_0=0;
           ledctrl_address=0x8c;
           leddata_address=0x00;
           out_flag=0;
         }
     }
   }
}


float PID_algorithm_function(uchar PID_mode_2,float P_2,I_2,D_2,B_2,current_Temperature_2,seted_temperature_2)
{
   float idata delta;
   switch (PID_mode_2)
   {
     case 1: break;/*PID mode*/
     case 2: D_2=0;      break;/*PI mode*/
     case 3: I_2=0;      break;/*PD mode*/
     case 4: I_2=0; D_2=0; break;/*P mode*/
   }
   if (PID_mode_2<5)/*PID algorithm*/
    ek=(seted_temperature_2-current_Temperature_2)/99.9;
     delta=P_2*(ek-ek1)+I_2*ek+D_2*(ek-2.0*ek1+ek2);
     out_value=out_value+delta;
     ek2=ek1;
     ek1=ek;
     if (out_value>1.0)
     {
         out_value=1;
     }
     else if (out_value<=0)
     {
         out_value=0.0;
     }

   if (PID_mode_2==5) /*BB algorithm*/
   {
     if (current_Temperature_2-seted_temperature_2>=B_2) {out_value=0.0;}
     if (seted_temperature_2-current_Temperature_2>=B_2) {out_value=1.0;}
   }
   return (out_value);

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 日韩插插 | 成人欧美一区二区三区在线观看 | 国产一区二区三区免费视频 | 成人av网站在线观看 | 天天艹日日干 | 欧美jizzhd精品欧美巨大免费 | 天天操夜夜操 | 激情福利视频 | 日韩精品一区二区三区视频播放 | 国产精品99久久久久久www | 亚洲精品一区二区 | 国产日韩欧美一区 | 日本网站免费在线观看 | 有码一区 | 欧美一级欧美三级在线观看 | 日韩无 | 免费在线观看h片 | 欧美久久一区二区三区 | 国产精品178页 | 91av在线视频观看 | 免费艹逼视频 | 国产成人av免费看 | 亚洲精品国产成人 | 国产av毛片| a免费视频 | 日韩资源 | 日韩a在线 | av黄色在线观看 | 日韩中文字幕一区 | 欧美成人精品一区二区男人看 | 伊人免费在线观看高清 | 一级少妇女片 | 国产精品成人久久久久 | 亚洲国产成人精品女人久久久 | 成人毛片一区二区三区 | 丝袜美腿一区二区三区 | 大陆一级毛片免费视频观看 | 在线看片福利 | 草b视频 | 一区二区免费视频 | 一区二区三区视频在线观看 |