用DS18B20構(gòu)成測溫系統(tǒng)
1、設(shè)計(jì)方案
用一片DS18B20構(gòu)成測溫系統(tǒng),測量的溫度精度達(dá)到0.1度,測量的溫度的范圍在-20度到+100度之間,用8位數(shù)碼管顯示出來。
2、工作原理
DS18B20基本知識
DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點(diǎn)。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。
1)、DS18B20產(chǎn)品的特點(diǎn)
?。╝)、只要求一個端口即可實(shí)現(xiàn)通信。
(b)、在DS18B20中的每個器件上都有獨(dú)一無二的序列號。
?。╟)、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測溫。
(d)、測量溫度范圍在-55。C到+125。C之間。
(e)、數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。
(f)、內(nèi)部有溫度上、下限告警設(shè)置。
2)、DS18B20的引腳介紹
TO-92封裝的DS18B20的引腳排列見下圖,其引腳功能描述見表1。
表1DS18B20詳細(xì)引腳功能描述
序號 名稱 引腳功能描述
1 GND地信號
2DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。
3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。
3)、DS18B20的使用方法
由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機(jī)來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時(shí)序來完成對DS18B20芯片的訪問。
由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。
DS18B20的復(fù)位時(shí)序
DS18B20的讀時(shí)序
對于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個過程。
對于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時(shí)序過程,至少需要60us才能完成。
DS18B20的寫時(shí)序
對于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個過程。
對于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。
評論