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

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

?? main.c

?? 有水位檢測
?? C
字號:
#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一区二区三区免费野_久草精品视频
亚洲人精品午夜| 欧美综合一区二区| 在线视频亚洲一区| 精品处破学生在线二十三| 亚洲男人的天堂av| 国产酒店精品激情| 欧美乱妇23p| 亚洲综合一区二区精品导航| 国产凹凸在线观看一区二区| 欧美一级午夜免费电影| 一区二区三区在线观看国产| 粉嫩在线一区二区三区视频| 日韩一区二区免费视频| 午夜精品一区二区三区免费视频| 成人丝袜视频网| 久久久精品日韩欧美| 日本欧美韩国一区三区| 91电影在线观看| 国产精品久久久久久久久久免费看 | 国产成人亚洲精品狼色在线| 欧美一级片在线观看| 亚洲午夜一区二区| 色视频一区二区| 1024成人网色www| 99热99精品| 国产精品麻豆一区二区| 高清不卡在线观看| 欧美国产日本韩| 国产91精品一区二区麻豆网站| wwww国产精品欧美| 国产一区二区三区| 欧美精品一区二区三区蜜桃视频| 男男成人高潮片免费网站| 7777精品伊人久久久大香线蕉最新版 | 日日摸夜夜添夜夜添国产精品| 色欧美片视频在线观看在线视频| 中文字幕亚洲精品在线观看| 91丨九色porny丨蝌蚪| 国产精品久久国产精麻豆99网站| 成人国产电影网| 亚洲婷婷在线视频| 色婷婷一区二区| 亚洲精品国产视频| 欧美猛男超大videosgay| 午夜视频一区二区| 日韩一区二区三免费高清| 久久99在线观看| 中文字幕av一区二区三区免费看| 国产成人免费视| 亚洲免费在线视频| 91精品欧美久久久久久动漫| 日本亚洲天堂网| 久久天天做天天爱综合色| 国产美女精品人人做人人爽 | 成人蜜臀av电影| 成人免费一区二区三区视频| 色伊人久久综合中文字幕| 亚洲国产成人av好男人在线观看| 欧美精品久久99久久在免费线 | 精品国产电影一区二区| eeuss鲁片一区二区三区在线观看| 国产精品久久久久一区| 欧美三级视频在线播放| 麻豆精品在线播放| 国产精品初高中害羞小美女文| 91福利在线观看| 精品影院一区二区久久久| 国产精品家庭影院| 欧美一区二区啪啪| 国产黄色精品视频| 亚洲成人av一区二区三区| 久久久久久久一区| 欧美日韩一本到| 国产成人在线网站| 丝袜诱惑亚洲看片| 亚洲欧洲三级电影| 欧美哺乳videos| 欧美日韩中文字幕一区二区| 国产裸体歌舞团一区二区| 亚洲一区视频在线| 国产欧美va欧美不卡在线| 欧美日韩亚洲综合在线 | 亚洲综合视频在线| 国产亚洲欧美在线| 欧美精品久久一区| 在线观看三级视频欧美| 成人国产亚洲欧美成人综合网| 欧美aa在线视频| 伊人性伊人情综合网| 久久久精品中文字幕麻豆发布| 欧美高清性hdvideosex| 99久久er热在这里只有精品15| 美女视频免费一区| 五月激情六月综合| 一区二区三区中文字幕电影| 国产精品网站在线观看| 久久综合狠狠综合| 日韩免费观看高清完整版在线观看| 丁香六月综合激情| 国产精品一区久久久久| 日本午夜一本久久久综合| 亚洲综合免费观看高清完整版 | 精品国产乱码久久久久久图片 | 免费在线成人网| 天天色 色综合| 亚洲综合av网| 夜夜嗨av一区二区三区中文字幕| 国产精品每日更新在线播放网址| 久久亚洲影视婷婷| 久久精品夜色噜噜亚洲aⅴ| 日韩欧美国产wwwww| 国产日韩欧美电影| 精品999久久久| 久久蜜桃香蕉精品一区二区三区| 日韩欧美中文一区二区| 91精品久久久久久久99蜜桃 | 精品999久久久| 精品免费99久久| 精品久久久久99| 久久丝袜美腿综合| 国产精品久久久久精k8| 国产精品视频你懂的| 国产精品女主播av| 亚洲免费观看高清完整版在线观看 | 亚洲超碰精品一区二区| 天天亚洲美女在线视频| 美女一区二区视频| 国产成人综合自拍| 一本色道久久综合亚洲精品按摩| 日本韩国欧美一区| 欧美日韩久久久| 日韩免费观看高清完整版在线观看| 日韩精品一区二区三区在线观看| 久久综合九色综合97婷婷| 国产人成一区二区三区影院| 国产精品欧美久久久久无广告| 亚洲三级在线观看| 91在线丨porny丨国产| 91热门视频在线观看| 欧美精品在欧美一区二区少妇| 777a∨成人精品桃花网| 国产欧美一区二区精品性色超碰| 最新中文字幕一区二区三区| 亚洲福利一二三区| 极品少妇xxxx精品少妇偷拍 | 欧美午夜不卡视频| 日韩一级精品视频在线观看| 欧美国产国产综合| 偷拍一区二区三区| 国产成人超碰人人澡人人澡| 欧美在线不卡一区| 2023国产精品视频| 一区二区三区四区在线免费观看 | 国产精品一区二区男女羞羞无遮挡| 91在线精品秘密一区二区| 91精品国产福利在线观看| 国产精品色在线观看| 日韩精品亚洲一区二区三区免费| 丁香一区二区三区| 日韩一区二区中文字幕| 亚洲品质自拍视频| 国产一区二区三区美女| 欧美三级蜜桃2在线观看| 国产精品女人毛片| 麻豆国产91在线播放| 一本大道久久a久久综合| 欧美r级在线观看| 亚洲国产aⅴ天堂久久| 国产成人免费在线观看| 日韩欧美美女一区二区三区| 亚洲资源中文字幕| 成人av动漫网站| 国产午夜精品久久久久久免费视 | 国产91精品久久久久久久网曝门| 欧美视频你懂的| 中文字幕亚洲一区二区av在线 | 精品一区二区三区久久久| 91电影在线观看| 亚洲色图在线看| 国产精品123区| 2023国产精品视频| 麻豆一区二区三| 欧美一区二区三区精品| 天天操天天干天天综合网| 色猫猫国产区一区二在线视频| 精品久久久久久久久久久久久久久| 亚洲一区二区三区中文字幕 | 成人午夜av电影| 久久久久久亚洲综合影院红桃| 免费黄网站欧美| 日韩一卡二卡三卡四卡| 日韩av在线发布| 91精品国产手机| 奇米影视一区二区三区| 在线观看三级视频欧美| 伊人夜夜躁av伊人久久| 欧美中文字幕一区二区三区亚洲| 尤物在线观看一区| 在线观看视频一区| 性感美女极品91精品|