色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DS18B20 數字溫度計特點

科技綠洲 ? 來源:單片機實例設計 ? 作者:單片機實例設計 ? 2023-09-11 11:19 ? 次閱讀

一.DS18B20特點

DS18B20 數字溫度計提供12位(二進制)溫度讀數的數字型傳感器。傳感器僅需要單總線接口與CPU連接,實現信號送入 DS18B20 或從 DS18B20 送出。傳感器內部框圖如下:

圖片

DS18B20內部框圖

  1. DS18B20的電源可以由數據線本身提供(如框圖所示),可不需要再接外部電源,因此從CPU到DS18B20僅需一條數據線和地線。
  2. 內部的64位ROM 只讀存儲器,用于存放DS18B20 ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56位的CRC碼(冗余校驗)。數據在出產時廠家已設置好,用戶不可更改。
  3. RAM 數據暫存器,用于內部計算和數據存取,數據在掉電后丟失,DS18B20共9個字節RAM,每個字節為8位。

圖片

DS18B20內部RAM圖

第1、2個字節是溫度轉換后的數據值信息,第3、4個字節是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復位時其值將被刷新。第5個字節則是用戶第3個EEPROM的鏡像。第6、7、8個字節為計數寄存器,是為了讓用戶得到更高的溫度分辨率而設計的,同樣也是內部溫度轉換、計算的暫存單元。第9個字節為前8個字節的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數據,上下限溫度報警值和校驗數據,DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。

二.DS18B20連接圖

DS18B20電源連接方式有兩種,可通過數據線供電或者電源引腳直接供電;此外,無論哪種連接方式,數據線都需要外置4.7k的上拉電阻

圖片

數據線供電的連接方式

圖片

外部電源供電的連接方式

三.DS18B20控制時序分析

1.復位時序

時序見圖,主機總線發送一復位脈沖(最短為 480us,最長960us的低電平信號);接著主機將總線拉到高電平,釋放總線并進入引腳接收狀態;DS18B20 在檢測到總線的上升沿之后等待15-60us,接著DS18B20發出存在脈沖(低電平持續 60-240 us) 。主機總線檢測到低電平時間在140us內,則檢測到DS18B20的應答。

圖片

//復位DS18B20
void DS18B20_Rst(void)    
{                 
  DS18B20_IO_OUT(); //SET IO OUTPUT
  DS18B20_DQ_OUT=0; //拉低DQ
  delay_us(750);    //拉低750us
  DS18B20_DQ_OUT=1; //DQ=1
  delay_us(15);     //15US
}


//等待DS18B20的回應
//返回1:未檢測到DS18B20的存在
//返回0:存在
u8 DS18B20_Check(void)     
{   
  u8 retry=0;
  DS18B20_IO_IN();//SET PA0 INPUT  
  while (DS18B20_DQ_IN&&retry< 200)
  {
    retry++;
    delay_us(1);
  };  
  if(retry >=200)return 1;
  else retry=0;
  while (!DS18B20_DQ_IN&&retry< 240)
  {
    retry++;
    delay_us(1);
  };
  if(retry >=240)return 1;     
  return 0;
}

2.寫時序

當主機總線從高拉至低電平時就產生寫時間隙,見圖時序圖,從下降沿開始15us之內應將所需寫的位送到總線上,DS18B20在15-60us間對總線采樣,若低電平寫入的位是0,若高電平,則寫入的位是1,連續寫入位數的間隙應大于1us。

圖片

//寫一個字節到DS18B20
//dat:要寫入的字節
void DS18B20_Write_Byte(u8 dat)     
 {             
    u8 j;
    u8 testb;
    DS18B20_IO_OUT();//SET IO OUTPUT;
    for (j=1;j<=8;j++)
    {
        testb=dat&0x01;
        dat=dat >>1;
        if (testb)
        {
            DS18B20_DQ_OUT=0;// 寫入1
            delay_us(2);                            
            DS18B20_DQ_OUT=1;
            delay_us(60);             
        }
        else
        {
            DS18B20_DQ_OUT=0;// 寫入0
            delay_us(60);             
            DS18B20_DQ_OUT=1;
            delay_us(2);                          
        }
    }
}

