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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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è)量部分采用具有“一線(xiàn)總線(xiàn)”接口的數(shù)字傳感器DS18B20,實(shí)現(xiàn)單線(xiàn)多點(diǎn)數(shù)據(jù)的采集。件大?。?48K QQ聯(lián)系:畢業(yè)論關(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 總體分析

2、62.2 8051單片機(jī)的性能及應(yīng)用72.3 DS18B20芯片簡(jiǎn)介132.4 DS18B20原理及應(yīng)用142.5DS18B20與單片機(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. 增加鍵盤(pán)使可隨時(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ì)比、介紹了單線(xiàn)數(shù)字

4、溫度傳感器的基本內(nèi)部結(jié)構(gòu)及主要性能特點(diǎn)。單片機(jī)是可以對(duì)端口進(jìn)行控制、輸入輸出數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理的器件。MCS-51單片機(jī)是美國(guó)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í)過(guò)程中實(shí)驗(yàn)使用相同。利用此類(lèi)單片機(jī),選擇合適傳感器進(jìn)行數(shù)據(jù)交換、數(shù)據(jù)處理、根據(jù)處理結(jié)果控制外圍設(shè)備,從硬件設(shè)計(jì)到軟件實(shí)現(xiàn),此類(lèi)系統(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以?xún)?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í)間的電流過(guò)載也可能對(duì)發(fā)光管造成永久性的損壞,采用恒流驅(qū)動(dòng)電路后可防止 由于電流故障所引起的數(shù)碼管的大面積損壞。2、用LCD數(shù)碼管進(jìn)行顯示:顯示準(zhǔn)確、可靠:新型數(shù)碼顯示器性能穩(wěn)定,不會(huì)出現(xiàn)重碼等顯示錯(cuò)誤,顯示數(shù)據(jù)準(zhǔn)確、可靠

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

8、行編程:在運(yùn)用這類(lèi)程序編寫(xiě)時(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è)地址要容易的多。一些開(kāi)發(fā)環(huán)境對(duì)編程有特殊要求。第二章 溫度采集系統(tǒng)外部器件的設(shè)計(jì)2.1總體分析1、本數(shù)字溫度采集設(shè)計(jì)系統(tǒng)采用美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測(cè)元件,溫度范圍為

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

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

11、976年Intel公司推出MCS48系列8位單片機(jī),以體積小、功能全、價(jià)格低等自身的魅力,得到了廣泛的應(yīng)用,成為單片機(jī)發(fā)展過(guò)程中的一個(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ī)仍能滿(mǎn)足大多數(shù)應(yīng)用領(lǐng)域的需求,可以肯定,以MCS51系列為主的8位單片機(jī),現(xiàn)在及以后的相當(dāng)一段時(shí)間內(nèi)仍然將占據(jù)單片機(jī)應(yīng)用的

12、主導(dǎo)地位。2、單片機(jī)的應(yīng)用特點(diǎn)1)具有較高的性能價(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接口的訪(fǎng)問(wèn),一般情況下是在單片機(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可以直接

13、對(duì)I/O口進(jìn)行輸入、輸出操作及邏輯運(yùn)算,并且具有很強(qiáng)的位操作能力,能有針性地解決由簡(jiǎn)單到復(fù)雜的各類(lèi)控制任務(wù)。在單片機(jī)內(nèi)儲(chǔ)存器ROM和ROM是嚴(yán)格分工的。ROM用作程序儲(chǔ)存器,只放程序,常數(shù)和數(shù)據(jù)表格,由于配置較大的程序儲(chǔ)存空間ROM,可以將以調(diào)好的程序固化在ROM(也稱(chēng)燒錄或者燒寫(xiě)),這樣不僅掉電時(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ī)可以用在不

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

15、化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類(lèi)型的傳感器,可實(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)。例如工廠流水線(xiàn)的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3.在家用電器中的應(yīng)用可以這樣說(shuō),現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再

16、到電子秤量設(shè)備,五花八門(mén),無(wú)所不在。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ī),電話(huà)機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車(chē)無(wú)線(xiàn)通信、再到日常工作中隨處可見(jiàn)的移動(dòng)電話(huà),集群移動(dòng)通信,無(wú)線(xiàn)電對(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)用某些專(zhuān)用單片機(jī)設(shè)計(jì)用于實(shí)現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,

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

18、大量涌現(xiàn),可以極大地簡(jiǎn)化硬件電路。隨著單片機(jī)應(yīng)用的推廣普及,單片機(jī)技術(shù)無(wú)疑是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è)種類(lèi):電源、時(shí)鐘、控制和I/O引腳。 電源: VCC - 芯片電源,接+5V; VSS - 接地端;注:用萬(wàn)用表測(cè)試單片機(jī)引腳電壓一般為0v或者5v,這是標(biāo)準(zhǔn)的TTL電平。但有時(shí)候在單片機(jī)程序正在工作時(shí)候測(cè)試結(jié)果并不是這個(gè)值而是介于0v-5v之間,其實(shí)這是萬(wàn)用表的響應(yīng)速度沒(méi)這么快而已,在某一個(gè)瞬間單片機(jī)引腳電壓仍保持在0v或

