基于DS18B20芯片溫度檢測(cè)設(shè)計(jì)畢業(yè)論文_第1頁
基于DS18B20芯片溫度檢測(cè)設(shè)計(jì)畢業(yè)論文_第2頁
基于DS18B20芯片溫度檢測(cè)設(shè)計(jì)畢業(yè)論文_第3頁
基于DS18B20芯片溫度檢測(cè)設(shè)計(jì)畢業(yè)論文_第4頁
基于DS18B20芯片溫度檢測(cè)設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于 ds18b20 芯片溫度檢測(cè)設(shè)計(jì) 摘要 ds18b20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可 以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠。本文結(jié)合實(shí) 際使用經(jīng)驗(yàn),介紹了ds18b20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了 軟件流程圖。 該系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。下位機(jī)實(shí)現(xiàn)溫度的檢測(cè)并提供標(biāo)準(zhǔn)rs232通信 接口,芯片使用了atmel公司的at89c51單片機(jī)和dallas公司的ds18b20數(shù)字溫度傳感器。上 位機(jī)部分使用了通用pc。該系統(tǒng)可應(yīng)用于倉庫測(cè)溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域。 關(guān)鍵字:關(guān)鍵字

2、:溫度測(cè)量 ds18b20 數(shù)字溫度傳感器 單片機(jī) ds18b20 temperature detection system design abstract as a kind of high-accuracy digital net temperature sensor,ds18 b20 can be used building a sensor net easily. it can also make the net simple and reliable with its special 1-wire interface .this paper introduces the applic

3、ation of ds18b20 with single chip processor. thesystem is constituted by two parts the temperature measured part and displayed part. the temperature measured part has a rs232 interface. it used at89c51 of atmel company and ds18b20 of dallas company .the displayed part uses pc .this system is applied

4、 in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc. key words:temperature measure;ds18b20;digital thermometer;single chip processor 目錄 摘要.i abstract.ii 第一章 緒論.1 1.1 系統(tǒng)背景 .1 1.2 系統(tǒng)概述.1 第二章 ds18b20 與設(shè)計(jì)關(guān)鍵.2 2.1 ds18b

5、20 數(shù)字化溫度傳感器 .2 2.2 傳感器部分.3 2.3 主控制部分.3 2.4 系統(tǒng)方案.4 第三章 硬件電路設(shè)計(jì).5 3.1 電源以及看門狗電路.5 3.2.1 鍵盤電路.5 3.2.2 溫度顯示電路.5 3.2 鍵盤以及顯示電路 .6 3.2.1 鍵盤電路.6 3.2.2 溫度顯示電路.7 3.2 溫度測(cè)試電路 .8 3.2.1 ds18b20 內(nèi)部結(jié)構(gòu) .9 3.2.2 高速暫存存儲(chǔ)器.10 3.3 串口通訊電路.11 3.4 整體電路.13 第四章 軟件設(shè)計(jì).14 4.1 概述.14 4.2 主程序方案 .14 4.3 各模塊子程序設(shè)計(jì).16 4.3.1 溫度測(cè)試子程序設(shè)計(jì).16

6、 4.3.2 中斷控制程序設(shè)計(jì).17 4.3.3 串口通信程序設(shè)計(jì).17 第五章系統(tǒng)調(diào)試.19 5.1 分步調(diào)試.19 5.1.1 測(cè)試環(huán)境及工具.19 5.1.2 測(cè)試方法.19 5.1.3 測(cè)試結(jié)果分析.19 5.2 統(tǒng)一調(diào)試.19 結(jié)語.20 參考文獻(xiàn).21 致謝.22 第一章 緒論 1.11.1 系統(tǒng)背景系統(tǒng)背景 在工、農(nóng)業(yè)生產(chǎn)和日常生活中,對(duì)溫度的測(cè)量及控制占據(jù)著極其重要地位。首先了解一 下多點(diǎn)溫度檢測(cè)系統(tǒng)在各個(gè)方面的應(yīng)用領(lǐng)域:消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè) 備之過熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類運(yùn)輸工具之組件的過熱檢測(cè),保全與監(jiān) 視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試

