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

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

?? sht11.c

?? this is a temperature and humity sensing application with sht11
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Driver file for SHT75 Temperature & Humidity Sensor                       //
//                                                                           //
// ***** To initialise SHT75 sensor upon power up *****                      //
//                                                                           //
// Function : sht_init()                                                     //
// Return   : none                                                           //
//                                                                           //
//                                                                           //
// ***** To measure and caluculate SHT75 temp & real RH *****                //
//                                                                           //
// Function : sht_rd (temp, truehumid)                                       //
// Return   : temperature & true humidity in float values                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#define sht_data_pin   PIN_B1
#define sht_clk_pin    PIN_B0


//***** Function to alert SHT75 *****

void comstart (void)
{
 output_float(sht_data_pin);  //data high
 output_bit(sht_clk_pin, 0);  //clk low
 delay_us(1);
 output_bit(sht_clk_pin, 1);  //clk high
 delay_us(1);
 output_bit(sht_data_pin, 0); //data low
 delay_us(1);
 output_bit(sht_clk_pin, 0);  //clk low
 delay_us(2);
 output_bit(sht_clk_pin, 1);  //clk high
 delay_us(1);
 output_float(sht_data_pin);  //data high
 delay_us(1);
 output_bit(sht_clk_pin, 0);  //clk low
}


//***** Function to write data to SHT75 *****

int1 comwrite (int8 iobyte)
{
 int8 i, mask = 0x80;
 int1 ack;

 //Shift out command
 delay_us(4);
 for(i=0; i<8; i++)
  {
   output_bit(sht_clk_pin, 0);                          //clk low
   if((iobyte & mask) > 0) output_float(sht_data_pin);  //data high if MSB high
   else output_bit(sht_data_pin, 0);                    //data low if MSB low
   delay_us(1);
   output_bit(sht_clk_pin, 1);                          //clk high
   delay_us(1);
   mask = mask >> 1;                                    //shift to next bit
  }

 //Shift in ack
 output_bit(sht_clk_pin, 0);  //clk low
 delay_us(1);
 ack = input(sht_data_pin);   //get ack bit
 output_bit(sht_clk_pin, 1);  //clk high
 delay_us(1);
 output_bit(sht_clk_pin, 0);  //clk low
 return(ack);
}


//***** Function to read data from SHT75 *****

int16 comread (void)
{
 int8 i;
 int16 iobyte = 0;
 const int16 mask0 = 0x0000;
 const int16 mask1 = 0x0001;

 //shift in MSB data
 for(i=0; i<8; i++)
  {
   iobyte = iobyte << 1;
   output_bit(sht_clk_pin, 1);                //clk high
   delay_us(1);
   if (input(sht_data_pin)) iobyte |= mask1;  //shift in data bit
   else iobyte |= mask0;
   output_bit(sht_clk_pin, 0);                //clk low
   delay_us(1);
  }

 //send ack 0 bit
 output_bit(sht_data_pin, 0); //data low
 delay_us(1);
 output_bit(sht_clk_pin, 1);  //clk high
 delay_us(2);
 output_bit(sht_clk_pin, 0);  //clk low
 delay_us(1);
 output_float(sht_data_pin);  //data high

 //shift in LSB data
 for(i=0; i<8; i++)
  {
   iobyte = iobyte << 1;
   output_bit(sht_clk_pin, 1);                //clk high
   delay_us(1);
   if (input(sht_data_pin)) iobyte |= mask1;  //shift in data bit
   else iobyte |= mask0;
   output_bit(sht_clk_pin, 0);                //clk low
   delay_us(1);
  }

 //send ack 1 bit
 output_float(sht_data_pin);  //data high
 delay_us(1);
 output_bit(sht_clk_pin, 1);  //clk high
 delay_us(2);
 output_bit(sht_clk_pin, 0);  //clk low

 return(iobyte);
}


//***** Function to wait for SHT75 reading *****

void comwait (void)
{
 int16 sht_delay;

 output_float(sht_data_pin);                     //data high
 output_bit(sht_clk_pin, 0);                     //clk low
 delay_us(1);
 for(sht_delay=0; sht_delay<30000; sht_delay++)  // wait for max 300ms
  {
   if (!input(sht_data_pin)) break;              //if sht_data_pin low, SHT75 ready
   delay_us(10);
  }
}


//***** Function to reset SHT75 communication *****

