女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)基于DS18B20測(cè)溫系統(tǒng)解決思路

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-11-13 09:38 ? 次閱讀

英創(chuàng)嵌入式主板以其優(yōu)異的穩(wěn)定性、獨(dú)特的設(shè)計(jì)及方便使用等優(yōu)點(diǎn),在嵌入式領(lǐng)域占有一席之地。在工業(yè)現(xiàn)場(chǎng),經(jīng)常有監(jiān)測(cè)環(huán)境溫度的需求,本方案應(yīng)用DS18B20為溫度采集芯片,與英創(chuàng)嵌入式主板的GPIO相連,就可以組成完整的測(cè)溫系統(tǒng)。由于DS18B20每條總線上可以最多接8個(gè)測(cè)溫點(diǎn),那么英創(chuàng)嵌入式主板至少可以接64個(gè)測(cè)溫點(diǎn)。
DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫,測(cè)量溫度范圍在-55°C到+125°C之間,數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇;并且內(nèi)部有溫度上、下限告警設(shè)置,使用非常方便。
TO-92封裝的DS18B20的引腳排列見(jiàn)圖1,其引腳功能描述見(jiàn)表1。

表1 DS18B20詳細(xì)引腳功能描述:

序號(hào)

名稱

引腳功能描述

1

GND

信號(hào)

2

DQ

數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳
當(dāng)被用著在寄生電源下,也可以向器件提供電源

3

VDD

可選的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地

DS18B20的使用方法

由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)嵌入式主板來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用GPIO的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。在本示例中,只需把管腳2接英創(chuàng)嵌入式主板的GPIO,管腳3接5V電源,管腳1接地,就可以搭建起測(cè)試環(huán)境,如圖二所示。如果需要測(cè)試多點(diǎn)溫度,可以把多個(gè)DS18B20并起。

由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將嵌入式主板作為主設(shè)備,單總線器件作為從設(shè)備。每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開(kāi)始,如果要求單總線器件送回?cái)?shù)據(jù),在進(jìn)行寫命令后,主機(jī)需要啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。

下面是18B20的時(shí)序圖,根據(jù)時(shí)序的要求,改變GPIO的電平,可以完成18B20的操作。

DS18B20復(fù)位時(shí)序

根據(jù)以上DS18B20的時(shí)序,初始化的函數(shù)如下:

Init18b20()

{

char flag;

OutBit(1);

Delayus(1);

OutBit(0);

Delayus(600); // 復(fù)位信號(hào)480—960us

OutBit(1);

Delayus(60); // 等待15-60us

if(ReadBit()) // 檢查存在電平,如果為低,說(shuō)明18B20正確復(fù)位

{

printf(‘init fail’);

return false; // detect 1820 fail!

}

else

{

Sleep(1);

OutBit(1);

return true; // detect 1820 success!

}

}

DS18B20的數(shù)據(jù)讀寫時(shí)通過(guò)時(shí)間間隙處理位和命令字來(lái)確認(rèn)信息交換。

DS18B20的寫時(shí)間隙

當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開(kāi)始。有兩種寫時(shí)間隙:寫1時(shí)間隙和寫0時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60us,包括兩個(gè)寫周期間至少1us的恢復(fù)時(shí)間。

I/O線電平變低后,DS18B20在一個(gè)15us到60us的窗口內(nèi)對(duì)I/O線采樣。如果線上是高電平,就是寫1,如果線上是低電平,就是寫0。如圖所示。

void DS18B20::WriteByte(uchar wr)

{

uchar i;

OutBit(1);

Delayus(1);

for (i=0;i《8;i++) // 寫8bit

{

OutBit(0) ; // 總線拉低,寫間隙開(kāi)始

Delayus(10); // 延時(shí) 2-12us

OutBit(wr&0x01) ; // 寫數(shù)據(jù)到總線

Delayus(30); // 在15us-60us之間采用

OutBit(1); // 釋放總線

wr 》》= 1;

Delayus(2);

}

Sleep(1); // 字節(jié)之間最好間隔的稍微長(zhǎng)一點(diǎn)

}

DS18B20的讀時(shí)間隙

當(dāng)從DS18B20讀取數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)線從高電平拉到低電平時(shí),讀時(shí)間隙開(kāi)始,數(shù)據(jù)線必須保持至少1us;從DS8B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15us內(nèi)有效。對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把總線拉低之后,在15微秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少要60us才能完成。

根據(jù)以上的讀時(shí)序圖,讀字節(jié)函數(shù)如下:

