亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 溫控最終程序.c

?? 一種用于溫度PID控制的程序
?? C
字號:
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#include<math.h> 
#include<string.h>  
#define AD0809 XBYTE[0xf605]
sbit p_clock=P2^1;                 //P2.1口為AD0809的時鐘輸入
sbit ad_busy=P3^2;                 //AD轉換結束標志
sbit Start=P2^3;                   //開始轉換啟動信號
sbit LE=P2^0;                      //鎖存標志
sbit P1_3=P1^3;
sbit P1_4=P1^4;
uchar Date_AD;                      //Date_AD來接受AD轉換后得到的數據 
uchar led[8];                       //緩沖區
const uchar DATA_7SEG[ ] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                           0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};   //數碼管段碼
uchar sed0=0,sed1=0,min0=0,min1=0;   //秒表程序所要用到的四個全局變量
int count=0;                         //用count來控制產生1秒所要循環的次數
uchar Judge;                         //用于PID比較的全局變量,經AD轉換的采樣溫度
uchar value[31];                     //存儲采樣值,用于濾波
uint sum=0;
uint temp=0;
uchar tt;
struct PID                       //PID結構體 
{  
  uint q1; 
  uint q2; 
  uint q3; 
  uint LastError;                  // 上次誤差E(k-1)
  uint PrevError;                  // 上上次誤差E(k-2) 
}; 
struct PID spid;                 
int rout;                           
uchar high_time,low_time;              //占空比調節參數 
uchar set_temper;                  //設定溫度值


void pdelay(unsigned char time)           //溫控延時延時時間為30*time微秒
{ 			                 
 unsigned char m,n; 
 for(n=0;n<time;n++) 
 for(m=0;m<2;m++){} 
} 

void PIDInit (struct PID *pp)            //PID結構體初始化
{ 
  memset ( pp,0,sizeof(struct PID)); 
  spid.q1 = 11;                
  spid.q2 = 15;  
  spid.q3 =10; 
  spid.LastError = 0;        
  spid.PrevError = 0;
  high_time=50;                       //占空比初始化
  low_time=50; 
} 


uint PIDCalc( struct PID *pp, unsigned int NextPoint )     //增量式偏差運算,NextPoint為采樣值
{ 
  int Pk,Error; 
  Error =set_temper- NextPoint;                            // 偏差Pk就是△U(k)
  Pk=pp->q1 * Error-pp->q2 * pp-> LastError+pp->q3*pp->PrevError; 
  pp->PrevError = pp->LastError; 
  pp->LastError = Error; 
  return (Pk); 
} 

void compare_temper()                         //溫度控制
{ 
      if(set_temper>Judge) 
      { 
        if(set_temper-Judge>4) 
         { 
             high_time=100; 
             low_time=0; 
         } 
        else if((set_temper-Judge>=1)&&(set_temper-Judge<=4))
        { 
           rout = PIDCalc ( &spid,Judge );       
         
            if(rout<0)
         { 
            high_time=2; 
            low_time=98;
         }
            else
         {
             high_time=(unsigned char)(rout*2+4);  
             low_time= (100-high_time); 
         }
       } 
        else  
       { 
            high_time=5; 
            low_time=95; 
       }
   }
else { 
         high_time=0; 
         low_time=100; 
      }

}

void con_temper(void)				//與設定溫度比較 
{ int i;
   compare_temper();
   for(i=0;i<low_time;i++)
  {P1_3=1;  P1_4=1; pdelay(2);}
   for(i=0;i<high_time;i++)
  { P1_3=0;  P1_4=0; pdelay(2);}
  
}

void delay(uint x)      //延時程序                    
{
  uchar j;
  while(x--)
  {
    for(j=0;j<125;j++)
	{;}
  }
}  
void display(void)       //顯示子程序                    
{
  uchar i;
  uchar sp=0x1f&P1;
 
 for (i=0;i<8;i++)
   {
      P1=sp;         //位選移位
       if(i==6)
        P0=DATA_7SEG[led[i]]+0x80;    //加點
     else
        P0=DATA_7SEG[led[i]];   //送段碼
        LE=1;
        sp+=0x20;
        delay(1);
   }
 }


void adc0809()     //AD轉換程序
{  
   int i;
   Start=0;
   WR=1;
   P0=0x05;
   WR=0;
   WR=1;
   P0=0xff;
   i=i;
   i=i;
   i=i;
   i=i;
   	do 
  	{     
      p_clock=~p_clock;   //給時鐘信號
      i=i;  
      i=i; 
  	} 
	 while(ad_busy==1);  //等待AD轉換結束
      Start=0;
      RD=0;
      Date_AD=P0;   //把轉換結果保存
      RD=1;         //數據保存后立即使AD的輸出鎖存,防止干擾顯示
  }

