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

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

?? 18b20.c

?? 18B20溫度測量
?? C
字號:
#include<reg51.h>
//********************** DS18B20 指令********************* *********
#define ds18B20_READ_ROM          0x33      // 讀ROM指令
#define ds18B20_MATCH_ROM         0x55      // 匹配ROM指令
#define ds18B20_SKIP_ROM          0xCC      // 跳過ROM指令
#define ds18B20_SEARCH_ROM        0xF0      // 搜索ROM指令
#define ds18B20_ALARM_SEARCH      0xEC      // 報警搜索指令
#define ds18B20_WRITE_SCRATCHPAD  0x4E      // 寫暫存寄存器指令
#define ds18B20_READ_SCRATCHPAD   0xBE      // 讀暫存寄存器指令
#define ds18B20_COPY_SCRATCHPAD   0x48      // 復制暫存寄存器指令
#define ds18B20_CONVERT_T         0x44      // 啟動溫度轉換指令
#define ds18B20_RECALL_E2         0xB8      // 重新調出E2PROM的數據
sbit DQ=P1^7;  //將P1.0口模擬時鐘輸出
//-------------------------------------------------------------------
//函數名稱:delay1820
//入口參數:i
//函數功能:延時子程序,實現(16*i+24)us的延時
//-------------------------------------------------------------------
void delay1820(unsigned int i)
{
while(i--);
}
//-------------------------------------------------------------------
//函數名稱:Init_DS18B20
//入口參數:無
//函數功能:初始化函數
//-------------------------------------------------------------------
Init_DS18B20(void)
{
unsigned char deceive_ready;
DQ = 1; //DQ復位
delay1820(8); //稍做延時
DQ = 0; //單片機將DQ拉低
delay1820(80); //精確延時 大于 480us
DQ = 1; //拉高總線
delay1820(14);
deceive_ready=DQ; //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
delay1820(20);
DQ=1;
return(deceive_ready);
}
//-------------------------------------------------------------------
//函數名稱:ReadOneBit
//入口參數:無
//函數功能:讀1bit子程序
//--------------------------------------------------------------------
unsigned char ReadOneBit(void)
{
unsigned char i;
bit b;
DQ=0;
i++;
DQ=1;
i++;
i++;
b=DQ;
i=8;
while(i>0) i--;
return(b);

}
//-------------------------------------------------------------------
//函數名稱:WriteOneBit
//入口參數:bit
//函數功能:寫1bit子程序
//--------------------------------------------------------------------
void WriteOneBit(unsigned char bitval)
{
bit btmp;
unsigned i;
btmp=bitval&0x01;
if(btmp)
 {
  DQ=0;
  i++;
  i++;
  DQ=1;
  i=8;
  while(i>0)
  i--;
 }
else
 {
  DQ=0;
  i=8;
  while(i>0)
  i--;
  DQ=1;
  i++;
  i++;
  }

}
//-------------------------------------------------------------------
//函數名稱:ReadOneChar
//入口參數:無
//函數功能:讀1byte子程序
//--------------------------------------------------------------------
ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 給脈沖信號
dat>>=1;
DQ = 1; // 給脈沖信號
if(DQ)
dat|=0x80;
delay1820(4);
}
return(dat);
}
//-------------------------------------------------------------------
//函數名稱:ReadOneChar
//入口參數:dat
//函數功能:寫1byte子程序
//--------------------------------------------------------------------
WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay1820(5);
DQ = 1;
dat>>=1;
}
delay1820(4);
}
//-------------------------------------------------------------------
//函數名稱:Config18B20
//入口參數:無
//函數功能:配置18B20
//--------------------------------------------------------------------
void Config18b20()
{
Init_DS18B20();
WriteOneChar(ds18B20_SKIP_ROM); //skip rom
WriteOneChar(ds18B20_WRITE_SCRATCHPAD); //write scratchpad
WriteOneChar(0x02); //上限
WriteOneChar(0x00); //下限
WriteOneChar(0x7f); //set 11 bit (0.125)
Init_DS18B20();
WriteOneChar(ds18B20_SKIP_ROM); //skip rom
WriteOneChar(ds18B20_COPY_SCRATCHPAD); //保存設定值
Init_DS18B20();
WriteOneChar(ds18B20_SKIP_ROM); //skip rom
WriteOneChar(ds18B20_RECALL_E2); //回調設定值
}

