畢業(yè)論文 基于ds1820的溫度采集系統(tǒng)設(shè)計(jì)1_第1頁
畢業(yè)論文 基于ds1820的溫度采集系統(tǒng)設(shè)計(jì)1_第2頁
畢業(yè)論文 基于ds1820的溫度采集系統(tǒng)設(shè)計(jì)1_第3頁
畢業(yè)論文 基于ds1820的溫度采集系統(tǒng)設(shè)計(jì)1_第4頁
畢業(yè)論文 基于ds1820的溫度采集系統(tǒng)設(shè)計(jì)1_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 dcs1820溫度采集系統(tǒng)的設(shè)計(jì) 摘 要ds18b20的溫度采集系統(tǒng)利用下位機(jī)設(shè)置溫度上下限和實(shí)時(shí)溫度的采集,并將結(jié)果傳輸?shù)缴衔粰C(jī),以達(dá)到對(duì)溫度的比較、控制。本設(shè)計(jì)用mcs-51單片機(jī)為主要硬件,設(shè)計(jì)了包括溫度采集,溫度顯示,系統(tǒng)控制,串口通信等外圍電路。在溫度測(cè)量部分采用具有“一線總線”接口的數(shù)字傳感器ds18b20,實(shí)現(xiàn)單線多點(diǎn)數(shù)據(jù)的采集。 關(guān)鍵詞: ds1820溫度傳感器 單片機(jī) 通信接口目 錄摘 要1前 言3第一章 溫度采集顯示系統(tǒng)的設(shè)計(jì)要求和設(shè)計(jì)方案41.1 系統(tǒng)設(shè)計(jì)任務(wù)41.2 功能要求41.3 方案論證和選定4第二章 溫度采集系統(tǒng)外部器件的設(shè)計(jì)62.1 總體分析62.2 805

2、1單片機(jī)的性能及應(yīng)用72.3 ds18b20芯片簡(jiǎn)介132.4 ds18b20原理及應(yīng)用142.5 ds18b20與單片機(jī)的典型接口設(shè)計(jì)272.6 ds18b20使用中注意事項(xiàng)28第三章 硬件設(shè)計(jì)293.1 硬件電路設(shè)計(jì)的功能簡(jiǎn)介293.2 硬件設(shè)計(jì)部分的組成303.3 硬件電路圖31第四章 軟件電路的設(shè)計(jì)324.1 系統(tǒng)功能324.2 系統(tǒng)流程圖324.3 ds18b20溫度采集源程序33第五章 聯(lián)機(jī)調(diào)試和分析40結(jié) 論40參考文獻(xiàn)41致 謝41附錄1 圖 片42附錄2 proteus仿真軟件電路圖43前 言 在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測(cè)及控制,傳統(tǒng)的測(cè)溫元件有熱電偶和熱電阻

3、。而熱電偶和熱電阻測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。由dallas出品的新型的單路串行數(shù)字溫度傳感器ds18b20,完成溫度測(cè)量、分析、判斷閾值、輸出功能。整個(gè)系統(tǒng)具有集成度高、可靠性強(qiáng)、抗干擾性強(qiáng)(串行通信特點(diǎn))、魯 棒 性強(qiáng)、可擴(kuò)展性強(qiáng)(可利用識(shí)別序列號(hào)組成多點(diǎn)測(cè)量)、體積小、功耗低等特點(diǎn)。本系統(tǒng)具有測(cè)溫、上限報(bào)警、下限報(bào)警、溫度控制及顯示功能?;诒鞠到y(tǒng)可擴(kuò)展如下功能: 1. 增加鍵盤使可隨時(shí)調(diào)整溫度上下限。2. 擴(kuò)展傳感器數(shù)量,組成測(cè)量網(wǎng)絡(luò)。實(shí)現(xiàn)多點(diǎn)測(cè)量。同時(shí)對(duì)mcs-51單片機(jī)系列各芯片進(jìn)行了優(yōu)劣勢(shì)對(duì)比、介紹了單

4、線數(shù)字溫度傳感器的基本內(nèi)部結(jié)構(gòu)及主要性能特點(diǎn)。單片機(jī)是可以對(duì)端口進(jìn)行控制、輸入輸出數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理的器件。mcs-51單片機(jī)是美國inte公司于1980年推出的產(chǎn)品,符合我校課程安排的培訓(xùn)教材以mcs-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。atmel生產(chǎn)的系列單片機(jī)指令系統(tǒng)與單片機(jī)課程學(xué)習(xí)中接觸的指令系統(tǒng)相同,管腳分布以及功能與學(xué)習(xí)過程中實(shí)驗(yàn)使用相同。利用此類單片機(jī),選擇合適傳感器進(jìn)行數(shù)據(jù)交換、數(shù)據(jù)處理、根據(jù)處理結(jié)果控制外圍設(shè)備,從硬件設(shè)計(jì)到軟件實(shí)現(xiàn),此類系統(tǒng)具有一定可行性。該系統(tǒng)希望實(shí)現(xiàn)對(duì)特定地點(diǎn)溫度的測(cè)量,以及控制,據(jù)有很廣泛的可利用性以及擴(kuò)展性。綜合以上分析,在計(jì)算機(jī)廣泛應(yīng)用的今天,溫