7、,化工、機(jī)械等設(shè)備溫度過熱檢測(cè)。由此可見,溫度 檢測(cè)系統(tǒng)應(yīng)用十分廣闊。 1.21.2 系統(tǒng)概述系統(tǒng)概述 本設(shè)計(jì)運(yùn)用主從分布式思想,由上位機(jī)(pc微型計(jì)算機(jī)) ,下位機(jī)(單片機(jī))多點(diǎn)溫度 數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng)。該系統(tǒng)采用 rs-232串行通訊標(biāo) 準(zhǔn),通過上位機(jī)(pc)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場(chǎng)溫度采集。溫度值既可以送回主控pc 進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由下位機(jī)單獨(dú)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對(duì) 各點(diǎn)進(jìn)行控制。 下位機(jī)采用的是單片機(jī)基于數(shù)字溫度傳感器ds18b20的系統(tǒng)。ds18b20利用單總線的特點(diǎn) 可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量,輕松的組建傳感器網(wǎng)絡(luò)

8、,系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、 方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常 溫多點(diǎn)監(jiān)測(cè)場(chǎng)合。如糧食倉儲(chǔ)系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測(cè)、醫(yī) 療與健診的溫度測(cè)試、空調(diào)系統(tǒng)的溫度檢測(cè)、石化、機(jī)械 第二章 ds18b20 與設(shè)計(jì)關(guān)鍵 溫度檢測(cè)原則上有其共同的特點(diǎn):測(cè)量點(diǎn)多、環(huán)境復(fù)雜、布線分散、現(xiàn)場(chǎng)離監(jiān)控室遠(yuǎn)等。 若采用一般溫度傳感器采集溫度信號(hào),則需要設(shè)計(jì)信號(hào)調(diào)理電路、a/d 轉(zhuǎn)換及相應(yīng)的接口電 路,才能把傳感器輸出的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到計(jì)算機(jī)去處理。這樣,由于各種因素 會(huì)造成檢測(cè)系統(tǒng)較大的偏差,會(huì)使檢測(cè)系統(tǒng)的穩(wěn)定性和可靠性下降 。而ds

9、18b20溫度檢測(cè)系 統(tǒng)則補(bǔ)全上述缺陷。本次ds18b20溫度檢測(cè)系統(tǒng)的設(shè)計(jì)的關(guān)鍵在于兩部分:溫度傳感器的選 擇和主控單元的設(shè)計(jì)。 2.12.1 ds18b20ds18b20 數(shù)字化溫度傳感器數(shù)字化溫度傳感器 美國(guó) dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器 ds18b20 是支持 一線總線接口的溫度傳 感器,在其內(nèi)部使用了在板(on-b0ard)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一 只三極管的集成電路內(nèi)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò), 為測(cè)量系統(tǒng)的構(gòu)建引入全新概念?,F(xiàn)在,新一代的 ds18b20 體積更小、更經(jīng)濟(jì)、更靈活。使 你可以充分發(fā)揮“一線總線”的優(yōu)

