發布日期:2022-10-09 點擊率:48
協議
DS18B20的一線工作協議流程是:初始化→ROM操作指令→存儲器操作指令→數據傳輸,其工作時序包括:初始化時序、寫時序、讀時序。
黑色部分表示單片機操作,藍色部分表示18b20操作,每次主機操作完成之后等待18b20狀態時,必須要釋放總線,比如將IO設置為高阻態什么的。否則18B20沒法把狀態寫到線上。
過程1、2是初始化過程,每次讀取都要初始化,否則18b20處于待機狀態,無法成功讀取。過程1:拉低信號線480-700us,使它復位,然后釋放總線15-60us,18b20會拉低總線60-240us,然后它釋放總線。所以初始化成功的一個標志就是能否讀到18b20這個先低后高的操作時序。
與之對應的代碼,其實是按照時序圖編寫的:
注意觀察dq,
拉低信號線480-700us,使它復位,對應時序圖上黑色線一開始為0.
釋放總線15-60us,對應時序圖上黑色線變成1.
然后如果18b20拉低總線,說明初始化成功
復位的整體代碼:
過程3、4是寫1bit數據過程。過程3是寫0 ,過程4是寫1。過程3:拉低總線60us,然后抬高總線5us,完成。過程4:拉低總線5us,然后抬高總線60us,完成。
過程5、6是讀1bit過程。過程5是讀0,過程6是讀1。過程5、6:拉低總線5us,然后釋放總線,讀取總線,如果為0,則讀入0,如果為1,則讀入1。
由于我主要研究的是怎么把數據導出來,所以主要看:發送溫度轉換命令和獲得溫度這兩個函數:
讓DS18B20進行一次溫度轉換的具體操作如下:
1、主機先做個復位操作;
2、主機再寫跳過ROM的操作(CCH)命令;
3、然后主機接著寫轉換溫度的操作指令,后面釋放總線至少1秒,讓DS18B20完成轉換操作。需要注意的是每個命令字節在寫的時候都是低字節先寫,例如CCH的二進制為,在寫到總線上時要從低位開始寫,寫的順序是“0、0、1、1、0、0、1、1”。
上面讓DS18B20進行一次溫度轉換就涉及到 ds_write_byte()寫操作
讀取RAM的溫度數據,同樣,這個操作也要按照三個步驟:
1、主機發出復位操作并接受DS18B20的應答(存在)脈沖;
2、主機發出跳過對ROM操作的命令(CCH);
3、主機發出讀取RAM的命令(BEH),隨后主機依次讀取DS18B20發出的從第0-第8,共九個字節的數據。如果只想讀取溫度數據,那在讀完第0和第1個數據后就不再理會后面DS18B20發出的數據即可,同樣讀取數據也是低位在前.
獲得溫度的時候,又涉及到了ds_read_byte();讀操作
結構
由上圖可知,讀溫度時要讀兩次,一個是低8位,一個是高8位。最后要合到一塊。
測溫原理
低溫度系數振蕩器溫度影響小,用于產生固定頻率信號送計數器1;
高溫度系數振蕩頻率隨溫度變化,產生信號脈沖送計數器2;
計數器1和溫度寄存器被預置在 -55℃對應的基數值;
計數器1對低溫度系數振蕩器產生的脈沖進行減法計數;
當計數器1預置減到0時,溫度寄存器加1,計數器1預置重新裝入;
計數器1重新對低溫度系數振蕩器計數;
如此循環,直到計數器2計數到0時,停止對溫度寄存器累加,此時溫度寄存器中的數值即為所測溫度。
高溫度系數振蕩器相當于T/ f 轉換器,將被測溫度轉換成頻率信號f ;
當門打開時對低溫度系數振蕩器計數;
計數門的開啟時間有高溫度系數振蕩器決定。
指令
代碼:
展開全文
我精心整理的一個溫度傳感器18B20的程序包,可直接調用
這個程序適用于12MHz晶振的51單片機,默認為89C52系列,如果是89C51的話,把頭文件改為
#include "reg51.h"
就可以了,下面是頭文件和C文件,大家在工程里加入C文件,在主程序中加入頭文件,直接調用
read_temp();
函數,就可以返回浮點型的溫度值,為10進制,可以處理后直接用LCD或數碼管顯示,很方便,是我做溫控的子程序。
#include "reg52.h"
#include "intrins.h" //_nop_();延時函數用
#define
uchar unsigned char
#define uint unsigned int
sbit DQ="P3"^4;
//溫度輸入口
ow_reset(void);//18B20復位
void write_byte(uchar val);//寫命令
uchar
read_byte(void);//讀數據
float
read_temp();
#include "reg52.h"
#include "18B20.h"
//_nop_();延時函數用
//
uchar code
ditab[16]={0x00,0x01,0x01,0x02,0x03,
0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
void
delay(uint t)
{
for(;t>0;t--);
}
//
ow_reset(void)
{
char
presence="1";
while(presence)
{
while(presence)
{
DQ=1;_nop_();_nop_();
DQ=0; //
delay(50); // 550us
DQ=1;
//
delay(6); // 66us
presence=DQ; // presence="0繼續下一步"
}
delay(45); //延時500us
presence=~DQ;
}
DQ=1;
}
//
//
//向 1-WIRE 總線上寫一個字節
void
write_byte(uchar val)
{
uchar i;
for (i=8; i>0; i--)
//
{
DQ=1;_nop_();_nop_();
DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us
DQ=val&0x01;
//最低位移出
delay(6); //66us
val=val/2; //右移一位
}
DQ=1;
delay(1);
}
//
//從總線上讀取一個字節
uchar
read_byte(void)
{
uchar i;
uchar value=0;
for
(i=8;i>0;i--)
{
DQ=1;_nop_();_nop_();
value>>=1;
DQ=0; //
_nop_();_nop_();_nop_();_nop_(); //4us
DQ=1;_nop_();_nop_();_nop_();_nop_(); //4us
if(DQ)value|=0x80;
delay(6);
//66us
}
DQ=1;
return(value);
}
//
//
float
read_temp()
{
float zs,xs;//存放整數和小數
uchar
temp_data[2];//讀出溫度暫存
EA=0;//禁止中斷,防止讀錯
ow_reset();
//總線復位
write_byte(0xCC); // 發Skip ROM命令
write_byte(0xBE); //
發讀命令
temp_data[0]=read_byte(); //溫度低8位
temp_data[1]=read_byte();
//溫度高8位
ow_reset();
write_byte(0xCC); // Skip ROM
write_byte(0x44); //
發轉換命令
xs=ditab[temp_data[0]&0x0f];//小數位
xs=xs/10;
zs=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);//整數位
return
(zs+xs);
EA=1;//開中斷
}
//結束
當然,大家做數字溫度計的話直接使用這個程序就可以了,但是如果要做多點溫控的話,大家還要自己寫查找序列號的程序!加油!
#i
nclude
if(dq==0)
flag=1; //detect 1820 success!
else
flag=0; //detect 1820
fail!
TempDelay(20); //20
_nop_();
_nop_();
dq=1;
}
void
WriteByte (uchar wr) //單字節寫入
{
uchar i;
for
(i=0;i
是德科技推出新的物聯網安全評估軟件
新聞來源:新物聯Newiot 整理 2021-10-18 共有: 56 瀏覽
是德科技推出了全新的物聯網 (IoT) 安全評估軟件解決方案,使物聯網芯片和設備制造商以及部署物聯網設備的組織能夠執行全面、自動化的網絡安全評估。新解決方案利用 20 多年的網絡安全測試經驗來揭示任何網絡技術中的安全漏洞。該軟件提供全面的自動化測試,以快速覆蓋大量已知和未知漏洞。
安森美將在中國國際物聯網展展示先進的工業方案
新物聯號:科技前沿 2021-10-18 共有: 62 瀏覽
領先于智能電源和智能感知技術的安森美(onsemi,美國納斯達克股票代號:ON),將于10月23日至25日在深圳會展中心舉行的國際物聯網展 (IOTE) 展示其最新的技術進展。在這亞洲領先的物聯網(IoT)展會上,觀眾到安森美展臺(2號館2C17/1展位)將能看到該公司針對工廠自動化、智能樓宇和資產管理的智能方案演示,并可與相關技術人員討論應用。
2米城市洪澇災害水位測試器
新物聯號:萬和儀表 2021-10-18 共有: 69 瀏覽
萬和WH311的2米城市洪澇災害水位測試器不僅可以提供消防水箱水位,還有投入型自動記錄液位測量系統,探頭采用了全灌封防冷凝技術,安全可靠的雙密封設計,全焊接工藝以及堅固的不銹鋼外殼,確保產品的長期可靠性以及永久氣密性;
2021年中國物聯網大會在江蘇無錫成功舉辦
新聞來源:新物聯Newiot 整理 2021-10-19 共有: 70 瀏覽
10月13日-16日,2021年中國物聯網大會在江蘇無錫順利開幕,主要圍繞物聯網及視覺智能、5G通訊、6G及衛星通訊、物聯網創新應用、數字化轉型、智慧城市、物聯網安全、移動通訊芯片、新能源等多方面,多領域進行交流、分享及探討。
ARM再次嘗試解決物聯網的碎片化問題
新聞來源:新物聯Newiot 整理 2021-10-19 共有: 69 瀏覽
Arm是大部分物聯網(以及世界上所有智能手機)半導體設計背后的公司,宣布了三個項目,以幫助更快、更輕松、更安全地開發物聯網。它以Arm Total Solutions for IoT的名義宣布了這三款產品。這是 Arm 第二次嘗試解決與物聯網世界碎片化相關的許多挑戰。第一次嘗試是在 2014 年使用mbed OS。當時,Arm 正試圖統一物聯網中使用的微控制器中使用的許多實時操作系統。那沒用。
谷歌云物聯網Google Cloud IOT戰略
新聞來源:新物聯Newiot 整理 2021-10-19 共有: 100 瀏覽
谷歌最近發布了谷歌分布式云,公布了更廣泛的云到邊緣場景戰略。該平臺實際上是一個平臺軟件層,可以為其開發應用程序,然后不僅可以托管在 Google 的云中,還可以托管在本地邊緣設備中,甚至可以托管在企業數據中心中。雖然該功能要到 2022 年才能完全可用,但它有望為物聯網功能的分布提供盡可能豐富的模型,甚至可以用于云提供商或其他邊緣計算設施。
幾種常用的氧氣傳感器簡介
新物聯號:上海高傳電子 2021-10-19 共有: 88 瀏覽
上海高傳電子作為PST集團中國區授權代理商,負責子品牌SST 、Ntron、Michell的產品銷售和技術服務工作,針對氧氣傳感器和氧氣分析儀的應用,我們有著化工,制藥,3D打印設備,高原彌散供氧,礦用安全,電力開關柜安全監控等等諸多領域的經驗。
用于鋪粉式 3D 打印的氧含量監測傳感器
新物聯號:上海高傳電子 2021-10-19 共有: 112 瀏覽
根據金屬3D打印行業內多家重要企業的實踐經驗,推薦用戶將氧氣分析儀Microx-231安裝在腔室頂部側方,該傳感器能實時準確的監控氧氣濃度,從1PPM到25% Vol,響應速度快,精確度高,長期壽命好。
衛星物聯網夢想正在變成現實
新聞來源:新物聯Newiot 整理 2021-10-20 共有: 62 瀏覽
幾家圍繞地面和衛星組合網絡制定商業計劃的物聯網初創公司已經放棄了他們夢想中的衛星部分。最近,歐洲衛星物聯網提供商 Hiber 本周表示,它將與 Inmarsat 的新 Elera 網絡合作開發其網絡的天基部分,其余部分使用 LoRaWAN。
谷歌Pixel 6處理器帶來AI智能優化照片功能
新聞來源:新物聯Newiot 整理 2021-10-20 共有: 48 瀏覽
谷歌推出了其最新款智能手機,其中包含這家科技巨頭的首款自行設計的計算機芯片。Pixel 6 包含谷歌的“Tensor”處理器,據稱可以實現由人工智能和機器學習驅動的新手機功能。它也是該系列中第一款采用“Pro”型號的手機,旨在與高端市場競爭。
了解英國人工智能商業化
新聞來源:新物聯Newiot 整理 2021-10-20 共有: 60 瀏覽
英國政府正在開展研究,探索人工智能研發如何成功商業化并推向市場。數字、文化、媒體和體育部 (DCMS) 以及人工智能和數字標準和互聯網治理辦公室 (DSIG) 正在領導該研究項目。
泵類醫療器械的智能化發展趨勢與方案
新物聯號:自連科技 2021-10-20 共有: 38 瀏覽
自連科技助力泵類醫療器械智能化,輸液泵和注射泵是應用于住院、急診急救、重癥監護等場景的輸注控制設備,用來嚴格控制輸液量和輸液速度。在使用的過程中,通常醫護人員需根據醫囑進行配藥和注射,并做好相應的用藥記錄,同時觀察輸液的進度。
智能物聯網手持掃描終端新產品有哪些特色
新物聯號:物聯網李生 2021-10-20 共有: 55 瀏覽
智能物聯網手持掃描終端新產品有哪些特色
智能人臉識別門鎖+5寸液晶屏打造物聯網家居安全新生活
新物聯號:物聯網李生 2021-10-20 共有: 61 瀏覽
智能人臉識別門鎖+5寸液晶屏打造物聯網家居安全新生活,隨著智能時代的到來,智能家居已經進入千家萬戶,智能鎖是智能家居的第一道防護,時刻守護家門安全,為家人保駕護航。作為精致智能生活倡導者,優奕視界承載著人們對品質生活的向往,憑借在智能家居領域的深厚造詣與業內獨具一格的產品設計風格,深受消費者的青睞。
小門衛人臉識別符合國家標準
新物聯號:小門衛 2021-10-21 共有: 52 瀏覽
智慧城市的到來,人臉識別技術發展很快。我們怎樣保護自己的隱私?
數字孿生概念原理及應用領域
新聞來源:新物聯Newiot 整理 2021-10-21 共有: 186 瀏覽
數字孿生是充分利用物理模型、傳感器更新、運行歷史等數據,集成多學科、多物理量、多尺度、多概率的仿真過程,在虛擬空間中完成映射,從而反映相對應的實體裝備的全生命周期過程。數字孿生是一種超越現實的概念,可以被視為一個或多個重要的、彼此依賴的裝備系統的數字映射系統。
泉州睿澤恒創榮獲2021年智慧燈桿產業最受歡迎企業獎
新物聯號:睿澤物聯 2021-10-21 共有: 54 瀏覽
9月28日,2021年中國國際信息通信展暨5G+智慧燈桿融合發展論壇在北京國際會議中心隆重召開!泉州睿澤物聯憑借著在智慧燈桿領域優秀的智能硬件與軟件技術研發能力、量身定制的場景化解決方案、專業的技術支持和售后服務,豐富的成功案例和實踐經驗,榮獲“2021年智慧燈桿產業最受歡迎企業”
芬蘭Haaga-Helia大學幫助中小企業開發和利用人工智能技術
新聞來源:新物聯Newiot 整理 2021-10-21 共有: 61 瀏覽
今年早些時候,芬蘭的 Haaga-Helia 大學宣布將實施一個新項目,以促進在中小企業 (SME) 中使用人工智能 (AI)。AI-TIE 項目將于 2021 年至 2023 年開展,支持中小企業開發、發展和采用基于人工智能的解決方案。
企業網絡上非商業物聯網設備的數量正在增加:調查
新聞來源:新物聯Newiot 整理 2021-10-21 共有: 44 瀏覽
根據Palo Alto Networks 的一份新報告,許多員工仍在將未經批準的物聯網設備連接到企業網絡,并增加了數據泄露的風險。在周三發布的最新調查中,該公司表示,今年 IT 領導者告訴他們,可以在他們的網絡上找到聯網的寵物喂食器、智能燈泡、心率監測器、健身器材、咖啡機和游戲機。
納微半導體正式登陸納斯達克,以股票代碼NVTS上市交易
新物聯號:科技前沿 2021-10-21 共有: 77 瀏覽
美國東部時間2021年10月20日,氮化鎵功率芯片的行業領導者納微半導體(“納微”)的股票,正式開始在納斯達克全球市場交易,股票代碼為“NVTS”。首席執行官Gene Sheridan在公司領導團隊的陪伴下,在紐約納斯達克MarketSite敲響了開市鐘,慶祝公司股票首日上市交易。
基于ADS1247的PT100測溫設計總結前言本人做嵌入式開發,之前很多資源都是從博客上看到,本次因為工作項目涉及到ADS1247設計的溫度采集,需要設計硬件開發,網上找了很多資料走了不少彎了,現在項目完成,關于ADS1247的設計使用做一個簡單的總結,并公布原理圖和原代碼,供有需要的人參考。第一次寫文,寫的不好勿噴一、ADS1247測量Pt100的原理圖采用ADS1247組成的AD轉換器,通過SPI與單片機通訊,采集ADC轉換的PT100兩端的電壓值,然后通過公式計算出溫度。
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原