5、度采集的重要性是十分顯著的。它是計(jì)算機(jī)與外部物理世界連接的橋梁。它在現(xiàn)代信息領(lǐng)域發(fā)揮著重要作用,是信息產(chǎn)品不可或缺的重要組成部分。因此選擇基于單片機(jī)溫度采集系統(tǒng)設(shè)計(jì)是很有意義也是很有必要的。第一章 溫度采集顯示系統(tǒng)的設(shè)計(jì)要求和設(shè)計(jì)方案1.1 系統(tǒng)設(shè)計(jì)任務(wù)1、了解ds18b20的工作原理,掌握其使用和編程方法。 2、理解ds18b20控制時(shí)序和控制方法流程。3、學(xué)會(huì)ds18b20與單片機(jī)的接口設(shè)計(jì)。4、掌握51單片機(jī)對(duì)ds18b20的軟硬件設(shè)計(jì)。1.2 功能要求1、數(shù)字溫度要求測(cè)溫范圍為-50110,精度誤差在0.1以內(nèi),lcd數(shù)字顯示器直接讀出顯示。2、 編程實(shí)現(xiàn)80c51與ds18b20之間

6、的通訊,連續(xù)讀出ds18b20中所測(cè)9位精度的溫度。3、 在仿真器中設(shè)斷點(diǎn)進(jìn)行觀察,觀察溫度變化時(shí)測(cè)量值的變化情況。1.3 方案論證和選定一、顯示方案的選擇1、用led數(shù)碼管進(jìn)行顯示: 顯示效果:由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大, 并且還與溫度有關(guān),為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。 安全性:即使是短時(shí)間的電流過載也可能對(duì)發(fā)光管造成永久性的損壞,采用恒流驅(qū)動(dòng)電路后可防止 由于電流故障所引起的數(shù)碼管的大面積損壞。2、用lcd數(shù)碼管進(jìn)行顯示: 顯示準(zhǔn)確、可靠:新型數(shù)碼顯示器性能穩(wěn)定,不會(huì)出現(xiàn)重碼等顯示錯(cuò)誤,顯

7、示數(shù)據(jù)準(zhǔn)確、可靠;節(jié)能、安全:新型數(shù)碼顯示器每平方米電流僅為100ma,驅(qū)動(dòng)電壓為20-85v。使用壽命長(zhǎng):新型數(shù)碼顯示器使用壽命可達(dá)8-10年以上。全天候使用:新型數(shù)碼顯示器抗紫外線能力強(qiáng)。由以上比較得:使用lcd數(shù)碼管顯示更為優(yōu)越,所以我選擇lcd作為溫度顯示器。二、程序方案的選擇1、用c語言進(jìn)行編程采用這類編程需要有較強(qiáng)的c語言能力,c51程序是用于單片機(jī)系統(tǒng)的,因此要考慮單片機(jī)的資源,例如儲(chǔ)存器空間和尋址方式等。c程序是針對(duì)具體應(yīng)用系統(tǒng)編寫的,所以軟件的編寫一定要在系統(tǒng)硬件的基礎(chǔ)上完成,也就是軟件編寫一定要考慮系統(tǒng)硬件環(huán)境。在編譯和鏈接時(shí),要根據(jù)需要合理選擇編譯控制指令和鏈接控制指令。

8、2、用匯編語言進(jìn)行編程:在運(yùn)用這類程序編寫時(shí),它把體現(xiàn)單片機(jī)各種功能的寄存器組織在統(tǒng)一的地址空間中。用直接尋址的方法實(shí)現(xiàn)單片機(jī)的各種操作,使指令顯得靈活、簡(jiǎn)潔、易理解。此外,mcs51指令中有一個(gè)位處理指令子集,這在設(shè)計(jì)需要進(jìn)行位操作的程序時(shí)十分方便有效。此外,mcs-51指令系統(tǒng)在其儲(chǔ)存空間、時(shí)間的利用率及工作效率方面都是較高的。習(xí)慣使用偽指令,記憶和理解一個(gè)變量名比記憶一個(gè)地址要容易的多。一些開發(fā)環(huán)境對(duì)編程有特殊要求。第二章 溫度采集系統(tǒng)外部器件的設(shè)計(jì)2.1 總體分析1、本數(shù)字溫度采集設(shè)計(jì)系統(tǒng)采用美國dallas半導(dǎo)體公司繼ds1820之后推出的一種改進(jìn)型智能溫度傳感器ds18b20作為檢

