基于DS18B20的智能溫度檢測系統_第1頁
基于DS18B20的智能溫度檢測系統_第2頁
基于DS18B20的智能溫度檢測系統_第3頁
基于DS18B20的智能溫度檢測系統_第4頁
基于DS18B20的智能溫度檢測系統_第5頁
已閱讀5頁,還剩89頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

浙江科技學院本科畢業設計(論文) 1 浙浙 江江 科科 技技 學學 院院 本本科科學學生生畢畢業業設設計計(論論文文) 題題 目目 基于基于 DS18B20DS18B20 的智能溫度檢測系統的智能溫度檢測系統 系系 別別 自動化與電氣工程學院自動化與電氣工程學院 專業班級專業班級 0202 自動化自動化 A A 班班 姓姓 名名 許許 浩浩 學學 號號 指導教師指導教師 張張 麗麗 職職 稱稱 助助 教教 2006 年年 6 月月 1 日日 浙江科技學院本科畢業設計(論文) 2 摘摘 要要: :本文主要討論了當今溫度傳感器的發展方向,介紹了用單片機控制的、基于 數字溫度傳感器 DS18B20 的溫度測量系統。重點闡述了 DS18B20 的工作原理、指令 系統、單片機與 DS18B20 之間的接口、數據傳遞、通信協議,建立了基于 DS18B20 的單點、多點溫度測量系統。最后用 RS232 總線實現了測溫系統與 PC 機的通訊,實 現了溫度的實時檢測與顯示。 關鍵字:關鍵字: DS18B20,多點溫度測量,通訊 AbstractAbstract : :After mainly discussing the development direction of current temperature sensor, the paper introduces the temperature measurement system based on the digital temperature sensor DS18B20,which is controlled by 89S52 single chip microcomputer. The working princip1e of the DS18B20, instruction sets, data transmission, the interface and the communication protoco1 between the DS18B20 and single chip microcomputer is expounded specially. The detail design project and concrete implementation of the single and multiple temperature measurement system,which is made up of DS18B20 and 89S52 single chip microcomputer are discussedThe temperature measurement system can communicate with PC by RS232 bus, which can be realized the measurement and display of temperature in the real time in this paper. KeywordsKeywords:DS18B20, multipoint temperature measurement, communication 浙江科技學院本科畢業設計(論文) 3 目錄目錄 摘摘 要要.I 1 1 緒論緒論.1 1 2 2 幾種常用溫度傳感器的原理及發展幾種常用溫度傳感器的原理及發展 2 2 2.1 引言.2 2.2 傳感器的分類.2 2.3 傳感器的原理及發展2 2.3.1 傳統的分立式溫度傳感器熱電偶傳感器2 2.3.2 集成(IC)溫度傳感器.3 2.4 智能溫度傳感器發展的新趨勢.5 2.4.1 提高測溫精度和分辨力5 2.4.2 增加測試功能.5 2.4.3 總線技術的標準化與規范化.6 2.4.4 可靠性及安全性設計.6 2.4.5 虛擬溫度傳感器和網絡溫度傳感器.7 2.5 小結.7 3 3 DS18B20DS18B20 測溫系統的設計測溫系統的設計.8 8 3.1 現實測溫遇到的問題8 3.2 方案論證及比較.8 3.3 DS1820 數字溫度傳感器的原理與構 造9 3.3.1 DS18B20 的內部結構.10 3.3.2 DS18B20 溫度傳感器的存儲器.11 3.4 DS1820 單點測溫系統設計.14 3.4.1 CPU 模塊.14 3.4.2 數據采集模塊.15 3.4.3 顯示模塊.15 3.4.4 系統軟件設計.15 浙江科技學院本科畢業設計(論文) 4 3.5 DS18B20 多點測溫系統的設計.25 3.5.1 硬件說明.25 3.5.2 軟件設計.25 4 4 DS1820DS1820 測溫系統與測溫系統與 PCPC 上位機通上位機通 訊訊.2929 4.1 RS-232C 介 紹.29 4.2 RS232 硬件接口設計30 4.2.1 硬件說明.30 4.3 程序設計31 4.3.1 單片機內通信程序的設計.31 4.3.2 PC 機內通信程序的設 計.32 5 5 總總 結結38 致致 謝謝39 參考文獻參考文獻.40 附錄附錄 1 1.4141 附錄附錄 2 26868 浙江科技學院本科畢業設計(論文) 5 1 1 緒緒 論論 溫度是一個基本的物理量,自然界中的一切過程無不與溫度密切相關。 隨著科學技術的不斷進步與發展,溫度傳感器的種類日益繁多,應用逐漸廣泛,并且開始 由模擬式向著數字式、單總線式、雙總線式和三總線式方向發展。而數字溫度傳感器更因適用 于各種微處理器接口組成的自動溫度控制系統具有可以克服模擬傳感器與微處理器接口時需要 信號調理電路和 A/D 轉換器的弊端等優點,被廣泛應用于工業控制、電子測溫計、醫療儀器等 各種溫度控制系統中。其中,比較有代表性的數字溫度傳感器有 DS1820、MAX6575、DS1722、MAX6635 等。 在工業過程控制和檢測過程中,溫度是最重要的參數之一,很多情況下需要進行溫度的現 場測量。而在眾多的溫度傳感器中,智能溫度傳感器 DS18B20 將溫度傳感器、A/D 轉換器、寄存 器、接口電路集成在一個芯片中。可實現直接數字化輸出、測試及控制功能強、傳輸距離遠、 抗干擾能力強、微型化、微功耗、可適配各種微控制器(MCU)或微型計算機進行數據處理及溫 度控制。在很多智能化的溫度傳感器中,大多使用同步串行總線技術,如 (Philips) 、SMBus (Intel) 、SPI(Motorola)、 Microwire/Plus(NSC)等串行總線協議,而 DS18B20 采用的是單線 (1-Wire)總線協議。單線(1-Wire)是 DALLAS 公司的一項專有技術,它采用一根信號線實現 信號的雙向傳輸,具有接口簡單,節省 I/O 口線,便于擴展和維護等優點。 隨著現代信息技術的飛速發展和傳統工業改造的逐步實現,能夠獨立工作的溫度檢測和顯 示系統已經應用于諸多領域。傳統的溫度檢測以熱敏電阻為溫度敏感元件,熱敏電阻成本低, 但需要后續信號處理電路,而且熱敏電阻的可靠性相對較差,測量溫度的準確度低,檢測系統 的精度差。我們選用了美國 DALLAS 公司最新推出的 DS18B20 數字式溫度傳感器,DS18B20 是 DS1820 的更新產品,它與傳統的熱敏電阻溫度傳感器不同,它能夠直接讀出被測溫度并且可根 據實際要求通過簡單的編程實現 912 位的數字值讀數方式,可以分別在 93.75ms 和 750ms 內將 溫度值轉化 9 位和 12 位的數字量。因而使用 DS18B20 可使系統結構更趨簡單,可靠性更高 在本設計中我使用智能溫度傳感器 DS18B20 構建溫度檢測系統,該系統實現了溫度的實時 檢測及監測,檢測數據精度高,范圍大。 浙江科技學院本科畢業設計(論文) 6 2 2 幾種常用溫度傳感器的原理及發展幾種常用溫度傳感器的原理及發展 2.12.1 引言引言 科學技術離不開測量。測量的目的就是要獲得被測對象的有關物理或化學性質的信息,以 便根據這些信息對被測對象進行評價或控制,完成這一功能的器件就我們稱之為傳感器。傳感 器是信息技術的前沿尖端產品,被廣泛用于工農業生產、科學研究和生等領域,尤其是溫度傳 感器,使用范圍廣,數量多,居各種傳感器之首。溫度傳感器的發展大致經歷了以下 3 個階段: (1)傳統的分立式溫度傳感器(含敏感元件);主要是能夠進行非電量和電量之間轉換。 (2)模擬集成溫度傳感器/控制器。 (3) 智能溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數字式、由集成化向智能化、 網絡化的方向發展。 2.22.2 傳感器的分類傳感器的分類 傳感器分類方法很多,常用的有 2 種:一種是按被測的參數分,另一種是按變換原理來分。 通常按被測的參數來分類,可分為熱工參數:溫度、比熱、壓力、流量、液位等;機械量參數: 位移、力、加速度、重量等;物性參數:比重、濃度、算監度等;狀態量參數:顏色、裂紋、 磨損等。溫度傳感器屬于熱工參數。 溫度傳感器按傳感器于被測介質的接觸方式可分為 2 大類:一類是接觸式溫度傳感器,一 類是非接觸式溫度傳感器,接觸式溫度傳感器的測溫元件與被測對象要有良好的熱接觸,通過 熱傳導及對流原理達到熱平衡,這時的示值即為被測對象的溫度。這種測溫方法精度比較高, 并在一定程度上還可測量物體內部的溫度分布,但對于運動的、熱容量比較小的、或對感溫元 件有腐蝕作用的對象,這種方法將會產生很大的誤差。 非接觸測溫的測溫元件與被測對象互不接觸。目前最常用的是輻射熱交換原理。此種測溫 方法的主要特點是可測量運動狀態的小目標及熱容量小或變化迅速的對象,也可測溫度場的溫 度分布,但受環境的影響比較大。 2.32.3 傳感器的原理及發展傳感器的原理及發展 2.3.12.3.1 傳統的分立式溫度傳感器傳統的分立式溫度傳感器熱電偶傳感器熱電偶傳感器 浙江科技學院本科畢業設計(論文) 7 熱電偶傳感器是工業測量中應用最廣泛的一種溫度傳感器,它與被測對象直接接觸,不受 中間介質的影響,具有較高的精確度;測量范圍廣,可從-50-1600進行連續測量,特殊的 熱電偶如金鐵-鎳鉻,最低可測到-269,鎢-錸最高可達 2800。 熱電偶傳感器主要按照熱電效應來工作。將兩種不同的導體 A 和 B 連接起來,組成一個閉 合回路,即構成感溫元件,如圖 2.1 所示。當導體 A 和 B 的兩個接點 1 和 2 之間存在溫差時, 兩者之間便產生電動勢,因而在回路中形成一定大小的電流,這種現象即稱為熱電效應,也叫 溫差電效應。熱電偶就是利用這一效應進行工作的。熱電偶的一端是將 A、B 兩種導體焊接在一 起,稱為工作端,置于溫度為 t 的被測介質中。另一端稱為參比端或自由端,放于溫度為 t0 的 恒定溫度下。當工作端的被測介質溫度發生變化時,熱電勢隨之發生變化,將熱電勢送入計算 機進行處理,即可得到溫度值。 圖 2.1 熱電偶兩端的熱電勢差可以用下式表示: Et=E(t)-E(t0) 式中:Et熱電偶的熱電勢 E(t)溫度為 t 時的熱電勢 E(t0)溫度為 t0 時的熱電勢 當參比端的溫度 t0 恒定時,熱電勢只于工作端的溫度有關,即 Et=f(t)。 當組成熱電偶的熱電極的材料均勻時,其熱電勢的大小與熱電極本身的長度和直徑無關,只與 熱電極的成分及兩端的溫度有關。 2.3.22.3.2 集成集成(IC)(IC)溫度傳感器溫度傳感器 2.3.2.12.3.2.1 模擬集成溫度傳感器模擬集成溫度傳感器 集成傳感器是采用硅半導體集成工藝而制成的,因此亦稱硅傳感器或單片集成溫度傳感器。 模擬集成溫度傳感器是在 20 世紀 80 年代問世的,它是將溫度傳感器集成在一個芯片上、可完 浙江科技學院本科畢業設計(論文) 8 成溫度測量及模擬信號輸出功能的專用 IC。模擬集成溫度傳感器的主要特點是功能單一(僅測量 溫度)、測溫誤差小、價格低、響應速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫、 控測,不需要進行非線性校準,外圍電路簡單。目前在國內外仍普遍應用的一種集成傳感器, 下面介紹一種具有高靈敏度和高精度的 IC 溫度傳感器AN6701。 AN6701 的原理圖如圖 2.2 所示,它由溫度檢測電路、溫度補償電路以及緩沖放大器 3 部分 組成。 圖 2.2 IC 溫度傳感器的檢測電路是利用晶體管對兩個發射極的電流密度差產生基極-發射極之間的 電壓差(VbC)的原理而工作的。圖 2.3 所示為溫度檢測及溫度補償電路圖。圖 1.2 中,T1-T5 為 檢測電路,T8-T11 及 RC 組成的電路產生正比其絕對溫度的電流,該電流通過 T12 和 T13 注入 T7,即可獲得對應于注入電流的補償溫度。RC 為外接電阻,使傳感器的校準比較方便。 浙江科技學院本科畢業設計(論文) 9 圖 2.3 2.3.2.22.3.2.2 智能溫度傳感器智能溫度傳感器 傳感器(亦稱數字溫度傳感器)是在 20 世紀 90 年代中期問世的。它是微電子技術、計算機 技術和自動測試技術(ATE)的結晶。目前,國際上已開發出多種智能溫度傳感器系列產品。智能 溫度傳感器內部都包含溫度傳感器、A/D 轉換器、信號處理器、存儲器(或寄存器)和接口電路。 有的產品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能 溫度傳感器的特點是能輸出溫度數據及相關的溫度控制量,適配各種微控制器(MCU);并且它是 在硬件的基礎上通過軟件來實現測試功能的,其智能化和諧也取決于軟件的開發水平。 2.42.4 智能溫度傳感器發展的新趨勢智能溫度傳感器發展的新趨勢 21 世紀后,智能溫度傳感器正朝著高精度、多功能、總線標準化、高可靠性及安全性、開 發虛擬傳感器和網絡傳感器、研制單片測溫系統等高科技的方向迅速發展。 2.4.12.4.1 提高測溫精度和分辨力提高測溫精度和分辨力 21 世紀 90 年代中期最早推出的智能溫度傳感器,采用的是 8 位 A/D 轉換器,其測溫精度較 低,分辨力只能達到 1。目前,國外已相繼推出多種高速度、高分辨力的智能溫度傳感器,所 用的是 912 位 A/D 轉換器,分辨力一般可達 0.50.0625。由美國 DALLAS 半導體公司新研 制的 DS1624 型高分辨力智能溫度傳感器,能輸出 13 位二進制數據,其分辨力高達 0.03125, 測溫精度為0.2。為了提高多通道智能溫度傳感器的轉換速率,也有的芯片采用高速逐次逼 近式 A/D 轉換器。以 AD7817 型 5 通道智能溫度傳感器為例,它對本地傳感器、每一路遠程傳感 器的轉換時間分別僅為 27s、9s。 2.4.22.4.2 增加測試功能增加測試功能 溫度傳感器的測試功能也在不斷增強。例如,DS1629 型單線智能溫度傳感器增加了實時日 歷時鐘(RTC),使其功能更加完善。DS1624 還增加了存儲功能,利用芯片內部 256 字節的 E2PROM 存儲器,可存儲用戶的短信息。另外,智能溫度傳感器正從單通道向多通道的方向發展, 這就為研制和開發多路溫度測控系統創造了良好條件。 傳感器都具有多種工作模式可供選擇,主要包括單次轉換模式、連續轉換模式、待機模式, 有的還增加了低溫極限擴展模式,操作非常簡便。對某些智能溫度傳感器而言,主機(外部微處 理器或單片機)還可通過相應的寄存器來設定其 A/D 轉換速率(典型產品為 MAX6654),分辨力及 浙江科技學院本科畢業設計(論文) 10 最大轉換時間(典型產品為 DS1624)。 2.4.32.4.3 總線技術的標準化與規范化總線技術的標準化與規范化 智能溫度傳感器的總線技術也實現了標準化、規范化,所采用總線主要有單線(1-Wire)總 線、I2C 總線、SMBus 總線和 SPI 總線。溫度傳感器作為從機可通過專用總線接口與主機進行通 信。 2.4.42.4.4 可靠性及安全性設計可靠性及安全性設計 A/D 轉換器大多采用積分式或逐次比較式轉換技術,其噪聲容限低,抑制混疊噪聲及量化噪 聲的能力比較差。新型智能溫度傳感器(例如 TMP03/204、LM74、LM83)普遍采用了高性能的- 式 A/D 轉換器不僅能濾除量化噪聲,而且對外圍元件的精度要求低;由于采用數字反饋方式, 因此比較器的失調電壓及零點漂移都不會影響溫度的轉換精度。這種智能溫度傳感器兼有抑制 串模干擾能力強、分辨力高、線性度好、成本低等優點。 為了避免在溫控系統受到噪聲干擾時產生誤動作,在 AD7416/7417/7817、LM75/76、MAX6625/6626 等智能溫度傳感器的內部,都設置了一個可編程的 “故障排隊(fault queue)”計數器,專用于設定允許被測溫度值超過上、下限的次數。僅當被 測溫度連續超過上限或低于下限的次數達到或超過所設定的次數 n(n=14)時,才能觸發中斷端。 若故障次數不滿足上述條件或故障不是連續發生的,故障計數器就復位而不會觸發中斷端。這 意味著假定 n=3 時,那么偶然受到一次或兩次噪聲干擾,都不會影響溫控系統的正常工作。 76 型智能溫度傳感器增加了溫度窗口比較器,非常適合設計一個符合 ACPI(Advanced Configuration and Power Interface,即“先進配置與電源接口”)規范的溫控系統。這種系 統具有完善的過熱保護功能,可用來監控筆記本電腦和服務器中 CPU 及主電路的溫度。微處理 器最高可承受的工作溫度規定為 tH,臺式計算機一般為 75,高檔筆記本電腦的專用 CPU 可達 100。一旦 CPU 或主電路的溫度超出所設定的上、下限時,INT 端立即使主機產生中斷,再通 過電源控制器發出信號,迅速將主電源關斷起到保護作用。此外,當溫度超過 CPU 的極限溫度 時,嚴重超溫報警輸出端(T_CRIT_A)也能直接關斷主電源,并且該端還可通過獨立的硬件判斷 電路來切斷主電源,以防主電源控制失靈。上述三重安全性保護措施已成為國際上設計溫控系 統的新觀念。 為防止因人體靜電放電(ESD)而損壞芯片。一些智能溫度傳感器還增加了 ESD 保護電路,一 般可承受 10004000V 的靜電放電電壓。通常是將體等效于由 100pF 電容 1.2k 電阻串聯而成 浙江科技學院本科畢業設計(論文) 11 的電路模型,當人體放電時,TCN75 型智能溫度傳感器的串行接口端、中斷/比較器信號輸出端 和地址輸入端均可承受 1000V 的靜電放電電壓。LM83 型智能溫度傳感器則可隨 4000V 的靜電放 電電壓。最新開發的智能溫度傳感器(例如 MAX6654、LM83)還增加了傳感器故障檢測功能,能自 動檢測外部晶體管溫度傳感器(亦稱遠程傳感器)的開路或短路故障。MAX6654 還具有選擇“寄存 阻抗抵消”(Parasitic Resistance Cancellation,英文縮寫為 PRC)模式,能抵消遠程傳感器 引線阻抗所引起的測溫誤差,即使引線阻抗達到 100,也不會影響測量精度。遠程傳感器引線 可采用普通雙絞線或者帶屏蔽層的雙絞線。 2.4.52.4.5 虛擬溫度傳感器和網絡溫度傳感器虛擬溫度傳感器和網絡溫度傳感器 虛擬傳感器是基于傳感器硬件和計算機平臺、并通過軟件開發而成的。利用軟件可完成傳 感器的標定及校準,以實現最佳性能指標。最近,病因 B這是關于單個 DS18B20 的測溫程序,數據腳為 P3.3,晶振是 11.0592MHZ ;溫度傳感器 18B20 采用器件默認的 12 位轉化,最大轉化時間要 750 毫秒 ;內存分配聲明 TEMPER_L EQU 29H;用于保存讀出溫度的低字節 浙江科技學院本科畢業設計(論文) 23 TEMPER_H EQU 28H;用于保存讀出溫度的高字節 T_DF EQU 27H ;FORMAT 后的小數部分(DECIMAL FRACTION),半字節的溫度小數(存在低四位) T_INTEGER EQU 26H ;FORMAT 后的整數部分(INTEGER),將兩字節的溫度整合成 1 字節 FLAG1 BIT 50H;位地址 50H 是字節 2AH 的最低位,用作是否檢測到 DS18B20 的標志位 KEYFLAG EQU 24H;選通位 DEL EQU 40H A_BIT EQU 20H ;十位數存放內存位置 B_BIT EQU 21H ;個位數存放內存位置 C_BIT EQU 22H ;個位小數 D_BIT EQU 23H ;十位小數 ORG 0000H LJMP 0100H ORG 0100H MAIN: LCALL INIT_RS232 LCALL T_CONVERSION;調用讀溫度子程序 LCALL T_FORMAT;將讀出的 2 字節溫度格式化 LCALL DISPLAY;調用 LED 顯示子程序 LCALL PASS; 調用傳送子程序 LJMP MAIN ;-DS18B20 的溫度轉換子程序- T_CONVERSION: LCALL INIT_1820 JB FLAG1,T_C0 RET T_C0: MOV A,#0CCH LCALL WRITE_1820 MOV A,#44H LCALL WRITE_1820 LCALL DISPLAY;延時 750 毫秒 浙江科技學院本科畢業設計(論文) 24 LCALL INIT_1820 MOV A,#0CCH LCALL WRITE_1820 MOV A,#0BEH LCALL WRITE_1820 LCALL READ_1820 RET ;-DS18B20 復位初始化程序- INIT_1820: SETB P3.3 NOP CLR P3.3 MOV R0,#2 INIT0: MOV R1,#250 DJNZ R1,$ DJNZ R0,INIT0 SETB P3.3 NOP MOV R0, #15 INIT1: JNB P3.3, INIT3 DJNZ R0, INIT1 LJMP INIT4 INIT3: SETB FLAG1 LJMP INIT5 INIT4: CLR FLAG1 LJMP INIT6 INIT5: MOV R0, #120 DJNZ R0, $ INIT6: SETB P3.3 浙江科技學院本科畢業設計(論文) 25 RET ;-寫 DS18B20 的子程序- WRITE_1820: MOV R2,#8 WR0: CLR P3.3 MOV R3,#6 DJNZ R3,$ RRC A MOV P3.3,C MOV R3,#20 DJNZ R3,$ SETB P3.3 NOP NOP DJNZ R2,WR0 SETB P3.3 RET ;-讀 DS18B20 的程序- READ_1820: MOV R4,#2 MOV R1,#TEMPER_L RE0: MOV R2,#8 RE1: SETB P3.3 NOP NOP CLR P3.3 NOP NOP SETB P3.3 MOV R3,#5 浙江科技學院本科畢業設計(論文) 26 DJNZ R3, $ MOV C,P3.3 MOV R3,#20 DJNZ R3, $ RRC A DJNZ R2,RE1 MOV R1,A DEC R1 DJNZ R4,RE0 RET ;-整合讀出的兩字節溫度- T_FORMAT: MOV A, #0FH ANL A, TEMPER_L MOV T_DF, A MOV A, TEMPER_L SWAP A MOV TEMPER_L, A MOV A, TEMPER_H SWAP A MOV R0, #TEMPER_L XCHD A, R0 MOV T_INTEGER, A RET ;-LED 顯示的子程序- DISPLAY: MOV A, T_INTEGER MOV B,#10 DIV AB MOV A_BIT,A 浙江科技學院本科畢業設計(論文) 27 MOV B_BIT, B MOV A, T_DF MOV R0, #C_BIT MOV R2, #2 D0: MOV B, #10 MUL AB MOV B, #16 DIV AB MOV R0, A INC R0 MOV A, B DJNZ R2, D0 ;- LEDDISPLAY- MOV DEL,#200 DSY: MOV R0,#20H MOV R1,#02H LOOP: MOV P2,R1 MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A LCALL D1MS INC R0 MOV A,R1 RL A MOV R1,A JNB ACC.5,LOOP 浙江科技學院本科畢業設計(論文) 28 DJNZ DEL,DSY RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;-二進制到 ASCII 碼轉換- PASS: MOV A, #30H ORL A_BIT, A ;傳送到 PC 上位機 LCALL TX_CHAR ORL B_BIT, A LCALL TX_CHAR ORL C_BIT, A LCALL TX_CHAR ORL D_BIT, A LCALL TX_CHAR RET ;-1MS 延時- D1MS: MOV R7,#250 LOOP0: NOP NOP DJNZ R7,LOOP0 RET ;-1S 延時 - D1S: MOV R6,#4 LOOP2: MOV R5,#250 LOOP1: LCALL D1MS DJNZ R5,LOOP1 DJNZ R6,LOOP2 RET INIT_RS232: 浙江科技學院本科畢業設計(論文) 29 MOV SCON,#50H MOV TMOD,#20H ;定時器 T1 工作方式 2 MOV TH1,#0FDH SETB TR1 SETB TI RET ;- TX_CHAR: JNB TI,$ CLR TI MOV SBUF, A RET ;- END 3.53.5 DS18B20DS18B20 多點測溫系統的設計多點測溫系統的設計 DS18B20 是 DALLAS 公司生產的單總線數字溫度傳感器,可以通過在單線上串接多個 DS18B20 來達到多點測溫和降低硬件復雜。DS18B20 多點測溫系統硬件原理圖如下所示: 4.7K R1 +5 P3.3 DQ 2 GND 1 VCC 3 U1 DS1820 DQ 2 GND 1 VCC 3 U2 DS1820 DQ 2 GND 1 VCC 3 U3 DS1820 DQ 2 GND 1 VCC 3 U4 DS1820 DQ 2 GND 1 VCC 3 U5 DS1820 DQ 2 GND 1 VCC 3 U6 DS1820 3.5.13.5.1 硬件說明硬件說明 將多個 DS18B20 串接在 89S52 的 P3.3 上,采用電源供電,利用上拉電阻 R1 保證溫度信息 的正常傳送,由于多個 DS18B20 串接在同一口上,在獲取溫度信息時需進行 ROM 匹配,以保證 所獲取的溫度信息與目標相同。同時在系統硬件上可以通過擴展鍵盤來進行傳感器的片選。 浙江科技學院本科畢業設計(論文) 30 3.5.23.5.2 軟件設計軟件設計 每一片 DSl820 在其 ROM 中都存有其唯一的 48 位序列號在出廠前已寫入片內 ROM 中主機在 進入操作程序前必須逐一接入 18B20 用讀 ROM(33H)命令將該 18B20 的序列號讀出并記錄。當主 機需要對眾多在線 18B20 的某一個進行操作時,首先要發出匹配 ROM 命令(55H) ,緊接著主機 提供 64 位序列(包括該 18B20 的 48 位序列號) ,之后的操作就是針對該 18B20 的。而所謂跳 過 ROM 命令即為之后的操作是對所有 18B20 的。框圖中先有跳過 ROM 即是啟動所有 18B20 進 行溫度變換之后,通過匹配 ROM 再逐一地讀回每個 18B20 的溫度。數據在 18B20 組成的測溫系 統中,主機在發出跳過 ROM 命令之后再發出統一的溫度轉換啟動碼 44H 就可以實現所有 18B20 的統一轉換,再經過 1s 后就可以用很少的時間去逐一讀取這種方式使其 T 值往往小于傳統方 式。由于采取公用的放大電路和 A D 轉換器只能逐一轉換顯然通道數越多這種省時應就越明顯。 初始化 跳過ROM匹配 變換溫度 等待1S 初始化 設置DS18B20個數 B 匹配ROM 讀溫度 存在緩沖區指針增 1 初始化 B-1=0? 否 是 浙江科技學院本科畢業設計(論文) 31 多路測溫程序框圖 DS18B20 序列號獲得 ; -讀出 DS18B20 序列號應用程序,P3.3 接 DS18B20- ORG 0000H AJMP MAIN ORG 0020H MAIN: MOV SP,#60H CLR EA ;使用 DS18B20 一定要禁止任何中斷產生 LCALL INT ;初始化 DS18B20 MOV A,#33H LCALL WRITE ;送入讀 DS18B20 的 ROM 命令 LCALL READ ;開始讀出當前 DS18B20 序列號 MOV 40H,A LCALL READ MOV 41H,A LCALL READ MOV 42H,A LCALL READ MOV 43H,A LCALL READ MOV 44H,A LCALL READ MOV 45H,A LCALL READ MOV 46H,A LCALL READ MOV 47H,A 浙江科技學院本科畢業設計(論文) 32 SETB EA SJMP $ INT: ;初始化 DS18B20 子程序 CLR EA L0:CLR P3.3 ;DS18B20 總線為低復位電平 MOV R2,#200 L1:CLR P3.3 DJNZ R2,L1 ;總線復位電平保持 400us SETB P3.3 ;釋放 DS18B20 總線 MOV R2,#30 L4:DJNZ R2,L4 ;釋放 DS18B20 總線保持 60us CLR C ;清存在信號 ORL C,P3.3 JC L0 ;存在嗎?不存在則重新來 MOV R6,#80 L5:ORL C,P3.3 JC L3 DJNZ R6,L5 SJMP L0 L3:MOV R2,#240 L2:DJNZ R2,L2 RET WRITE: ;向 DS18B20 寫操作命令子程序 CLR EA MOV R3,#8 ;寫入 DS18B20 的 bit 數,一個字節 8 個 bit WR1:SETB P3.3 MOV R4,#8 RRC A ;把一個字節 data(A)分成 8 個 bit 環移給 C 浙江科技學院本科畢業設計(論文) 33 CLR P3.3 ;開始寫入 DS18B20 總線要處于復位(低)狀態 WR2:DJNZ R4,WR2 ;DS18B20 總線復位保持 16us MOV P3.3,C ;寫入一個 bit MOV R4,#20 WR3:DJNZ R4,WR3 ;等待 40us DJNZ R3,WR1 ;寫入下一個 bit SETB P3.3 ;重新釋放 DS18B20 總線 RET READ: CLR EA MOV R6,#8 ;連續讀 8 個 bit RE1:CLR P3.3 ;讀前總線保持為低 MOV R4,#4 NOP SETB P3.3 ;開始讀總線釋放 RE2:DJNZ R4,RE2 ;持續 8us MOV C,P3.3 ;從 DS18B20 總線讀得一個 bit RRC A ;把讀得的位值環移給 A MOV R5,#30 RE3:DJNZ R5,RE3 ;持續 60us DJNZ R6,RE1 ;讀下一個 bit SETB P3.3 ;重新釋放 DS18B20 總線 RET END 注意事項: DS18B20 雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點,但在實際應 用中也應注意以下幾方面的問題: (1)較小的硬件開銷需要相對復雜的軟件進行補償,由于 DS18B20 與微處理器間采用串行數 浙江科技學院本科畢業設計(論文) 34 據傳送,因此,在對 DS18B20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測 溫結果。 (2)在 DS18B20 的有關資料中均未提及單總線上所掛 DS18B20 數量問題,容易使人誤認為可 以掛任意多個 DS18B20,在實際應用中并非如此。當單總線上所掛 DS18B20 超過 8 個時,就需要 解決微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。 (3)連接 DS18B20 的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過 50m 時,讀取的測溫數據將發生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可 達 150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情 況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用 DS18B20 進行長距離測溫系 統設計時要充分考慮總線分布電容和阻抗匹配問題。 (4)在 DS18B20 測溫程序設計中,向 DS18B20 發出溫度轉換命令后,程序總要等待 DS18B20 的返回信號,一旦某個 DS18B20 接觸不好或斷線,當程序讀該 DS18B20 時,將沒有返回信號, 程序進入死循環。這一點在進行 DS18B20 硬件連接和軟件設計時也要給予一定的重視。 浙江科技學院本科畢業設計(論文) 35 4 4 DS18B20DS18B20 測溫系統與測溫系統與 PCPC 上位機通訊上位機通訊 4.14.1 RS-232CRS-232C 介紹介紹 RS-323C 標準是美國 EIA(電子工業聯合會)與 BELL 等公司一起開發的 1969 年公布的通信協 議。它適合于數據傳輸速率在 020000b/s 范圍內的通信。這個標準對串行通信接口的有關問 題,如信號線功能、電器特性都作了明確規定。由于通行設備廠商都生產與 RS-232C 制式兼容 的通信設備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。 RS-232C 使用-3 到-25V 表示數字“1” ,使用 3V 到 25V 表示數字“0” ,RS-232C 在空閑時處 于邏輯“1”狀態,在開始傳送時,首先產生一起始位,起始位為一個寬度的邏輯“0” ,緊隨其 后為所要傳送的數據,所要傳送的數據有最低位開始依此送出,并以一個結束位標志該字節傳 送結束,結束位為一個寬度的邏輯“1”狀態。 PC 機一般使用 8250 或 16550 作為串行通訊的控制器,使用 9 針或 25 針的接插件將串行口 的信號送出。該插座的信號定義如下: DB-25 DB-9 信號名稱 方向 含 義 2 3 TXD 輸出 數據發送端 3 2 RXD 輸入 數據接收端 4 7 RTS 輸出 請求發送(計算機要求發送數據) 5 8 CTS 輸入 清除發送(MODEM 準備接收數據) 6 6 DSR 輸入 數據設備準備就緒 7 5 SG - 信號地 8 1 DCD 輸入 數據載波檢測 20 4 DTR 輸出 數據終端準備就緒(計算機) 22 9 RI 輸入 響鈴指示 以上信號在通訊過程之中可能會被全部或部分使用,最簡單的通訊僅需 TXD 及 RXD 及 SG 即 可完成,其他的握手信號可以做適當處理或直接懸空,至于是否可以懸空這視乎你的通訊軟件。 比如說,如果使用 DOS 所提供的 BIOS 通訊驅動程序,那么,這些握手信號則需要做如下處理, 浙江科技學院本科畢業設計(論文) 36 因為 BIOS 的通訊驅動使用了這些信號。如果使用自己編寫的串行驅動程序則可以完全不使用這 些握手信號。 4.24.2 RS232RS232 硬件接口設計硬件接口設計 1 1 2 2 3 3 4 4 5 5 6 6 DD CC BB AA Title NumberRevisionSize B Date:2006-5-10Sheet

溫馨提示

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

評論

0/150

提交評論