UCHAR DS18B20::ReadByte()

{

uchar i,u=0;

OutBit(1);

Delayus(1);

for(i=0;i《8;i++) // 讀一字節(jié)

{

OutBit(0) ; // 總線拉低,讀間隙開(kāi)始

Delayus(2);

OutBit(1) ; // 拉高總線

Delayus(4); // 在1-14us之內(nèi)讀取總線數(shù)據(jù)

u 》》= 1;

if(ReadBit()==1) u |= 0x80;

Delayus(60); // 讀取數(shù)據(jù)周期至少60us

OutBit(1) ;

}

return(u);

}

在讀溫度之前,要先啟動(dòng)溫度轉(zhuǎn)換,如果采用寄生電源供電,溫度轉(zhuǎn)換的時(shí)間應(yīng)該大于500毫秒。對(duì)于一條總線的多個(gè)18B20來(lái)說(shuō),啟動(dòng)轉(zhuǎn)換不需要匹配18B20的ROM地址。

void DS18B20::StartConvert()

{

Init18b20 ();

WriteByte(0xcc); // 跳過(guò)ROM

WriteByte(0x44); // 啟動(dòng)轉(zhuǎn)換命令

}

在讀指定的18B20時(shí),就要先發(fā)匹配命令,再發(fā)ROM序列號(hào),具體請(qǐng)參考下面的程序:

void DS18B20::TemperatuerResult(char id)

