国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

DS18B20溫度傳感器的工作原理探析

2017-02-28 20:46:20徐錦鋼鄢妍
大陸橋視野·下 2016年11期
關鍵詞:仿真測溫

徐錦鋼++鄢妍

【摘 要】本文圍繞DS18B20溫度傳感器的工作原理展開論述,使用proteus仿真軟件設計和繪制了DS18B20的測溫電路圖,并通過1602液晶顯示器觀察DS18B20測得的溫度值,驗證了DS18B20測溫電路及程序設計的正確性,并給出了部分C程序代碼。

【關鍵詞】DS18B20;測溫;仿真

1.DS18B20溫度傳感器簡介

DS18B20是DALLAS公司生產(chǎn)的一種溫度傳感器,具有體積小、先進的單總線數(shù)據(jù)通信方式、全數(shù)字溫度轉換及輸出、測量精度可達土0.5℃、檢測溫度范圍寬(可達-55℃~+125℃)等優(yōu)點,因此使得DS18B20應用非常廣泛[1]。

2.電路連接

電路連接如上圖1所示,主要包括AT89S52單片機、DS18B20和1個1602型液晶顯示器。DS18B20組成的溫度測量系統(tǒng)線路非常簡單,只要求1個接口就可實現(xiàn)通信,圖中DS18B20的第2腳(DQ)即為數(shù)據(jù)通信端,接至單片機的P3.3口,傳輸命令字和溫度信號。DS18B20的第3腳(VCC)接5V電源,第1腳(GND)接地。1602液晶數(shù)據(jù)端(D0-D7)接至單片機P0口,控制端(RS、RW、EN)分別接至單片機P2.0、P2.1、P2.2口。

3.DS18B20單總線內(nèi)部構造介紹

3.DS18B20單總線內(nèi)部構造介紹

單總線系統(tǒng)只有1根數(shù)據(jù)線,主機或者從機設備通過1個漏極開路或三態(tài)接口連接至該數(shù)據(jù)線,這樣使得主機或者從機設備在不發(fā)送數(shù)據(jù)時可釋放數(shù)據(jù)總線,以便總線可被其他設備使用。圖2給出了DS18B20單總線開漏等效電路,單總線要求外接1個約為5K歐姆的上拉電阻,以保證總線閑置時為高電平,如圖1中的電阻R1所示[2]。

4.DS18B20溫 度傳感器程序設計

單總線器件要求嚴格遵守相應的通信協(xié)議,如此才能保證數(shù)據(jù)傳輸?shù)耐暾?,這種協(xié)議一般定義了若干種類型的信號,包括器件復位、讀數(shù)據(jù)、寫數(shù)據(jù),均由主機(即單片機)發(fā)出同步信號,所有的命令字和數(shù)據(jù)字都是低位在前,高位在后。

本文編寫了一個完整的DS18B20測量顯示程序,主要包括DS18b20初始化函數(shù)、主機寫字節(jié)數(shù)據(jù)函數(shù)、主機讀字節(jié)數(shù)據(jù)函數(shù)、開始溫度轉換、溫度獲取及數(shù)據(jù)修正函數(shù)。下面以其中的前4個函數(shù)示例,并給出注解。

4.1 DS18b20初始化函數(shù)

單總線的所有操作均是從1個初始化序列開始的,初始化序列包括1個由總線控制器發(fā)出的復位脈沖和隨后由從機回發(fā)的應答脈沖,函數(shù)程序代碼如下:

void Init_DS18B20()

{

uint i;

DQ=0;//拉低總線開始復位

i=103;

while(i>0)i--;//短暫延時

ds=1;//主機寫1,釋放總線

i=4;

while(i>0)i--;//短暫延時

}

4.2 主機寫字節(jié)數(shù)據(jù)函數(shù)

void write_byte(uchar dat)

{

uchar i;

for(i=0;i<8;i++)

{

DQ=0;//主機拉低DQ

dat>>=1;//待輸出位通過移位操作先進入PSW的CY位

DQ=CY;

delay(8);

DQ=1;

}

}

4.3 主機讀字節(jié)數(shù)據(jù)函數(shù)

void read_byte()

{

uchar i,dat=0;

for(i=0x01;i!=0;i<<=1)

{

DQ=0;_nop_();//主機拉低DQ,開始讀時隙

DQ=1;_nop_();//主機釋放DQ,準備讀

if(DQ)

{dat|=i;}//1us后主機開始讀取1位

delay(8);//實際延時77us

}

return dat;//將讀到的字節(jié)數(shù)返回

}

4.4 開始溫度轉換函數(shù)

void tempchang(void)

{

Init_DS18B20();//初始化

delay(1);

write_byte(0xcc);//寫命令字0xcc,跳過讀取ROM序列號

write_byte(0x44);//寫命令字0x44,啟動溫度轉換

}

5.電路功能測試

按照圖1搭好電路后,調(diào)節(jié)DS18B20器件上的溫度增減按鍵,模擬外界溫度的變化,單片機在獲取溫度值后,將溫度值顯示在1602液晶上,如圖中測得溫度為26℃時,液晶也顯示為26℃,見下圖3所示,說明電路連接及程序編寫均正確無誤。

6.結束語

本文采用單片機作為主控制器,設計了基于DS18B20的溫度測量顯示電路,論述了DS18B20的工作原理,給出了部分測試程序并注解。通過測試,DS18B20能夠正常測溫,電路工作正常。

參考文獻:

[1]DS18B20芯片手冊[DB/OL].百度文庫,2007-03.

[2]彭 偉.單片機C語言程序設計實訓100例[M].北京:電子工業(yè)出版社,2014-03.

猜你喜歡
仿真測溫
硬線測溫探頭在離心式壓縮機組的應用
基于WiFi無線通信測溫系統(tǒng)的設計
電子測試(2018年22期)2018-12-19 05:12:06
變壓器光纖測溫探頭的安裝固定
電子制作(2017年8期)2017-06-05 09:36:15
一種幫助幼兒車內(nèi)脫險應急裝置的仿真分析
科技資訊(2016年18期)2016-11-15 20:09:22
Buck開關變換器的基本參數(shù)設計及仿真分析
試析PLC控制下的自動化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設計
科技視界(2016年18期)2016-11-03 21:44:44
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
基于DS18B20的單片機測溫系統(tǒng)
電子制作(2016年21期)2016-05-17 03:52:50
機械加工仿真技術研究
张家口市| 永昌县| 新野县| 吉安县| 教育| 全南县| 微博| 星子县| 江达县| 桦南县| 德安县| 田东县| 富川| 长乐市| 西华县| 永宁县| 集贤县| 鄂伦春自治旗| 岱山县| 长沙市| 正阳县| 定远县| 靖宇县| 石城县| 平阳县| 缙云县| 九江县| 高雄市| 博兴县| 香港 | 合水县| 平安县| 吉安市| 南澳县| 久治县| 溧水县| 新干县| 大悟县| 汉寿县| 德兴市| 台州市|