3.讀時序

主機總線從高拉至低電平時,總線只須保持低電平1us以上后,將總線拉高,產生讀時間隙,如圖:

圖片

讀時間在Trc后到15us內有效,也就是說 t z 時刻前主機必須完成讀位,并在 Tinit后的 60us ~ 120 us內釋放總線。主機引腳讀取總線狀態,若低電平讀取的位是0,若高電平,則讀取的位是1,連續讀取位數的間隙應大于1us。

圖片

//從DS18B20讀取一個位
//返回值:1/0
u8 DS18B20_Read_Bit(void)     // read one bit
{
    u8 data;
    DS18B20_IO_OUT();//SET IO OUTPUT
    DS18B20_DQ_OUT=0;
    delay_us(2);
    DS18B20_DQ_OUT=1;
    DS18B20_IO_IN();//SET IO INPUT
    delay_us(12);
    if(DS18B20_DQ_IN)data=1;
    else data=0;  
    delay_us(50);           
    return data;
}


//從DS18B20讀取一個字節
//返回值:讀到的數據
u8 DS18B20_Read_Byte(void)    // read one byte
{        
    u8 i,j,dat;
    dat=0;
    for (i=1;i<=8;i++)
    {
        j=DS18B20_Read_Bit();
        dat=(j< 7)|(dat >>1);
    }          
    return dat;
}

4.讀取DS18B20溫度值

DS18B20讀取溫度值步驟如下,其中單個傳感器無需匹配ROM,所以程序中跳過匹配ROM。

圖片