9、測(cè)元件,溫度范圍為-55125,最大分辨率在0.0625。ds18b20可以直接讀出溫度被測(cè)溫度值,而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。2、功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主控制器、測(cè)溫電路、顯示電路。主控制器:?jiǎn)纹瑱C(jī)at89c2051具有低電壓供電和小體積等特點(diǎn),兩個(gè)端口剛好滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用,系統(tǒng)可用二節(jié)電池供電。測(cè)溫電路:溫度傳感器使用ds18b20,ds18b20也 支持“一線總線”接口,測(cè)量溫度范圍為 -55c+125c,在-10+85c范圍內(nèi),精度為0.5c?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大

10、大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,與前一代產(chǎn)品不同,新的產(chǎn)品支持3v5.5v的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 顯示電路:顯示輸出采用lcd顯示器。由于通過控制是否透光來控制亮和暗,當(dāng)色彩不變時(shí),液晶也保持不變,這樣就無須考慮刷新率的問題。對(duì)于畫面穩(wěn)定、無閃爍感的液晶顯示器,刷新率不高但圖像也很穩(wěn)定。3、單片機(jī)由于其體積小,功耗低,價(jià)格低廉,且具有邏輯判斷,定時(shí)計(jì)數(shù),程序控制等多種功能而廣泛的應(yīng)用于溫度控制系統(tǒng)之中,是溫度采集系統(tǒng)的重要核心部分之一。2.2 8051單片機(jī)的性能及應(yīng)用1、單片機(jī)的發(fā)展1976年intel公司推出mcs48系列

11、8位單片機(jī),以體積小、功能全、價(jià)格低等自身的魅力,得到了廣泛的應(yīng)用,成為單片機(jī)發(fā)展過程中的一個(gè)重要標(biāo)志。 由于mcs48系統(tǒng)的成功應(yīng)用,單片機(jī)系列及單片機(jī)應(yīng)用技術(shù)迅速發(fā)展,到目前為止,世界各地商場(chǎng)以相機(jī)研制出大約50個(gè)系列300多個(gè)品種的單片機(jī)產(chǎn)品。代表產(chǎn)品有intel公司的mcs51系列機(jī),motorala公司的mc6801系列機(jī),zilog公司的z8系列機(jī)等等。 目前,單片機(jī)正朝著高性能和多品種發(fā)展,但由于mcs51系列8位單片機(jī)仍能滿足大多數(shù)應(yīng)用領(lǐng)域的需求,可以肯定,以mcs51系列為主的8位單片機(jī),現(xiàn)在及以后的相當(dāng)一段時(shí)間內(nèi)仍然將占據(jù)單片機(jī)應(yīng)用的主導(dǎo)地位。2、單片機(jī)的應(yīng)用特點(diǎn)1)具有較

12、高的性能價(jià)格比。高性能、低價(jià)格是單片機(jī)最顯著的一個(gè)特點(diǎn),其應(yīng)用系統(tǒng)具有印制板小,接插件少、安裝調(diào)試簡(jiǎn)單方便等特點(diǎn),使單片機(jī)應(yīng)用系統(tǒng)的性能價(jià)格比大大高于一般微機(jī)系統(tǒng)。2)體積小,可靠性高。由單片機(jī)組成的應(yīng)用系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,其體積特別小,極易對(duì)系統(tǒng)進(jìn)行屏蔽等抗干擾措施。另一方面,單片機(jī)對(duì)信息傳輸及對(duì)存儲(chǔ)器和i/o接口的訪問,一般情況下是在單片機(jī)內(nèi)部進(jìn)行的,因此,不易受外界的干擾。所以,單片機(jī)應(yīng)用系統(tǒng)的可靠性比一般微機(jī)系統(tǒng)高得多。3)控制功能強(qiáng)。單片機(jī)采用面向控制的指令系統(tǒng),實(shí)時(shí)控制功能特別強(qiáng)。在實(shí)時(shí)控制方面,尤其是位操作方面單片機(jī)有著不俗的表現(xiàn)。cpu可以直接對(duì)i/o口進(jìn)行輸入、輸出操作及邏輯運(yùn)算,

13、并且具有很強(qiáng)的位操作能力,能有針性地解決由簡(jiǎn)單到復(fù)雜的各類控制任務(wù)。在單片機(jī)內(nèi)儲(chǔ)存器rom和rom是嚴(yán)格分工的。rom用作程序儲(chǔ)存器,只放程序,常數(shù)和數(shù)據(jù)表格,由于配置較大的程序儲(chǔ)存空間rom,可以將以調(diào)好的程序固化在rom(也稱燒錄或者燒寫),這樣不僅掉電時(shí)程序不丟失,還避免程序被破壞,從而確保了程序的安全性。而ram用作數(shù)據(jù)存儲(chǔ)器,存放臨時(shí)數(shù)據(jù)和變量,這種方案使單片機(jī)更適用于實(shí)時(shí)控制系統(tǒng)。 4)使用方便,容易產(chǎn)品化。由于單片機(jī)具有體積小、功能強(qiáng)、性能價(jià)格比較高、系統(tǒng)擴(kuò)展方便、硬件設(shè)計(jì)簡(jiǎn)單等優(yōu)點(diǎn)。單片機(jī)的硬件功能具有廣泛的通用性。同一種單片機(jī)可以用在不同的控制系統(tǒng)中去,只是其中所配置的軟件不

