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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、DCS1820溫度采集系統(tǒng)的設計摘 要DS18B20的溫度采集系統(tǒng)利用下位機設置溫度上下限和實時溫度的采集,并將結果傳輸到上位機,以達到對溫度的比較、控制。本設計用MCS-51單片機為主要硬件,設計了包括溫度采集,溫度顯示,系統(tǒng)控制,串口通信等外圍電路。在溫度測量部分采用具有“一線總線”接口的數字傳感器DS18B20,實現單線多點數據的采集。件大小:848K QQ聯(lián)系:畢業(yè)論關鍵詞:DS1820溫度傳感器 單片機 通信接口目 錄摘要1前言3第一章溫度采集顯示系統(tǒng)的設計要求和設計方案41.1系統(tǒng)設計任務41.2 功能要求41.3 方案論證和選定4第二章溫度采集系統(tǒng)外部器件的設計62.1 總體分析

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

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

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

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

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

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

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

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

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

11、976年Intel公司推出MCS48系列8位單片機,以體積小、功能全、價格低等自身的魅力,得到了廣泛的應用,成為單片機發(fā)展過程中的一個重要標志。 由于MCS48系統(tǒng)的成功應用,單片機系列及單片機應用技術迅速發(fā)展,到目前為止,世界各地商場以相機研制出大約50個系列300多個品種的單片機產品。代表產品有Intel公司的MCS51系列機,Motorala公司的MC6801系列機,Zilog公司的Z8系列機等等。 目前,單片機正朝著高性能和多品種發(fā)展,但由于MCS51系列8位單片機仍能滿足大多數應用領域的需求,可以肯定,以MCS51系列為主的8位單片機,現在及以后的相當一段時間內仍然將占據單片機應用的

12、主導地位。2、單片機的應用特點1)具有較高的性能價格比。高性能、低價格是單片機最顯著的一個特點,其應用系統(tǒng)具有印制板小,接插件少、安裝調試簡單方便等特點,使單片機應用系統(tǒng)的性能價格比大大高于一般微機系統(tǒng)。2)體積小,可靠性高。由單片機組成的應用系統(tǒng)結構簡單,其體積特別小,極易對系統(tǒng)進行屏蔽等抗干擾措施。另一方面,單片機對信息傳輸及對存儲器和I/O接口的訪問,一般情況下是在單片機內部進行的,因此,不易受外界的干擾。所以,單片機應用系統(tǒng)的可靠性比一般微機系統(tǒng)高得多。3)控制功能強。單片機采用面向控制的指令系統(tǒng),實時控制功能特別強。在實時控制方面,尤其是位操作方面單片機有著不俗的表現。CPU可以直接

13、對I/O口進行輸入、輸出操作及邏輯運算,并且具有很強的位操作能力,能有針性地解決由簡單到復雜的各類控制任務。在單片機內儲存器ROM和ROM是嚴格分工的。ROM用作程序儲存器,只放程序,常數和數據表格,由于配置較大的程序儲存空間ROM,可以將以調好的程序固化在ROM(也稱燒錄或者燒寫),這樣不僅掉電時程序不丟失,還避免程序被破壞,從而確保了程序的安全性。而RAM用作數據存儲器,存放臨時數據和變量,這種方案使單片機更適用于實時控制系統(tǒng)。 4)使用方便,容易產品化。由于單片機具有體積小、功能強、性能價格比較高、系統(tǒng)擴展方便、硬件設計簡單等優(yōu)點。單片機的硬件功能具有廣泛的通用性。同一種單片機可以用在不

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

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

16、到電子秤量設備,五花八門,無所不在。4.在計算機網絡和通信領域中的應用現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。5.單片機在醫(yī)用設備領域中的應用單片機在醫(yī)用設備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設備及病床呼叫系統(tǒng)等等。6.在各種大型電器中的模塊化應用某些專用單片機設計用于實現特定功能,從而在各種電路中進行模塊化應用,

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

18、大量涌現,可以極大地簡化硬件電路。隨著單片機應用的推廣普及,單片機技術無疑是21世紀最為活躍的新一代電子應用技術。隨著微控技術的發(fā)展,單片機的應用必將導致傳統(tǒng)控制技術發(fā)生巨大變革。4、單片機的芯片簡介1)單片機引腳圖 圖2.0 單片機引腳圖40個引腳按引腳功能大致可分為4個種類:電源、時鐘、控制和I/O引腳。 電源: VCC - 芯片電源,接+5V; VSS - 接地端;注:用萬用表測試單片機引腳電壓一般為0v或者5v,這是標準的TTL電平。但有時候在單片機程序正在工作時候測試結果并不是這個值而是介于0v-5v之間,其實這是萬用表的響應速度沒這么快而已,在某一個瞬間單片機引腳電壓仍保持在0v或

19、者5v。 時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 控制線:控制線共有4根, ALE/PROG:地址鎖存允許/片內EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 PSEN:外ROM讀選通信號。 RST/VPD:復位/備用電源。 RST(Reset)功能:復位信號輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。 EA/Vpp:內外ROM選擇/片內EPROM編程電源。 EA功能:內外ROM選擇端。 Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源V