//void ReadTemperature()
/*void main()
{
unsigned char a=0,b=0;
unsigned int temp;
unsigned char id;
//Config18b20();
Init_DS18B20();
WriteOneChar(ds18B20_SKIP_ROM); // 跳過讀序號列號的操作
WriteOneChar(ds18B20_CONVERT_T); // 啟動溫度轉換
delay1820(500);
Init_DS18B20();
WriteOneChar(ds18B20_SKIP_ROM); //跳過讀序號列號的操作
WriteOneChar(ds18B20_READ_SCRATCHPAD);
//讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
a=ReadOneChar(); //讀取溫度值低位
b=ReadOneChar(); //讀取溫度值高位
id=ReadOneChar(); //讀取溫度值高位
DQ=1;
temp=b<<8; //最終數據在a和b中,怎么處理你自己用吧 呵呵
temp=temp|a;
temp=temp*0.625; //這是轉換成具體溫度值,1點代表0.625°C
delay1820(2000);
}
*/

void main()
{
bit id_bit, cmp_id_bit;
unsigned  char id_bit_number,LastDeviceFlag;
unsigned char  LastDiscrepancy,LastFamilyDiscrepancy;
unsigned char Last_zero,search_direction;
unsigned char ROM_NO[8];
Init_DS18B20();
if(LastDeviceFlag==1)
  {
    LastDiscrepancy=0;
    LastFamilyDiscrepancy=0;
    LastDeviceFlag=0;
  }
else
  {
   id_bit_number=1;
   Last_zero=0;
   WriteOneChar(0xf0);
   do
    {
     id_bit=ReadOneBit();
     cmp_id_bit=ReadOneBit();
     if((id_bit==0x01)&&(cmp_id_bit==0x01)
       {
        LastDiscrepancy=0;
        LastFamilyDiscrepancy=0;
        LastDeviceFlag=0;
       }
     if((id_bit==0x00)&&(cmp_id_bit==0x00)
       {
         if(id_bit_number==LastDiscrepancy)
           {
            search_direction=1;
            //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
            id_bit_number=id_bit_number+1;
           }
         else
           {
            if(id_bit_number>LastDiscrepancy)
              {
                search_direction=0;
                Last_zero=id_bit_number;
                if(Last_zero<9)
                  {
                    LastFamilyDiscrepancy=Last_zero;
                    //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
                    id_bit_number=id_bit_number+1;
                  }
                else
                  {
                   //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
                   id_bit_number=id_bit_number+1;
                  }
              }
             else
              {
                //將ROM_NO中第id_bit_number位的值賦給search_direction
                if(search_direction==0)
                   {
                    Last_zero=id_bit_number;
                    if(Last_zero<9)
                      {
                         LastFamilyDiscrepancy=Last_zero;
                          //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
                          id_bit_number=id_bit_number+1;
                      }
                    else
                      {
                        //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
                        id_bit_number=id_bit_number+1;
                      }
                   }
                else
                   {
                     //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
                     id_bit_number=id_bit_number+1; 
                   }    
              }
           }
       }
      esle
       {
         search_direction=id_bit;
         //將search_direction位賦給ROM_NO中的第id_bit_number位,并向1-wire總線上參與搜索的器件發送該位
         id_bit_number=id_bit_number+1;
       }

     id_bit_number=id_bit_number+1;
    }
   while(id_bit_number<65);
   LastDiscrepancy=last_zero;
   if(LastDiscrepancy==0)
     {
      LastDeviceFlag=1; 
      if(LastDiscrepancy==LastFmailyDiscrepancy)
        {
        LastFamilyDiscrepancy=0;
        return 1;
        }
      else
        {
         return 1;
        }  
     }
   else
     {
       if(LastDiscrepancy==LastFmailyDiscrepancy)
        {
        LastFamilyDiscrepancy=0;
        return 1;
        }
       else
        {
         return 1;
        }  
     }  
  }
}
/*void main()
{
 bit n1,n2,n3;
 Init_DS18B20();
 WriteOneChar(0xf0);
 n1=ReadOneBit();
 n2=ReadOneBit();
 WriteOneBit(0x00);
 n1=0;
 n2=0;
 n1=ReadOneBit();
 n2=ReadOneBit();
 WriteOneBit(0x00);
 n1=0;
 n2=0;
 n1=ReadOneBit();
 n2=ReadOneBit();
 WriteOneBit(0x00);
 n1=0;
 n2=0;
 n1=ReadOneBit();
 n2=ReadOneBit();
 WriteOneBit(0x01);
 n1=0;
 n2=0;
 n1=ReadOneBit();
 n2=ReadOneBit();
 WriteOneBit(0x00);
 n1=0;
 n2=0;
 n1=ReadOneBit();
 n2=ReadOneBit();
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲1区2区3区4区| 亚洲国产日韩一区二区| 国产人成亚洲第一网站在线播放| 99久久精品国产麻豆演员表| 国产 日韩 欧美大片| 国产不卡视频在线观看| 国产69精品久久777的优势| 不卡电影一区二区三区| 成人高清视频在线观看| 久久国产精品免费| 久久黄色级2电影| 高清在线不卡av| 91国产免费看| 日韩精品一区二区三区四区| 国产欧美日韩视频一区二区| 综合久久久久综合| 日韩不卡一二三区| 国产成人亚洲精品狼色在线| 色www精品视频在线观看| 日韩视频一区二区在线观看| 国产亚洲欧美日韩日本| 一区二区三区欧美在线观看| 日韩电影在线一区二区| 国产成人精品网址| 91精品国产乱码| 国产精品麻豆一区二区| 九色porny丨国产精品| 色综合久久久久网| 日本一区二区免费在线| 青青草91视频| 制服.丝袜.亚洲.另类.中文| 成人欧美一区二区三区小说| 国产一区二区三区香蕉| 91精品国模一区二区三区| 中文字幕一区二区三区av| 国产综合色在线视频区| 欧美大片国产精品| 天堂影院一区二区| 欧美日韩高清一区二区三区| 亚洲精品日韩综合观看成人91| 国产成人av资源| 2022国产精品视频| 国产精品综合网| 久久久噜噜噜久噜久久综合| 国产精品一区二区三区网站| 在线观看亚洲一区| 亚洲福利国产精品| 91.麻豆视频| 激情五月婷婷综合网| 久久综合资源网| av中文字幕亚洲| 综合分类小说区另类春色亚洲小说欧美 | 国产乱码精品一区二区三区五月婷 | 亚洲图片自拍偷拍| 日韩免费成人网| 国产91丝袜在线观看| 中文字幕日韩一区二区| 欧美三级视频在线| 国产成人自拍在线| 亚洲成人精品影院| 26uuu久久天堂性欧美| caoporn国产一区二区| 天堂蜜桃91精品| 久久久久97国产精华液好用吗| 色综合一区二区三区| 免费不卡在线观看| 亚洲欧洲日韩av| 精品欧美一区二区在线观看| www.欧美精品一二区| 日本vs亚洲vs韩国一区三区 | 一区二区欧美视频| www久久精品| 91精品欧美久久久久久动漫| 国产成人无遮挡在线视频| 午夜视频在线观看一区二区三区| 精品欧美黑人一区二区三区| 欧美曰成人黄网| 99在线热播精品免费| 婷婷成人激情在线网| 成人免费小视频| 1000精品久久久久久久久| 精品久久久久久久久久久久久久久| 在线观看亚洲一区| 色综合欧美在线| 9i在线看片成人免费| 国产精品白丝jk黑袜喷水| 狠狠色丁香婷婷综合久久片| 午夜精品成人在线视频| 亚洲一级二级三级在线免费观看| 亚洲欧美综合色| 中文字幕一区二区在线播放| 欧美国产日韩一二三区| 国产欧美日韩麻豆91| 国产精品毛片高清在线完整版| 中文字幕免费观看一区| 综合久久久久综合| 亚洲午夜av在线| 天天色 色综合| 国产在线视视频有精品| 成人激情文学综合网| 色哟哟日韩精品| 91麻豆精品久久久久蜜臀| 精品欧美一区二区在线观看 | 亚洲精品国产第一综合99久久| 亚洲人成人一区二区在线观看| 亚洲尤物视频在线| 精品在线亚洲视频| 99天天综合性| 日韩免费视频一区| 亚洲欧洲制服丝袜| 国产一区二区三区久久悠悠色av| 99久久精品免费看国产| 日韩色在线观看| 一区二区欧美视频| www.在线成人| 日韩美一区二区三区| 亚洲激情av在线| 青娱乐精品视频| 欧美性猛交一区二区三区精品| 26uuuu精品一区二区| 亚欧色一区w666天堂| 成人av网址在线| 久久亚区不卡日本| 奇米888四色在线精品| 欧美午夜寂寞影院| 久久青草国产手机看片福利盒子| 成人久久久精品乱码一区二区三区 | 一区二区三区成人| 国产精品1024| 精品国产乱码久久久久久影片| 亚洲午夜久久久久中文字幕久| av亚洲精华国产精华精华| 久久精品视频一区二区三区| 久久机这里只有精品| 日韩免费在线观看| 热久久久久久久| 日韩精品一区二区在线观看| 日韩av一区二区三区| 777午夜精品视频在线播放| 天堂资源在线中文精品| 欧美一区二区久久| 韩日欧美一区二区三区| 国产欧美日本一区二区三区| 成人国产视频在线观看| 亚洲人成亚洲人成在线观看图片| av成人动漫在线观看| 亚洲高清视频在线| 91精品国产黑色紧身裤美女| 日韩中文字幕91| 欧美色老头old∨ideo| 蜜桃视频第一区免费观看| 精品国偷自产国产一区| 国产不卡在线一区| 亚洲一区二区三区小说| 日韩一级视频免费观看在线| 国内精品久久久久影院色| 中文字幕亚洲精品在线观看| 欧美三级电影网| 成人网男人的天堂| 久久精品国产99国产| 国产精品理论片| 精品久久久三级丝袜| 在线免费观看视频一区| 精品一区二区综合| 亚洲成人福利片| 亚洲美女一区二区三区| 久久久久国产一区二区三区四区 | 久久精品一区八戒影视| 欧美日本在线看| 日本高清不卡在线观看| 99视频在线精品| 成人av电影在线| 国产精品系列在线观看| 国产一区二区调教| 精品夜夜嗨av一区二区三区| 亚洲aaa精品| 奇米色777欧美一区二区| 亚洲v精品v日韩v欧美v专区| 亚洲一区二区三区影院| 性久久久久久久久| 玉米视频成人免费看| 一区二区三区精品视频| 亚洲激情自拍视频| 亚洲国产日韩在线一区模特 | 国产一区二区三区不卡在线观看| 丝袜诱惑亚洲看片| 美国毛片一区二区| 激情综合网最新| 国产91精品一区二区| 日本二三区不卡| 91精品在线观看入口| 国产日韩综合av| 亚洲精品视频自拍| 日韩制服丝袜av| 精品一区二区日韩| 成人高清在线视频| 日韩一区二区中文字幕| 久久女同互慰一区二区三区| 国产精品动漫网站| 免费在线看成人av|