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

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

?? main.c.bak

?? 有水位檢測
?? BAK
字號:
#include<AT892051.H>
#include <intrins.h>

#define Nop()           _nop_();
typedef unsigned char   uchar;
typedef unsigned int    uint;

uchar code CrcTable [256] = {
0,   94,  188, 226, 97,  63,  221, 131, 194, 156, 126, 32,  163, 253, 31,  65,
157, 195, 33,  127, 252, 162, 64,  30,  95,  1,   227, 189, 62,  96,  130, 220,
35,  125, 159, 193, 66,  28,  254, 160, 225, 191, 93,  3,   128, 222, 60,  98,
190, 224, 2,   92,  223, 129, 99,  61,  124, 34,  192, 158, 29,  67,  161, 255,
70,  24,  250, 164, 39,  121, 155, 197, 132, 218, 56,  102, 229, 187, 89,  7,
219, 133, 103, 57,  186, 228, 6,   88,  25,  71,  165, 251, 120, 38,  196, 154,
101, 59,  217, 135, 4,   90,  184, 230, 167, 249, 27,  69,  198, 152, 122, 36,
248, 166, 68,  26,  153, 199, 37,  123, 58,  100, 134, 216, 91,  5,   231, 185,
140, 210, 48,  110, 237, 179, 81,  15,  78,  16,  242, 172, 47,  113, 147, 205,
17,  79,  173, 243, 112, 46,  204, 146, 211, 141, 111, 49,  178, 236, 14,  80,
175, 241, 19,  77,  206, 144, 114, 44,  109, 51,  209, 143, 12,  82,  176, 238,
50,  108, 142, 208, 83,  13,  239, 177, 240, 174, 76,  18,  145, 207, 45,  115,
202, 148, 118, 40,  171, 245, 23,  73,  8,   86,  180, 234, 105, 55,  213, 139,
87,  9,   235, 181, 54,  104, 138, 212, 149, 203, 41,  119, 244, 170, 72,  22,
233, 183, 85,  11,  136, 214, 52,  106, 43,  117, 151, 201, 74,  20,  246, 168,
116, 42,  200, 150, 21,  75,  169, 247, 182, 232, 10,  84,  215, 137, 107, 53};

code uchar DisMode[14] = {0xa0, 0xbd, 0x64, 0x25, 0x39, 0x23, 0x22, 0xb5, 0x20, 0x21, 0x62, 0x7f, 0xff, 0xdf};
uchar DisCon[3];       //   0   1     2    3    4    5      6    7     8    9    e    -    nl   dot
																								   
sbit k1      = P3^0;    //繼電器H
sbit Ld      = P3^1;    //
sbit key_up  = P3^2;    //+key
sbit key_do  = P3^3;    //-key
sbit led_r   = P3^4;    //green led
sbit led_y   = P3^5;    //red led
sbit led2    = P3^7;    //L
            
sbit led3    = P1^0;    //L
sbit led1    = P1^1;    //L
sbit led_g   = P1^2;    //green led
sbit Sck     = P1^4;    //4094 Sck
sbit Qd      = P1^5;    //4069 Qd
sbit Sw      = P1^6;    //water postion
sbit TempIO  = P1^7;    //18b20

bit   Flag, DisFlag, ErFlag;   //Flag 1,18b20 工作常 0,異常  DisFlag 1,顯示當前溫度 0,顯示設定溫度
bit   Error;  
uchar *p;
uchar idata temp_buff[9];
uint Temperature; 
uchar SetTemp;
const HiTemp = 60, LoTemp = 23;

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數原型聲明
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
void Swbt(uchar bt,bit Sw);
void Config18b20 (void);
void delay(uchar x);
void display(void);
void GetKey(void);
void Init18b20 (void);
void WriteByte (uchar wr);
uchar ReadByte (void);
void read_bytes (uchar j);
uchar CRC (uchar j);
void TemperatuerResult(void);