14、同而已。換言之,給單片機(jī)固化上不同的軟件,便可形成不同的專用智能芯片,可稱為“件就是儀器”。 5)單片機(jī)開發(fā)工具具有很強(qiáng)的軟、硬件調(diào)試功能,使研制單片機(jī)應(yīng)用系統(tǒng)極為方便,加之現(xiàn)場(chǎng)環(huán)境的可靠性,因此使單片機(jī)能滿足許多小型對(duì)象的嵌入式應(yīng)用要求,可廣泛的應(yīng)用在儀器儀表、家用電器、智能玩具、控制系統(tǒng)等領(lǐng)域中。 3、單片機(jī)的應(yīng)用 單片機(jī)由于其體積小、功耗低、且具有邏輯判斷等功能,因而廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:1.在智能儀器儀表上的應(yīng)用單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀

15、表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。2.在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3.在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。

16、4.在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng)電話,集群移動(dòng)通信,無線電對(duì)講機(jī)等。5.單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。6.在各種大型電器中的模塊化應(yīng)用某些專用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音

17、樂集成單片機(jī),看似簡(jiǎn)單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計(jì)算機(jī)的原理。如:音樂信號(hào)以數(shù)字的形式存于存儲(chǔ)器中(類似于rom),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(hào)(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡(jiǎn)化了電路,降低了損壞、錯(cuò)誤率,也方便于更換。此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途由此可見,單片機(jī)從根本上改變了系統(tǒng)控制的設(shè)計(jì)思想和方法。過去必須由模擬電路、數(shù)字電路控制電路實(shí)現(xiàn)大部分功能,現(xiàn)在已能用單片機(jī)并通過軟件方法實(shí)現(xiàn)。由于軟件技術(shù)的飛速發(fā)展,各種軟件系列產(chǎn)品的大量涌現(xiàn),可以極大地簡(jiǎn)化硬件電路。隨

18、著單片機(jī)應(yīng)用的推廣普及,單片機(jī)技術(shù)無疑是21世紀(jì)最為活躍的新一代電子應(yīng)用技術(shù)。隨著微控技術(shù)的發(fā)展,單片機(jī)的應(yīng)用必將導(dǎo)致傳統(tǒng)控制技術(shù)發(fā)生巨大變革。4、單片機(jī)的芯片簡(jiǎn)介1)單片機(jī)引腳圖 圖2.0 單片機(jī)引腳圖40個(gè)引腳按引腳功能大致可分為4個(gè)種類:電源、時(shí)鐘、控制和i/o引腳。 電源: vcc - 芯片電源,接+5v; vss - 接地端;注:用萬用表測(cè)試單片機(jī)引腳電壓一般為0v或者5v,這是標(biāo)準(zhǔn)的ttl電平。但有時(shí)候在單片機(jī)程序正在工作時(shí)候測(cè)試結(jié)果并不是這個(gè)值而是介于0v-5v之間,其實(shí)這是萬用表的響應(yīng)速度沒這么快而已,在某一個(gè)瞬間單片機(jī)引腳電壓仍保持在0v或者5v。 時(shí)鐘:xtal1、xtal

19、2 - 晶體振蕩電路反相輸入端和輸出端。 控制線:控制線共有4根, ale/prog:地址鎖存允許/片內(nèi)eprom編程脈沖 ale功能:用來鎖存p0口送出的低8位地址 prog功能:片內(nèi)有eprom的芯片,在eprom編程期間,此引腳輸入編程脈沖。 psen:外rom讀選通信號(hào)。 rst/vpd:復(fù)位/備用電源。 rst(reset)功能:復(fù)位信號(hào)輸入端。 vpd功能:在vcc掉電情況下,接備用電源。 ea/vpp:內(nèi)外rom選擇/片內(nèi)eprom編程電源。 ea功能:內(nèi)外rom選擇端。 vpp功能:片內(nèi)有eprom的芯片,在eprom編程期間,施加編程電源vpp。 i/o線80c51共有4個(gè)8

20、位并行i/o端口:p0、p1、p2、p3口,共32個(gè)引腳。p3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)5單片機(jī)實(shí)物圖.主要功能及其特征:8位cpu(中央處理器)、內(nèi)置程序存儲(chǔ)器(rom)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram)和輸入輸出端口(i/o)全部集成在單一的芯片上而構(gòu)成了完整的微型計(jì)算機(jī)。1)8位cpu。2)雙列直插40pindip封裝。3)所有指令均為1-2個(gè)機(jī)器周期。4)96條指令,大部分為單字節(jié)指令。5)2個(gè)工作寄存器。6)2個(gè)可編程定時(shí)/計(jì)數(shù)器。7)8層堆棧。8)單一+5v電源供電。9)使用6mhz外接石英晶體管振蕩器,此時(shí)機(jī)器周期為2.5us。10)與先期開發(fā)的8

