(論文)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第1頁
(論文)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第2頁
(論文)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第3頁
(論文)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第4頁
(論文)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)1 本科生畢業(yè)設(shè)計(jì)(論文)本科生畢業(yè)設(shè)計(jì)(論文) 中文題目:基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì) 英文題目:The Temperature Detection System Design based one wire bus temperature sensor 專 業(yè) 電氣工程及其自動(dòng)化 專業(yè)方向 電氣工程及其自動(dòng)化 班 級(jí) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師 教 研 室 機(jī)械與自動(dòng)化工程學(xué)院機(jī)械與自動(dòng)化工程學(xué)院 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)2 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì) 摘要:溫度是工業(yè)生產(chǎn)和自動(dòng)控制中最常見的工藝參數(shù)之一。過去溫度檢測系統(tǒng)設(shè)計(jì)中, 大多采用模擬技術(shù)進(jìn)行設(shè)計(jì),這樣就不可避免地遇到諸如傳感器外圍電路復(fù)雜及抗干擾能 力差等問題;而其中任何一環(huán)節(jié)處理不當(dāng),就會(huì)造成整個(gè)系統(tǒng)性能的下降。隨著半導(dǎo)體技 術(shù)的高速發(fā)展,特別是大規(guī)模集成電路設(shè)計(jì)技術(shù)的發(fā)展, 數(shù)字化、微型化、集成化成為了 傳感器發(fā)展的主要方向。本文介紹了檢測的基本概念,單總線數(shù)字溫度傳感器 DS18B20 及單片機(jī) AT89C2051 的特性、內(nèi)部結(jié)構(gòu)及工作原理,給出了 DS18B20 與單片機(jī) AT89C2051 接口的應(yīng)用實(shí)例,以及由兩者組成溫度檢測系統(tǒng)的方法,并給出了對(duì) DS18B20 進(jìn)行各種操作的軟件流程圖及操作程序。 關(guān)鍵詞:溫度檢測 ;單總線溫度傳感器 DS18B20;單片機(jī) AT89C2051 ;匯編語言 The Temperature Detection System Design based one wire bus temperature sensor Abstract: Temperature is the most common one of process parameters in automatic control and industrial production. In the traditional temperature measurement system design, often using simulation technology to design, and this will inevitably encounter error compensation, such as lead,complex outside circuit,poor anti-jamming and other issues, and part of a deal with them Improperly, could cause the entire system of the decline. With modern science and technology of semiconductor development, especially large-scale integrated circuit design technologies, digital, miniaturization, integration sensors are becoming an important direction of development. This paper presents the basic concept of detection, a single digital temperature sensor DS18B20 the characteristics and working principle is given DS18B20 with 89 C2051 MCU interface application examples, and the composition of DS18B20 temperature detection system, and gives the various operations of the DS18B20 Software flow chart and operation programs. Keyword: Temperature Detection;DS18B20;AT89C2051;Assembler language 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)3 目 錄 中文摘要中文摘要 英文摘要英文摘要 1 1 引言引言55 11 前言5 12 檢測概述5 13 智能傳感器概述5 14 單總線系統(tǒng)概述. 6 15 智能溫度傳感器發(fā)展的新趨勢7 2 2 數(shù)字溫度傳感器數(shù)字溫度傳感器 DS18B20DS18B2099 21 DS18B20 概述. 9 211 性能特點(diǎn)9 212 內(nèi)部結(jié)構(gòu) .9 213 管腳排列.10 214 工作方式 10 22 DS18B20 存儲(chǔ)器及設(shè)置寄存器 .11 23 DS18B20 測溫原理. .13 24 DS18B20 測溫過程.15 25 DS18B20 使用注意事項(xiàng). .17 3 3 單片機(jī)單片機(jī) AT89C2051AT89C2051.19.19 31 AT89C2051 概述. .19 32 AT89C2051 外部單元. .20 321 引腳.20 322 電源.21 33 AT89C2051 內(nèi)部單元. .22 331 結(jié)構(gòu)框圖.22 332 運(yùn)算器.22 333 控制器.23 334 存儲(chǔ)器.24 34 AT89C2051 程序保密性能. .24 35 AT89C2051 軟硬件的開發(fā). .25 4 4 溫度檢測系統(tǒng)設(shè)計(jì)溫度檢測系統(tǒng)設(shè)計(jì)2626 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)4 41 方案比較.26 42 總體設(shè)計(jì).26 43 詳細(xì)設(shè)計(jì).27 431 硬件原理圖.27 432 DS18B20 與 89C2051 連線圖.27 433 顯示電路.28 434 復(fù)位電路.28 5 5 軟件調(diào)試軟件調(diào)試2929 51 系統(tǒng)流程. .29 511 對(duì) DS18B20 操作流程圖. .29 512 初始化流程圖. .30 513 讀操作流程圖. .31 514 寫操作流程圖. .32 515 溫度轉(zhuǎn)換流程圖.33 52 系統(tǒng)部分程序設(shè)計(jì)及分析.33 521 初始化子程序.33 522 讀子程序.34 523 寫子程序.35 524 延時(shí)子程序. .36 6 6 結(jié)論結(jié)論3737 致致 謝謝3838 結(jié)束語結(jié)束語3939 參考文獻(xiàn)參考文獻(xiàn)4040 附錄:硬件、監(jiān)控主程序、實(shí)物照片附錄:硬件、監(jiān)控主程序、實(shí)物照片4141 1 基于 DS18B20 的溫度檢測系統(tǒng)原理圖41 2 監(jiān)控主程序41 3 基于 DS18B20 的溫度檢測系統(tǒng)印刷板圖51 4 實(shí)物照片52 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)5 1 1 引言引言 11 前言 溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)和自動(dòng)控制中最常見的工藝參數(shù)之 一,生產(chǎn)過程中常常需要對(duì)溫度進(jìn)行檢測和監(jiān)控。在傳統(tǒng)的溫度測控系統(tǒng)設(shè)計(jì)中,往往 采用模擬技術(shù)進(jìn)行設(shè)計(jì),這樣就不可避免地遇到諸如傳感器外圍電路復(fù)雜及抗干擾能力 差等問題;而其中任何一環(huán)節(jié)處理不當(dāng),就會(huì)造成整個(gè)系統(tǒng)性能的下降。采用數(shù)字溫度 傳感器與單片機(jī)組成的溫度檢測系統(tǒng)進(jìn)行溫度檢測、數(shù)值顯示和數(shù)據(jù)存儲(chǔ),體積減小, 精度提高,抗干擾能力強(qiáng),并可組網(wǎng)進(jìn)行多點(diǎn)協(xié)測,還可以實(shí)現(xiàn)實(shí)時(shí)控制等技術(shù),在現(xiàn) 代工業(yè)生產(chǎn)中應(yīng)用越來越廣泛。 12 檢測技術(shù)概述 檢測是人類認(rèn)識(shí)客觀世界的最基本的方法,是指生產(chǎn)、試驗(yàn)現(xiàn)場利用某種合適的 檢測儀器或系統(tǒng)對(duì)被檢測對(duì)象進(jìn)行在線實(shí)時(shí)的測量。檢測技術(shù)從廣義上說是指尋找與自 然信息獨(dú)具有對(duì)應(yīng)關(guān)系的種種表現(xiàn)形式的信號(hào),確定被測量與顯示量兩者之間的定性、 定量關(guān)系,并為進(jìn)一步提高測量精度、改進(jìn)試驗(yàn)方法及測量裝置性能提供可行依據(jù)的整 個(gè)過程。檢測設(shè)備的性能指標(biāo)主要有精確度、穩(wěn)定性、輸入輸出特性這 3 個(gè)方面。 13 智能傳感器概述 智能傳感器最初是由美國宇航局 1978 年在開發(fā)出來的產(chǎn)品。因?yàn)橛钪骘w船上需要大 量的傳感器不斷向地面發(fā)送溫度、位置、速度和姿態(tài)等數(shù)據(jù)信息,用一臺(tái)大型計(jì)算機(jī)很 難同時(shí)處理如此龐雜的數(shù)據(jù),于是提出把 CPU 分散化,從而產(chǎn)生出智能化傳感器。隨著 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)6 微電子技術(shù)的發(fā)展,1983 年美國 Honeywell 公司首次推出用于過程工業(yè)的智能壓力傳感 器。其它公司紛紛效仿,先后研制出各自的智能傳感器產(chǎn)品。光電傳感器具有反應(yīng)速度 快,能實(shí)現(xiàn)非接觸測量,精度高、分辨率高和可靠性好等優(yōu)點(diǎn),因此在軍事、工業(yè)檢測 與控制領(lǐng)域獲得廣泛應(yīng)用,也使光電傳感器的智能化倍受關(guān)注并獲得迅速發(fā)展。智能傳 感器帶有微處理機(jī),具有采集、處理、交換信息的能力,是傳感器集成化與微處理機(jī) 相結(jié)合的產(chǎn)物。 由于半導(dǎo)體技術(shù)的迅速發(fā)展,使微控制器的功能不斷升級(jí),價(jià)格不斷下 降,從而引起工業(yè)傳感器設(shè)計(jì)的革命,也使檢測技術(shù)的發(fā)展躍上一個(gè)新臺(tái)階。智能傳感 器具有:通過軟件技術(shù)可實(shí)現(xiàn)高精度的信息采集,而且成本低;具有一定的編程自動(dòng) 化能力;功能多樣化 等特點(diǎn)。 相比一般傳感器,智能式傳感器有如下顯著特點(diǎn): (1 1) 提高了傳感器的精度提高了傳感器的精度 智能式傳感器具有信息處理功能,通過軟件不僅可修正各種確定性系統(tǒng)誤差(如傳感 器輸入輸出的非線性誤差、溫度誤差、零點(diǎn)誤差、正反行程誤差等)而且還可適當(dāng)?shù)匮a(bǔ)償 隨機(jī)誤差、降低噪聲,大大提高了傳感器精度。 (2 2) 提高了傳感器的可靠性提高了傳感器的可靠性 集成傳感器系統(tǒng)小型化,消除了傳統(tǒng)結(jié)構(gòu)的某些不可靠因素,改善了整個(gè)系統(tǒng)的抗 干擾性能;同時(shí)它具有自診斷、自校準(zhǔn)和數(shù)據(jù)存儲(chǔ)功能(對(duì)于智能結(jié)構(gòu)系統(tǒng)還有自適應(yīng)功 能),具有良好的穩(wěn)定性。 (3 3)提高了傳感器的性能價(jià)格比)提高了傳感器的性能價(jià)格比 在相同精度的需求下,多功能智能式傳感器與單一功能的普通傳感器相比,性能價(jià) 格比明顯提高,尤其是在采用較便宜的單片機(jī)后更為明顯。 (4 4)促成了傳感器多功能化)促成了傳感器多功能化 智能式傳感器可以實(shí)現(xiàn)多傳感器多參數(shù)綜合測量,可編程擴(kuò)大測量與使用范圍;有 一定的自適應(yīng)能力,根據(jù)檢測對(duì)象或條件的改變,相應(yīng)地改變量程及輸出數(shù)據(jù)的形式; 具有數(shù)字通訊接口功能,直接送入遠(yuǎn)地計(jì)算機(jī)進(jìn)行處理;具有多種數(shù)據(jù)輸出形式 (如 RS232 串行輸出,PIO 并行輸出,IEEE-488 總線輸出以及經(jīng) DA 轉(zhuǎn)換后的模擬量輸出等), 適配各種應(yīng)用系統(tǒng)。 14 單總線系統(tǒng)概述 目前常用的微機(jī)與外設(shè)之間進(jìn)行的數(shù)據(jù)通信的串行總線主要有 I 2C 總線, SPI 總 線等。其中 I 2C 總線以同步串行 2 線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)線) , SPI 總線則以同步串行 3 線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸 出線) 。這些總線至少需要兩條或兩條以上的信號(hào)線。而單總線( 1-wire bus ) ,它采 用單根信號(hào)線,既傳輸時(shí)鐘,又傳輸數(shù)據(jù),最基本的操作有初始化、寫和讀 3 種,所有 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)7 其它的操作都由這 3 種基本操作組合而成。在這種操作中,只有寫操作是單向的,初始 化操作和讀操作都是雙向的。CPU 只需一根端口線就能與諸多單總線器件通信,占用微 處理器的端口較少,可節(jié)省大量的引線和邏輯電路。 因而,這種單總線技術(shù)具有節(jié)省 I/O 口線,結(jié)構(gòu)簡單,成本低廉,軟件設(shè)計(jì)簡單,便于總線擴(kuò)展和維護(hù)。同時(shí),基于單 總線技術(shù)能較好地解決傳統(tǒng)識(shí)別器普遍存在的攜帶不便,易損壞,易受腐饋,易受電磁 干擾等不足,因此,單總線具有廣闊的應(yīng)用前景,是值得關(guān)注的一個(gè)發(fā)展領(lǐng)域。 單總線系統(tǒng)中的數(shù)據(jù)交換,控制都由這一根數(shù)據(jù)線完成。主機(jī)或從機(jī)通過一個(gè)漏極 開路或三態(tài)端口連至數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其它設(shè)備 使用總線。單總線通常要求外接一個(gè)約為 4.7K 的上拉電阻,這樣,當(dāng)總線閑置時(shí)其狀 態(tài)為高電平。 15 智能溫度傳感器發(fā)展的新趨勢 進(jìn)入 21 世紀(jì)后,智能溫度傳感器正朝著總線標(biāo)準(zhǔn)化、多功能、高精度、高可靠性及 安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。 (1 1)提高測溫精度和分辨力)提高測溫精度和分辨力 在 20 世紀(jì) 90 年代中期最早推出的智能溫度傳感器,采用的是 8 位 A/D 轉(zhuǎn)換器,其 測溫精度較低,分辨力只能達(dá)到 1。目前,國外已相繼推出多種高精度、高分辨力的 智能溫度傳感器,所用的是 912 位 A/D 轉(zhuǎn)換器,分辨力一般可達(dá) 0.50.0625。由美 國 DALLAS 半導(dǎo)體公司新研制的 DS1624 型高分辨力智能溫度傳感器,能輸出 13 位二進(jìn)制 數(shù)據(jù),其分辨力高達(dá) 0.03125,測溫精度為0.2。為了提高多通道智能溫度傳感器 的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式 A/D 轉(zhuǎn)換器。以 AD7817 型 5 通道智能溫度 傳感器為例,它對(duì)本地傳感器、每一路遠(yuǎn)程傳感器的轉(zhuǎn)換時(shí)間分別僅為 27s、9s。 (2 2)增加測試功能)增加測試功能 新型智能溫度傳感器的測試功能也在不斷增強(qiáng)。例如,DS1629 型單線智能溫度傳感 器增加了實(shí)時(shí)日歷時(shí)鐘(RTC),使其功能更加完善。DS1624 還增加了存儲(chǔ)功能,利用 芯片內(nèi)部 256 字節(jié)的 E2PROM 存儲(chǔ)器,可存儲(chǔ)用戶的短信息。另外,智能溫度傳感器正從 單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。 智能溫度傳感器都具有多種工作模式可供選擇,主要包括單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換 模式、待機(jī)模式,有的還增加了低溫極限擴(kuò)展模式,操作非常簡便。對(duì)某些智能溫度傳 感器而言,主機(jī)(外部微處理器或單片機(jī))還可通過相應(yīng)的寄存器來設(shè)定其 A/D 轉(zhuǎn)換速率 (典型產(chǎn)品為 MAX6654),分辨力及最大轉(zhuǎn)換時(shí)間(典型產(chǎn)品為 DS1624)。 智能溫度控制器是在智能溫度傳感器的基礎(chǔ)上發(fā)展而成的。典型產(chǎn)品有 DS1620、DS1623、TCN75、LM76、MAX6625。智能溫度控制器適配各種微控制器,構(gòu)成智 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)8 能化溫控系統(tǒng);它們還可以脫離微控制器單獨(dú)工作,自行構(gòu)成一個(gè)溫控儀。 (3 3)總線技術(shù)的標(biāo)準(zhǔn)化與規(guī)范化)總線技術(shù)的標(biāo)準(zhǔn)化與規(guī)范化 目前,智能溫度傳感器的總線技術(shù)也實(shí)現(xiàn)了標(biāo)準(zhǔn)化、規(guī)范化,所采用的總線主要有 單線(1-Wire)總線、I2C 總線、SMBus 總線和 spI 總線。溫度傳感器作為從機(jī)可通過專用 總線接口與主機(jī)進(jìn)行通信。 (4 4)高可靠性及安全性設(shè)計(jì))高可靠性及安全性設(shè)計(jì) 傳統(tǒng)的 A/D 轉(zhuǎn)換器大多采用積分式或逐次比較式轉(zhuǎn)換技術(shù),其噪聲容限低,抑制混 疊噪聲及量化噪聲的能力比較差。新型智能溫度傳感器(例如 TMP03/04、LM74、LM83)普 遍采用了高性能的 式 A轉(zhuǎn)換器,它能以很高的采樣速率和很低的采樣分辨力 將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再利用過采樣、噪聲整形和數(shù)字濾波技術(shù),來提高有效分 辨力。 式 AD 轉(zhuǎn)換器不僅能濾除量化噪聲,而且對(duì)外圍元件的精度要求低;由 于采用了數(shù)字反饋方式,因此比較器的失調(diào)電壓及零點(diǎn)漂移都不會(huì)影響溫度的轉(zhuǎn)換精度。 為了避免在溫控系統(tǒng)受到噪聲干擾時(shí)產(chǎn)生誤動(dòng)作,在 AD7416/7417/7817、LM7576、MAX66256626 等智能溫度傳感器的內(nèi)部,都設(shè)置了一 個(gè)可編程的“故障排隊(duì)(fAultqueue)”計(jì)數(shù)器,專用于設(shè)定允許被測溫度值超過上、下 限的次數(shù)。僅當(dāng)被測溫度連續(xù)超過上限或低于下限的次數(shù)達(dá)到或超過所設(shè)定的次數(shù) n(n=14)時(shí),才能觸發(fā)中斷端。若故障次數(shù)不滿足上述條件或故障不是連續(xù)發(fā)生的,故 障計(jì)數(shù)器就復(fù)位而不會(huì)觸發(fā)中斷端。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)9 2 數(shù)字溫度傳感器 DS18B20 21 DS18B20 概述 由 dallas 半導(dǎo)體公司生產(chǎn)的 ds18b20 型單線智能溫度傳感器,屬于新一代適配微處 理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測 控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。 211 性能特點(diǎn) (1)采用單總線的接口方式。與微處理器連接時(shí),僅需要一條口線即可實(shí)現(xiàn)微處理 器與 DS18B20 的雙向通訊。 (2)測量溫度范圍寬。測量精度高 DS18B20 的測量范圍為 -55 + 125 ; 在 -10+ 85C 范圍內(nèi),精度為 0.5C 。 (3)在使用中不需要任何外圍元件。 (4)持多點(diǎn)組網(wǎng)功能。多個(gè) DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫。 (5)供電方式靈活。DS18B20 可以通過內(nèi)部寄生電路從數(shù)據(jù)線上獲取電源。因此, 當(dāng)數(shù)據(jù)線上的時(shí)序滿足一定的要求時(shí),可以不接外部電源,從而 使系統(tǒng)結(jié)構(gòu)更趨簡單, 可靠性更高。 (6)測量參數(shù)可配置。DS18B20 的測量分辨率可通過程序設(shè)定 912 位。 (7)負(fù)壓特性。電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 (8)掉電保護(hù)功能。DS18B20 內(nèi)部含有 EEPROM,在系統(tǒng)掉電以后,它仍可保存分 辨率及報(bào)警溫度的設(shè)定值。 DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟(jì)、可選更小的封裝方式,更寬的電 壓適用范圍,適合于構(gòu)建自己的經(jīng)濟(jì)的測溫系統(tǒng),因此也就被設(shè)計(jì)者們所青睞。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)10 212 內(nèi)部結(jié)構(gòu) DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:溫度傳感器,64 位光刻 ROM,非揮發(fā)的溫度 報(bào)警觸發(fā)器 TH 和 TL,高速暫存器。 圖 2.1 DS18B20 內(nèi)部結(jié)構(gòu) 213 管腳排列 DS1820 采用 3 腳 PR-35 封裝或 8 腳 SOIC 封裝,管腳排列如圖 2.2 所示。圖中 GND 為地,I/O 為數(shù)據(jù)輸入/輸出端(即單線總線) ,該腳為漏極開路輸出,常態(tài)下呈高電平。 VDD 是外部+5V 電源端,不用時(shí)應(yīng)接地。NC 為空腳。 圖 2.2 DS18B20 的管腳排列圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)11 214 工作方式 (1)寄生電源供電方式 所謂“寄生供電模式”就是省去系統(tǒng)總線中的電源線,由數(shù)據(jù)線為單總線器件提供 電能,從而使系統(tǒng)總線由 3 根變?yōu)?2 根,方便了現(xiàn)場布線。DS18B20 從單線信號(hào)線上汲 取能量,在信號(hào)線 DQ 處于高電平期間把能量儲(chǔ)存在內(nèi)部電容里,在信號(hào)線處于低電平期 間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 為了使 DS18B20 在動(dòng)態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 E2 存儲(chǔ)器操作時(shí),用 MOSFET 把 I/O 線直接拉到 VCC 就可提供足夠的電流,在發(fā)出任何 涉及到拷貝到 E2 存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的指令后,必須在最多 10S 內(nèi)把 I/O 線轉(zhuǎn)換到 強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點(diǎn)測溫應(yīng) 用,缺點(diǎn)就是要多占用一根 I/O 口線進(jìn)行強(qiáng)上拉切換。 圖 2.3 寄生電源工作方式 (2)外接電源工作方式 當(dāng)溫度高于 100 時(shí),不推薦使用寄生電源,因?yàn)榇藭r(shí)器件中較大的漏電流會(huì)使總 線不能可靠檢測高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。在類似這種溫度的情況下, 推薦使用 DS18B20 的 VDD 引腳。 圖 2.4 外接電源工作方式 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)12 22 DS18B20 存儲(chǔ)器及設(shè)置寄存器 DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦 除的 E2RAM, 后者存放高溫度和低溫度觸發(fā)器 TH 、 TL 和結(jié)構(gòu)寄存器。數(shù)據(jù)先寫入 RAM ,經(jīng)校驗(yàn)后再傳給 E2RAM 。 暫存存儲(chǔ)器包含了 8 個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測得的溫度信息,第一個(gè)字節(jié)的 內(nèi)容是溫度的低八位 TL ,第二個(gè)字節(jié)是溫度的高八位 TH 。第三個(gè)和第四個(gè)字節(jié)是 TH 、 TL 的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每 一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字 節(jié),可用來保證通信正確。 DS18B20 的分布如下: 表 2.1 DS18B20 的暫存寄存器分布 寄存器內(nèi)容地址 溫度的低八位數(shù)據(jù)0 溫度的高八位數(shù)據(jù)1 高溫閥值2 低溫閥值 3 保留 4 保留 5 計(jì)數(shù)剩余值 6 每度計(jì)數(shù)值 7 CRC 校驗(yàn) 8 在 64 b ROM 的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼( CRC )。主機(jī)根據(jù) ROM 的前 56 位來計(jì)算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機(jī)收到的 ROM 數(shù)據(jù)是否正確。 設(shè)置寄存器位于高速閃存的低 5 個(gè)字節(jié),這個(gè)寄存器中的內(nèi)容被用來確定溫度的轉(zhuǎn) 換精度。寄存器各位的內(nèi)容如下: 表 2.2 DS18B20 的設(shè)置寄存器各位內(nèi)容 BIT7 BIT6BIT5BIT4BIT3BIT2BIT1BIT0 TM R1R011111 該寄存器的低五位一直都是 1,TM 是測試模式位,用于設(shè)置 DS18B20 在工作模式還 是在測試模式。在 DS18B20 出廠時(shí)該位被設(shè)置為 0,用戶不要去改動(dòng)。 R1 和 R0 用來 設(shè)置分辨率,如下表所示:(DS18B20 出廠時(shí)被設(shè)置為 12 位) 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)13 表 2.3 分辨率設(shè)置 R1R0 分辨率 溫度最大轉(zhuǎn)換時(shí)間 00 9 位 93.75 ms 01 10 位 187.5 ms 10 11 位 375 ms 00 12 位 750 ms 由表可知,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長。因此,在實(shí)際 應(yīng)用中要在分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。本次設(shè)計(jì)中采用的為 12 位分辨率,即 750MS 轉(zhuǎn) 換時(shí)間 23 DS18B20 測溫原理 DS18B20 其內(nèi)部含有兩個(gè)溫度系數(shù)不同的溫敏振蕩器,其中低溫度系數(shù)振蕩器相當(dāng) 于標(biāo)尺,高溫度系數(shù)振蕩器相當(dāng)于測溫元件,通過不斷比較兩個(gè)溫敏振蕩器的振蕩周期 得到兩個(gè)溫敏振蕩器在測量溫度下的振蕩頻率比值。根據(jù)頻率比值和溫度的對(duì)應(yīng)曲線得 到相應(yīng)的溫度值。這種方式避免了測溫過程中的 A/D 轉(zhuǎn)換,提高了溫度測量的精度。低 溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì) 數(shù)器 1。高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,很敏感的振蕩器,所產(chǎn)生的 信號(hào)作為減法計(jì)數(shù)器 2 的脈沖輸入,為計(jì)數(shù)器 2 提供一個(gè)頻率隨溫度變化的計(jì)數(shù)脈沖。 圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí), DS18B20 就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈 沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每 次測量前,首先將 -55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器 1 和溫度寄存器中,減法 計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在 -55 所對(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ù)置將重新被裝入,減法計(jì)數(shù)器 1 重新開始對(duì)低溫 度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器 2 計(jì)數(shù)到 0 時(shí),停止 溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。斜率累加器用于補(bǔ)償和 修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉 就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)14 圖 2.5 DS18B20 的內(nèi)部測溫電路框圖 DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:溫度傳感器、64 位光刻 ROM、非揮發(fā)的溫度 報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。 光刻 ROM 中的 64 位序列號(hào)是出廠前被光刻好的,它可以看作是該 DS18B20 的地址 序列碼。64 位光刻 ROM 的排列是:開始 8 位(地址:28H)是產(chǎn)品類型的編號(hào),接著的 48 位是每個(gè) DS18B20 自身的序列號(hào),并且每個(gè) DS18B20 的序列號(hào)都不相同,因此它可以 看作是該 DS18B20 的地址序列碼;最后 8 位則是前面 56 位的 CRC 校驗(yàn)碼 (CRC=X8+X5+X4+1) 。由于每一個(gè) DS18B20 的 ROM 數(shù)據(jù)都各不相同,因此微控制器就可 以通過單總線對(duì)多個(gè) DS18B20 進(jìn)行尋址,從而實(shí)現(xiàn)一根總線上掛接多個(gè) DS18B20 。 圖 2.6 64b 閃速 ROM DS18B20 中的溫度傳感器用于完成對(duì)溫度的測量,它的測量精度可以配置成 9 位, 10 位,11 位或 12 位 4 種狀態(tài)。溫度傳感器在測量完成后將測量的結(jié)果存儲(chǔ)在 DS18B20 的兩個(gè) 8BIT 的 RAM 中,單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后 數(shù)據(jù)的存儲(chǔ)格式如下表(以 12 位轉(zhuǎn)化為例): 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)15 圖 2.7 溫度信號(hào)寄存器格式 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制 中的前面 5 位是符號(hào)位,如果測得的溫度大于 0 ,這 5 位為 0 ,只要將測到的數(shù)值 乘于 0.0625 即可得到實(shí)際溫度;如果溫度小于 0 ,這 5 位為 1 ,測到的數(shù)值需要取 反加 1 再乘于 0.0625 即可得到實(shí)際溫度。 例如: + 125 的數(shù)字輸出為 07D0H , + 25.0625 的數(shù)字輸出為 0191H , -25.0625 的數(shù)字輸出為 FF6FH , -55 的數(shù)字輸出為 FC90H 。 DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 TH , TL 作比較,若 TTH 或 T1000 次)。 (4)更適合小批量系統(tǒng)的應(yīng)用,容易實(shí)現(xiàn)軟件的升級(jí)。 (5)20 條 I/O 量已經(jīng)滿足本次設(shè)計(jì)要求。 42 總體設(shè)計(jì) 在本次設(shè)計(jì)中,采用了以 DS18B20 與 AT89C2051 為系統(tǒng)基礎(chǔ)。 溫度傳感器 DS18B20 將被測環(huán)境溫度轉(zhuǎn)化成帶符號(hào)的數(shù)字信號(hào)(以十六位補(bǔ)碼形式, 占兩個(gè)字節(jié)),傳感器可置于離裝置 150 米以內(nèi)的任何地方,輸出腳 I/O 直接與單片機(jī) 的 P3.7 相連,傳感器采用寄生電源供電。AT89C2051 是整個(gè)裝置的控制核心,它內(nèi)帶 1K 字節(jié)的 FlashROM,用戶程序存放在這里。顯示器模塊由 5 個(gè) LED4205 組成。系統(tǒng)程序分 為傳感器控制程序和顯示器程序兩部分。傳感器控制程序按照 DS18B20 的通信協(xié)議編制。 系統(tǒng)的工作是在程序控制下,完成對(duì)傳感器的讀寫操作和對(duì)溫度的顯示。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)27 43 詳細(xì)設(shè)計(jì) 431 硬件原理圖 圖 4.1 基于單總線溫度傳感器的溫度檢測系統(tǒng)硬件原理圖 432 DS18B20 與 89C2051 連線圖 輸出腳 DQ 直接與單片機(jī)的 P3.7 相連,傳感器采用寄生電源供電。 圖 4.2 DS18B20 與 89C2051 連線原理圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)28 433 顯示電路 圖 4.3 89C2051 與 LED4205 部分連線圖 434 復(fù)位電路 圖 4.4 復(fù)位電路原理圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)29 5 軟件調(diào)試 51 系統(tǒng)流程 511 對(duì) DS18B20 操作流程圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)30 512 初始化流程圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)31 513 讀操作流程圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)32 514 寫操作流程圖 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)33 515 溫度轉(zhuǎn)換流程圖 52 系統(tǒng)部分程序設(shè)計(jì)及分析 521 初始化子程序 復(fù)位時(shí)序: (1)主機(jī)將信號(hào)線置為低電平,時(shí)間為 480-960uS (2)主機(jī)將信號(hào)線置為高電平,時(shí)間為 15-60uS (3)DS18B20 發(fā)出 60-240uS 的低電平作為應(yīng)答信號(hào),主機(jī)收到此信號(hào)后才能操作 DSREST: NOP SETB DAT ;拉高數(shù)據(jù)線 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)34 NOP CLR DAT ;拉低數(shù)據(jù)線 512uS MOV R0,#80H TSR0: DJNZ R0,TSR0 ;雙字節(jié) 4uS 做 128 次,延時(shí) 512uS SETB DAT ;拉高數(shù)據(jù)線 32uS MOV R0,#08H TSR1: DJNZ R0,TSR1 ;雙字節(jié) 4uS 做 8 次,延時(shí) 32uS MOV R0,#10H ;設(shè)定讀 DS1820B 應(yīng)答信號(hào)的最大時(shí)限為 16*4*2=128u TSR2: JNB DAT,TSR3 ;數(shù)據(jù)線低電平,已讀到,轉(zhuǎn) DJNZ R0,TSR2 LJMP TSR4 ;未讀到,轉(zhuǎn) TSR3: SETB FDS18 ;讀到后置復(fù)位成功標(biāo)志 LJMP TSR5 TSR4: CLR FDS18 LJMP TSR7 TSR5: MOV R0,#40H TSR6: DJNZ R0,TSR6 ;雙字節(jié) 4uS 做 64 次,延時(shí) 256uS TSR7: SETB DAT ;拉高數(shù)據(jù)線 RET 522 讀子程序 讀入數(shù)據(jù)高位字節(jié)放在 BDS18H,低位字節(jié)放在 BDS18L,讀時(shí)序: (1)主機(jī)將信號(hào)線從高電平拉至低電平 1uS 以上,再升為高電平,產(chǎn)生讀起始信號(hào) (2)從主機(jī)將信號(hào)線從高電平拉至低電平 15-60uS 的時(shí)間內(nèi),DS18B20 將數(shù)據(jù)放到信 號(hào)線上,完成 1 個(gè)讀周期 (3)在開始另一個(gè)讀周期前,必須有 1uS 以上的高電平恢復(fù)期 DS18RD: NOP MOV R4,#02H MOV R1,#60H RE00: MOV R2,#08H RE01: CLR C SETB DAT ;拉高數(shù)據(jù)線 NOP CLR TR0 ;讀時(shí)序較關(guān)鍵,不允許 T0 中斷 CLR DAT ;拉低數(shù)據(jù)線 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)35 NOP SETB DAT MOV R3,#04H RE10: DJNZ R3,RE10 ;雙字節(jié) 4uS 做 4 次,延時(shí) 16uS MOV C,DAT ;讀入 1 位數(shù)據(jù) MOV R3,#10H RE20: DJNZ R3,RE20 RRC A ;移入 A SETB TR0 DJNZ R2,RE01 ;不到 8 位,循環(huán) MOV R1,A ;讀入 1 個(gè)字節(jié),放到 60H INC R1 ;下一個(gè)數(shù)據(jù)放到 61H DJNZ R4,RE00 MOV BDS18L,60H MOV BDS18H,61H SETB TR0 RET 523 寫子程序 要寫的數(shù)據(jù)放在累加器 A,寫時(shí)序: (1)主機(jī)將信號(hào)線從高電平拉至低電平,產(chǎn)生寫起始信號(hào) (2)從信號(hào)線的下降沿開始,在 15-60uS 的時(shí)間內(nèi),DS18B20 對(duì)信號(hào)線檢測,如高則 寫 1,低則寫 0,完成 1 個(gè)寫周期 (3)在開始另一個(gè)寫周期前,必須有 1uS 以上的高電平恢復(fù)期 DS18WR: NOP MOV R2,#08H ;共寫 1 字節(jié) 8 位 CLR C WR1: CLR DAT ;拉低數(shù)據(jù)線 NOP RRC A ;移出 1 位數(shù)據(jù) MOV DAT,C ;將 1 位數(shù)據(jù)放到數(shù)據(jù)線上 MOV R3,#10H WR1Y: DJNZ R3,WR1Y ;雙字節(jié) 4uS 做 16 次,延時(shí) 64uS SETB DAT ;拉高數(shù)據(jù)線 NOP NOP 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)36 DJNZ R2,WR1 ;不到 8 位,循環(huán) SETB DAT ;到 8 位,拉高數(shù)據(jù)線 RET 524 延時(shí)子程序 DELAY1=(4*250)+2)*100)+2)*1uS,約 100mS DELAY1: NOP MOV R6,#64H DLOP1: MOV R5,#0FAH DLOP0: DJNZ R5,DLOP0 DJNZ R6,DLOP1 RET 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)37 6 6 結(jié)論結(jié)論 由此我們可以得出結(jié)論:由 DS18B20 和 AT89C2051 組成的該溫度檢測系統(tǒng)是完全可行 的。該系統(tǒng)具有更高速、更靈敏、更簡捷地獲取被分析、檢測、控制對(duì)象的溫度信息的 能力,同時(shí)具有良好的抗干擾及環(huán)境適應(yīng)能力(測溫范圍-55 + 125 )。因其體積小, 使用方便,封裝形式多樣 ,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域 ,且系統(tǒng) 結(jié)構(gòu)較為簡單,可大規(guī)模的采用,成本低廉。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)38 致 謝 本次設(shè)計(jì)是在賴申江老師的悉心指導(dǎo)下完成的。在整個(gè)過程中,導(dǎo)師給予了大量指導(dǎo), 并提供了很多與該研究相關(guān)的重要信息,培養(yǎng)了我們對(duì)科學(xué)研究的嚴(yán)謹(jǐn)態(tài)度和創(chuàng)新精神, 對(duì)我影響深遠(yuǎn)。不僅使我掌握了基本的科學(xué)研究方法,還使我明白了許多待人接物與為 人處世的道理,這將非常有利于我今后的學(xué)習(xí)和工作。 本論文從最初選題到最終完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大 量的精力。在此,謹(jǐn)向?qū)煴硎局孕牡母兄x和至高的敬意! 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)39 結(jié)束語 轉(zhuǎn)眼大學(xué)生活就進(jìn)入到了尾聲,而在這個(gè)時(shí)我也完成自己的畢業(yè)設(shè)計(jì)。畢業(yè)設(shè)計(jì)對(duì) 任何一個(gè)畢業(yè)生來說都應(yīng)該是非常重要的,因?yàn)檫@需要通過自己所學(xué)到的知識(shí)來解決實(shí) 際的問題,是對(duì)自己綜合能力的一個(gè)考驗(yàn)。畢業(yè)設(shè)計(jì)的水平在很大程度上代表了畢業(yè)生 的水平,只有合格完成了畢業(yè)設(shè)計(jì)的人才能算做一個(gè)合格的畢業(yè)生。 這次我設(shè)計(jì)的是基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)。在設(shè)計(jì)過程中,我通 過各種途徑查閱了大量的關(guān)于溫度傳感器和單片機(jī)的資料??紤]到 AT89C2051,80C31 和 PIC 單片機(jī)的特點(diǎn),最后決定選用 AT89C2051。并利用 PROTEL 來制作原理圖和印刷板。 至此,所有關(guān)于畢業(yè)設(shè)計(jì)的內(nèi)容就介紹完了。雖然我花費(fèi)了很多時(shí)間來盡力把畢設(shè) 做好,但是由于個(gè)人能力的原因,整個(gè)系統(tǒng)還是不夠完善的,還有許多地方值得改進(jìn)。 今后有機(jī)會(huì)再將其完善。 老師們常說畢業(yè)設(shè)計(jì)重在過程,事實(shí)也確是如此。在整個(gè)畢設(shè)的過程,我學(xué)到了許 多過去沒有接觸過的新的知識(shí),也將過去所學(xué)的知識(shí)又做了一次溫習(xí)。這些收獲給我?guī)?來的幫助遠(yuǎn)不止作好畢業(yè)設(shè)計(jì)那么簡單,我相信在踏上工作崗位之后它們也將成為我向 上的堅(jiān)實(shí)基礎(chǔ)。 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)40 參考文獻(xiàn) 1 丁元杰,單片機(jī)原理及應(yīng)用,機(jī)械工業(yè)出版社; 2 李華,MCS-51 系列單片機(jī)實(shí)用接口技術(shù),北京航空航天出版社; 3 何立民,單片機(jī)應(yīng)用文集,北京航空航天出版社; 4 何英,Protel99 入門與實(shí)用,機(jī)械工業(yè)出版社; 5 鄭華耀,檢測技術(shù),機(jī)械工業(yè)出版社; 6 王武江等,常用集成電路速查手冊(cè),冶金工業(yè)出版社; 7 赦鴻安, 常用數(shù)字集成電路應(yīng)用手冊(cè),中國計(jì)量出版社; 8 李建勛, 數(shù)字電路與邏輯設(shè)計(jì),科學(xué)出版社; 9 曹漢房等, 數(shù)字技術(shù)教程,電子工業(yè)出版社; 10 朱積川 劉澤堅(jiān),數(shù)字電路與脈沖電路實(shí)驗(yàn),高等教育出版社; 11 王俊杰,單總線測溫系統(tǒng)碩士學(xué)位論文,北京,清華大學(xué)。 12 Lynch J P, Law K H, Kiremidjian A S, Kenny T W, Carryer E ,and Partridge A. The design of wireless sensing unit for structural health monitoring Proceeding of the 3th International Workshop on Structural Health MonitoringC 13 Klyachkin,ML, Sloan,DA. Secondary hyperparathyroidism: evidence for an association with papillarythyroid cancer. American Surgeon 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)41 附錄:硬件、監(jiān)控主程序、實(shí)物照片附錄:硬件、監(jiān)控主程序、實(shí)物照片 1 基于 DS18B20 的溫度檢測系統(tǒng)原理圖 2 監(jiān)控主程序 ;- ;功能: ;5 位數(shù)碼管動(dòng)態(tài)顯示 ;溫度傳感器采樣及顯示,數(shù)碼管動(dòng)態(tài)顯示溫度(XXX.XX),出錯(cuò)顯示 Err1- ;-位定義- FDS18 EQU 06H ;DS18B20 復(fù)位標(biāo)志 F1S EQU 07H ; 1 秒到時(shí)間標(biāo)志 DAT EQU P3.7 ; 溫度數(shù)據(jù)線,DS18B20 的第 2 腳 ;-字節(jié)定義- T40 EQU 31H ;40mS 計(jì)時(shí)單元 T1000 EQU 32H ;1S 計(jì)時(shí)單元 BCNT EQU 33H ;顯示位單元,從 01H-20H 移位切換 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)42 DATA1 EQU 34H DATA2 EQU 35H DATA3 EQU 36H DATA4 EQU 37H DATA5 EQU 38H BNUM EQU 39H ;溫度整數(shù)單元(二進(jìn)制) BNUM1 EQU 3AH ;溫度小數(shù)單元(二進(jìn)制) BDS18H EQU 3BH ;DS18B20 采樣值高位字節(jié) BDS18L EQU 3CH ;DS18B20 采樣值低位字節(jié) ;-系統(tǒng)中斷入口- ORG 0000H LJMP START ;引向主程序入口 ORG 000BH LJMP PGT0 ;T0 中斷正常入口,轉(zhuǎn)定時(shí)器中斷服務(wù)程序 ;-系統(tǒng)初始入口- ORG 0027H START: MOV SP,#68H ;-定時(shí)/計(jì)數(shù)控制器初始化- MOV TMOD,#20H ;T1 方式 2,8 位自動(dòng)裝載。T0 方式 0,13 位計(jì) 數(shù) MOV TL0,#18H ;T0 置初值,6MHZ 晶振,2MS 定時(shí)中斷 MOV TH0,#0E0H ;-清 8031RAM 及外設(shè)-_- CLR A MOV R0,#20H MOV R7,#47H RCLP0: MOV R0,A INC R0 DJNZ R7,RCLP0 MOV BCNT,#01H CLR A MOV T40,A MOV T1000,A MOV DATA1,A MOV DATA2,A 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)43 MOV DATA3,A MOV DATA4,A MOV DATA5,A ;- SETB TR0 ;TR0 是 TCON 的 D4 位,TR0=1,啟動(dòng) T0 SETB ET0 SETB EA ;CPU 開中斷 ;-監(jiān)控程序循環(huán)- ;監(jiān)控程序 0.5 秒鐘循環(huán) 1 次 MAIN: SETB F1S NOP LJMP DS18B ; 轉(zhuǎn) DS18B20 溫度采樣 NOP DS18B: SETB DAT ; 拉高數(shù)據(jù)線 LCALL DSREST ;復(fù)位 DS18B20 JNB FDS18,DSERR1 ; 復(fù)位 DS18B20 失敗,轉(zhuǎn)其它處理,顯示 Err1 MOV A,#0CCH ; CCH 是命令字,跳過 DS18B20 的 ROM 序列號(hào)檢測 LCALL DS18WR ;寫入該命令 MOV A,#44H ;44H 是命令字,使 DS18B20 開始溫度轉(zhuǎn) 換 LCALL DS18WR ;寫入該命令 LCALL DELAY1 ;延時(shí),等待轉(zhuǎn)換結(jié)果 LCALL DSREST ;復(fù)位 DS18B20 JNB FDS18,DSERR2 ;復(fù)位 DS18B20 失敗,轉(zhuǎn)其它處理,顯示 Err2 MOV A,#0CCH ;跳過 DS18B20 的 ROM 序列號(hào)檢測 LCALL DS18WR ;寫入該命令 MOV A,#0BEH ;BEH 是讀命令字 LCALL DS18WR ;寫入讀數(shù)據(jù)命令 LCALL DS18RD ; 讀出 DS18B20 溫度轉(zhuǎn)換結(jié)果,放到 BDS18H 及 BDS18L CLR A MOV BNUM1,A ;清 BNUM1 基于單總線溫度傳感器的溫度檢測系統(tǒng)設(shè)計(jì)44 MOV A,BDS18L ;先算小數(shù)部分,從 BDS18L 中取 D3-D0 位 JNB ACC.3,D30 MOV BNUM1,#32H ;0.5 度,顯示加 50(32H) D30: JNB ACC.2,D20 MOV A,BNUM1 ADD A,#19H ;0.25 度,顯示加 25(19H) MOV BNUM1,A D20: JNB ACC.1,D10 MOV A,BNUM1 ADD A,#0DH ;0.125 度,顯示加 13(0DH) MOV BNUM1,A D10: JNB AC

溫馨提示

  • 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)論