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

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

?? avrvs ds18b20.c

?? AVR單片機對溫度測量芯片DS18B20進行讀取操作
?? C
?? 第 1 頁 / 共 2 頁
字號:
    INT16U value=0;
    
    if(ds18b20_reset()==SUCC) {  // 如果復位成功
        ds18b20_write(0xcc);     // 跳過多器件識別
        ds18b20_write(0xbe);     // 讀暫存器
        value  = (INT16U)ds18b20_read();       // 低字節
        value += (INT16U)(ds18b20_read())<<8;  // 高字節
    }
    return(value);
}


#endif
/* 文件ds18b20.c結束 */ 








;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 四個DS1820溫度讀取C源程序
日期:2006年1月14日 人氣:4 查看:[大字體 中字體 小字體]

// 以下是四個DS1820溫度讀取程序
//使用時先調用"rom()"子程序讀出每個器件的序列號
//再將各個序列號填入SN數組中才能讀出各個溫度

#include <reg52.h>
#define uchar unsigned char

sbit TMDAT = P0^1; //根據實實際情況設定
uchar TMP[4];  //讀取后的4個溫度值,將其除以2即可得出實際溫度;
uchar SN[4][8];  //4個器件的序列號,先讀出單個序列號后填上才可以讀取溫度
uchar f[4];  //結果是否為負溫,“0”為正溫,“1”為負溫。  

////////////////////////////////////////延時部分//////////////////////////
void dmsec (unsigned int count)       //
{         //
 unsigned int i;              // 
 while (count)       //
 {        //
  i = 115;      //
  while (i>0) i--;     //
  count--;      //
    }         //
}         //
//////////////////////////////////////////////////////////////////////////

/////////////////////////////////////// 發送復位//////////////////////////
void tmreset (void)       //
{                          //
 unsigned int i;       //
 TMDAT = 0;       //
 i = 103;       //
 while (i>0) i--;          // 延時 900 uS(11.0592Mhz時) //
 TMDAT = 1;       //
 i = 4;        //
 while (i>0) i--;      //
}         //
//////////////////////////////////////////////////////////////////////////

//判斷DS1820是否存在的子程序。最好不要用,因為當器件不存在時將會進入死循環

////////////////////////////////////// 等待存在脈沖///////////////////////
void tmpre (void)   //判斷器件是否存在  //
{                            //
 unsigned int i;       //
 while (TMDAT);       //
 while (~TMDAT);       //
 i = 4; while (i>0) i--;      //
}         //
//////////////////////////////////////////////////////////////////////////

///////////////////////////////////// 讀一位//////////////////////////////
bit tmrbit (void)       //
{                          // 
 unsigned int i;       //
 bit dat;       //
 TMDAT = 0; i++;       //
 TMDAT = 1; i++; i++;  //微量延時   //
 dat = TMDAT;       //
 i = 8; while (i>0) i--;  // 延時    //
 return (dat);       //
}         //
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////// 讀一個字節///////////////////////
unsigned char tmrbyte (void)        //
{                 //
 unsigned char i,j,dat;      //
 dat = 0;       //
 for (i=1;i<=8;i++)      //
 {        //
  j = tmrbit ();      //
  dat = (j << 7) | (dat >> 1);    //
 }        //
 return (dat);       //
}         //
//////////////////////////////////////////////////////////////////////////

/////////////////////////////////////// 寫一個字節////////////////////////
void tmwbyte (unsigned char dat)     //
{                       //
 unsigned int i;       //
 unsigned char j;      //
 bit testb;       //
 for (j=1;j<=8;j++)      //
 {        //
  testb = dat & 0x01;     //
  dat = dat >> 1;      //
  if (testb)      //
  {       //
   TMDAT = 0;                           // 寫0  //
   i++; i++;                              //
   TMDAT = 1;     //
   i = 8; while (i>0) i--;                //
  }       //
  else       //
  {       //
   TMDAT = 0;                           // 寫0  //
   i = 8; while (i>0) i--;                //
   TMDAT = 1;     //
   i++; i++;                              //
  }       //
 }        //
}         //
//////////////////////////////////////////////////////////////////////////

/////////////////////////////////發送ds1820 開始轉換//////////////////////
void tmstart (void)       //
{                          //
 tmreset ();  //復位     //
 //tmpre ();  //等待存在脈沖    //
 dmsec (1);  //延時     //
 tmwbyte (0xcc);  //跳過序列號命令,對所有器件有效  //
 tmwbyte (0x44);  //發轉換命令 44H,   //
}         //
//////////////////////////////////////////////////////////////////////////