21、080和8085微處理器兼容。 6.單片機(jī)的結(jié)構(gòu)框圖如圖所示圖2.1 單片機(jī)的結(jié)構(gòu)框圖2.3 ds18b20芯片簡(jiǎn)介1、ds18b20是美國dallas半導(dǎo)體公司繼ds1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從ds18b20讀出的信息或?qū)懭雂s18b20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的ds18b20供電,而無需額外電源。因而使用ds18b20可使系統(tǒng)結(jié)構(gòu)

22、更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較ds1820有了很大的改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。 2、其主要特點(diǎn)如下。獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; 3、ds18b20的外形及管腳排列如圖所示 圖3.2 ds18b20的管腳排列ds18b20引腳定

23、義如下: 1)dq為數(shù)字信號(hào)輸入/輸出端; 2)gnd為電源地; 3)vdd為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。2.4 ds18b20原理及應(yīng)用1、ds1820測(cè)溫原理及內(nèi)部結(jié)構(gòu) 圖3.3 ds18b20內(nèi)部結(jié)構(gòu)框圖圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1,而高溫度系數(shù)晶振的振蕩頻率隨溫度變化明顯,它產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55c所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置值重新裝入,并再次對(duì)低溫度系數(shù)晶振產(chǎn)

24、生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)減到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖1中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。另外,由于ds18b20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖)發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。2、ds18b20有4個(gè)主要的數(shù)據(jù)部件: (1)光刻rom中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開始8位(28

25、h)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該ds18b20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個(gè)ds18b20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)ds18b20的目的。 (2)ds18b20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/lsb形式表達(dá),其中s為符號(hào)位。 圖3.4 ds18b20溫度值格式表這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18b20的兩個(gè)8比特的ram中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0

26、.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 例如+125的數(shù)字輸出為07d0h,+25.0625的數(shù)字輸出為0191h,-25.0625的數(shù)字輸出為ff6fh,-55的數(shù)字輸出為fc90h。 溫度值數(shù)字輸出(二進(jìn)制)數(shù)字輸出(16進(jìn)制)+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 0001019h+10.1250000 0000 1010 001000a2h+0.50000 0000 0000 10000008h

27、圖3.4 ds18b20溫度對(duì)照表3、ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存ram和一個(gè)非易失 性的可電擦除的eepram,后者存放高溫度和低溫度觸發(fā)器th、tl和結(jié)構(gòu)寄存器。高速暫存存儲(chǔ)器除了配置寄存器外,還有其他8個(gè)字節(jié)組成,其分配如下所示。其中溫度信息(第1,2字節(jié))、th和tl值第3,4字節(jié)、第68字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的crc碼,可用來保證通信正確。th用戶字節(jié)1th用戶字節(jié)2配置寄存器eeprom溫度lsd(50h)溫度lsd(05h)crc*保留位(ffh)保留位(10h)保留位(0ch)配置寄

28、存器th用戶字節(jié)2*th用戶字節(jié)1*高速暫存器(上電狀態(tài))byte1byte8byte0byte7byte6byte2byte5byte4byte3 圖3.5 ds18b20內(nèi)部?jī)?chǔ)存器結(jié)構(gòu)圖當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1,2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0062 5 /lsb形式表示。溫度值格式如下: 對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。 ds18b20完成溫度轉(zhuǎn)換后,就把測(cè)得

29、的溫度值與th,tl作比較,若tth或ttl,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時(shí)測(cè)量溫度并進(jìn)行告警搜索。 crc的產(chǎn)生 在64 b rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(crc)。主機(jī)根據(jù)rom的前56位來計(jì)算crc值,并和存入ds18b20中的crc值做比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。 64位激光(刻)只讀儲(chǔ)存器8位rcr48位序列號(hào)8位系列號(hào) 4、 配置寄存器 該字節(jié)各位的意義如下:tmr1r011111 表3.4 配置寄存器結(jié)構(gòu)低五位一直都是1,tm是測(cè)試模式位,用于設(shè)置ds18b20在工作模式還是在測(cè)試模式。

30、在ds18b20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。r1和r0用來設(shè)置分辨率,如下表所示:(ds18b20出廠時(shí)被設(shè)置為12位)r1r0分辨率最大溫度轉(zhuǎn)換時(shí)間/ms009位93.750110位187.51011位3751112位750 表3.5 溫度值分辨率設(shè)置表 由表3.5可見,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要在分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 5、ds18b20控制流程根據(jù)ds18b20的通訊協(xié)議,主機(jī)(單片機(jī))控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)ds18b20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,