20、pp。 I/O線80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)5單片機實物圖.主要功能及其特征:8位CPU(中央處理器)、內置程序存儲器(ROM)、隨機存取數據存儲器(RAM)和輸入輸出端口(I/O)全部集成在單一的芯片上而構成了完整的微型計算機。1)8位CPU。2)雙列直插40PinDIP封裝。3)所有指令均為1-2個機器周期。4)96條指令,大部分為單字節(jié)指令。5)2個工作寄存器。6)2個可編程定時/計數器。7)8層堆棧。8)單一+5V電源供電。9)使用6MHz外接石英晶體管振蕩器,此時機器周

21、期為2.5us。10)與先期開發(fā)的8080和8085微處理器兼容。6.單片機的結構框圖如圖所示圖2.1 單片機的結構框圖2.3DS18B20芯片簡介1、DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測溫度并且可根據實際要求通過簡單的編程實現912位的數字值讀數方式。可以分別在93.75 ms和750 ms內完成9位和12位的數字量,并且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數據總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因

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

23、管腳排列DS18B20引腳定義如下: 1)DQ為數字信號輸入/輸出端; 2)GND為電源地; 3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。2.4 DS18B20原理及應用1、DS1820測溫原理及內部結構圖3.3 DS18B20內部結構框圖圖中低溫度系數晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數器1,而高溫度系數晶振的振蕩頻率隨溫度變化明顯,它產生的信號作為計數器2的脈沖輸入。計數器1和溫度寄存器被預置在-55°C所對應的一個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0時,溫度寄存器的值將加1 ,

24、計數器1的預置值重新裝入,并再次對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到計數器2計數減到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。圖1中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數器1的預置值。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數據。2、DS18B20有4個主要的數據部件: (1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地

25、址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。 (2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625/LSB形式表達,其中S為符號位。 圖3.4 DS18B20溫度值格式表這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測

26、得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。     例如+125的數字輸出為07D0H,+25.0625的數字輸出為0191H,-25.0625的數字輸出為FF6FH,-55的數字輸出為FC90H。溫度值數字輸出(二進制)數字輸出(16進制)+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溫度對照表3、DS18B20溫度傳感器的內部存儲器DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結構寄存器。高速暫存存儲器除了配置寄存器外,還有其他8個字節(jié)組成,其分配如下所示。其中溫度信息(第1,2字節(jié))、TH和TL值第3,4字節(jié)、第68字節(jié)未用,表現為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。TH用戶字節(jié)1TH用戶字節(jié)2配置寄存器EEPROM溫度LSD(

28、50h)溫度LSD(05h)CRC*保留位(FFh)保留位(10h)保留位(0Ch)配置寄存器TH用戶字節(jié)2*TH用戶字節(jié)1*高速暫存器(上電狀態(tài))Byte1Byte8Byte0Byte7Byte6Byte2Byte5Byte4Byte3圖3.5 DS18B20內部儲存器結構圖當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1,2字節(jié)。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后,數據格式以0062 5 /LSB形式表示。溫度值格式如下: 對應的溫度計算:當符號位S=0時,直接將二進制位轉換為十進制;

29、當S=1時,先將補碼變換為原碼,再計算十進制值。 DS18B20完成溫度轉換后,就把測得的溫度值與TH,TL作比較,若T>TH或T<TL,則將該器件內的告警標志置位,并對主機發(fā)出的告警搜索命令作出響應。因此,可用多只DS18B20同時測量溫度并進行告警搜索。CRC的產生 在64 b ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數據是否正確。64位激光(刻)只讀儲存器8位RCR48位序列號8位系列號4、 配置寄存器 該字節(jié)各位的意義如下:TMR1R011111表3.4 配

30、置寄存器結構低五位一直都是"1",TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位)R1R0分辨率最大溫度轉換時間/ms009位93.750110位187.51011位3751112位750表3.5 溫度值分辨率設置表由表3.5可見,設定的分辨率越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要在分辨率和轉換時間權衡考慮。 5、DS18B20控制流程根據DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉換

31、必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,當DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。后面還要具體講述復位、讀和寫的時序。ROM指令表明了主機尋址一個或者多個DS18B20中的某個或某幾個,或者讀取某個DS18B20的64位地址。RAM指令用于主機對DS18B20內部RAM的操作。指令集如表5.1和表5.2所示。指令約定代碼功能溫度轉換44H啟動DS18B20進行

32、溫度轉換,12位轉換時最長為750ms(9位為93.75ms)。結果存入內部9字節(jié)ROM中。讀暫存器0BEH讀內部RAM9字節(jié)內容寫暫存器4EH發(fā)出向內部RAM的3、4字節(jié)寫上、下限溫度數據命令,緊跟該命令之后,是傳送兩字節(jié)數據。復制暫存器48H將RAM的第3、4字節(jié)的內容復制到EEPROM中。重讀EEPROM0B8H將EEPROM中的內容復制到RAM中的第3、4字節(jié)。讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”。表5.1 RAM指令表指令代碼操作說明溫度轉換44H開始啟動DS18B20溫度轉換讀ROM33H讀ROM內容

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

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

35、、占用口線少等優(yōu)點。下面就是DS18B20不同應用方式下的測溫電路圖:圖5.4 測溫原理圖1)DS18B20的主要特性適應電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數據線供電獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊DS18B20支持多點組網功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現組網多點測溫DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內溫范圍55125,在-10+85時精度為±0.5可編程的分辨率為912位,對應的可分辨溫度分別為0.5、

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

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

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