10、點(diǎn)。 ds18b20 支持一線總線接口,測(cè)量溫度范圍為-55c+125c,在-10+85c 范圍內(nèi), 精度為0.5c。ds1822 的精度較差為2c?,F(xiàn)場(chǎng)溫度直接以一線總線的數(shù)字方式傳輸,大 大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過程控 制、測(cè)溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持 3v5.5v 的電壓范圍,使 系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 ds18b20 的主要特性: (1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電 (2)獨(dú)特的單線接口方式,ds18b20 在與微處理器連接時(shí)僅需要一條

11、口線即可實(shí)現(xiàn)微處 理器與 ds18b20 的雙向通訊 (3)ds18b20 支持多點(diǎn)組網(wǎng)功能,多個(gè) ds18b20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多 點(diǎn)測(cè)溫 (4)ds18b20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只 三極管的集成電路內(nèi) (5)溫范圍55125,在-10+85時(shí)精度為0.5 (6)可編程的分辨率為 912 位,對(duì)應(yīng)的可分辨溫度分別為 0.5、0.25、0.125 和 0.0625,可實(shí)現(xiàn)高精度測(cè)溫 (7)在 9 位分辨率時(shí)最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12 位分辨率時(shí)最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 (8)測(cè)量結(jié)果直

12、接輸出數(shù)字溫度信號(hào),以一線總線串行傳送給 cpu,同時(shí)可傳送 crc 校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力 (9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 2.22.2 傳感器部分傳感器部分 與ds18b20測(cè)溫系統(tǒng)相比,傳統(tǒng)的測(cè)溫方法是將模擬信號(hào)遠(yuǎn)距離采樣進(jìn)行ad轉(zhuǎn)換,而為 了獲得較高的測(cè)溫精度,就必須采用措施解決由長(zhǎng)線傳輸,多點(diǎn)測(cè)量切換及放大電路零點(diǎn)漂 移等造成的誤差補(bǔ)償問題。采用數(shù)字溫度芯片ds18b20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于 單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定, 它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100攝

13、氏度時(shí),最大線形偏差小于1攝氏度。 ds18b20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)ds1820和微控制器at89c51 構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的 結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大,且由于at89c51可以帶多個(gè)dsb1820,因此可以非常容易實(shí)現(xiàn)多 點(diǎn)測(cè)量.輕松的組建傳感器網(wǎng)絡(luò)。 采用溫度芯片ds18b20測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成, 使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的 干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)

14、 用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。 2.32.3 主控制部分主控制部分 本設(shè)計(jì)采用at89c51八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各 種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多 ds18b20控制工作,還可以與pc機(jī)通信.運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(pc微型計(jì)算機(jī)) ,下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng),實(shí) 現(xiàn)遠(yuǎn)程控制。另外at89c51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配 合使用都很成熟。 2.42.4 系統(tǒng)方案系統(tǒng)方案 系統(tǒng)采用針對(duì)傳統(tǒng)溫度測(cè)溫系統(tǒng)測(cè)溫點(diǎn)少,系統(tǒng)兼容

15、性及擴(kuò)展性較差的特點(diǎn),運(yùn)用分布 式通訊的思想。設(shè)計(jì)一種可以用于大規(guī)模多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng)。該系統(tǒng)采用的是 rs-232串行通訊的標(biāo)準(zhǔn),通過下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場(chǎng)的溫度采集,溫度數(shù)據(jù)既可以由下 位機(jī)模塊實(shí)時(shí)顯示,也可以送回上位機(jī)進(jìn)行數(shù)據(jù)處理,具有巡檢速度快,擴(kuò)展性好,成本低 的特點(diǎn)。 本次設(shè)計(jì)實(shí)際采用電路方案如下圖: 圖 2-1 電路實(shí)際方案 第三章 硬件電路設(shè)計(jì) 系統(tǒng)底層電路的功能主要包括:溫度測(cè)試及其相關(guān)處理,實(shí)時(shí)顯示溫度信息,與上位機(jī) 通訊傳輸溫度數(shù)據(jù)。硬件設(shè)計(jì)主要包括以下幾個(gè)模塊:電源以及看門狗電路, 鍵盤以及顯 示電路,溫度測(cè)試電路,串口通訊電路。 3.13.1 電源以及看門狗

16、電路電源以及看門狗電路 3.1.1 電源電路 因?yàn)閱纹瑱C(jī)工作電源為+5v,且底層電路功耗很小。采用7805三端穩(wěn)壓片即可滿足要求。 具體電路圖如下: 3.1.2 看門狗電路 考慮到底層電路板的工作環(huán)境相對(duì)惡劣,單片機(jī)會(huì)受到周圍環(huán)境的干擾,而出現(xiàn)程序跑 飛,死機(jī)等一些不可預(yù)知的不正常工作現(xiàn)象。工作人員也不可能到現(xiàn)場(chǎng)對(duì)單片機(jī)重起,本 設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路。定時(shí)查詢單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即 對(duì)單片機(jī)延時(shí)重起。保證系統(tǒng)安全可靠的運(yùn)行。 ne56604能為多種微處理器和邏輯系統(tǒng)提供復(fù)位信號(hào),其門限電平為4.2v 。在電源突然 掉電或電源電壓下降到低于門限電平時(shí)。ne56604將