31、這樣才能對(duì)ds18b20進(jìn)行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)ds18b20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主cpu收到此信號(hào)表示復(fù)位成功。后面還要具體講述復(fù)位、讀和寫的時(shí)序。rom指令表明了主機(jī)尋址一個(gè)或者多個(gè)ds18b20中的某個(gè)或某幾個(gè),或者讀取某個(gè)ds18b20的64位地址。ram指令用于主機(jī)對(duì)ds18b20內(nèi)部ram的操作。指令集如表5.1和表5.2所示。指令約定代碼功能溫度轉(zhuǎn)換44h啟動(dòng)ds18b20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)rom中。讀暫存器0beh讀內(nèi)部r

32、am9字節(jié)內(nèi)容寫暫存器4eh發(fā)出向內(nèi)部ram的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)數(shù)據(jù)。復(fù)制暫存器48h將ram的第3、4字節(jié)的內(nèi)容復(fù)制到eeprom中。重讀eeprom0b8h將eeprom中的內(nèi)容復(fù)制到ram中的第3、4字節(jié)。讀供電方式0b4h讀ds18b20的供電模式,寄生供電時(shí)ds18b20發(fā)送“0”,外接電源供電ds18b20發(fā)送“1”。 表5.1 ram指令表指令代碼操作說明溫度轉(zhuǎn)換44h開始啟動(dòng)ds18b20溫度轉(zhuǎn)換讀rom33h讀rom內(nèi)容匹配rom55h對(duì)指定器件操作跳過cch跳過器件識(shí)別讀暫存器beh讀暫存器內(nèi)容寫暫存器4eh將數(shù)據(jù)寫入暫存器的th

33、、tl字節(jié)復(fù)制暫存器48h把暫存器的th、tl字節(jié)寫到eram重寫調(diào)用eramb8h把eram中的th、tl字節(jié)寫到暫存器th、tl字節(jié) 表5.2 rom指令表備注: 1、對(duì)于寄生電源模式下的ds18b20,在溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到eeprom期間,必須給單總線一個(gè)強(qiáng)上拉。總線上在這段時(shí)間內(nèi)不能用其它活動(dòng)。 2、總線控制器在任何時(shí)刻都可以通過發(fā)出復(fù)位信號(hào)中止數(shù)據(jù)傳輸。 3、th、tl和配置寄存器這3個(gè)字節(jié)的寫入必須在復(fù)位信號(hào)發(fā)起之前。 對(duì)ds18b20的操作流程圖如圖5.2和5.3所示返回設(shè)循環(huán)次數(shù)為8延時(shí)100s 480s 480s寫1位數(shù)據(jù)總線置0并延時(shí)16s開始總線置1,延時(shí)60s8位寫完

34、?返回設(shè)循環(huán)次數(shù)為8延時(shí)480s 480s 480s寫1位數(shù)據(jù)總線置0并延時(shí)16s開始總線置1,延時(shí)16s8位寫完?開始總線置1并延時(shí)返回總線置1并延時(shí)480s總線置1 a)復(fù)位操作流程 b)寫操作流程 c)讀操作流程 5.3 指令操作流程圖上面兩階流程圖說明了任何操作ds18b20所應(yīng)遵循的流程。比如用戶進(jìn)行如下操作:先發(fā)送報(bào)警上下限值,并寫入eeprom,然后讓ds18b20做溫度轉(zhuǎn)換,最后讀取溫度值。6、ds18b20的應(yīng)用 ds18b20測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)。下面就是ds18b20不同應(yīng)用方式下的測(cè)溫電路圖: 圖5.4 測(cè)溫原理圖1)ds18

35、b20的主要特性 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電 獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通訊 ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫 ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 溫范圍55125,在-10+85時(shí)精度為0.5 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫 在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為

36、數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以一線總線串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。2)ds1820的基本操作指令ds1820的操作指令分為rom操作命令和存儲(chǔ)器操作命令。(1)、rom操作命令及其含義readrom指令代碼(33h):如果只有一片ds1820,可用此命令讀出其序列號(hào),若在線ds1820多于一個(gè),將發(fā)生沖突。matchrom指令代碼(55h):多個(gè)ds1820在線時(shí),可用此命令匹配一個(gè)給定序列號(hào)的ds1820,此后的命令就針

37、對(duì)該ds1820。skiprom指令代碼(cch):此命令執(zhí)行后的存儲(chǔ)器操作將針對(duì)在線的所有ds1820。searchrom指令代碼(f0h):用以讀出在線的ds1820的序列號(hào)。alarmsearch指令代碼(ech):當(dāng)溫度值高于th或低于tl中的數(shù)值時(shí),此命令可以讀出報(bào)警的ds1820。(2)、存儲(chǔ)器操作指令代碼及其含義writescratchpad指令代碼(4eh):寫兩個(gè)字節(jié)的數(shù)據(jù)到溫度寄存器。readscratchpad指令代碼(beh):讀取溫度寄存器的溫度值。copyscratchpad指令代碼(48h):將溫度寄存器的數(shù)值拷貝到eeram中,保證溫度值不丟失。convertt