19、者5v。 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 控制線(xiàn):控制線(xiàn)共有4根, ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖 ALE功能:用來(lái)鎖存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編程期間,施加編程電源V

20、pp。 I/O線(xiàn)80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線(xiàn))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ī)器周

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

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

23、管腳排列DS18B20引腳定義如下: 1)DQ為數(shù)字信號(hào)輸入/輸出端; 2)GND為電源地; 3)VDD為外接供電電源輸入端(在寄生電源接線(xiàn)方式時(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ù)置在-55°C所對(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 ,

24、計(jì)數(shù)器1的預(yù)置值重新裝入,并再次對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)減到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖1中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線(xiàn)性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。另外,由于DS18B20單線(xiàn)通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(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的地

25、址序列碼。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類(lèi)型標(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)一根總線(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è)

26、得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.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

27、0000 1010001000A2H+0.50000 0000 0000 10000008H圖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碼,可用來(lái)保證通信正確。TH用戶(hù)字節(jié)1TH用戶(hù)字節(jié)2配置寄存器EEPROM溫度LSD(

28、50h)溫度LSD(05h)CRC*保留位(FFh)保留位(10h)保留位(0Ch)配置寄存器TH用戶(hù)字節(jié)2*TH用戶(hù)字節(jié)1*高速暫存器(上電狀態(tài))Byte1Byte8Byte0Byte7Byte6Byte2Byte5Byte4Byte3圖3.5 DS18B20內(nèi)部?jī)?chǔ)存器結(jié)構(gòu)圖當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1,2字節(jié)。單片機(jī)可通過(guò)單線(xiàn)接口讀到該數(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)制;

29、當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。 DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與TH,TL作比較,若T>TH或T<TL,則將該器件內(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位來(lái)計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。64位激光(刻)只讀儲(chǔ)存器8位RCR48位序列號(hào)8位系列號(hào)4、 配置寄存器 該字節(jié)各位的意義如下:TMR1R011111表3.4 配

30、置寄存器結(jié)構(gòu)低五位一直都是"1",TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶(hù)不要去改動(dòng)。R1和R0用來(lái)設(shè)置分辨率,如下表所示:(DS18B20出廠時(shí)被設(shè)置為12位)R1R0分辨率最大溫度轉(zhuǎn)換時(shí)間/ms009位93.750110位187.51011位3751112位750表3.5 溫度值分辨率設(shè)置表由表3.5可見(jiàn),設(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)換

31、必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線(xiàn)下拉500微秒,然后釋放,當(dāng)DS18B20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。后面還要具體講述復(fù)位、讀和寫(xiě)的時(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)行

32、溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)ROM中。讀暫存器0BEH讀內(nèi)部RAM9字節(jié)內(nèi)容寫(xiě)暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫(xiě)上、下限溫度數(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指令表指令代碼操作說(shuō)明溫度轉(zhuǎn)換44H開(kāi)始啟動(dòng)DS18B20溫度轉(zhuǎn)換讀ROM33H讀ROM內(nèi)容

33、匹配ROM55H對(duì)指定器件操作跳過(guò)CCH跳過(guò)器件識(shí)別讀暫存器BEH讀暫存器內(nèi)容寫(xiě)暫存器4EH將數(shù)據(jù)寫(xiě)入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫(xiě)到ERAM重寫(xiě)調(diào)用ERAMB8H把ERAM中的TH、TL字節(jié)寫(xiě)到暫存器TH、TL字節(jié)表5.2ROM指令表備注: 1、對(duì)于寄生電源模式下的DS18B20,在溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到EEPROM期間,必須給單總線(xiàn)一個(gè)強(qiáng)上拉??偩€(xiàn)上在這段時(shí)間內(nèi)不能用其它活動(dòng)。 2、總線(xiàn)控制器在任何時(shí)刻都可以通過(guò)發(fā)出復(fù)位信號(hào)中止數(shù)據(jù)傳輸。 3、TH、TL和配置寄存器這3個(gè)字節(jié)的寫(xiě)入必須在復(fù)位信號(hào)發(fā)起之前。對(duì)DS18B20的操作流程圖如圖5.2和5.3所示返回

34、設(shè)循環(huán)次數(shù)為8延時(shí)100S 480S 480S寫(xiě)1位數(shù)據(jù)總線(xiàn)置0并延時(shí)16S開(kāi)始總線(xiàn)置1,延時(shí)60S8位寫(xiě)完?返回設(shè)循環(huán)次數(shù)為8延時(shí)480S 480S 480S寫(xiě)1位數(shù)據(jù)總線(xiàn)置0并延時(shí)16S開(kāi)始總線(xiàn)置1,延時(shí)16S8位寫(xiě)完?開(kāi)始總線(xiàn)置1并延時(shí)返回總線(xiàn)置1并延時(shí)480S總線(xiàn)置1 a)復(fù)位操作流程 b)寫(xiě)操作流程 c)讀操作流程5.3 指令操作流程圖上面兩階流程圖說(shuō)明了任何操作DS18B20所應(yīng)遵循的流程。比如用戶(hù)進(jìn)行如下操作:先發(fā)送報(bào)警上下限值,并寫(xiě)入EEPROM,然后讓DS18B20做溫度轉(zhuǎn)換,最后讀取溫度值。6、DS18B20的應(yīng)用DS18B20測(cè)溫系統(tǒng)具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便