void watch()       //秒表程序
{
   if(count==20)             //循環20次才是1秒
    {
        sed0++;
         count=0;
         if(sed0==10)
          {sed1++;sed0=0;}
         if(sed1==6)
          {min0++;sed1=0;}
         if(min0==10)
          {min1++;min0=0;}
         if(min1==6)
          {min1=min0=sed1=sed0=0;}
     }
  led[7]=min1;                       //填寫緩沖區
  led[6]=min0;
  led[5]=sed1;
  led[4]=sed0;
  TF0=0;			//定時器T0溢出標志
}

time0() interrupt 1 using 2    //中斷服務程序
{
  count++;
  TH0=(65536-46080)/256;    //定時器裝入初值 為50微秒
  TL0=(65536-46080)%256; 
}

void sub_one()
{ 
  TH0=(65536-46080)/256;    //定時器裝入初值 為50微秒
  TL0=(65536-46080)%256;     
  EA=1;                     //cpu開中斷
  ET0=1;                    //定時器0開中斷
  TR0=1;                    //啟動T/C開始定時(T0運行控制位)
}

void sub_two()
{
   int i=0;
   for(i=30;i>0;i--)              //一下為數字濾波部分
   value[i]=value[i-1];
   value[0]=Date_AD;              //每次采樣后的值保存在數組的第零位 
   sum=sum+value[0]-value[30];
   temp=sum/30;                    //求算術平均值
   tt=temp/5;
   led[3]=tt/100;                      //填緩沖區
   led[2]=tt%100/10;
   led[1]=tt%10;
   led[0]=12;                     //顯示字符C,表示攝氏度
   Judge=led[2]*10+led[1];       //用Judge保存轉換后的溫度(十進制式)
}

void communication()                 //通訊子函數
{
    TH1=0xfd;                  //裝入初值  
    TL1=0xfd;
    SCON=0xd8;                 //串行口工作在方式3
    PCON=0x00;				   //波特率不加倍
    TR1=1;                     //啟動定時
   while(RI==0);               //等待接受數據
     RI=0;				    
     set_temper=SBUF;
     SBUF=Judge;
   while(TI==0);            //判斷是否發送完畢
     TI=0;                  //發送完畢則清零
   
}