38、指令代碼(44h):?jiǎn)?dòng)在線ds1280做溫度a/d轉(zhuǎn)換。recalle2指令代碼(b8h):將eeram中的數(shù)值拷貝到溫度寄存器中。readpowersupply指令代碼(b4h):在本命令送到ds1280之后的每一個(gè)讀數(shù)據(jù)間隙,指出電源模式:“0”為寄生電源;“1”為外部電源。3)溫度測(cè)量的步驟(1).readrom(33h),每次對(duì)ds1820進(jìn)行操作之前都要對(duì)它進(jìn)行初始化,主要目的在于確定傳感器已經(jīng)連接到單總線上。(2).searchrom(f0h),這條指令使處理器用排除的方法去辨別總線上的ds1820。(3).matchrom(55h),只有準(zhǔn)確的符合64位rom序列的ds1820

39、才能響應(yīng)其后的指令,當(dāng)然,單點(diǎn)測(cè)溫時(shí)可以使用skiprom(cch)指令來跳過這一步。(4).convertt(44h),發(fā)完指令后應(yīng)查詢總線上的電平,當(dāng)電平位高時(shí)溫度轉(zhuǎn)換完成。(5).readscratchpad(beh),將讀指令發(fā)出后,就可從總線上讀得表示溫度的2字節(jié)二進(jìn)制數(shù)。7、ds18b20寄生電源供電方式電路圖1、ds18b20寄生電源供電方式電路連接的幾種情況如下面圖4所示,在寄生電源供電方式下,ds18b20從單線信號(hào)線上汲取能量:在信號(hào)線dq處于高電平期間把能量?jī)?chǔ)存在內(nèi)部電容里,在信號(hào)線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 圖5.5 d

40、s18b20寄生電源供電方式獨(dú)特的寄生電源方式有三個(gè)好處:1)進(jìn)行遠(yuǎn)距離測(cè)溫時(shí),無需本地電源2)可以在沒有常規(guī)電源的條件下讀取rom3)電路更加簡(jiǎn)潔,僅用一根i/o口實(shí)現(xiàn)測(cè)溫上面的電路一般情況下都能滿足測(cè)溫要求,但是要想使ds18b20進(jìn)行精確的溫度轉(zhuǎn)換,i/o線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個(gè)ds18b20在溫度轉(zhuǎn)換期間工作電流達(dá)到1ma,當(dāng)幾個(gè)溫度傳感器掛在同一根i/o線上進(jìn)行多點(diǎn)測(cè)溫時(shí),只靠4.7k上拉電阻就無法提供足夠的能量,會(huì)造成無法轉(zhuǎn)換溫度或溫度誤差極大。為了使ds18b20在溫度轉(zhuǎn)換周期中獲得足夠的電源供應(yīng),可以有兩種方法解決這個(gè)問題,第一個(gè)就是在每個(gè)ds18b20

41、節(jié)點(diǎn)上都單獨(dú)為其供電,如圖3.6和3.7所示。但是這種辦法需要每個(gè)節(jié)點(diǎn)處都有單獨(dú)的電源,使得寄生電源的優(yōu)越蕩然無存,實(shí)際應(yīng)用中當(dāng)節(jié)點(diǎn)處沒有單獨(dú)電源時(shí)基本不采用。 如圖5.6 節(jié)點(diǎn)單獨(dú)供電的電路連接另一種方法是當(dāng)進(jìn)行溫度轉(zhuǎn)換或復(fù)制到e2儲(chǔ)存操作時(shí),用低導(dǎo)通電阻三極管或者mosfet把數(shù)據(jù)線直接拉到vcc就可提供足夠的電流,在發(fā)出任何涉及復(fù)制到e2儲(chǔ)存器或啟動(dòng)溫度的指令后,必須在最多3s內(nèi)把i/o線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點(diǎn)測(cè)溫應(yīng)用,缺點(diǎn)就是要多占用一根i/o口線進(jìn)行強(qiáng)上拉切換。這種使用低導(dǎo)通電阻三極管或者mosfet進(jìn)行強(qiáng)上拉的電阻在應(yīng)用非常廣泛

42、,其中電路如圖3.7所示。 如圖5.7 使用強(qiáng)上拉的電路連接 使用強(qiáng)上拉電阻實(shí)現(xiàn)的多點(diǎn)測(cè)量的應(yīng)用電路如圖5.8 所示。在外部電源供電方式下,ds18b20工作電源由vdd引腳接入,此時(shí)i/o線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)ds18b20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,ds18b20的gnd引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。 圖5.8 多點(diǎn)測(cè)量連接電路外部電源供電方式是ds18b20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。站長(zhǎng)推薦大家在開