void comreset (void)
{
 int8 i;

 output_float(sht_data_pin);    //data high
 output_bit(sht_clk_pin, 0);    //clk low
 delay_us(2);
 for(i=0; i<9; i++)
  {
   output_bit(sht_clk_pin, 1);  //toggle clk 9 times
   delay_us(2);
   output_bit(sht_clk_pin, 0);
   delay_us(2);
 }
 comstart();
}


//***** Function to soft reset SHT75 *****

void sht_soft_reset (void)
{
 comreset();           //SHT75 communication reset
 comwrite(0x1e);       //send SHT75 reset command
 delay_ms(15);         //pause 15 ms
}


//***** Function to measure SHT75 temperature *****

int16 measuretemp ()
{
 int1 ack;
 int16 iobyte;

 comstart();             //alert SHT75
 ack = comwrite(0x03);   //send measure temp command and read ack status
 if(ack == 1) return;
 comwait();              //wait for SHT75 measurement to complete
 iobyte = comread();     //read SHT75 temp data
 return(iobyte);
}


//***** Function to measure SHT75 RH *****

int16 measurehumid ()
{
 int1 ack;
 int16 iobyte;

 comstart();            //alert SHT75
 ack = comwrite(0x05);  //send measure RH command and read ack status
 if(ack == 1) return;
 comwait();             //wait for SHT75 measurement to complete
 iobyte = comread();    //read SHT75 temp data
 return(iobyte);
}


//***** Function to calculate SHT75 temp & RH *****

void calculate_data (int16 temp, int16 humid, float & tc, float & rhlin, float & rhtrue)
{
 float  rh;

 //calculate temperature reading
 tc = ((float) temp * 0.01) - 40.0;

 //calculate Real RH reading
 rh = (float) humid;

 rhlin = (rh * 0.0405) - (rh * rh * 0.0000028) - 4.0;

 //calculate True RH reading
 rhtrue = ((tc - 25.0) * (0.01 + (0.00008 * rh))) + rhlin;
}


//***** Function to measure & calculate SHT75 temp & RH *****

void sht_rd (float & temp, float & truehumid)
{
 int16 restemp, reshumid;
 float realhumid;
 restemp = 0; truehumid = 0;

 restemp = measuretemp();    //measure temp
 reshumid = measurehumid();  //measure RH
calculate_data (restemp, reshumid, temp, realhumid, truehumid);  //calculate temp & RH
}


//***** Function to initialise SHT75 on power-up *****