//從ds18b20得到溫度值
//精度:0.1C
//返回值:溫度值 (-550~1250)
short DS18B20_Get_Temp(void)
{
    u8 temp;
    u8 TL,TH;
    short tem;
    DS18B20_Start ();                    // ds1820 開始轉換
    DS18B20_Rst();
    DS18B20_Check();  
    DS18B20_Write_Byte(0xcc);// 跳過匹配ROM
    DS18B20_Write_Byte(0xbe);// 轉換   
    TL=DS18B20_Read_Byte(); // LSB   
    TH=DS18B20_Read_Byte(); // MSB  
    if(TH >7)
    {
        TH=~TH;
        TL=~TL;
        temp=0;//溫度為負  
    }else temp=1;//溫度為正      
    tem=TH; //獲得高八位
    tem< <=8;    
    tem+=TL;//獲得底八位
    tem=(float)tem*0.625;//轉換     
    if(temp)return tem; //返回溫度值
    else return -tem;    
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    184

    文章

    17704

    瀏覽量

    249961
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163763
  • 數據線
    +關注

    關注

    8

    文章

    283

    瀏覽量

    37719
  • DS18B20
    +關注

    關注

    10

    文章

    779

    瀏覽量

    80824
  • 數字溫度計
    +關注

    關注

    3

    文章

    108

    瀏覽量

    21720
收藏 人收藏

    評論

    相關推薦

    基于DS18B20數字溫度計

    基于DS18B20數字溫度計
    發表于 04-12 22:07

    基于DS18B20的51單片機數字溫度計設計

    本帖最后由 kuofonfon 于 2020-1-3 17:39 編輯 實驗原理DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點
    發表于 11-04 12:27

    DS18B20數字溫度計相關資料分享

    DS18B20數字溫度計資料下載內容主要介紹了:DS18B20基本知識DS18B20產品的特點
    發表于 04-14 06:02

    數字溫度計DS18B20的特性及應用

    DS18B20是美國DALLAS公司生產的可完全替代DS1820的全新型單線數字溫度計.文中介紹了DS18B20的性能結構和與
    發表于 04-25 15:19 ?69次下載

    DS18B20數字溫度計使用原理及實驗

    DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的
    發表于 01-08 11:51 ?389次下載

    基于MSP430單片機和DS18B20數字溫度計

    為了在工業生產及過程控制中準確測量溫度,設計了一種基于低功耗MSP430單片機的數字溫度計。整個系統通過單片機MSP430F1121A控制DS18B20讀取
    發表于 11-22 16:14 ?269次下載

    DS18B20數字溫度計使用

    DS18B20數字溫度計使用 1.DS18B20基本知識 DS18B20數字
    發表于 01-25 11:29 ?1567次閱讀
    <b class='flag-5'>DS18B20</b><b class='flag-5'>數字</b><b class='flag-5'>溫度計</b>使用

    基于DS18B20數字溫度計設計

    基于DS18B20數字溫度計設計,供大家下載。
    發表于 12-21 18:26 ?24次下載

    DS18B20數字溫度計使用

    DS18B20數字溫度計使用。
    發表于 05-05 14:56 ?0次下載

    51單片機與DS18B20數字溫度計

    51單片機與DS18B20數字溫度計
    發表于 05-19 15:32 ?117次下載

    DS18B20數字溫度計使用

    學習單片機電路圖的很好的資料——DS18B20數字溫度計使用
    發表于 11-03 15:15 ?0次下載

    DS18B20數字溫度計的單片機接口應用詳細說明

    DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的
    的頭像 發表于 05-05 14:53 ?1w次閱讀
    <b class='flag-5'>DS18B20</b><b class='flag-5'>數字</b><b class='flag-5'>溫度計</b>的單片機接口應用詳細說明

    ds18b20數字溫度計程序

    ds18b20數字溫度計程序
    發表于 03-11 15:29 ?13次下載

    DS18B20溫度傳感器的數字溫度計設計案例

    本設計采用的主控芯片是ATMEL公司的AT89S52單片機,數字溫度傳感器是DALLAS公司的DS18B20。本設計用數字傳感器DS18B20
    發表于 05-09 16:02 ?53次下載

    DS18B20數字溫度計英文規格書

    電子發燒友網站提供《DS18B20數字溫度計英文規格書.pdf》資料免費下載
    發表于 09-18 10:59 ?0次下載
    主站蜘蛛池模板: 亚洲一卡二卡三卡四卡无卡麻豆| 中国二级毛片| 0855午夜福利伦理电影| 变形金刚7免费观看完整| 国产精品亚洲一区二区三区久久 | 麻豆国产自制在线观看| 日本久久精品免视看国产成人| 亚洲黄色在线视频| BL低喘贯穿顶弄老师H| 黑兽在线观看高清在线播放樱花| 男男女女爽爽爽视频免费| 香蕉AV福利精品导航| 99久久国产综合精品成人影院| 国产亚洲精品久久久999密臂| 男男gaygay拳头| 亚洲欧美日韩国产手机在线| 啊灬啊灬啊灬快高潮视频| 饥渴的40岁熟妇完整版在线| 日本韩国欧美一区| 孕交videosgratis乌克兰| 国产不卡一卡2卡三卡4卡网站| 毛篇片在线观看| 亚洲高清国产拍精品动图| yw193龙物免费官网在线| 久久国产精品福利影集| 桃隐社区最新最快地址| 99热这里只有 精品| 九九九九九热| 亚洲 日本 天堂 国产 在线| qvod免费电影| 乱爱性全过程免费视频| 亚洲精品国产拍在线观看 | 久久只有这里有精品4| 无限资源日本2019版| JizzJizzJizz亚洲成年| 久久亚洲AV成人无码动态图| 亚洲国产成人精品无码区5566| 成年视频xxxxxx在线| 摸老师丝袜小内内摸出水| 夜色伊甸园| 好男人免费观看在线高清WWW|