35、、占用口線(xiàn)少等優(yōu)點(diǎn)。下面就是DS18B20不同應(yīng)用方式下的測(cè)溫電路圖:圖5.4 測(cè)溫原理圖1)DS18B20的主要特性適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線(xiàn)供電獨(dú)特的單線(xiàn)接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線(xià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、

36、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線(xiàn)總線(xiàn)"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。2)DS1820的基本操作指令     DS1820的操作指令分為ROM操作命令和存儲(chǔ)器操作命令。     (1)、ROM操作命令及其含義&

37、#160;    Read ROM指令代碼(33h):如果只有一片DS1820,可用此命令讀出其序列號(hào),若在線(xiàn)DS1820多于一個(gè),將發(fā)生沖突。     Match ROM指令代碼(55h):多個(gè)DS1820在線(xiàn)時(shí),可用此命令匹配一個(gè)給定序列號(hào)的DS1820,此后的命令就針對(duì)該DS1820。     Skip ROM指令代碼(CCh):此命令執(zhí)行后的存儲(chǔ)器操作將針對(duì)在線(xiàn)的所有DS1820。   &

38、#160; Search ROM指令代碼(F0h):用以讀出在線(xiàn)的DS1820的序列號(hào)。     Alarm Search指令代碼(ECh):當(dāng)溫度值高于TH或低于TL中的數(shù)值時(shí),此命令可以讀出報(bào)警的DS1820。     (2)、存儲(chǔ)器操作指令代碼及其含義     Write Scratchpad指令代碼(4Eh):寫(xiě)兩個(gè)字節(jié)的數(shù)據(jù)到溫度寄存器。     

39、Read Scratchpad指令代碼(BEh):讀取溫度寄存器的溫度值。     Copy Scratchpad指令代碼(48h):將溫度寄存器的數(shù)值拷貝到EERAM中,保證溫度值不丟失。     Convert T指令代碼(44h):?jiǎn)?dòng)在線(xiàn)DS1280做溫度A/D轉(zhuǎn)換。     Recall E2指令代碼(B8h):將EERAM中的數(shù)值拷貝到溫度寄存器中。    

40、; Read Power Supply指令代碼(B4h):在本命令送到DS1280之后的每一個(gè)讀數(shù)據(jù)間隙,指出電源模式:“0”為寄生電源;“1”為外部電源。 3)溫度測(cè)量的步驟     (1). Read ROM(33 h),每次對(duì)DS1820進(jìn)行操作之前都要對(duì)它進(jìn)行初始化,主要目的在于確定傳感器已經(jīng)連接到單總線(xiàn)上。     (2). Search ROM(F0h),這條指令使處理器用排除的方法去辨別總線(xiàn)上