void sht_init (void)
{
 comreset();    //reset SHT75
 delay_ms(20);  //delay for power-up
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精油按摩中文字幕久久| 日本韩国一区二区| 97精品视频在线观看自产线路二| 91免费观看在线| 精品对白一区国产伦| 一二三区精品福利视频| 国产成人精品综合在线观看| 欧美精品1区2区| 亚洲三级电影网站| 国产999精品久久久久久绿帽| 欧美日韩午夜影院| 亚洲免费在线看| 成人高清免费观看| ww久久中文字幕| 麻豆国产91在线播放| 欧美日韩中字一区| 樱花影视一区二区| 97精品电影院| 亚洲欧洲精品成人久久奇米网| 国产一区日韩二区欧美三区| 日韩欧美中文一区| 亚洲永久精品大片| 日本高清不卡在线观看| 最近中文字幕一区二区三区| 国产成人鲁色资源国产91色综| 精品国产91乱码一区二区三区 | 99精品久久久久久| 久久久久久久久久电影| 麻豆91免费看| 久久综合色婷婷| 精品一区二区三区香蕉蜜桃| 日韩免费一区二区三区在线播放| 午夜亚洲国产au精品一区二区| 欧美影片第一页| 夜夜嗨av一区二区三区四季av| 91浏览器打开| 亚洲主播在线观看| 欧美巨大另类极品videosbest| 亚洲一区二区欧美激情| 欧美日韩午夜影院| 日本不卡高清视频| 精品理论电影在线观看| 加勒比av一区二区| 国产视频一区在线观看| 成人综合在线网站| 日韩美女视频一区| 在线观看视频91| 午夜欧美一区二区三区在线播放| 6080国产精品一区二区| 热久久国产精品| 国产日韩欧美在线一区| 成人福利电影精品一区二区在线观看 | 亚洲日本护士毛茸茸| 在线视频中文字幕一区二区| 亚洲综合在线第一页| 日韩情涩欧美日韩视频| 国产精品一区二区久久精品爱涩| 中文字幕不卡三区| 精品视频999| 国内精品国产三级国产a久久| 欧美国产视频在线| 欧美日韩综合色| 国产黄色成人av| 一区二区在线电影| 精品国免费一区二区三区| 成人激情黄色小说| 日本中文一区二区三区| 久久久777精品电影网影网 | 欧美日本精品一区二区三区| 久久成人18免费观看| 中文字幕中文字幕在线一区| 欧美久久免费观看| 成人免费观看男女羞羞视频| 亚洲国产裸拍裸体视频在线观看乱了| 精品福利一区二区三区| 日本韩国欧美国产| 国产精品一区2区| 五月天国产精品| 国产精品久久久久毛片软件| 制服丝袜激情欧洲亚洲| 成人av在线影院| 日韩av在线播放中文字幕| 国产精品热久久久久夜色精品三区| 欧美日韩欧美一区二区| 成人综合婷婷国产精品久久蜜臀| 日韩精品电影一区亚洲| 亚洲色图欧洲色图婷婷| 久久久久久日产精品| 678五月天丁香亚洲综合网| av不卡一区二区三区| 国模少妇一区二区三区| 日韩在线一区二区三区| 亚洲人成小说网站色在线| 久久久久久99精品| 日韩一区二区视频在线观看| 欧洲精品视频在线观看| 不卡视频一二三四| 国产成人精品一区二| 精品一区二区三区免费| 日韩中文欧美在线| 天天操天天干天天综合网| 综合久久国产九一剧情麻豆| 亚洲国产精品高清| 欧美精品一区二区精品网| 制服丝袜中文字幕一区| 欧美私人免费视频| 一本到不卡免费一区二区| 9色porny自拍视频一区二区| 国产高清久久久| 国产精品一区二区久久精品爱涩| 麻豆免费精品视频| 久久精品99国产精品| 六月丁香综合在线视频| 另类调教123区| 秋霞电影网一区二区| 免费成人av在线播放| 蜜臀av一区二区三区| 久久精品国内一区二区三区| 老司机一区二区| 激情综合网激情| 国产麻豆一精品一av一免费| 国产精品一区专区| 粉嫩aⅴ一区二区三区四区 | 老司机精品视频导航| 伦理电影国产精品| 国产一区视频在线看| 国产精品123| 91在线视频在线| 欧美性欧美巨大黑白大战| 欧美日韩高清在线| 日韩欧美中文字幕精品| 久久精品视频一区二区三区| 国产精品久久久久一区| 一区二区欧美国产| 欧美a级理论片| 国产成人午夜片在线观看高清观看| 成人av在线一区二区三区| 日本韩国欧美一区二区三区| 欧美猛男超大videosgay| 日韩美女在线视频| 国产欧美一区二区在线观看| 亚洲欧洲精品一区二区精品久久久| 亚洲夂夂婷婷色拍ww47| 卡一卡二国产精品| eeuss鲁一区二区三区| 欧美性猛交xxxxxx富婆| 精品久久久久一区| 《视频一区视频二区| 香蕉影视欧美成人| 国产精品一区二区无线| 欧美综合天天夜夜久久| 精品福利一二区| 亚洲精品成人悠悠色影视| 蜜臀99久久精品久久久久久软件| 成人午夜av在线| 在线播放欧美女士性生活| 久久久亚洲欧洲日产国码αv| 一区二区三区日韩精品视频| 国内精品伊人久久久久影院对白| 99久久久久久| 日韩精品一区二区三区三区免费 | 精品日韩欧美在线| 亚洲色图欧洲色图婷婷| 九九精品视频在线看| 色欧美片视频在线观看在线视频| 日韩一区二区电影网| 亚洲视频综合在线| 极品美女销魂一区二区三区免费| 91黄色激情网站| 国产日韩欧美制服另类| 奇米777欧美一区二区| 在线精品国精品国产尤物884a| 久久久91精品国产一区二区三区| 午夜不卡av免费| 在线视频一区二区三| 国产精品福利在线播放| 国产一区二区主播在线| 欧美一区二区在线观看| 亚洲午夜一区二区三区| 99精品久久久久久| 中文字幕不卡在线观看| 激情成人午夜视频| 欧美一卡在线观看| 亚洲大片一区二区三区| 91免费国产在线| 综合激情成人伊人| 成人污视频在线观看| 久久免费美女视频| 激情五月激情综合网| 91麻豆精品91久久久久久清纯 | 欧美性猛交一区二区三区精品| 国产精品不卡视频| 成人免费高清在线观看| 国产欧美1区2区3区| 极品少妇xxxx精品少妇偷拍| 91精品国产入口在线| 天天色图综合网| 欧美一卡2卡3卡4卡| 青娱乐精品视频在线| 日韩片之四级片|