//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: Swbt 
//+ 功能: 指定位數碼管開關
//+ 參數: bt位,Sw開關0開1關
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void Swbt(uchar bt,bit Sw)
{
   if (Sw)
   {
      switch (bt)
      {
         case 0:led1 = 0; break;
         case 1:led2 = 0; break;
         case 2:led3 = 0; break;
         default: break;  
      }
   }
   else
   {
      switch (bt)
      {
         case 0:led1 = 1; break;
         case 1:led2 = 1; break;
         case 2:led3 = 1; break;
         default: break;  
      }
   }
      
}           

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: delay 
//+ 功能: 按鍵和顯示用延時
//+ 參數: x
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void kdelay(uchar x)
{
   uchar i, j;
   for (i = x; i > 0; i--)
   {
      for (j = 0; j < 255; j++)
      {;}
   }
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: delay 
//+ 功能: 18B20 用延時
//+ 參數: x
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void delay(uchar x)
{
   while (x--);
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: Rread_bytes
//+ 功能: 讀18B20
//+ 參數: j
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void read_bytes (uchar j)
{
   uchar i;
   for(i = 0; i < j; i ++)
   {
      *p = ReadByte();
      p ++;
   }
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: ReadByte
//+ 功能: 讀取單字節
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
uchar ReadByte (void)     //讀取單字節
{
   uchar i,u = 0;
   for(i = 0; i < 8; i ++)
   {
      TempIO = 0;
      u >>= 1;
      TempIO = 1;
      if(TempIO ==1 )
      u |= 0x80;
      delay (4);
      Nop();
   }
   return(u);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: ReadID
//+ 功能: 讀取器件 id
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
/*void ReadID (void)
{
  Init18b20();
  WriteByte(0x33);         //read rom
  read_bytes(8);
}*/
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+函數:Init18b20 
//+ 功能:18B20初始化
//+ 參數: wr
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
void Init18b20 (void)
{
   TempIO = 1;
   Nop();
   TempIO = 0;
   delay(86);                //delay 530 uS//80
   Nop();
   TempIO = 1;
   delay(14);                //delay 100 uS//14
   Nop(); Nop();   Nop();
   
   if(TempIO == 0)
      Flag = 1;                  //detect 1820 success!
   else
      Flag = 0;                  //detect 1820 fail!
   delay(20);               //20
   Nop();      
   Nop();
   TempIO = 1;
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: WriteByte
//+ 功能: 18B20單字節寫入
//+ 參數: wr
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void WriteByte (uchar wr)     //單字節寫入
{
   uchar i;
   
   for (i = 0; i < 8; i ++)
   {
      TempIO = 0;
      Nop();
      TempIO = wr & 0x01;
      delay(5);            //delay 45 uS //5
      Nop();
      Nop();
      TempIO = 1;
      wr >>= 1;
   }
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: Config18b20
//+ 功能: 重新配置報警限定值和分辨率
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void Config18b20 (void)  //重新配置報警限定值和分辨率
{
   Init18b20();
   WriteByte(0xcc);         //skip rom
   WriteByte(0x4e);         //write scratchpad
   WriteByte(0x28);         //上限
   WriteByte(0x14);         //下限
   WriteByte(0x7f);         //set 11 bit (0.125)
   Init18b20();
   WriteByte(0xcc);         //skip rom
   WriteByte(0x48);         //保存設定值
   Init18b20();     
   WriteByte(0xcc);         //skip rom
   WriteByte(0xb8);         //回調設定值
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: GemTemp
//+ 功能: 讀取溫度
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void GemTemp (void)
{
   read_bytes (9);
   if (CRC(9) == 0)         //校驗正確
   {
      Temperature = temp_buff[1]*0x100 + temp_buff[0];
      Temperature /= 16;
//     SetTemp = Temperature;
      delay(1);
   }
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: CRC
//+ 功能: 查表校驗
//+ 參數: j
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
uchar CRC (uchar j)
{
   uchar i,crc_data = 0;
   for(i = 0; i < j; i ++)        //查表校驗
   crc_data = CrcTable[crc_data^temp_buff[i]];
   return (crc_data);
}


//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: GetKey
//+ 功能: 取鍵值
//+ 參數: 無
//+ 返回: uchar
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void GetKey(void)
{
   
   if(!key_up | !key_do)
   {
      kdelay(50);
      if(!key_up & !key_do) 
      {
         kdelay(100);
         if(!key_up & !key_do)
            DisFlag = ~DisFlag;
      }                          //兩鍵同時按下。
      
      if (!DisFlag)
      {
         
         if(!key_do)
         {
            kdelay(100);
            if(!key_do)
            {
               if (SetTemp > LoTemp)
                  SetTemp--;
               else
                  SetTemp = LoTemp;
            }
         }
         
         if(!key_up)
         {
            kdelay(100);
            if(!key_up)
            {
               if (SetTemp < HiTemp)
                  SetTemp++;
               else
                  SetTemp = HiTemp;
            }
         }
      }
   }

}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: timer0() interrupt 1
//+ 功能: 定時器0用作顯示
//+ 輸入: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
/*void timer0() reentrant interrupt 1 using 3 
{
   uchar j, tmp;
   uchar BitCou;

   TL0 = 0x00;
   TH0 = 0x00;

 }    */

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: display
//+ 功能: 顯示數值
//+ 輸入: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
void display(void)
{
   uchar i, j, tmp;

   DisCon[0] = 12;
   
   if (!ErFlag)
   {
      led_r	= 0;
      led_y = 1;
      led_g = 1;
      Error = 0;
      DisCon[0] = 10;   // E
      DisCon[1] = 12;   //nul
      if (Ld)  
         DisCon[2] = 1;
      if (!Sw)
         DisCon[1] = 2; 
      if (!Flag)
         DisCon[2] = 3;
   }
   else
   {
      if (DisFlag)
      {
         DisCon[1] = Temperature / 10;
         DisCon[2] = Temperature - DisCon[1] * 10;
      }
      else
      {
         DisCon[0] = 14; 
         DisCon[1] = SetTemp / 10;
         DisCon[2] = SetTemp - DisCon[1] * 10;
      }
   }
   
   for (i = 0; i < 3; i ++)
   {
      tmp = DisMode[DisCon[i]];  
      for(j = 0; j < 8; j++)
      {
         if (tmp & 0x01)
            Qd = 1;
         else
            Qd = 0;
         Sck = 1;
         tmp >>= 1;
         Sck =0;
      }
      Swbt(i,1);
      delay(100);
      Swbt(i,0);
   }
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: TemperatuerResult
//+ 功能: 讀取溫度全過程
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void TemperatuerResult(void)
{
//   p = id_buff;
//   ReadID();
// Config18b20();
   Init18b20 ();
   WriteByte(0xcc);   //skip rom
   WriteByte(0x44);   //Temperature convert
   Init18b20 ();
   WriteByte(0xcc);   //skip rom
   WriteByte(0xbe);   //read Temperature
   p = temp_buff;
   GemTemp();
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ 函數: main
//+ 功能: 
//+ 參數: 無
//+ 返回: 無
//+++++++++++++++++++++++++++++++++++++++++++++++++++++  
void main(void)
{
           
   uchar Count;

   Sck = 0;
   DisFlag = 1;
   Error = ErFlag = 1;
 
   Init18b20();
   if (Ld |!Sw |!Flag)
   {
      ErFlag = 0;
      display();
   }
   else
   {   
      if (Flag) 
      {
         Config18b20();
         TemperatuerResult();
         SetTemp = temp_buff[2]; 
      }
      while(1)
      {
         if (Count < 10)
         {
            display();
            Count ++;
         }
         else
         {
             Count = 0;
             if (Flag)
               TemperatuerResult();
         }
   
         if ((Temperature <= (SetTemp - 1)) && Error)
         {
            k1 = 0;
            led_y = 0;
            led_g = 1;
         }
   
         if ((Temperature >= (SetTemp + 1)) && Error)
         {
            k1 = 1;
            led_y = 1;
            led_g = 0;
         }
   
         GetKey();
       } 
    } 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产污网站| 久久精品亚洲一区二区三区浴池| 欧美美女一区二区| 久久久蜜臀国产一区二区| 一区二区三区在线视频免费| 九色综合国产一区二区三区| 色综合久久中文综合久久牛| 久久这里都是精品| 精品一区二区三区视频| 一本久久综合亚洲鲁鲁五月天| 精品久久久久香蕉网| 性做久久久久久免费观看欧美| 成人三级在线视频| 亚洲精品一区二区三区香蕉| 午夜婷婷国产麻豆精品| 色噜噜狠狠色综合中国| 中文字幕二三区不卡| 国产一区二区视频在线播放| 91精品国产免费| 午夜私人影院久久久久| 99久久精品国产精品久久| 国产日产欧美精品一区二区三区| 久久国产综合精品| 日韩一区二区高清| 日韩av一级片| 3atv一区二区三区| 午夜精品影院在线观看| 日本电影欧美片| 亚洲精品日韩一| 在线中文字幕一区| 亚洲最新视频在线播放| 色综合av在线| 亚洲小少妇裸体bbw| 在线影院国内精品| 丝袜美腿亚洲综合| 欧美一区二区女人| 美脚の诱脚舐め脚责91| 精品久久久久久久久久久久久久久 | 欧美亚洲动漫另类| 亚洲午夜久久久久久久久久久| 在线亚洲高清视频| 爽好多水快深点欧美视频| 欧美色图一区二区三区| 亚洲一区二区三区国产| 欧美日韩一区不卡| 久久狠狠亚洲综合| 国产亚洲欧美激情| 欧美岛国在线观看| 国产精品一区二区不卡| 中文av字幕一区| 欧美影视一区在线| 老色鬼精品视频在线观看播放| 精品日韩成人av| 成人免费观看男女羞羞视频| 中文字幕一区二区三区视频| 色婷婷久久综合| 日本最新不卡在线| 久久蜜桃香蕉精品一区二区三区| 成人在线综合网站| 亚洲线精品一区二区三区| 777久久久精品| 国产精品一区二区在线观看网站| 国产精品久久99| 欧美日韩在线播放三区| 韩国一区二区在线观看| 国产精品国产a级| 欧美人牲a欧美精品| 国产资源在线一区| 一区二区三区**美女毛片| 欧美一区二区三区视频在线| 国产露脸91国语对白| 一级日本不卡的影视| 精品国产乱码久久久久久影片| 99vv1com这只有精品| 美女脱光内衣内裤视频久久网站| 国产精品久久久久aaaa樱花| 欧美日韩精品久久久| 成人的网站免费观看| 蜜桃久久av一区| 亚洲激情自拍视频| 国产日本一区二区| 91精品国产综合久久婷婷香蕉| 成人性生交大片免费看中文| 免费一级片91| 亚洲夂夂婷婷色拍ww47| 国产欧美一区二区精品仙草咪| 欧美电影一区二区| 91影院在线观看| 国产成人99久久亚洲综合精品| 日本中文字幕一区二区有限公司| 中文字幕中文字幕一区| 精品播放一区二区| 欧美精品vⅰdeose4hd| 99麻豆久久久国产精品免费优播| 精品一区二区三区在线视频| 亚洲国产综合人成综合网站| 国产精品久久免费看| 26uuu国产电影一区二区| 欧美精品一二三区| 欧美性色黄大片| 色悠久久久久综合欧美99| 成人黄色大片在线观看| 国产一区二区免费看| 日本伊人午夜精品| 午夜不卡av在线| 亚洲国产精品一区二区www在线| 亚洲欧美色一区| 国产精品精品国产色婷婷| 久久精品视频免费观看| 欧美xfplay| 精品人在线二区三区| 日韩亚洲欧美中文三级| 欧美精品丝袜中出| 91精品国产综合久久小美女| 欧美精品久久99久久在免费线| 欧美日韩成人在线一区| 欧美日韩国产中文| 欧美唯美清纯偷拍| 欧美日韩1234| 欧美一级日韩一级| 日韩欧美另类在线| 久久色成人在线| 国产日韩欧美一区二区三区乱码 | 欧美精品日日鲁夜夜添| 欧美三级中文字| 欧美久久久久免费| 日韩欧美一二三四区| 日韩欧美一二区| 久久免费电影网| 国产精品久久久久9999吃药| 有坂深雪av一区二区精品| 亚洲一区二区视频在线| 日本成人在线视频网站| 极品少妇一区二区| 国v精品久久久网| 97se亚洲国产综合自在线| 色一情一伦一子一伦一区| 欧美这里有精品| 日韩三级av在线播放| 久久久久久麻豆| 亚洲日本韩国一区| 舔着乳尖日韩一区| 久久99九九99精品| 成人免费的视频| 欧美三级电影网站| 久久众筹精品私拍模特| 亚洲人xxxx| 久久精品国产**网站演员| 国产91色综合久久免费分享| 91精品福利在线| 欧美电影免费观看高清完整版在线观看| 久久亚洲私人国产精品va媚药| 中文字幕一区二| 日韩av中文在线观看| 高清不卡在线观看| 欧美男同性恋视频网站| 欧美国产一区在线| 性做久久久久久久免费看| 国产mv日韩mv欧美| 欧美丰满一区二区免费视频| 国产欧美日本一区视频| 亚洲国产精品一区二区尤物区| 国产精品一卡二卡在线观看| 在线看不卡av| 亚洲国产精品精华液2区45| 亚洲成人1区2区| 成人av手机在线观看| 91精品一区二区三区在线观看| 国产精品二三区| 精品夜夜嗨av一区二区三区| 日本高清无吗v一区| 久久精子c满五个校花| 日本伊人午夜精品| 91福利小视频| 中文字幕日韩精品一区| 激情综合色综合久久综合| 欧美色图12p| 自拍视频在线观看一区二区| 国产尤物一区二区| 欧美一区二区三区婷婷月色| 一区二区高清免费观看影视大全| 国产夫妻精品视频| 欧美不卡在线视频| 天堂精品中文字幕在线| 91国产视频在线观看| 国产精品麻豆欧美日韩ww| 国内精品伊人久久久久av影院| 欧美妇女性影城| 亚洲成人自拍偷拍| 在线看日韩精品电影| 亚洲精品福利视频网站| 91亚洲精华国产精华精华液| 国产精品丝袜91| 国产不卡视频在线播放| 久久精品人人做人人爽人人| 国产在线一区二区| 精品少妇一区二区三区| 韩国毛片一区二区三区| 日韩免费视频一区| 麻豆精品视频在线|