41、的DS1820。     (3). Match ROM(55h),只有準(zhǔn)確的符合64位ROM序列的DS1820才能響應(yīng)其后的指令,當(dāng)然,單點(diǎn)測(cè)溫時(shí)可以使用Skip ROM(CCh)指令來(lái)跳過(guò)這一步。     (4). Convert T(44h),發(fā)完指令后應(yīng)查詢(xún)總線(xiàn)上的電平,當(dāng)電平位高時(shí)溫度轉(zhuǎn)換完成。 (5). Read Scratchpad(BEh),將讀指令發(fā)出后,就可從總線(xiàn)上讀得表示溫度的2字節(jié)二進(jìn)制數(shù)。7、

42、DS18B20寄生電源供電方式電路圖1、DS18B20寄生電源供電方式電路連接的幾種情況如下面圖4所示,在寄生電源供電方式下,DS18B20從單線(xiàn)信號(hào)線(xiàn)上汲取能量:在信號(hào)線(xiàn)DQ處于高電平期間把能量?jī)?chǔ)存在內(nèi)部電容里,在信號(hào)線(xiàn)處于低電平期間消耗電容上的電能工作,直到高電平到來(lái)再給寄生電源(電容)充電。圖5.5 DS18B20寄生電源供電方式獨(dú)特的寄生電源方式有三個(gè)好處:1)進(jìn)行遠(yuǎn)距離測(cè)溫時(shí),無(wú)需本地電源2)可以在沒(méi)有常規(guī)電源的條件下讀取ROM3)電路更加簡(jiǎn)潔,僅用一根I/O口實(shí)現(xiàn)測(cè)溫上面的電路一般情況下都能滿(mǎn)足測(cè)溫要求,但是要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線(xiàn)必須保證在溫度轉(zhuǎn)換期間提供

43、足夠的能量,由于每個(gè)DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個(gè)溫度傳感器掛在同一根I/O線(xiàn)上進(jìn)行多點(diǎn)測(cè)溫時(shí),只靠4.7K上拉電阻就無(wú)法提供足夠的能量,會(huì)造成無(wú)法轉(zhuǎn)換溫度或溫度誤差極大。為了使DS18B20在溫度轉(zhuǎn)換周期中獲得足夠的電源供應(yīng),可以有兩種方法解決這個(gè)問(wèn)題,第一個(gè)就是在每個(gè)DS18B20節(jié)點(diǎn)上都單獨(dú)為其供電,如圖3.6和3.7所示。但是這種辦法需要每個(gè)節(jié)點(diǎn)處都有單獨(dú)的電源,使得寄生電源的優(yōu)越蕩然無(wú)存,實(shí)際應(yīng)用中當(dāng)節(jié)點(diǎn)處沒(méi)有單獨(dú)電源時(shí)基本不采用。 如圖5.6 節(jié)點(diǎn)單獨(dú)供電的電路連接另一種方法是當(dāng)進(jìn)行溫度轉(zhuǎn)換或復(fù)制到E2儲(chǔ)存操作時(shí),用低導(dǎo)通電阻三極管或者M(jìn)OSFET把數(shù)據(jù)線(xiàn)直

44、接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及復(fù)制到E2儲(chǔ)存器或啟動(dòng)溫度的指令后,必須在最多3S內(nèi)把I/O線(xiàn)轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問(wèn)題,因此也適合于多點(diǎn)測(cè)溫應(yīng)用,缺點(diǎn)就是要多占用一根I/O口線(xiàn)進(jìn)行強(qiáng)上拉切換。這種使用低導(dǎo)通電阻三極管或者M(jìn)OSFET進(jìn)行強(qiáng)上拉的電阻在應(yīng)用非常廣泛,其中電路如圖3.7所示。如圖5.7 使用強(qiáng)上拉的電路連接使用強(qiáng)上拉電阻實(shí)現(xiàn)的多點(diǎn)測(cè)量的應(yīng)用電路如圖5.8 所示。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線(xiàn)不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證轉(zhuǎn)換精度,同時(shí)在總線(xiàn)上理論可以?huà)旖尤我舛鄠€(gè)DS18B2

45、0傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。    圖5.8 多點(diǎn)測(cè)量連接電路外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開(kāi)發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。站長(zhǎng)推薦大家在開(kāi)發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線(xiàn)。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時(shí),依然能夠保證溫度量精度。2、DS18B20的操作時(shí)序由于采用單總線(xiàn)數(shù)據(jù)傳輸方式,DS1