17、產(chǎn)生精確的復(fù)位信號(hào)。ne56604內(nèi)置一個(gè) 看門狗定時(shí)器,用于監(jiān)控微處理器,以確保微處理器的正常運(yùn)行??撮T狗能產(chǎn)生一個(gè)系統(tǒng)復(fù) 位信號(hào)用來終止任何由于微處理器故障而引發(fā)的不正常的系統(tǒng)操作。ne56604的看門狗的監(jiān) 控周期為100ms(典型值) 。 特性: 1、正負(fù)雙邏輯輸出的有效復(fù)位信號(hào)。 2、精準(zhǔn)的門限電平監(jiān)測(cè)。 3、上電復(fù)位內(nèi)部延時(shí)。 4、可利用外部電阻調(diào)節(jié)的內(nèi)部看門狗定時(shí)器。 圖 3-1 硬件電源電路圖 5、看門狗定時(shí)器的監(jiān)控周期為100ms 典型值。 6、vcc=0.8vdc時(shí)產(chǎn)生有效的復(fù)位信號(hào)典型值,僅需很少的外圍元件。 具體電路圖如下: 3.23.2 鍵盤以及顯示電路鍵盤以及顯示電

18、路 3.2.1 鍵盤電路 單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵 或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。鍵盤有編碼和非編碼兩種。非編碼鍵盤 硬件電路極為簡(jiǎn)單。故本系統(tǒng)采用撥碼開關(guān)來控制。 具體電路如下: 圖 3-2 硬件看門狗電路圖 圖 3-3 硬件鍵盤電路圖 表 3-1 撥碼開關(guān)值及其含義表 a、開關(guān)狀態(tài)的可靠輸入 鍵開關(guān)狀態(tài)的可靠輸入有兩種解決方法。一種是軟件去抖動(dòng):它是在檢測(cè)到有鍵按下時(shí), 執(zhí)行一個(gè)10ms的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電 平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動(dòng)影響。另一種為硬件去抖動(dòng):

19、即為按鍵添加一 個(gè)鎖存器。兩種方法都簡(jiǎn)單易行,本設(shè)計(jì)采用的是硬件去抖。 b、對(duì)按鍵進(jìn)行編碼給定鍵值或給出鍵號(hào) 對(duì)于按鍵無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對(duì)應(yīng) 的鍵值,以實(shí)現(xiàn)按鍵功能程序的散轉(zhuǎn)轉(zhuǎn)移。為使編碼間隔小,散轉(zhuǎn)入口地址安排方便,常采 用依次序排列的鍵號(hào)。 撥碼開關(guān)值撥碼開關(guān)值含義含義 0000 實(shí)時(shí)顯示通道一的溫度值 0001實(shí)時(shí)顯示通道二的溫度值 0010實(shí)時(shí)顯示通道三的溫度值 0011實(shí)時(shí)顯示通道四的溫度值 0100實(shí)時(shí)顯示通道五的溫度值 0101實(shí)時(shí)顯示通道六的溫度值 0110實(shí)時(shí)顯示通道七的溫度值 0111實(shí)時(shí)顯示通道八的溫度值 1*自動(dòng)循環(huán)顯示所有

20、通道的溫度 c、選擇鍵盤監(jiān)測(cè)方法 對(duì)是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。本設(shè)計(jì)采用的查詢法,即 在在cpu空閑時(shí)調(diào)用鍵盤掃描子程序。 3.2.2 溫度顯示電路 設(shè)計(jì)采用的是共陰極七段數(shù)碼管。顯示方式有動(dòng)態(tài)掃描和靜態(tài)顯示,兩種方法在本設(shè)計(jì) 中皆可。由于靜態(tài)掃描要用到多片串入并出芯片,考慮到電路板成本計(jì)算。本人采用是節(jié)約 硬件資源的動(dòng)態(tài)掃描方式。即用兩塊芯片就可以完成顯示功能。顯示數(shù)據(jù)由4511譯碼器輸出, uln2003為位驅(qū)動(dòng)掃描信號(hào)。 具體電路圖如下: 3.23.2 溫度測(cè)試電路溫度測(cè)試電路 這里我們用到溫度芯片ds18b20。ds18b20是dallas公司生產(chǎn)的一線式數(shù)字