39、Read Scratchpad指令代碼(BEh):讀取溫度寄存器的溫度值。     Copy Scratchpad指令代碼(48h):將溫度寄存器的數值拷貝到EERAM中,保證溫度值不丟失。     Convert T指令代碼(44h):啟動在線DS1280做溫度A/D轉換。     Recall E2指令代碼(B8h):將EERAM中的數值拷貝到溫度寄存器中。    

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

41、的DS1820。     (3). Match ROM(55h),只有準確的符合64位ROM序列的DS1820才能響應其后的指令,當然,單點測溫時可以使用Skip ROM(CCh)指令來跳過這一步。     (4). Convert T(44h),發(fā)完指令后應查詢總線上的電平,當電平位高時溫度轉換完成。 (5). Read Scratchpad(BEh),將讀指令發(fā)出后,就可從總線上讀得表示溫度的2字節(jié)二進制數。7、

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

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

44、接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及復制到E2儲存器或啟動溫度的指令后,必須在最多3S內把I/O線轉換到強上拉狀態(tài)。在強上拉方式下可以解決電流供應不走的問題,因此也適合于多點測溫應用,缺點就是要多占用一根I/O口線進行強上拉切換。這種使用低導通電阻三極管或者MOSFET進行強上拉的電阻在應用非常廣泛,其中電路如圖3.7所示。如圖5.7 使用強上拉的電路連接使用強上拉電阻實現的多點測量的應用電路如圖5.8 所示。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉換精度,同時在總線上理論可以掛接任意多個DS18B2

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

46、8B20的數據I/O均由同一條線完成,因此,對讀寫的操作時序要求嚴格。它的各種時序如圖2所示圖5.9 DS18B20的操作時序為了保證DS18B20的嚴格I/O時序。需要做較精確的延時。在DS18B20操作中,用到的延時有15S,90S,270S,540S等。因這些延時均為15S的整倍,因此在程序中可以編寫一個以15S為基準的延時函數。2.5DS18B20與單片機的典型接口設計下面以MCS51單片機為例,講述DS18B20與單片機的典型接口和程序設計。圖3是DS18B20采用寄生電源供電方式與51單片機的電路連接。令DS18B20定期進行溫度轉換,并把此溫度轉換數據定期發(fā)送給PC機進行處理。圖

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

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

49、雜的軟件進行補償,由于DS1820與微處理器間采用串行數據傳送,因此,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS1820操作部分最好采用匯編語言實現。 2) 在DS1820的有關資料中均未提及單總線上所掛DS1820數量問題,容易使人誤認為可以掛任意多個DS1820,在實際應用中并非如此。當單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。 3) 連接DS1820的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的

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

51、接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點接地。第三章 硬件設計3.1 硬件電路設計的功能簡介本溫度控制系統(tǒng)圍繞DS18B20為核心,主要實現的功能是:利用DS18B20采集環(huán)境溫度并在七段數碼管上顯示出來,同時將溫度信息反饋到PC3以便作進一步分析操作。當環(huán)境溫度高于報警上限或低于報警下限時,分別點亮高低溫報警燈,溫度回復到上下限之間時,熄滅報警燈。系統(tǒng)中有5個按鍵,其要實現的功能如表3.8所示。按鍵功能功能鍵顯示溫度值、報警上限、報警下限三態(tài)循環(huán)遞增鍵當顯示報警上下限時,按此鍵則顯示的報警上限或下限增1。遞減鍵當顯示報警上下限時,按此鍵則顯示的上下限減1.儲存鍵當顯示報警上下限時,按完遞增或遞減鍵后按此鍵可將新設定的報警限保存恢復鍵當顯示報警上下限時,按此鍵則把保存的報警上下限作為當前報警限值。表3.8 本設計實現的功能根據系統(tǒng)的控制要求,選擇Intel公司的80C51單片機,他包括數字溫度傳感器的數據采集、數據處理、晶振復位和溫度顯示電路。 圖7.0 硬件實物圖3.2 硬件設計部分的組成根據系統(tǒng)功能要求開始設計硬件連接。其硬件設計可以分為以下幾個部分。 1)DS18B20與MCS51單片機接口的設計:DS18B20與MCS51的接口可以跟前面討論的一致用I/O線來與DS18B20的數據線連接作為單總線。而用一個PNP型的三極管來作為

溫馨提示

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

評論

0/150

提交評論