46、8B20的數(shù)據(jù)I/O均由同一條線(xiàn)完成,因此,對(duì)讀寫(xiě)的操作時(shí)序要求嚴(yán)格。它的各種時(shí)序如圖2所示圖5.9 DS18B20的操作時(shí)序?yàn)榱吮WCDS18B20的嚴(yán)格I/O時(shí)序。需要做較精確的延時(shí)。在DS18B20操作中,用到的延時(shí)有15S,90S,270S,540S等。因這些延時(shí)均為15S的整倍,因此在程序中可以編寫(xiě)一個(gè)以15S為基準(zhǔn)的延時(shí)函數(shù)。2.5DS18B20與單片機(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)行處理。圖

47、6.0 DS18B20與單片機(jī)的接口設(shè)置圖5.5中單總線(xiàn)加入了4.7k的上拉電阻對(duì)總線(xiàn)進(jìn)行上拉。另外因?yàn)楫?dāng)DS18B20處于寫(xiě)存儲(chǔ)操作和溫度A/D變換操作時(shí),總線(xiàn)上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為3s.所以保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,圖中采用了一個(gè)PNP型三極管和MCS51的P1.0口來(lái)完成對(duì)總線(xiàn)的上拉。平時(shí)狀態(tài)下P1.0輸出為高,三極管關(guān)閉;當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D變換操作之前,P1.0口輸出為低,三極管打開(kāi),此時(shí)即對(duì)總線(xiàn)進(jìn)行了強(qiáng)上拉,操作之后在使P1.0口輸出為高,三極管再次關(guān)閉。 前面已經(jīng)講過(guò),主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步

48、驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,分別編寫(xiě)了3個(gè)子程序:INIT為初始化子程序,WRITE為寫(xiě)(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫(xiě)均由最低位開(kāi)始子程序GETWD讀取的溫度值高位字節(jié)送WDMSB單元,低位字節(jié)送WDLSB單元,再按照溫度值字節(jié)的表示格式及其符號(hào)位,經(jīng)過(guò)簡(jiǎn)單的變換即可得到實(shí)際溫度值2.6 DS18B20使用中注意事項(xiàng)DS1820雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線(xiàn)少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題: 1) 較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)

49、雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。 2) 在DS1820的有關(guān)資料中均未提及單總線(xiàn)上所掛DS1820數(shù)量問(wèn)題,容易使人誤認(rèn)為可以?huà)烊我舛鄠€(gè)DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線(xiàn)上所掛DS1820超過(guò)8個(gè)時(shí),就需要解決微處理器的總線(xiàn)驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 3) 連接DS1820的總線(xiàn)電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的

50、測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線(xiàn)電纜改為雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線(xiàn)分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線(xiàn)分布電容和阻抗匹配問(wèn)題。 4) 在DS1820測(cè)溫程序設(shè)計(jì)中,向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號(hào),一旦某個(gè)DS1820接觸不好或斷線(xiàn),當(dāng)程序讀該DS1820時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。 測(cè)溫電纜線(xiàn)建議采用屏蔽4芯雙絞線(xiàn),其中一對(duì)線(xiàn)

51、接地線(xiàn)與信號(hào)線(xiàn),另一組接VCC和地線(xiàn),屏蔽層在源端單點(diǎn)接地。第三章 硬件設(shè)計(jì)3.1 硬件電路設(shè)計(jì)的功能簡(jiǎn)介本溫度控制系統(tǒng)圍繞DS18B20為核心,主要實(shí)現(xiàn)的功能是:利用DS18B20采集環(huán)境溫度并在七段數(shù)碼管上顯示出來(lái),同時(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)警限保存恢復(fù)鍵當(dāng)顯示報(bào)警上下限時(shí),按此鍵則把保存的報(bào)警上下限作為當(dāng)前報(bào)警限值。表3.8 本設(shè)計(jì)實(shí)現(xiàn)的功能根據(jù)系統(tǒng)的控制要求,選擇Intel公司的80C51單片機(jī),他包括數(shù)字溫度傳感器的數(shù)據(jù)采集、數(shù)據(jù)處理、晶振復(fù)位和溫度顯示電路。 圖7.0 硬件實(shí)物圖3.2 硬件設(shè)計(jì)部分的組成根據(jù)系統(tǒng)功能要求開(kāi)始設(shè)計(jì)硬件連接。其硬件設(shè)計(jì)可以分為以下幾個(gè)部分。 1)DS18B20與MCS51單片機(jī)接口的設(shè)計(jì):DS18B20與MCS51的接口可以跟前面討論的一致用I/O線(xiàn)來(lái)與DS18B20的數(shù)據(jù)線(xiàn)連接作為單總線(xiàn)。而用一個(gè)PNP型的三極管來(lái)作為

溫馨提示

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

評(píng)論

0/150

提交評(píng)論