//////////////////////////////////讀取溫度////////////////////////////////
void tmrtemp ()        //
{                          //
 uchar i,j;       //
 uchar a,b;       //
 for(j=0;j<4;j++)      //
 {        //
  tmreset();  //復位    //
  dmsec(1);  //延時    //
  tmwbyte(0x55);  //發送ROM匹配命令  //
  for(i=0;i<8;i++)     //
  {       //
   tmwbyte(SN[j][i]); //發送64位序列號 //
  }       //
  tmwbyte (0xbe);  //發送讀取命令    //
  a = tmrbyte ();  //連續讀取兩位溫度  //
  b = tmrbyte ();       //
  f[j]=b;   //若b為1則為負溫  //
  if(f[j])      //
  {       //
   TMP[j]=~a+1; //如果為負溫則去除其補碼 //
  }       //
  else       //
  {       //
   TMP[j]=a;     //
  }       //
 }        //
}         //
//////////////////////////////////////////////////////////////////////////


//以下是讀取器件序列號的子程序,需要讀取序列時可在程序中調用;
//調用時確保總線中只有一只器件,若有多個器件時則讀取出來的號碼無效;
//將讀取出來的序列號填到前面的數組中即可使用;
//平時可以將此子程序刪除以節約空間。
  
//////////////////////////讀取器件序列號子程序////////////////////////////
void rom()         //
{         //
 //以下是定義8個序列號變量     //
 uchar sn1;       //
 uchar sn2;       //
 uchar sn3;       //
 uchar sn4;       //
 uchar sn5;       //
 uchar sn6;       //
 uchar sn7;       //
 uchar sn8;       //
         //
 tmreset ();  //復位     //
 dmsec (1);  //延時     //
 tmwbyte(0x33);  //發送讀序列號子程序   //
 sn1=tmrbyte();  //讀取第一個序列號,應為16H;  //
 sn2=tmrbyte();  //讀取第二個序列號,應為10H;  //
 sn3=tmrbyte();       //
 sn4=tmrbyte();       //
 sn5=tmrbyte();       //
 sn6=tmrbyte();       //
 sn7=tmrbyte();       //
 sn8=tmrbyte();       //
}         //
//////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
main()         //
{         //
 do{      //
  rom(); //調用讀序列號子程序   //
  //tmstart();      //
  dmsec(100); //如果是不斷地讀取的話可以不延時 //
  //tmrtemp(); //讀取溫度,執行完畢溫度將存于TMP[]數組中//
 }while(1);       //
}         //
//////////////////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区在线观看视频| 欧美探花视频资源| 精品国产伦一区二区三区观看体验| 天天影视色香欲综合网老头| 欧美一区二区高清| 色系网站成人免费| 亚洲一区二区三区四区中文字幕| 欧美三级电影精品| 美女高潮久久久| 久久蜜桃av一区精品变态类天堂| 国产成人亚洲综合色影视| 国产午夜亚洲精品理论片色戒 | 欧洲国内综合视频| 亚洲h动漫在线| 精品不卡在线视频| 成人99免费视频| 亚洲国产中文字幕| 精品欧美一区二区久久| 岛国一区二区在线观看| 一区二区高清视频在线观看| 欧美一级电影网站| 国产成人自拍在线| 亚洲自拍偷拍九九九| 欧美一二三四区在线| 国产suv一区二区三区88区| 亚洲青青青在线视频| 欧美日韩国产美| 国产一区 二区| 日韩一区中文字幕| 日韩精品一区二区三区视频| 成人深夜福利app| 成人a区在线观看| 亚洲黄色片在线观看| 欧美一区二区播放| 顶级嫩模精品视频在线看| 亚洲永久免费av| 26uuu亚洲综合色| 欧美主播一区二区三区| 国产自产2019最新不卡| 艳妇臀荡乳欲伦亚洲一区| 精品国产123| 欧美在线制服丝袜| 国产曰批免费观看久久久| 一区二区不卡在线视频 午夜欧美不卡在 | 成人99免费视频| 奇米亚洲午夜久久精品| 亚洲天堂2016| 精品久久久久99| 91啪亚洲精品| 国产一区二区福利视频| 亚洲第一成年网| 中文字幕亚洲综合久久菠萝蜜| 欧美一区二区三区视频免费播放 | 国产精品动漫网站| 91.xcao| 99久久久国产精品| 国模娜娜一区二区三区| 亚洲大片免费看| 亚洲同性同志一二三专区| 精品久久五月天| 欧美夫妻性生活| 91福利视频在线| 99久久国产免费看| 国产成人在线免费观看| 九九视频精品免费| 日韩va亚洲va欧美va久久| 亚洲男同性恋视频| 国产精品另类一区| 国产欧美日韩亚州综合| 精品久久五月天| 日韩欧美亚洲国产另类| 91精品久久久久久久99蜜桃| 欧美午夜一区二区三区免费大片| av毛片久久久久**hd| 粉嫩av一区二区三区在线播放| 久久99精品久久久久| 蜜桃视频一区二区三区在线观看| 香港成人在线视频| 五月天亚洲婷婷| 亚洲成av人片在线观看| 亚洲第一电影网| 午夜欧美2019年伦理| 五月天视频一区| 国产高清精品网站| 成人在线视频一区| 成人av在线播放网址| 国产成人免费av在线| 国产成人无遮挡在线视频| 国产精品66部| 丁香婷婷深情五月亚洲| jlzzjlzz亚洲女人18| 91在线视频观看| 欧美最猛性xxxxx直播| 欧美日韩电影在线播放| 欧美一区二区视频在线观看2020 | 五月激情综合婷婷| 免费视频最近日韩| 国内不卡的二区三区中文字幕| 国产乱子轮精品视频| 懂色av中文一区二区三区| 99麻豆久久久国产精品免费优播| 91在线观看成人| 欧美日韩在线一区二区| 日韩欧美中文字幕公布| 2017欧美狠狠色| 国产精品久久久久久久岛一牛影视 | 久久婷婷一区二区三区| 欧美—级在线免费片| 亚洲精品乱码久久久久久日本蜜臀| 亚洲综合色视频| 久久国内精品自在自线400部| 国产一区二区在线看| 99精品偷自拍| 欧美一区二区私人影院日本| 国产视频亚洲色图| 亚洲第一二三四区| 激情小说亚洲一区| 色婷婷av一区二区三区之一色屋| 欧美一区二区三区在线观看视频 | 成人午夜看片网址| 欧美在线不卡视频| 欧美精品一区二区三| 亚洲裸体在线观看| 久久精品国产77777蜜臀| 成人激情免费网站| 91精品国产综合久久久久久| 欧美激情资源网| 三级在线观看一区二区| 成年人国产精品| 91麻豆精品国产91久久久资源速度| 日韩精品一二三四| 国产成人亚洲综合a∨婷婷| 欧美日韩国产首页在线观看| 国产丝袜欧美中文另类| 日韩不卡免费视频| 91丝袜国产在线播放| 久久综合九色综合97婷婷| 亚洲午夜在线视频| 成人午夜大片免费观看| 日韩欧美自拍偷拍| 亚洲综合丁香婷婷六月香| 国产福利一区在线| 成人av午夜影院| 国产在线一区二区综合免费视频| jvid福利写真一区二区三区| 日韩欧美视频在线| 亚洲在线视频一区| 播五月开心婷婷综合| 日韩精品中文字幕一区二区三区| 亚洲一区二区精品久久av| 成人18视频在线播放| 久久影院视频免费| 日本不卡视频一二三区| 91丨porny丨中文| 国产拍欧美日韩视频二区| 日韩1区2区3区| 欧美日韩一区二区在线观看视频 | 亚洲午夜av在线| 91一区二区在线| 国产精品麻豆99久久久久久| 国产丶欧美丶日本不卡视频| 欧美成人午夜电影| 免费成人在线观看视频| 欧美精品一级二级三级| 亚洲午夜成aⅴ人片| 在线观看91精品国产入口| 自拍偷拍欧美激情| 9人人澡人人爽人人精品| 国产精品少妇自拍| 国产精品国产三级国产aⅴ中文 | 久久精品国产色蜜蜜麻豆| 欧美自拍偷拍一区| 亚洲欧美日韩成人高清在线一区| 国产传媒日韩欧美成人| 欧美高清在线精品一区| 国产成人高清视频| 亚洲国产岛国毛片在线| 高潮精品一区videoshd| 国产精品久线在线观看| 99久久精品国产导航| **性色生活片久久毛片| 91精品福利在线| 午夜精品福利久久久| 5566中文字幕一区二区电影 | 欧美tk丨vk视频| 国产一区二区精品久久91| 欧美国产一区二区| 99久久婷婷国产综合精品| 亚洲柠檬福利资源导航| 欧美无乱码久久久免费午夜一区| 日日噜噜夜夜狠狠视频欧美人 | 在线视频综合导航| 亚洲成人免费av| 欧美大片在线观看一区二区| 国产综合色视频| 国产精品久久久久永久免费观看| 色欲综合视频天天天| 视频一区视频二区在线观看| 久久人人爽人人爽| 91麻豆swag|