21、溫度傳感器, 具有3引腳to92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位 數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。cpu只需 一根端口線就能與諸多ds18b20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯 電路。 ds18b20支持“一線總線”接口,測(cè)量溫度范圍為 -55至+125,在-10至+85范圍內(nèi),精 度為0.5c。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合 于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。 圖 3-4 溫度顯示電路圖 表 3-2 寄存器分辨

22、率轉(zhuǎn)換數(shù)值及含義表 表 3-3 配置寄存器與分辨率表 3.2.1 ds18b20 內(nèi)部結(jié)構(gòu) ds18b20有4個(gè)主要的數(shù)據(jù)部件: 1、64位激光rom。64位激光rom從高位到低位依次為8位crc、48位序列號(hào)和8位家族 代碼(28h)組成。 2、溫度靈敏元件。 3、非易失性溫度報(bào)警觸發(fā)器th和tl??赏ㄟ^軟件寫入用戶報(bào)警上下限值。 4、配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。ds18b20在0工作時(shí) 按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如下表: tmr1r011111 其中,tm:測(cè)試模式標(biāo)志位,出廠時(shí)被寫入0,不能改變;r0、r1:溫度計(jì)分辨率設(shè)置 位,

23、其對(duì)應(yīng)四種分辨率如下表所列,出廠時(shí)r0、r1置為缺省值:r0=1,r1=1(即12位分辨率) ,用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。 r0r1溫度計(jì)分辨率/bit最大裝換時(shí)間/us 00993.75 0110187.5 1 011375 1112750 圖 3-5 ds18b20 內(nèi)部結(jié)構(gòu)圖 表 3-4 高速暫存存儲(chǔ)器字節(jié)表 表 3-5 溫度值格式圖 ds18b20 溫度數(shù)據(jù)表 表 3-6 典型對(duì)應(yīng)的溫度值表 3.2.2 高速暫存存儲(chǔ)器 高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表3-4所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換 所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字

24、節(jié)。單片機(jī)可通過單 線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如圖所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng) 符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制 值。 溫度低位溫度高位 thtl 配置保留保留保留8位crc 溫度/二進(jìn)制表示十六進(jìn)制表示 +125 +25.0625 +10.125 +0.5 00000111 11010000 00000001 10010001 00000000 10100010 00000000 00001000 7d0h 0191h 00a2h 0008h 0 -0.5 -10.125 -25.0625 -55 00000000

25、00000000 11111111 11111000 11111111 01011110 11111110 01101111 11111100 10010000 0000h fff8h ff5eh fe6fh fc90h ds18b20最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,ds18b20的數(shù)據(jù)i/o均由同一條線來完成。 硬件連接電路如下: 本系統(tǒng)是基于ds18b20溫度芯片的溫度測(cè)試。ds18b20采用外部供電方式,理論上可以在 一根數(shù)據(jù)總線上掛256個(gè)ds18b20,但時(shí)間應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的ds18b20仍舊有 可能產(chǎn)生功耗問題。另外單總線長(zhǎng)度也不宜超過80m,否則也會(huì)影響到數(shù)據(jù)的傳

26、輸。在這種 情況下我們可以采用分組的方式,用單片機(jī)的多個(gè)i/o來驅(qū)動(dòng)多路ds18b20。在實(shí)際應(yīng)用中還 可以使用一個(gè)mosfet將i/o口線直接和電源相連,起到上拉的作用。 對(duì)ds18b20的設(shè)計(jì),需要注意以下問題: (1)對(duì)硬件結(jié)構(gòu)簡(jiǎn)單的單線數(shù)字溫度傳感器ds18b20 進(jìn)行操作,需要用較為復(fù)雜的程 序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操作順序進(jìn)行,讀、寫時(shí)間片程序 要嚴(yán)格按要求編寫。尤其在使用ds18b20 的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更 高。 (2)有多個(gè)測(cè)溫點(diǎn)時(shí),應(yīng)考慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動(dòng)指示,進(jìn)行自動(dòng)ds18b20 序 列號(hào)和自動(dòng)排序,以減少調(diào)試和維護(hù)

