wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

基于51單片機的DS18B20溫度傳感器驅動程序加詳解

作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月17日   【字體:

  

//此部分為18B20的驅動程序
 
//本程序驗證通過,晶振為12MHz
 
#include <reg52.H>
#include <intrins.h>
 
sbit    D18B20=P3^7;    //DQ接P3^7
#define  NOP()   _nop_()  
#define  _Nop()  _nop_() 
 
void TempDelay (unsigned char idata us);  //延時函數定義
void Init18b20 (void);                   //初始化函數定義
void WriteByte (unsigned char idata wr);  //單字節寫入
void read_bytes (unsigned char idata j);  //定義多字節數據讀取
 
unsigned char CRC (unsigned char j);//定義校驗碼數組
void GemTemp (void);                //數據處理
void Config18b20 (void);    //配置上下限即處理位數(9/10/11)
 
void ReadID (void);         //讀取器件ID,即ROM中的數據
void TemperatuerResult(void); //最終數據輸出
 
 
//bit  flag;
unsigned int  idata Temperature,D[10]; //定義溫度數組
unsigned char idata temp_buff[9];      //定義RAM數據暫存數組
//存儲讀取的字節,read scratchpad為9字節,read rom ID為8字節
unsigned char idata id_buff[8];    //定義ROM數據暫存數組
unsigned char idata *p,TIM;        //指針變量
unsigned char idata crc_data;      //CRC計算變量定義
 
 
unsigned char 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};
//CRC數據表
 
//Function:延時處理
 
void TempDelay (unsigned char idata us)
{
 while(us--);
}
 
 
//Function:18B20初始化
 
void Init18b20 (void)
{
 D18B20=1;  //偵測到下跳沿,初始化
 _nop_();
 D18B20=0;
 TempDelay(160);   //delay480 us  (480)
 _nop_();
 D18B20=1;   //釋放總線
 TempDelay(30);   //delay 96 us (60-112)
 _nop_();
 _nop_();
 _nop_(); //18B20偵測到此上升沿,會自動應答
    //發送presence信號
//if(D18B20==0)
 // flag = 1;   //detect 1820 success!
 //else
 // flag = 0;    //detect 1820 fail!
 TempDelay(30);       //delay 96 us(60-240)
 _nop_();    //發送應答脈沖
 _nop_();
 D18B20 = 1;   //釋放總線
}
 
 
//Function:向18B20寫入一個字節
 
void WriteByte (unsigned char idata wr)  //單字節寫入
{
 unsigned char idata i;
 for (i=0;i<8;i++)
 {
  D18B20 = 1;
     _nop_();
  D18B20 = 0;   //偵測到下跳沿,初始化
  _nop_();
  D18B20=wr&0x01;   //寫數據在(60-120)us內
  TempDelay(30);   //delay 96(60-120)us
  _nop_();
  _nop_();   //至少大于1us恢復時間
  D18B20=1;   //釋放總線
  wr >>= 1;   //一個字節8位,總共寫8次
 }
}
 
 
//Function:讀18B20的一個字節
 
unsigned char ReadByte (void)     //讀取單字節
{
 unsigned char idata i,u=0;
 for(i=0;i<8;i++)
 {
  D18B20 = 1;
     _nop_();
  D18B20 = 0;  //負跳沿,初始化
  u >>= 1;
  D18B20 = 1;   //釋放總線
  if(D18B20==1)
  u |= 0x80;
  TempDelay (3); //15us內采樣
  _nop_();
 }
 return(u);
}
 
 
//Function:讀18B20
 
void read_bytes (unsigned char idata j)
{
  unsigned char idata i;
  for(i=0;i<j;i++)
  {
    *p = ReadByte();
    p++;
  }
}
 
 
//Function:CRC校驗
 
unsigned char CRC (unsigned char j)
{
    unsigned char idata i,crc_data=0;
   for(i=0;i<j;i++)  //查表校驗
    crc_data = CrcTable[crc_data^temp_buff[i]];
    return (crc_data);//返回i=8時的crc_data
}//若為0,校驗正確,即此時的temp_buff[8]=0x00;
 
 
//Function:讀取溫度
 
void GemTemp (void)
{
   read_bytes (9);
   if (CRC(9)==0) //校驗正確
   { //暫存器第0字節低8位,第一字節為高8位。
     Temperature = temp_buff[1]*0x100 + temp_buff[0];
//     Temperature *= 0.625;
  Temperature /= 16; //轉換成10進制
  TempDelay(1);
    }
}
 
 
//Function:內部配置
 