void main()
{
   int k=0;
   sub_one();               //定時器初始化子程序
   TMOD=0x21;               //兩個定時器的設置
   while(1)
   {
   watch();                 //秒表子程序
     if(k==10)
       {
        k=0;
         adc0809();          //AD轉換
         sub_two();         //AD轉換后數據的處理子程序
       } k++;  
     display();              //顯示子程序
     communication();         //串口通訊子程序
     con_temper();           //PID溫度控制子程序
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色素色在线综合| 欧美va日韩va| 日韩一区二区免费在线电影| 国产午夜久久久久| 亚洲第一福利视频在线| 从欧美一区二区三区| 8x8x8国产精品| 夜夜操天天操亚洲| 成人一区在线观看| 久久只精品国产| 日韩高清欧美激情| 欧美午夜精品一区二区蜜桃| 国产精品久久久久婷婷二区次| 精品一二三四在线| 3d成人h动漫网站入口| 亚洲理论在线观看| 99久久免费精品| 国产精品天天摸av网| 久久av老司机精品网站导航| 91精品麻豆日日躁夜夜躁| 综合久久给合久久狠狠狠97色 | 欧美性猛片aaaaaaa做受| 欧美国产激情一区二区三区蜜月| 九九久久精品视频| 91精品国产麻豆| 日本不卡视频在线观看| 91精品国产全国免费观看| 丝袜美腿亚洲色图| 欧美一区二区国产| 青娱乐精品在线视频| 欧美一区二区三区视频在线观看| 亚洲在线成人精品| 欧美日韩综合在线| 日韩电影一区二区三区四区| 欧美写真视频网站| 丝瓜av网站精品一区二区| 777久久久精品| 日韩av网站在线观看| 欧美成人性战久久| 国产成人一级电影| 国产精品的网站| 欧美亚洲动漫另类| 日韩精品欧美精品| 精品国产sm最大网站免费看| 国产91精品露脸国语对白| 国产欧美一区二区精品久导航| 高清国产一区二区| 亚洲欧美一区二区三区久本道91| 色婷婷综合久久久久中文| √…a在线天堂一区| 91福利在线导航| 蜜桃av一区二区| 国产欧美1区2区3区| 99精品久久只有精品| 亚洲国产中文字幕| 精品88久久久久88久久久| 国产成人av一区二区| 亚洲精品乱码久久久久久久久| 欧美极品少妇xxxxⅹ高跟鞋| 在线观看网站黄不卡| 日本强好片久久久久久aaa| 久久女同性恋中文字幕| 一本高清dvd不卡在线观看| 亚洲成av人片www| 久久久久99精品一区| 欧美中文字幕一区二区三区亚洲| 久久精品国产精品青草| 亚洲日本在线a| 日韩一区二区三区在线视频| 国产成人精品免费网站| 性欧美疯狂xxxxbbbb| www精品美女久久久tv| 在线欧美小视频| 狠狠色丁香婷婷综合| 亚洲电影一区二区| 国产亚洲午夜高清国产拍精品| 91麻豆swag| 国产精品中文有码| 亚洲国产成人av网| 椎名由奈av一区二区三区| 精品欧美一区二区在线观看| 日本精品视频一区二区三区| 国产九色sp调教91| 美国十次综合导航| 有码一区二区三区| 国产精品久久久久国产精品日日| 制服丝袜成人动漫| 在线亚洲精品福利网址导航| 国产不卡视频一区二区三区| 蜜臀精品久久久久久蜜臀| 亚洲精品成人在线| 中文字幕五月欧美| 久久久精品国产免费观看同学| 欧美日韩国产经典色站一区二区三区| 成人黄色777网| 国产精品456| 韩国一区二区三区| 久久av资源网| 麻豆91免费看| 蜜臀精品久久久久久蜜臀| 午夜日韩在线电影| 一区二区久久久久| 亚洲免费资源在线播放| 中文字幕一区二区三区不卡在线| 国产亚洲女人久久久久毛片| 精品粉嫩超白一线天av| 日韩一区二区三区电影在线观看 | 一本色道久久综合亚洲91| 国产福利一区在线观看| 国产精品白丝av| 国产大陆亚洲精品国产| 国产精品一区免费视频| 国产精品资源在线看| 国产一区二区三区观看| 国产精品一品视频| 国产精品99久久久久久久vr| 国产曰批免费观看久久久| 韩国精品久久久| 岛国一区二区在线观看| 成人av综合一区| 色综合久久中文综合久久97| 91小视频免费观看| 欧美日韩精品综合在线| 91精品欧美一区二区三区综合在| 91麻豆精品国产91久久久资源速度| 欧美日韩国产中文| 日韩欧美国产一区在线观看| 久久久精品国产免大香伊| 国产三级欧美三级| 成人欧美一区二区三区1314 | 国产精品沙发午睡系列990531| 国产色综合久久| 一区在线观看视频| 亚洲图片欧美一区| 青草av.久久免费一区| 国产精品资源在线观看| 99亚偷拍自图区亚洲| 欧美日韩三级一区二区| 日韩欧美亚洲国产另类| 国产精品污www在线观看| 亚洲黄色av一区| 另类专区欧美蜜桃臀第一页| 成人免费视频一区二区| 欧美日韩中文字幕精品| 精品国偷自产国产一区| 欧美激情综合五月色丁香| 亚洲国产精品一区二区www| 精品一区二区三区香蕉蜜桃 | 成人免费毛片aaaaa**| 91精品福利视频| 精品三级av在线| 亚洲日本青草视频在线怡红院| 偷窥少妇高潮呻吟av久久免费| 国产九色sp调教91| 中文字幕日本不卡| 日本成人在线不卡视频| 国产91综合网| 欧美老肥妇做.爰bbww视频| 国产欧美视频一区二区| 亚洲国产人成综合网站| 东方欧美亚洲色图在线| 欧美区一区二区三区| 国产精品情趣视频| 久久国产乱子精品免费女| 欧美在线一区二区| 欧美激情一区二区三区不卡 | 精品国产髙清在线看国产毛片| 自拍av一区二区三区| 激情偷乱视频一区二区三区| 色婷婷香蕉在线一区二区| 欧美成人精品1314www| 亚洲福中文字幕伊人影院| 不卡一区中文字幕| 久久久蜜桃精品| 麻豆精品一区二区av白丝在线| 色国产精品一区在线观看| 中文无字幕一区二区三区| 蜜臀精品久久久久久蜜臀| 欧美三级中文字| 亚洲码国产岛国毛片在线| 成人免费视频视频| 精品国产123| 蜜臀av性久久久久av蜜臀妖精| 在线中文字幕一区二区| 亚洲人成人一区二区在线观看 | 欧美一区日本一区韩国一区| 亚洲日本乱码在线观看| 粉嫩嫩av羞羞动漫久久久| 精品久久久久香蕉网| 日本网站在线观看一区二区三区| 精品视频1区2区3区| 一区二区三区日韩精品视频| 日本精品一区二区三区高清| 亚洲三级免费观看| 91在线观看免费视频| 国产精品伦一区二区三级视频| 国产精品一区二区无线| 欧美激情资源网| 99国产精品久久久久久久久久久| 国产目拍亚洲精品99久久精品|