27、工作量。 (3)測(cè)溫電纜線建議采用屏蔽4 芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接vcc 和地線,屏蔽層在源端單點(diǎn)接地。ds18b20 在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線 應(yīng)用時(shí),應(yīng)將vcc與gnd接在一起,焊接牢固。若vcc脫開未接,傳感器只送85.0 的溫度值。 (4)實(shí)際應(yīng)用時(shí),要注意單線的驅(qū)動(dòng)能力,不能掛接過多的ds18b20,同時(shí)還應(yīng)注意最 遠(yuǎn)接線距離。另外還應(yīng)根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)。 圖 3-6 硬件連接電路圖 3.33.3 串口通訊電路串口通訊電路 at89c51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。 進(jìn)行串行通訊時(shí)要滿足一定的

28、條件,比如電腦的串口是rs232電平的,而單片機(jī)的串口是ttl 電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片max232進(jìn)行轉(zhuǎn)換,雖然也 可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡(jiǎn)單可靠。 具體電路如下: 我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的 gnd、第2腳的rxd、第3腳的txd。這是最簡(jiǎn)單的連接方法,但是對(duì)本設(shè)計(jì)來說已經(jīng)足夠使用 了,電路如上圖所示。通信線采用交叉接法,即兩者信號(hào)線對(duì)應(yīng)成為rt,tr。 具體連接電路如下: 圖 3-7 串口通訊電路圖 圖 3-8 通訊線交叉接法 3.43.4 整體電路整體電路 電路原理圖 圖

29、3-9 電路原理圖 第四章 軟件設(shè)計(jì) 4.14.1 概述概述 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就 基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序) ,它是整個(gè)控制 系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序) ,它是用 來完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功 能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。 各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。 首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí) 性的要

30、求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。 4.24.2 主程序方案主程序方案 主程序調(diào)用了5個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤掃描以及按鍵處理程序、溫度 測(cè)試程序、中斷控制程序、單片機(jī)與pc機(jī)串口通訊程序。 鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識(shí)別及相關(guān)處理。 溫度測(cè)試程序:對(duì)溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。 數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。 中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。 串口通訊程序:實(shí)現(xiàn)pc機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給pc機(jī)。 主程序結(jié)構(gòu)圖如下: 圖 4-1 主程序結(jié)構(gòu)圖 主程序流程圖如下: 將各個(gè)功能程序以子程序的形式寫

31、好,當(dāng)寫主程序的時(shí)候,只需要調(diào)用子程序,然后在 寄存器的分配上作一下調(diào)整,消除寄存器沖突和i/o沖突即可。程序應(yīng)該盡可能多的使用調(diào) 用指令代替跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指 令則不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無論是修改還是維護(hù)都比較方便。將功能程序段寫 成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處那就是以后寫程序的時(shí)候如果要用到, 就可以直接調(diào)用這個(gè)單元功能模塊。 4.34.3 各模塊子程序設(shè)計(jì)各模塊子程序設(shè)計(jì) 下面對(duì)主要幾個(gè)子程序的流程圖做介紹 4.3.1 溫度測(cè)試子程序設(shè)計(jì) 圖 4-2 主程序流程圖 溫度測(cè)試子程序流程如下圖: 圖 4-3 溫度測(cè)

32、試子程序流程圖 4.3.2 中斷控制程序設(shè)計(jì) 中斷控制程序流程如下圖: 4.3.3 串口通信程序設(shè)計(jì) 本次通訊中,測(cè)控系統(tǒng)分位上位機(jī)和下位機(jī)之間的通信,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、 處理和控制,上位機(jī)進(jìn)行現(xiàn)場(chǎng)可視化檢測(cè),通信協(xié)議采用半雙工異步串行通信方式,通過 rs232的rts信號(hào)進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式 通訊。本人采用的vb環(huán)境下pc機(jī)與單片機(jī)之間實(shí)現(xiàn)串行通訊的軟硬件方案。vb是microsoft 公司推出的windows應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡(jiǎn)便等優(yōu)點(diǎn)而受到廣泛的 使用,而且visual basic 6.0 版本帶有專門實(shí)現(xiàn)串行通