43、發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根vcc引線。在外接電源方式下,可以充分發(fā)揮ds18b20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓vcc降到3v時(shí),依然能夠保證溫度量精度。 2、ds18b20的操作時(shí)序由于采用單總線數(shù)據(jù)傳輸方式,ds18b20的數(shù)據(jù)i/o均由同一條線完成,因此,對(duì)讀寫的操作時(shí)序要求嚴(yán)格。它的各種時(shí)序如圖2所示圖5.9 ds18b20的操作時(shí)序 為了保證ds18b20的嚴(yán)格i/o時(shí)序。需要做較精確的延時(shí)。在ds18b20操作中,用到的延時(shí)有15s,90s,270s,540s等。因這些延時(shí)均為15s的整倍,因此在程序中可以編寫一個(gè)以15s為基準(zhǔn)的延時(shí)函數(shù)。 2.5

44、ds18b20與單片機(jī)的典型接口設(shè)計(jì)下面以mcs51單片機(jī)為例,講述ds18b20與單片機(jī)的典型接口和程序設(shè)計(jì)。圖3是ds18b20采用寄生電源供電方式與51單片機(jī)的電路連接。令ds18b20定期進(jìn)行溫度轉(zhuǎn)換,并把此溫度轉(zhuǎn)換數(shù)據(jù)定期發(fā)送給pc機(jī)進(jìn)行處理。 圖6.0 ds18b20與單片機(jī)的接口設(shè)置 圖5.5中單總線加入了4.7k的上拉電阻對(duì)總線進(jìn)行上拉。另外因?yàn)楫?dāng)ds18b20處于寫存儲(chǔ)操作和溫度a/d變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為3s.所以保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流,圖中采用了一個(gè)pnp型三極管和mcs51的p1.0口來完成對(duì)總線的上拉。平時(shí)狀態(tài)

45、下p1.0輸出為高,三極管關(guān)閉;當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度a/d變換操作之前,p1.0口輸出為低,三極管打開,此時(shí)即對(duì)總線進(jìn)行了強(qiáng)上拉,操作之后在使p1.0口輸出為高,三極管再次關(guān)閉。 前面已經(jīng)講過,主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:初始化、rom操作指令、存儲(chǔ)器操作指令。假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12mhz,根據(jù)ds18b20的初始化時(shí)序、寫時(shí)序和讀時(shí)序,分別編寫了3個(gè)子程序:init為初始化子程序,write為寫(命令或數(shù)據(jù))子程序,read為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始子程序getwd讀取的溫度值高位字節(jié)送wdmsb單元,低位字節(jié)送wdls

46、b單元,再按照溫度值字節(jié)的表示格式及其符號(hào)位,經(jīng)過簡(jiǎn)單的變換即可得到實(shí)際溫度值2.6 ds18b20使用中注意事項(xiàng)ds1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題: 1) 較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于ds1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)ds1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測(cè)溫結(jié)果。在使用pl/m、c等高級(jí)語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)ds1820操作部分最好采用匯編語言實(shí)現(xiàn)。 2) 在ds1820的有關(guān)資料中均未提及單總線上所掛ds1820數(shù)量問題,容易使人誤認(rèn)為可以掛任

47、意多個(gè)ds1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛ds1820超過8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 3) 連接ds1820的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻摹R虼?,在用ds1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問題。 4) 在ds1820測(cè)溫程序設(shè)計(jì)中,向ds1820

48、發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds1820的返回信號(hào),一旦某個(gè)ds1820接觸不好或斷線,當(dāng)程序讀該ds1820時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行ds1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。 測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接vcc和地線,屏蔽層在源端單點(diǎn)接地。第三章 硬件設(shè)計(jì)3.1 硬件電路設(shè)計(jì)的功能簡(jiǎn)介 本溫度控制系統(tǒng)圍繞ds18b20為核心,主要實(shí)現(xiàn)的功能是:利用ds18b20采集環(huán)境溫度并在七段數(shù)碼管上顯示出來,同時(shí)將溫度信息反饋到pc3以便作進(jìn)一步分析操作。當(dāng)環(huán)境溫度高于報(bào)警上限或低于報(bào)警下限時(shí),分別點(diǎn)亮高低溫報(bào)警燈,溫度回復(fù)到上下限之間時(shí),熄滅報(bào)警燈。系統(tǒng)中有5個(gè)按鍵,其要實(shí)現(xiàn)的功能如表3.8所示。按鍵功能功能鍵顯示溫度值、報(bào)警上限、報(bào)警下限三態(tài)循環(huán)遞增鍵當(dāng)顯示報(bào)警上下限時(shí),按此鍵則顯示的報(bào)警上限或下限增1。遞減鍵當(dāng)顯示報(bào)警上下限時(shí),按此鍵則顯示的上下限減1.儲(chǔ)存鍵當(dāng)顯示報(bào)警上下限時(shí),按完遞增或遞減鍵后按此鍵可將新設(shè)定的報(bào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論