void Config18b20 (void)  //重新配置報警限定值和分辨率
{
     Init18b20();
     WriteByte(0xcc);  //skip rom
     WriteByte(0x4e);  //配置暫存器2,3,4字節數據
     WriteByte(0x19);  //上限
     WriteByte(0x1a);  //下限
     WriteByte(0x7f);     //set 11 bit (0.125)
     Init18b20();
     WriteByte(0xcc);  //skip rom
     WriteByte(0x48);  //保存設定值
     Init18b20();
     WriteByte(0xcc);  //skip rom
     WriteByte(0xb8);  //回調設定值
}
 
 
//Function:讀18B20ID
 
void ReadID (void)//讀取器件 id
{
 Init18b20();
 WriteByte(0x33);  //read rom
 read_bytes(8);
}
 
 
//Function:18B20ID全處理
 
void TemperatuerResult(void)
{
   p = id_buff;
   ReadID();    //讀取器件ID
   Config18b20(); //ROM配置
 Init18b20 (); //初始化
 WriteByte(0xcc);   //單點檢測,跳過ROM檢索
 WriteByte(0x44);   //啟用溫度轉換
 
 Init18b20 ();
 WriteByte(0xcc);   //單點檢測,跳過ROM檢索
 WriteByte(0xbe);   //讀取暫存器的全部內容
 p = temp_buff;
 GemTemp();
}
 
unsigned int TempTick=0;
void GetTemp()
{      
     if(TIM==1)
 {  TIM=0;
    TemperatuerResult();
 //  D[5]=Temperature;
 }
 
}
 
//刷新時間
 