33、訊的mscomm控件。 mscomm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,pc機(jī)可以利用串 行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡(jiǎn)單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種 處理方式。事件驅(qū)動(dòng)方式:由mscomm控件的oncomm事件捕獲并處理通訊錯(cuò)誤及事件;查詢方 式:通過檢查commevent屬性的值來判斷事件和錯(cuò)誤。 mscomm控件的主要屬性和方法 a. commport:設(shè)置或返回串行端口號(hào),其取值范圍為199,缺省為1 b. setting:設(shè)置或返回串行端口的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)、停止位。 c. portopen:打開或關(guān)閉串行端口。 圖 4-4 中斷控

34、制程序流程圖 d. rthreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或超過該值 后就產(chǎn)生mscomml-oncomm事件。 e. input:從接收緩沖區(qū)移走一串字符。 f. output:向發(fā)送緩沖區(qū)傳送一字符串。 軟件流程圖如下: 參數(shù)設(shè)定:通信端口選擇com1,波特率設(shè)定為1200b/s mscomm.commport=1 mscomm.setting=“1200, n, 8, 1” 。 start:movsp,#60h movtmod,#20h movth1,#0e6h movtl1,#0e6h;1200b/s,晶振為12mhz mov pcon,#00h mov

35、scon,#50h setbtr1 圖 4-5 pc 通訊程序流程圖 圖 4-6 單片機(jī)程序流程圖 第五章 系統(tǒng)調(diào)試 5.15.1 分步調(diào)試分步調(diào)試 5.1.1 測(cè)試環(huán)境及工具 測(cè)試溫度:0至100攝氏度。 (模擬多點(diǎn)不同溫度值環(huán)境) 。 測(cè)試儀器及軟件:數(shù)字萬用表,溫度計(jì)0至100攝氏度,串口調(diào)試助手。 測(cè)試方法:目測(cè)。 5.1.2 測(cè)試方法 使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測(cè)是否正常(包括單片機(jī)最小系統(tǒng)、鍵盤電路、顯示電路、 溫度測(cè)試電路等) 。系統(tǒng)自帶測(cè)試表格數(shù)據(jù),觀察顯示數(shù)據(jù)是否相符合即可。 采用溫度傳感器和溫度計(jì)同時(shí)測(cè)量多點(diǎn)水溫變化情況(取溫度值不同的多點(diǎn)) ,目測(cè)顯 示電路是否正常。并記

36、錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。 使用串口調(diào)試助手與單片機(jī)通訊,觀察單片機(jī)與串口之間傳輸數(shù)據(jù)正確否。 5.1.3 測(cè)試結(jié)果分析 自檢正常,各點(diǎn)溫度顯示正常,串口傳輸數(shù)據(jù)正確。 因?yàn)樾酒撬芰戏庋b,所以對(duì)溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個(gè)很短的時(shí)間才能 達(dá)到穩(wěn)定。 5.25.2 統(tǒng)一調(diào)試統(tǒng)一調(diào)試 將硬件及軟件結(jié)合起來進(jìn)行系統(tǒng)的統(tǒng)一調(diào)試。實(shí)現(xiàn)pc機(jī)與單片機(jī)通訊,兩者可以實(shí)時(shí)更 新顯示各點(diǎn)溫度值。 結(jié)語 at89c51的時(shí)鐘為12m,i/o口可達(dá)32個(gè),高的時(shí)鐘頻率和豐富的i/o,都為實(shí)現(xiàn)電路功能 提供了非常有利的條件。同時(shí)也at89c51內(nèi)含4kb flash rom,開發(fā)環(huán)境友好,易用,方便, 大大加快本系統(tǒng)

溫馨提示

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