{

uchar i;

Init18b20 ();

WriteByte(0x55); // 匹配ROM地址

for(i=0;i《8;i++) // 發(fā)18B20地址碼

{

WriteByte(b20rom[id][i]);

}

WriteByte(0xbe); // 發(fā)讀溫度命令

read_bytes(2); // 前2個(gè)字節(jié)為溫度值

temp=temp_buff[1]&0x0f; // 去掉符號(hào)位

temp=temp《《8;

temp=temp+temp_buff[0];

Temperature=temp*0.0625; // 得到溫度值

}


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6096

    瀏覽量

    36138
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于LPC2292 和DS18B20測(cè)溫節(jié)點(diǎn)設(shè)計(jì)The Des ign of Temperature measure node B

    設(shè)計(jì)方案和軟件的設(shè)計(jì)思路, 給出了主要驅(qū)動(dòng)程序代碼。測(cè)溫節(jié)點(diǎn)的實(shí)現(xiàn)方法具有一定的通用性。關(guān)鍵詞:LPC2292; DS18B20; 測(cè)溫Abstract:The paper intro
    發(fā)表于 10-19 14:52

    測(cè)試測(cè)量技術(shù)社區(qū)-- 基于CC2430和DS18B20的無(wú)線測(cè)溫系統(tǒng)設(shè)計(jì) ...

    測(cè)試測(cè)量技術(shù)社區(qū)-- 基于CC2430和DS18B20的無(wú)線測(cè)溫系統(tǒng)設(shè)計(jì) -通用測(cè)量
    發(fā)表于 08-12 23:12

    測(cè)試測(cè)量技術(shù)社區(qū)-- 基于CC2430和DS18B20的無(wú)線測(cè)溫系統(tǒng)設(shè)計(jì) ...

    測(cè)試測(cè)量技術(shù)社區(qū)-- 基于CC2430和DS18B20的無(wú)線測(cè)溫系統(tǒng)設(shè)計(jì) -通用測(cè)量
    發(fā)表于 08-12 23:13

    DS18B20測(cè)溫系統(tǒng)設(shè)計(jì)

    誰(shuí)那有DS18B20測(cè)溫系統(tǒng)設(shè)計(jì)幫忙發(fā)過(guò)來(lái)吧,時(shí)間緊迫,老師催著交,最好有原理圖和仿真的原件
    發(fā)表于 12-04 13:14

    DS18B20多點(diǎn)測(cè)溫方法探討

    、功耗低、性能高、抗干擾能力強(qiáng)、使用簡(jiǎn)單等優(yōu)點(diǎn)。其獨(dú)特的單總線技術(shù)使用戶可輕松地組建傳感器網(wǎng)絡(luò),特別適合于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng)。每個(gè)DS18B20 都有一個(gè)唯一的64 位ROM 序列號(hào),通過(guò)查詢此序列號(hào)
    發(fā)表于 11-02 16:10

    基于DS18B20組網(wǎng)測(cè)溫的研究

    隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)已經(jīng)應(yīng)用于諸多領(lǐng)域。簡(jiǎn)單介紹了DALLAS公司推出的DS18B20數(shù)
    發(fā)表于 03-15 02:43 ?47次下載

    一種新型多點(diǎn)測(cè)溫系統(tǒng)的設(shè)計(jì)(基于DS18B20設(shè)計(jì)的多點(diǎn)測(cè)溫

    一種新型多點(diǎn)測(cè)溫系統(tǒng)的設(shè)計(jì)(基于DS18B20設(shè)計(jì)的多點(diǎn)測(cè)溫系統(tǒng)) 介紹DS18B20的基本特
    發(fā)表于 10-15 23:50 ?2054次閱讀
    一種新型多點(diǎn)<b class='flag-5'>測(cè)溫</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)(基于<b class='flag-5'>DS18B20</b>設(shè)計(jì)的多點(diǎn)<b class='flag-5'>測(cè)溫</b>

    基于DS18B20測(cè)溫系統(tǒng)設(shè)計(jì)

    針對(duì)單線總線數(shù)字溫度傳感器 DS18B20 的工作特性,本文對(duì)基于DS18B20測(cè)溫系統(tǒng)進(jìn)行了硬件和軟件的設(shè)計(jì)。仿真實(shí)驗(yàn)結(jié)果表明,該測(cè)溫
    發(fā)表于 07-22 16:13 ?552次下載
    基于<b class='flag-5'>DS18B20</b><b class='flag-5'>測(cè)溫</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    DS18B20 構(gòu)成測(cè)溫系統(tǒng)

    用一片 DS18B20 構(gòu)成測(cè)溫系統(tǒng),測(cè)量的溫度精度達(dá)到 0.1 度,測(cè)量的溫度的范圍在-20度到+50度之間,用4位數(shù)碼管顯示出來(lái)。
    發(fā)表于 10-12 11:46 ?0次下載

    DS18B20構(gòu)成測(cè)溫系統(tǒng)

    學(xué)習(xí)單片機(jī)電路圖的很好的資料——DS18B20 構(gòu)成測(cè)溫系統(tǒng)
    發(fā)表于 11-03 15:15 ?0次下載

    ds18b20測(cè)溫程序詳解

    DS18B20是一種單總線數(shù)字溫度傳感器,測(cè)試溫度范圍-55℃-125℃,具有體積小,硬件開(kāi)銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。網(wǎng)上關(guān)于DS18B20的資料很多,但是光有程序,沒(méi)有講解,導(dǎo)致身邊很多同學(xué)即使拿到源碼也無(wú)從下手,下面就來(lái)看一下
    發(fā)表于 10-18 11:33 ?4.2w次閱讀
    <b class='flag-5'>ds18b20</b><b class='flag-5'>測(cè)溫</b>程序詳解

    ds18b20測(cè)溫電路圖詳解

    對(duì)于DS18B20的電路連接,除了上面所說(shuō)的傳統(tǒng)的外部電源供電時(shí)的電路連接圖,DS18B20也可以工作在“寄生電源模式”,而下圖則表示了DS18B20工作在“寄生電源模式”下的電路連接圖。沒(méi)錯(cuò),這樣就可以使
    發(fā)表于 11-07 10:16 ?9.2w次閱讀

    dht11和ds18b20區(qū)別_dht11與ds18b20哪個(gè)測(cè)溫度更精確

    本文開(kāi)始介紹介紹了DHT11特性、DHT11技術(shù)參數(shù),其次介紹了DS18B20工作原理與DS18B20技術(shù)性能,最后介紹了DS18B20&D
    發(fā)表于 01-26 12:19 ?9w次閱讀

    基于DS18B20多點(diǎn)測(cè)溫源碼

    DS18B20 單線數(shù)字溫度傳感器,多個(gè) DS18B20 可以并聯(lián)在惟一的單線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。里面包含源碼和文章詳解。致力于開(kāi)源項(xiàng)目的分享!
    發(fā)表于 01-05 16:28 ?25次下載

    基于DS18B20的多點(diǎn)測(cè)溫方案詳解

    DS18B20 單線數(shù)字溫度傳感器,多個(gè) DS18B20 可以并聯(lián)在惟一的單線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。具體方案主要是以下步驟:
    的頭像 發(fā)表于 09-15 16:23 ?4935次閱讀
    基于<b class='flag-5'>DS18B20</b>的多點(diǎn)<b class='flag-5'>測(cè)溫</b>方案詳解