void T1zd(void) interrupt 3
{
   TH1 = 0xfe;       TL1 = 0x33;
   TIM++;
 
}
關閉窗口
黄色成人在线观看网站| 午夜伊人狠狠久久| 蜜臀av免费一区二区三区| 久久99精品久久久久久野外| 91xx在线观看| 国产精品伦理一区| 日本美女xxx| 日韩大片一区二区| 欧美一级爽aaaaa大片| 国外成人在线播放| 日韩成人av在线播放| 精品久久中文字幕| 久久久久一区二区三区四区| 亚洲综合不卡| 成人一二三区| japansex久久高清精品| 女子免费在线观看视频www| 粉嫩粉嫩芽的虎白女18在线视频| 国产男女av| 亚洲av无码乱码国产精品| 久久久久久久伊人| 日韩精品电影一区二区三区| 涩涩网站在线看| 国产伦精品一区二区三区四区视频_| 国产精品一区而去| 国产精品高潮呻吟久久av野狼| 少妇高潮 亚洲精品| 日韩欧美的一区| 色婷婷av一区二区| 亚洲精品国产视频| 久久精品一区八戒影视| 国产主播一区二区三区| 亚洲少妇一区| 亚洲国产精品91| 免费视频一区三区| 99re热精品视频| 欧美亚洲人成在线| 蜜桃精品在线| 在线手机中文字幕| av资源在线看片| 国产秀色在线www免费观看| 视频三区在线观看| 传媒在线观看| 日本女优天堂99伊人| av资源在线看| 黄色a**址| 特大巨黑人吊性xxxxn38| 久久综合精品视频| 中文字字幕一区二区三区四区五区| 国产熟女一区二区三区五月婷| 欧美一区免费看| 看片网址国产福利av中文字幕| 国产大片免费看| 情侣偷拍对白清晰饥渴难耐| 久久久久亚洲AV成人无在| 风间由美一二三区av片| 人妻av一区二区| 国产激情视频网站| 一本加勒比波多野结衣| 亚洲综合自拍网| 国产激情在线免费观看| 亚洲国产av一区| 精品人妻一区二区三区日产乱码卜| 91porn在线| 老司机免费视频| 日本免费福利视频| 精品无码国产污污污免费网站| av小说在线观看| 精品熟妇无码av免费久久| 久草福利资源在线| 国内偷拍精品视频| 国产女同在线观看| 成人黄色三级视频| 国产乱码一区二区| 亚洲色大成网站www| 在线永久免费观看黄网站| 欧美黑人双插| 无遮挡又色又刺激的女人视频| 欧洲毛片视频| 久草在.com| 香蕉国产在线| 超碰在线最新| 久久xxx视频| а√最新版在线天堂| 福利网站av| 天堂在线视频| 国产午夜精品久久久久免费视| 国产乱码在线| 视频欧美精品| 欧美精美视频| 精品成人免费| 国产美女主播视频一区| 国产亚洲一区二区在线观看| 一区二区三区免费观看| 欧美日韩你懂得| 日韩激情在线视频| 欧美激情欧美狂野欧美精品| 国产女同一区二区| 欧洲亚洲一区二区三区四区五区| 九九久久九九久久| 国产精品久久久毛片| 亚洲欧美色图视频| 日韩免费黄色片| www香蕉视频| 欧美xxxxbb| 欧美性生交xxxxx| 韩国一级黄色录像| 欧美国产成人精品一区二区三区| 高潮一区二区三区乱码| 91丨九色丨蝌蚪丨少妇在线观看| 国产天堂在线观看| av免费网站在线观看| 久久久国产精品网站| 精品国产视频| 青青草成人在线观看| 欧美精彩视频一区二区三区| 91成人国产精品| 亚洲无av在线中文字幕| 欧美又大粗又爽又黄大片视频| 北条麻妃高清一区| 欧美一级欧美一级| 国产呦小j女精品视频| 69成人免费视频| 亚洲国产精品区| 免费观看的av网站| jizzjizz中国精品麻豆| 亚洲高清极品| 蜜桃av一区二区三区| 国产精品麻豆久久久| 日韩一区二区免费在线观看| 欧美国产精品va在线观看| 国产精品视频一区二区三区经| 国产精品视频一二三四区| 日本久久久久久久久久| 国产精品21p| brazzers欧美精品| 91av资源在线| 中文字幕一区二区三区四区久久 | 天天操,天天操| 成人涩涩小片视频日本| 天天综合永久入口| 天天噜天天色| 日韩欧美专区| 午夜一区不卡| 亚洲成人福利片| 丝袜情趣国产精品| 欧美日韩无遮挡| 欧美午夜精品一区二区| 一级黄色大毛片| 天天射夜夜爽| 理论片午夜视频在线观看| 我不卡神马影院| 久久久久国产精品免费免费搜索| 日韩一区二区三区在线| 国产精品电影网| 亚洲 欧美 日韩 国产综合 在线 | 成年网站在线播放| 国产无码精品在线播放| 国产精品伦理一区二区三区 | 国产日本欧美在线| 欧美激情视频二区| 中文字幕你懂得| jizzjizz在线观看| 国产不卡av一区二区| 97精品久久久午夜一区二区三区| 欧美一级久久久| 91久久精品美女| www.桃色.com| 国产99对白在线播放| 中文字幕免费在线视频| 成人在线tv视频| 粉嫩一区二区三区在线看| 日韩一区二区在线看| 99精品在线直播| 精品无码人妻少妇久久久久久| aa视频在线免费观看| 中文在线a√在线8| 首页亚洲中字| 国产精品少妇自拍| 欧美成人网在线| 真人做人试看60分钟免费| 五月天丁香激情| 黄色影院在线观看| 亚洲精品成人一区| 成人黄色小视频在线观看| 日韩av综合网站| 午夜视频久久久| 久久久精品99| 国内在线高清免费视频| 理论片一区二区在线| 久久久美女毛片| 欧美精品在线免费观看| 激情深爱综合网| 伊人免费在线观看| 国产在线一在线二| 欧美日韩蜜桃| 欧美在线观看视频在线| 国产精品sss| 在线观看免费黄色网址| 黄色网页在线| 欧美18免费视频| 亚洲免费观看高清完整版在线观看 | 日韩精品资源| www.日本高清视频| eeuss免费天堂影院| 一级欧美视频| 久久久噜噜噜久噜久久综合| 操日韩av在线电影| 亚洲中文字幕无码av永久| 超碰超碰超碰超碰| 欧美套图亚洲一区| 欧美日韩综合| 精品视频在线看| 三级三级久久三级久久18| 欧美人妻一区二区| 992tv在线观看免费进| 亚洲国产网址| 亚洲精品成人精品456| 国产精品自拍视频| 久久婷婷五月综合| 免费黄漫在线观看| 久久99国内| 亚洲一区二区av在线| 91在线观看免费高清| 人人妻人人澡人人爽| 成年网站免费观看| gogo人体一区| 一区二区激情小说| 亚洲最大av在线| 欧美特黄一区二区三区| 奇米四色7777| 欧美久久综合网| 色综合婷婷久久| 色噜噜狠狠一区二区三区| 91video| 黑人精品视频| 成人高清av在线| 午夜欧美不卡精品aaaaa| 丰满少妇一区二区三区专区 | 精品国产伦一区二区三区免费| 一区二区三区不卡在线| 久久中文字幕免费| 国产午夜精品一区理论片| 久久亚洲不卡| 久久天堂电影网| 亚洲妇女无套内射精| 国产xxx在线| 国产99久久| 91精品在线一区二区| 免费观看亚洲视频| 96亚洲精品久久久蜜桃| 原纱央莉成人av片| 久久久无码精品亚洲日韩按摩| 国产精品自产拍高潮在线观看| 免费精品在线视频| 青檬在线电视剧在线观看| 国产亚洲一级| 久久综合久中文字幕青草| 久久久久久久高清| 秋霞午夜电影| 婷婷综合伊人| 亚洲国产欧美一区二区丝袜黑人 | 国产传媒欧美日韩| 国产熟妇一区二区三区四区| 日韩伦理精品| 欧美极品美女视频| 国内一区二区三区在线视频| 香蕉污视频在线观看| 松下纱荣子在线观看| 亚洲激情图片小说视频| 久久99久久精品国产| japanese国产| 粉嫩av一区二区| 91精品国产全国免费观看| 一级特黄性色生活片| 成人福利网址| 日本不卡视频一二三区| 91精品国产高清久久久久久久久| 最新黄色av网址| 伊人影院在线视频| 亚洲欧美一区二区三区国产精品 | 人人爽香蕉精品| 国产不卡在线观看| 国产美女激情视频| 亚洲男人在线| 国产精品乱看| 欧美激情视频给我| 精品亚洲永久免费| 天天综合网天天| 欧美性高清videossexo| 国产免费视频传媒| 成人伦理视频网站| 国产成人综合精品三级| 不卡一区二区三区四区五区| 亚洲女人18毛片水真多| 视频精品在线观看| 日韩在线不卡视频| 欧美黄色aaa| 日韩精品第一| 91精品国产入口在线| 亚洲欧洲国产视频| 欧美性videos| 亚洲v精品v日韩v欧美v专区| 无码专区aaaaaa免费视频| wwwav91| thepron国产精品| 日韩一区二区三区资源| 色视频在线免费| 蜜臀va亚洲va欧美va天堂| 91视频网页| 亚洲天堂av一区二区三区| 亚洲男男gay视频| 久久久久久99久久久精品网站| 亚洲国产一区二区在线| 韩国三级午夜理伦三级三| 中文在线不卡| 91久久精品美女高潮| 先锋资源中文字幕| 亚洲一区二区三区高清不卡| 国产美女精品视频| 男人午夜影院| 老司机精品导航| 黄色一区三区| 手机在线色视频| 丁香另类激情小说| 一区二区三区av| 天天槽夜夜槽| 一本一道久久综合狠狠老 | 久久久久久久久免费看无码| www.51av欧美视频| 欧美色图一区二区三区| 久久人人爽人人人人片| 免费看av不卡| 精品视频在线播放免| 久草免费在线观看视频| 国产劲爆久久| 久久久久国产视频| 亚洲精品一区二区三区新线路| 激情偷拍久久| 国产免费一区二区三区| 灌醉mj刚成年的大学平面模特| 99久久99久久精品免费观看| 精品久久久久久无码中文野结衣| 在线观看导航| 日韩欧美在线观看| 欧洲美一区二区三区亚洲| 激情久久一区二区| 综合激情国产一区| 亚洲视频一区在线播放| 欧美精品三区| 久久久久久欧美精品色一二三四| jizzjizz大全| 亚洲男人的天堂在线aⅴ视频| 向日葵污视频在线观看| 高清在线视频不卡| 亚洲人线精品午夜| 自拍偷拍精品视频| 中文字幕视频在线| 亚洲乱码中文字幕| 黑丝av在线播放| 欧洲一区在线| 97碰在线观看| 欧美色图欧美色图| 91色porny蝌蚪| 欧美男女交配视频| 97成人资源| 久久久av网站| 天天操天天干天天| 国产精品18久久久久久久网站| 男人草女人视频| 高清av电影在线观看| 欧美一区二区视频在线观看2020 | 色噜噜狠狠一区二区三区狼国成人| 捆绑调教日本一区二区三区| 亚洲人成在线免费观看| 99视频在线观看免费| 国内精品国产成人| 国产一区二区三区精彩视频 | 快色在线观看| 欧美日韩亚洲精品内裤| a一级免费视频| 99久久.com| 日韩久久在线| 高清在线观看av| 亚洲精品美女久久久久| 97超碰国产在线| 国产在线精品不卡| av网站在线不卡| 国产精品99久久免费| 国产精品高精视频免费| 天天堂资源网在线观看免费视频| 欧美日韩国产综合新一区| 久草视频在线免费看| 亚洲视频播放| 欧日韩免费视频| 成人开心激情| 国产精品18久久久久久麻辣| 88av看到爽| 欧美日韩国产综合一区二区三区 | 亚洲视频自拍|