畢業(yè)論文太陽能熱水器控制器設(shè)計(jì)_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本 科 畢 業(yè) 論 文</p><p>  題目: 太陽能熱水器控制器設(shè)計(jì) </p><p>  學(xué)院: 電氣工程學(xué)院 </p><p>  班級: 自動(dòng)化12-3 </p><p>  姓名: 李曉燕

2、 </p><p>  指導(dǎo)教師: 趙娟娟 職稱: 講師 </p><p>  完成日期: 年 月 日</p><p><b>  摘 要</b></p><p>  目前社會(huì)的快速發(fā)展,節(jié)能技術(shù)的不斷創(chuàng)新,太陽能熱水器作為能源利用中最普遍的一種熱能裝置。近些年來,

3、國家提倡節(jié)能、環(huán)保、構(gòu)建綠色家園。太陽能成為新時(shí)代綠色標(biāo)志的新型能源。太陽能熱水器已變成我們?nèi)粘I钪斜夭豢缮俚臒崮茉O(shè)備之一。本次設(shè)計(jì)依據(jù)太陽能熱水器的特點(diǎn),來設(shè)計(jì)基于AT89C51單片機(jī)的太陽能熱水器控制器。太陽能熱水器控制器的硬件主要包括單片機(jī)最小系統(tǒng)、水位檢測、溫度采集模塊、顯示模塊、電源模塊、數(shù)據(jù)轉(zhuǎn)換以及驅(qū)動(dòng)電路組成。此次設(shè)計(jì)利用51單片機(jī)作為核心器件,來配合其他控制電路工作,用溫度傳感器和水位傳感器實(shí)現(xiàn)水位的測量和溫度的檢測,

4、并依據(jù)設(shè)定值調(diào)節(jié)溫度和水量,實(shí)現(xiàn)全天水不間斷的供水。軟件是服務(wù)于硬件系統(tǒng)的,與此同時(shí),經(jīng)過相關(guān)的控制電路和軟件程序的設(shè)計(jì)來實(shí)現(xiàn)太陽能熱水器控制器的智能化。實(shí)現(xiàn)各種智能控制的同時(shí)還需兼顧到工作人員能夠方便的選擇、設(shè)置和修改相關(guān)的設(shè)定值。為人們依據(jù)天氣變化選擇需要的加熱狀態(tài)提供便利。更進(jìn)一步提高熱水器的自動(dòng)化和智能化程度。</p><p>  關(guān)鍵詞:太陽能熱水溫度控制 單片機(jī) 傳感器 水溫水位</p>

5、<p><b>  Abstract</b></p><p>  Now the rapid development of society, energy saving technology of continuous innovation, the solar water heater as a heat energy utilization is one of the mo

6、st common device. In recent years, the state advocates energy conservation, environmental protection, build green homes. Solar new energy become the new era of green logo. The solar water heater has become one of indispe

7、nsable heat energy equipment in our daily life. This design based on the characteristics of the solar water heater, to desi</p><p>  Keywords: Solar hot water temperature control;Single chip microcomputer;Th

8、esensorWater level </p><p><b>  目 錄</b></p><p><b>  摘 要II</b></p><p><b>  1緒論1</b></p><p>  1.1太陽能熱水器的發(fā)展史1</p><p

9、>  1.2 太陽能熱水器的發(fā)展現(xiàn)狀1</p><p>  1.3 本課題研究目的和意義2</p><p>  2 系統(tǒng)總體方案設(shè)計(jì)4</p><p>  2.1 系統(tǒng)設(shè)計(jì)思路4</p><p>  2.1.1系統(tǒng)的設(shè)計(jì)要求4</p><p><b>  2.2方案論證4</b>

10、</p><p>  2.3 總體設(shè)計(jì)5</p><p>  2.4 方案選擇實(shí)現(xiàn)5</p><p><b>  3硬件電路設(shè)計(jì)7</b></p><p>  3.1單片機(jī)的選擇7</p><p>  3.1.1 AT89C51單片機(jī)7</p><p>  3.1

11、.2 AT89C51單片機(jī)的介紹8</p><p>  3.1.3 AT89C51單片機(jī)的最小系統(tǒng)介紹11</p><p>  3.1.4 AT89C51單片機(jī)的時(shí)鐘電路11</p><p>  3.1.5 AT89C51單片機(jī)的復(fù)位電路12</p><p>  3.2 溫檢測裝置選型13</p><p> 

12、 3.2.1 溫度傳感器13</p><p>  3.2.2 DS18B20接線方法15</p><p>  3.2.3 單線(1-wire)技術(shù)15</p><p>  3.2.4 DS18B20的測溫原理16</p><p>  3.2.5 DS18B20指令集17</p><p>  3.2.6 DS1

13、8B20的注意事項(xiàng)18</p><p>  3.3水位檢測裝置選擇21</p><p>  3.3.1水位檢測電路22</p><p>  3.4 接口電路設(shè)計(jì)22</p><p>  3.4.1 驅(qū)動(dòng)芯片ULN-2003介紹22</p><p>  3.4.2繼電器驅(qū)動(dòng)23</p><

14、p>  3.5 顯示電路設(shè)計(jì)25</p><p>  3.6報(bào)警電路27</p><p>  3.7按鍵電路27</p><p>  3.9 A/D轉(zhuǎn)換電路30</p><p>  4 太陽能熱水器控制器的軟件設(shè)計(jì)33</p><p>  4.1 系統(tǒng)總體軟件設(shè)計(jì)33</p><p

15、>  4.1.1 主程序設(shè)計(jì)流程與編程33</p><p>  4.1.1 主程序軟件設(shè)計(jì)34</p><p>  4.1.2 水位檢測子程序34</p><p>  4.1.3 顯示子程序的流程設(shè)計(jì)34</p><p>  4.1.4 DS18B20子程序流程的設(shè)計(jì)35</p><p>  4.1.5

16、 鍵盤子程序流程設(shè)計(jì)36</p><p>  4.2 軟件程序設(shè)計(jì)37</p><p>  5 硬件電路仿真電路44</p><p>  5.1 系統(tǒng)實(shí)現(xiàn)的功能44</p><p>  5.2系統(tǒng)功能測試44</p><p>  5.3系統(tǒng)功能分析44</p><p>  6 仿真結(jié)

17、果分析45</p><p>  6.1 溫度仿真45</p><p>  6.1.1 溫度顯示仿真45</p><p>  6.1.2 溫度控制仿真45</p><p>  6.2 水位仿真47</p><p>  6.2.1 水位顯示仿真47</p><p>  6.2.2 水位控

18、制仿真47</p><p>  6.3 仿真結(jié)果分析48</p><p><b>  致謝50</b></p><p><b>  參考文獻(xiàn)51</b></p><p>  附錄A 原理圖52</p><p><b>  附錄B仿真圖53</b&

19、gt;</p><p><b>  1緒論</b></p><p>  1.1太陽能熱水器的發(fā)展史</p><p>  在當(dāng)今社會(huì)科技的飛速發(fā)展,電力能源需要的快速增長,使不可再生能源儲(chǔ)備減少,同時(shí)氣化的不可再生能源,全球凈化和生態(tài)環(huán)境的破壞日益嚴(yán)重,研究和開發(fā)新的清潔能源問題一直是世界關(guān)注。在不久的將來,煤炭、石油和天然氣儲(chǔ)量在世界上日益縮小

20、,同時(shí)能量會(huì)污染環(huán)境,形成溫室效應(yīng),全球氣候變化。處理動(dòng)態(tài)能量的影響,完全可以繼續(xù)表明,人類可以只需要找到更多無污染的可再生能源,大規(guī)模的開發(fā)和利用。太陽能是地球上豐富的不盡的清潔電力能源,這是為了避免和改善大氣凈化,加強(qiáng)太陽能和能源應(yīng)用的研究,尤其是在太陽能熱水器控制器具有嚴(yán)肅意義和廣闊前景。太陽能的開發(fā)和應(yīng)用學(xué)科目前已成為關(guān)注的焦點(diǎn)。發(fā)現(xiàn)新類型的清潔的太陽能,它有特點(diǎn):無限的存儲(chǔ);太陽能在地球上存在的大量的少數(shù)民族地區(qū)具有普遍性,可

21、以就地訪問;開發(fā)利用幾乎沒有發(fā)生任何損害。針對這個(gè)太陽能將成為最理想的替代能源。然而,太陽能有其局限性,因?yàn)樘柲苌?季節(jié)性和地區(qū)性和太陽能能量使用帶來嚴(yán)重的困難。一些應(yīng)用程序的太陽能技術(shù)還沒有被打破,和產(chǎn)品成本很高。因此尚未大規(guī)模使用。能源和安全問題是現(xiàn)代社會(huì)的重點(diǎn)?,F(xiàn)有的電動(dòng)類型熱水器的成本偏高,而不是安全的燃?xì)忸愋?和缺點(diǎn),</p><p>  太陽能熱水器是太陽的輻射能轉(zhuǎn)化為熱能用于提高水溫,使用最多,

22、技術(shù)最成熟的熱利用裝置。太陽能熱水器是環(huán)保、無污染、使用可靠的信任的人。使用太陽的動(dòng)態(tài)能量,大量的現(xiàn)有的不可再生能源節(jié)約,當(dāng)前,總體趨勢在未來能源發(fā)展的。原天然氣熱水器加熱速度更快,但煤炭將會(huì)對環(huán)境造成一定污染??煽康陌踩h(huán)保、經(jīng)濟(jì)、太陽能熱水器和輔助加熱熱水器的性質(zhì)可以應(yīng)用在任何時(shí)間。</p><p>  1.2 太陽能熱水器的發(fā)展現(xiàn)狀</p><p>  就目前而言,中國將成為世界最

23、大的太陽能熱水器生產(chǎn)國之一,熱水器的年產(chǎn)量大約是世界上所有國家的總和,現(xiàn)有超過一百的太陽能熱水器制造商。形成一套完整的太陽能熱水器控制器,然而,在研究和開發(fā)階段,當(dāng)光強(qiáng)度缺乏,因?yàn)樘鞖庠?將給熱水器用戶帶來困難,即使太陽能熱水器的性能與輔助加熱時(shí)間不能檢測時(shí)產(chǎn)生的熱燒,它浪費(fèi)太多電。太陽能控制器可以根據(jù)天氣條件下使用輔助加熱器部分使水箱內(nèi)水溫在設(shè)定到來之前的空間設(shè)置溫度,從而達(dá)到全天供應(yīng)熱水的目的。太陽能熱水器是用于最稀有植物之一,經(jīng)

24、濟(jì)效益顯著,迅速促進(jìn)太陽能熱水器的使用可以將太陽能轉(zhuǎn)換成熱能,使用范圍廣泛的消費(fèi)和生存的前景。太陽能熱水器市場上單一的功能,復(fù)雜的操作,是不方便控制,大多數(shù)熱水器只有純粹的加熱,沒有其他的智能控制方法,在沒有太陽的天氣不能使最熱的水箱里的水。其次太陽能熱水器的水沒有記載,使人們不能及時(shí)知道水箱的水,和缺乏自動(dòng)性。所以你需要設(shè)計(jì)一個(gè)智能太陽能熱水器控制器實(shí)現(xiàn)自動(dòng)上水、水位、水溫控制,高溫報(bào)警,低水位報(bào)警并自動(dòng)上水,自動(dòng)低溫加熱,和其他功能

25、。太陽能熱水器控制器是一個(gè)單片機(jī)作為系統(tǒng)的控制中心,不僅改善其功能,也增加的性能很難在同一時(shí)</p><p>  近年來,太陽能的使用和其他動(dòng)態(tài)耦合,使太陽能熱水器更先進(jìn),可以使用熱水在所有的天氣條件。這種太陽能熱水器控制器溫度和液位顯示的功能,沒有溫度控制功能,與國內(nèi)熱水器市場逐漸擴(kuò)大,熱水器的情況下急需改進(jìn)的太陽能熱水器智能控制器的開發(fā)。在太陽能應(yīng)用技術(shù),太陽能熱水器制造技術(shù)相對成熟,成本廉價(jià)產(chǎn)品,同時(shí)為人們

26、提供低消耗的能源、環(huán)境維護(hù)、相對安全的熱水,受到人們的歡迎。世界上太陽能熱水器的生產(chǎn)很快。這個(gè)主題是基于AT89C51單片機(jī)的太陽能熱水器控制器,通過單片集成電路技術(shù),太陽能熱水器控制技術(shù)的理解等,聯(lián)系實(shí)際需求,將知識(shí)應(yīng)用到現(xiàn)實(shí)生活中,在設(shè)計(jì)的實(shí)踐和發(fā)展,更符合實(shí)際的需求,使太陽能熱水器控制器具有較高的實(shí)用性?,F(xiàn)在,技術(shù)不斷更新,將會(huì)有越來越多,越來越多的先進(jìn)的太陽能熱水器產(chǎn)品,太陽能熱水供應(yīng)系統(tǒng)會(huì)越來越完美。推廣和使用太陽能技術(shù),大量

27、的節(jié)約能源,改善環(huán)境,提高人民的生活質(zhì)量,生活對人類文明和科技進(jìn)步作出了巨大的貢獻(xiàn)。</p><p>  1.3 本課題研究目的和意義</p><p>  太陽能熱水器使用方便,節(jié)能、環(huán)保等特點(diǎn),一直很受歡迎。它是人們?nèi)粘I钪胁豢扇鄙俚募矣迷O(shè)備,為了提高我們的生活質(zhì)量起著不可替代的作用。當(dāng)今技術(shù)的發(fā)展,太陽能熱水器的控制要求越來越高,對于現(xiàn)在我們使用熱水器,單一的功能,它不便于控制,隨著

28、電子技術(shù)的發(fā)展和生活水平的控制器已被淘汰,因此,開發(fā)一種新型的太陽能熱水器的智能控制器是現(xiàn)在的主要問題。</p><p>  這個(gè)主題設(shè)計(jì)基于單片機(jī)AT89C51單片機(jī)為中心的太陽能熱水器控制器,傳感器發(fā)出的信號在溫度和水位檢測通過調(diào)整,A / D轉(zhuǎn)換成單片機(jī),后一方面,通過LED顯示當(dāng)前溫度和水位值,另一方面,與參考溫度和水位設(shè)置點(diǎn),操作,根據(jù)結(jié)果做出相應(yīng)的水、暖氣,熱水器控制器相應(yīng)的溫度和水位控制。</

29、p><p><b>  本設(shè)計(jì)的主要內(nèi)容:</b></p><p>  (1)溫度、水位檢測傳感器的選擇;</p><p>  (2)A / D轉(zhuǎn)換器的設(shè)計(jì)和單片機(jī)接口;</p><p>  (3)電源按鈕,顯示部分的設(shè)計(jì);</p><p><b>  (4)總體設(shè)計(jì);</b>&

30、lt;/p><p>  2 系統(tǒng)總體方案設(shè)計(jì)</p><p>  2.1 系統(tǒng)設(shè)計(jì)思路</p><p>  根據(jù)題目要求,本系統(tǒng)可分為:單片機(jī)最小系統(tǒng)模塊、溫度檢測模塊、水位檢測模塊、關(guān)鍵控制模塊,顯示模塊,電源模塊,報(bào)警檢測、數(shù)據(jù)存儲(chǔ)和A / D轉(zhuǎn)換等。通過使用單片機(jī)控制和水位檢測模塊的模擬信號通過A / D轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)到LED顯示屏。按鈕使用直接I / O端口線電路

31、組成的一個(gè)關(guān)鍵是分離;顯示模塊選擇使用六個(gè)普通陽極LED數(shù)碼管距離的實(shí)時(shí)動(dòng)態(tài)顯示,報(bào)警當(dāng)缺水或水位太高,返回信號開始工作。</p><p>  2.1.1系統(tǒng)的設(shè)計(jì)要求</p><p>  具體的功能說明如下:</p><p>  (1)使用220V/ 50HZ的力量;</p><p>  (2)水位溫度顯示:溫度與動(dòng)態(tài)數(shù)碼管顯示溫度范圍0

32、- 99℃,精度±2℃;</p><p>  (3)水位顯示:該系統(tǒng)使用的水位檢測電路可以檢測水位三個(gè),50%,80%,100%;使用發(fā)光二極管來顯示當(dāng)前水平,當(dāng)水位超過這些網(wǎng)站時(shí),相應(yīng)的發(fā)光二極管(LED)。</p><p>  (4)水位設(shè)置:可以設(shè)置水位50%,80%,100%。按“水”,此時(shí)數(shù)碼管顯示的水,如顯示50,解釋是50%,“水位”按鈕的LED燈,在“周日下午”或

33、“∨”鍵調(diào)整水位設(shè)置。</p><p>  (5)手動(dòng)加水:在手動(dòng)操作狀態(tài),可以設(shè)置在前面板上按“加水”操作手動(dòng)加水后,在任何時(shí)候,如果水低于預(yù)設(shè)水平,以及水預(yù)設(shè)水平;如果水達(dá)到預(yù)設(shè)水平:原來水的基礎(chǔ)上加上一個(gè),如果已經(jīng)注滿水,然后手動(dòng)停止加水。</p><p>  (6)迫使加水:水位傳感器系統(tǒng)故障,根據(jù)“上水”按鈕完成義務(wù)加水,嗶嗶的聲音將會(huì)出現(xiàn)在那一刻,留意是否溢出。</p&g

34、t;<p><b>  2.2方案論證 </b></p><p>  太陽能作為能源利用的一種方式,易于使用的優(yōu)勢,安全、經(jīng)濟(jì)、節(jié)能和環(huán)保,廣泛使用。本設(shè)計(jì)主要研究水溫控制系統(tǒng),現(xiàn)有的方案相對比較常用的如下</p><p>  手動(dòng)式:首先在使用手動(dòng)調(diào)整機(jī)械閥、熱水和冷水混合比,溫度合適后再使用,但在使用過程中,經(jīng)常把一段時(shí)間的寒冷和熱水,混合,然后將出

35、現(xiàn)冷熱的現(xiàn)象,造成資源的浪費(fèi),和壓力的變化,都需要手動(dòng)調(diào)整,這樣的操作既復(fù)雜又不方便,也使游泳者的皮膚很不舒服。</p><p>  加熱式:當(dāng)用于手動(dòng)調(diào)整太陽能熱水器水箱的水溫,出口溫度。當(dāng)水箱的溫度很低,輔助電加熱方式加熱水所需的溫度,當(dāng)水箱的溫度過高,或兌冷水或無能為力。在許多情況下,這并不是必要的,造成水資源的浪費(fèi)。</p><p>  由控制器和智能類型:選擇合理設(shè)備,檢查和控制

36、相應(yīng)的檢測和控制裝置,將水溫加熱到所需的溫度和保持它。</p><p>  太陽能熱水器一般可以自動(dòng)加熱水溫在陽光明媚的一天,即使在陰天的情況下,太陽能熱水器內(nèi)部熱管將水溫加熱到用戶所需的溫度,保溫時(shí)間不長。</p><p><b>  2.3 總體設(shè)計(jì)</b></p><p>  依據(jù)該設(shè)計(jì)所要實(shí)現(xiàn)的功能,選擇適當(dāng)?shù)脑骷瓦m合的芯片來設(shè)計(jì)系

37、統(tǒng),了解各器件的原理和功能。太陽能熱水器控制器設(shè)計(jì),就要有溫度采集器件,按照相關(guān)參數(shù)范疇選用了DS18B20數(shù)字溫度傳感器,采集到的數(shù)據(jù)為數(shù)字量,能夠直接送入單片機(jī)系統(tǒng)解決,電路簡略,數(shù)字溫度傳感器比模擬溫度傳感器測量結(jié)果準(zhǔn)確。想要顯示水位量就要采用水位檢測傳感器,這個(gè)信號就要由傳感器來檢測,這里的水位檢測傳感器選用模擬量的傳感器,模擬量不能直接進(jìn)入單片機(jī)轉(zhuǎn)化,要變?yōu)槎M(jìn)制的數(shù)字量才能送進(jìn)單片機(jī)進(jìn)行處理,這就需要進(jìn)行A/D轉(zhuǎn)換,把采集到

38、的水位信號轉(zhuǎn)換成為數(shù)字量。A/D轉(zhuǎn)換的器件選型為ADC0809轉(zhuǎn)換芯片,電路簡單、方便。</p><p>  2.4 方案選擇實(shí)現(xiàn)</p><p>  通過對太陽能熱水器控制要求、設(shè)計(jì)任務(wù)和系統(tǒng)需要實(shí)現(xiàn)的功能,綜合成本等各因素考慮設(shè)計(jì)出如下的硬件結(jié)構(gòu)框圖如圖2.1所示,系統(tǒng)硬件原理圖見附錄A。</p><p><b>  圖2.1 系統(tǒng)框圖</b&g

39、t;</p><p>  控制系統(tǒng)采用AT89C51單片機(jī)作為核心控制器,通過當(dāng)前溫度DS18B20溫度傳感器,單片機(jī)的解決方案后,在LED顯示屏顯示當(dāng)前溫度價(jià)值。另一種方法是水箱水位高、低水位檢測傳感器的測量,并通過光根據(jù)水位變化,系統(tǒng)工作時(shí),單片機(jī)相比,在設(shè)定溫度與當(dāng)前溫度擬合:當(dāng)當(dāng)前的溫度小于設(shè)置值將被關(guān)閉繼電器開關(guān),打開加熱器部分,自動(dòng)控制的水,當(dāng)水位低于低水文件將自動(dòng)關(guān)閉設(shè)備的繼電器開關(guān),開始水設(shè)備。水

40、位達(dá)到高水位阻塞會(huì)自動(dòng)斷開開關(guān),停止加水。</p><p><b>  3硬件電路設(shè)計(jì)</b></p><p>  熱水器的水控制系統(tǒng)硬件電路主要包括幾個(gè)方面:單片機(jī)最小系統(tǒng)、電源電路、溫度檢測電路、水位檢測電路、顯示電路、控制電路和A / D轉(zhuǎn)換電路等。</p><p><b>  3.1單片機(jī)的選擇</b></p

41、><p>  3.1.1 AT89C51單片機(jī)</p><p>  AT89C51單片機(jī)是ATMEL公司生產(chǎn)的一款運(yùn)行電壓低,工作性能很高的CMOS 8位單片機(jī)。芯片的內(nèi)部結(jié)構(gòu)構(gòu)造中還含有一個(gè)8KB的可以進(jìn)行成百上千次反復(fù)編寫程序或者是刪除程序的PEROM。不但如此單片機(jī)內(nèi)部還包含有一個(gè)256B的片內(nèi)RAM。AT89C51單片機(jī)的生產(chǎn)技術(shù)使用的是ATMEL公司的較為成熟的技術(shù)。使用ATMEL公

42、司技術(shù)生產(chǎn)出來的單片機(jī)的精度都很高,而且它的存儲(chǔ)也很方便快捷。</p><p>  AT89C51的主要性能參數(shù):</p><p>  (1)AT89C51與MCS-51系列單片機(jī)的編程指令代碼以及管腳的各個(gè)功能都是一樣的。</p><p>  (2)內(nèi)部還有可以對字節(jié)(KB)進(jìn)行很多次的編寫或者是刪除的高速存儲(chǔ)器(FLASH存儲(chǔ)器)。</p><

43、;p>  (3)對于程序的編寫或是刪除的次數(shù)可以達(dá)到上千次。</p><p>  (4)全靜態(tài)邏輯操作:零赫茲(HZ)~二十四兆赫茲(MHZ)的多級對所編寫程序保護(hù)、保密的存儲(chǔ)。</p><p>  (5)由于內(nèi)部特殊的構(gòu)造為程序員提供了一個(gè)256*8KB的內(nèi)部隨機(jī)存儲(chǔ)單元(RAM)以及三十二個(gè)可以對端口編寫程序的I/0口。</p><p>  (6)三個(gè)十六

44、位的定時(shí)器/計(jì)數(shù)器(T0、T1、T2)。</p><p>  (7)八個(gè)中斷地址區(qū)。</p><p>  (8)AT89C51的異步串行通道還可以對其進(jìn)行程序的編寫。</p><p>  (9)運(yùn)行時(shí)對于電流電壓的消耗非常的低。</p><p>  AT89C51提供以下標(biāo)準(zhǔn)功能:</p><p>  AT89C51可

45、下降到零赫茲的全靜態(tài)邏輯操作。當(dāng)整個(gè)在不工作的情況下單片機(jī)就會(huì)停止工作,雖然單片機(jī)已經(jīng)停止工作了,但是它內(nèi)部的存儲(chǔ)區(qū)間、定時(shí)(計(jì)數(shù)器)以及處于通信的端口和中斷任然是在工作狀態(tài)的。當(dāng)單片機(jī)的系統(tǒng)在正常工時(shí)由于各種各樣的原因突然斷電時(shí)它內(nèi)部的RAM中的程序或者是其他數(shù)據(jù)并不會(huì)因?yàn)橥蝗婚g的失電而變得一無所有,他會(huì)保存的很完整。當(dāng)外部晶體振蕩電路不發(fā)生震蕩時(shí)并且整個(gè)系統(tǒng)中的其他電路元部件也一樣不工作時(shí)單片機(jī)的工作會(huì)一直進(jìn)行到下一個(gè)硬件電路中的復(fù)

46、位點(diǎn)為止才會(huì)停止工作的。</p><p>  中斷系統(tǒng):中斷系統(tǒng)的作用主要是對外部或內(nèi)部的終端請求進(jìn)行管理與處理。</p><p>  AT89C51有6個(gè)中斷源:兩個(gè)是受外部影響的中斷INT0 和INT1。另外的三個(gè)中斷受內(nèi)部定時(shí)器(定時(shí)器0、1、2)控制以及一個(gè)串行的中斷。單片機(jī)的這些中斷的任何一個(gè)中斷源頭都受特殊寄存器IE或者置位按鍵控制,即可以使這些中斷源是不是有效。當(dāng)任一一個(gè)中斷

47、源有效時(shí)這個(gè)中斷被允許,無效時(shí)這個(gè)中斷源不被允許中斷。特別的IE中還有總的控制位就相當(dāng)于一個(gè)總開關(guān),這個(gè)總開關(guān)控制所有的中斷。</p><p>  IE寄存器的第7位是不可以使用的。在AT89C51中IE寄存器第6位也是不可以使用的。所以通常程序員在編寫程序是不可以給這些位寫入“1”。</p><p>  三個(gè)定時(shí)器中的第三個(gè)定時(shí)器的觸發(fā)通常是由寄存器TF2和EXF2經(jīng)過一個(gè)或門來使得第三

48、個(gè)定時(shí)器觸發(fā)。當(dāng)單片機(jī)在運(yùn)行程序的過程中進(jìn)入中斷命令后,這些代表位置能有外部的按鍵來清“0”。在實(shí)際應(yīng)用中,允許中斷的命令程序需要確定是不是TF2或者EXF2把中斷激活的。</p><p>  TF0 和TF1分別是第一個(gè)定時(shí)器和第二個(gè)定時(shí)器的標(biāo)志位。在當(dāng)計(jì)數(shù)器計(jì)數(shù)多出來的那一個(gè)周期的S5P2被置位。</p><p>  表3.1中斷允許控制寄存器(IE)</p><p

49、>  (MSB)(LSB)</p><p>  中斷允許控制位=1,允許中斷;中斷允許控制位=0,禁止中斷</p><p>  3.1.2 AT89C51單片機(jī)的介紹</p><p>  AT89C51單片機(jī)的基本結(jié)構(gòu)如圖所示</p><p><b>  表3.2中斷標(biāo)志位</b></p><p

50、>  由3.1圖可見,89C51單片機(jī)主要由以下部分組成:</p><p> ?。?)CPU系統(tǒng) </p><p>  8位CPU和閃爍存儲(chǔ)器;時(shí)鐘電路;總線控制邏輯。</p><p><b> ?。?)存儲(chǔ)器系統(tǒng) </b></p><p>  4KB的程序存儲(chǔ)器(ROM/EPROM/Flash);128KB數(shù)據(jù)

51、存儲(chǔ)器(RAM)。</p><p>  (3)I/O口和其他動(dòng)能單元</p><p>  4個(gè)并行I/O口;2個(gè)16位定時(shí)/計(jì)數(shù)器;,2個(gè)全雙工串行通信口;中斷系統(tǒng)(5個(gè)中斷源 AT89C51單片機(jī)的引腳[8]</p><p>  AT89C51單片機(jī)的引腳功能如下所示:</p><p>  VCC:+5V的電源電壓端口引腳。</p&g

52、t;<p>  GND: +5V的電源電壓的負(fù)極端口引腳,也就是一般所說的接地端口。</p><p>  P0口:(P0.7~P0.0)單片機(jī)的P0口總共有八位,是一個(gè)八位的漏極開路型的端口,這八位端口不但可以作為輸入端口,也可以作為輸出端口。也就是說這八位數(shù)據(jù)端口是雙向的。一般的這八位數(shù)據(jù)端口還可以作為地址/數(shù)據(jù)總線的復(fù)用端口。</p><p>  P1口:(P1.7~P1

53、.0) 單片機(jī)的P1口總共有八位,是一個(gè)八位的漏極開路型的端口,這八位端口不但可以作為輸入端口,也可以作為輸出端口。P1口和P0口不一樣的地方就是在P1口所對應(yīng)的單片機(jī)內(nèi)部中還有相應(yīng)的一組使得電平信號為高電平的上拉電阻。單片機(jī)內(nèi)部和P1口對應(yīng)的還有四個(gè)TTL類型的邏輯門電路是由單片機(jī)的P1口的輸出驅(qū)動(dòng)。</p><p>  P2口:(P2.7~P2.O)片機(jī)的P2口總共有八位。是一個(gè)八位的漏極開路型的端口,這八位

54、端口不但可以作為輸入端口,也可以作為輸出端口。P2口和P0口不一樣的地方就是在P1口所對應(yīng)的單片機(jī)內(nèi)部中還有相應(yīng)的一組使得電平信號為高電平的上拉電阻。單片機(jī)內(nèi)部和P2口對應(yīng)的還有四個(gè)TTL類型的邏輯門電路是由單片機(jī)的P2口的輸出驅(qū)動(dòng)。也就是說P2端口和P1端口的功能幾乎是一樣的。</p><p>  P3口:(P3.7~P3.0)單片機(jī)的P3口和其他三個(gè)口都不一樣。P3是具有兩種功能的端口,如果把P3口當(dāng)做和其他

55、I/O端口一樣使用時(shí),它其功能與P1端口同。但常用其第二功能,P3.7~P3.0每個(gè)端口都有4個(gè)TTL邏輯門電路供它驅(qū)動(dòng)。</p><p>  P1口引腳號第二功能:</p><p>  P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出</p><p>  P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)</p>&l

56、t;p>  P1.5 MOSI(在系統(tǒng)編程用)</p><p>  P1.6 MISO(在系統(tǒng)編程用)</p><p>  P1.7 SCK(在系統(tǒng)編程用)</p><p>  P3口端口引腳第二功能:</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)<

57、/p><p>  P3.2 INTO(外中斷0)</p><p>  P3.3 INT1(外中斷1)</p><p>  P3.4 TO(定時(shí)/計(jì)數(shù)器0)</p><p>  P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p>  P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p>  P3.7

58、RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p>  此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號。</p><p>  圖3.2 AT89C51 的引腳排列</p><p>  3.1.3 AT89C51單片機(jī)的最小系統(tǒng)介紹</p><p>  最小系統(tǒng)指能滿足要求的最小配置系統(tǒng)。由于MCS-51系列單片機(jī)內(nèi)部沒有集成時(shí)鐘電

59、路所需的晶體振蕩器和復(fù)位電路,因此最小系統(tǒng)必須外接這些部件。這幾種芯片都有片內(nèi)4KB程序存儲(chǔ)器,8051內(nèi)部為ROM,如果系統(tǒng)處理的工作不太復(fù)雜,程序加數(shù)據(jù)不超過4KB,那么這個(gè)芯片只要外接晶體振蕩器和復(fù)位電路就可以構(gòu)成最小系統(tǒng),其主要特征包括有4KB內(nèi)部程序存儲(chǔ)器(地址是0000H~0FFFH),引腳要接高電平;有128B內(nèi)部數(shù)據(jù)存儲(chǔ)器(地址是00H~7FH);因?yàn)闆]有用到外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,所以P0~P3口可以全部作為I/O

60、接口。</p><p>  單片機(jī)最小系統(tǒng)由晶振電路和復(fù)位電路構(gòu)成,最小系統(tǒng)電路如圖3.3所示。</p><p>  圖3.3 單片機(jī)最小系統(tǒng)</p><p>  3.1.4 AT89C51單片機(jī)的時(shí)鐘電路</p><p>  單片機(jī)AT89C52的第18和第19管腳為其外部硬件晶振電路的接口,它的管腳名稱分別是XTAL1以及XTAL2。它所

61、相應(yīng)的單片機(jī)內(nèi)部結(jié)構(gòu)是一個(gè)反向的放大電路的信號流入端/信號流出端,它可以接收頻率的范圍很廣泛具體的是1.2~12MHz。第19管腳也就是所謂的XTAL2和他相對應(yīng)的單片機(jī)內(nèi)部結(jié)構(gòu)又是帶時(shí)間規(guī)律的高低電平信號的流入端。當(dāng)這個(gè)內(nèi)部反相器和外部的元件電路構(gòu)建成如圖3-10所示的Pierce振蕩器。如果圖中的振蕩器使用的是石英晶體振蕩器時(shí),而且外接電容的容量為C=(30±10)pF。 </p><p>  在不

62、管什么情形下,振蕩器一直使得單片機(jī)內(nèi)部的時(shí)鐘發(fā)生器為單片機(jī)輸出時(shí)鐘信號。因?yàn)閱纹瑱C(jī)內(nèi)部的帶時(shí)間規(guī)律的高低電平電路的信號流入為一個(gè)二分頻觸發(fā)器,所以單片機(jī)對與外部的Pierce振蕩電路所輸出高低電平的占空比沒有比較特別的要求,但是所要保證的就是輸出高低電平的占空比最大的原則。晶體振蕩電路如圖3.4所示。</p><p>  圖3.4 單片機(jī)晶振電路</p><p>  3.1.5 AT89C

63、51單片機(jī)的復(fù)位電路</p><p>  本文中的單片機(jī)采用了外接的復(fù)位電路。同時(shí)采用了一種通電復(fù)位以及按鍵復(fù)位兩種復(fù)位方式相組合的形式。當(dāng)電路中通電時(shí),Vcc向電路中的電容充電,使得電流進(jìn)入RST引腳。剛剛開始,因?yàn)殡娙萜鲀啥说碾妷翰豢梢酝蝗婚g發(fā)生變化,所以當(dāng)RST管腳上的電壓上升到和Vcc電壓一樣時(shí),RST管腳上的電壓是電源電壓Vcc與電容兩端上電壓差值,所以慢慢地給電容兩端充電過程中,電容器的電壓一直上升,

64、同時(shí)RST管腳的電壓就慢慢地下降。當(dāng)電容的容量越大,則給電容充電的時(shí)間就越久。充電時(shí)間越長,放電的時(shí)間就越長,所以當(dāng)電容放電時(shí)則RST管腳的電壓值就下降的很慢。一定要讓RST管腳上的電壓恒定在觸發(fā)器的觸發(fā)邊緣電壓之上很長的時(shí)間,以可以使得復(fù)位按鍵操作是起到作用。這個(gè)過程的時(shí)間就是振蕩器的啟動(dòng)時(shí)間再加上兩個(gè)機(jī)器周期以上,因?yàn)樗枰臅r(shí)間很長所以要選擇的電容的容量就要相對的大一點(diǎn)。例如電源給電容充電的時(shí)間最多小于1ms,而振蕩器的啟動(dòng)振蕩時(shí)

65、間小于10ms,所以只需要選擇10uf的電容就可以滿足按鍵復(fù)位的要求。</p><p>  單片機(jī)在進(jìn)行復(fù)位之后,其里面的特殊功能寄存器也復(fù)位。此時(shí)特殊功能寄存器的內(nèi)部情況就是一個(gè)確定的值。復(fù)位后,PC=00H。這說明程序又從0000H初始地址單元開始運(yùn)行。當(dāng)PSW=00H時(shí)說明選寄存器第0組就是工作寄存器組。P0至P3=FFH,說明已經(jīng)往各個(gè)端口中寫入“1”。此時(shí),各個(gè)端口可以用于輸入數(shù)據(jù)也可以用于輸出數(shù)據(jù)。當(dāng)

66、IE=0**00000B,說明中斷總開關(guān)關(guān)閉,各個(gè)中斷的使能失效。在寫程序時(shí)可以通過牢記特殊功能寄存器初始化之后的狀態(tài)來使得初始化程序減少。單片機(jī)復(fù)位電路如圖3.9所</p><p><b>  示。</b></p><p>  圖3.5單片機(jī)復(fù)位電路圖 </p><p>  3.2 溫檢測裝置選型</p><p>  

67、3.2.1 溫度傳感器</p><p>  數(shù)字溫度傳感器DS18B20是DALLAS公司生產(chǎn)的一款單總線器件即1-wire。DS18B20數(shù)字溫度傳感器DS18B20與傳統(tǒng)的熱敏電阻相比較具有以下優(yōu)點(diǎn):DS18B20數(shù)字溫度傳感器可以直接將被測的溫度信號轉(zhuǎn)換成數(shù)字信號供單片機(jī)處理,而不需要外接模數(shù)轉(zhuǎn)換器,DS18B20數(shù)字溫度傳感器具有連線簡單、小型化、功耗低、性能較高、抗干擾能力較強(qiáng)、精度較高等一系列優(yōu)點(diǎn)。如

68、果用DS18B20數(shù)字溫度傳感器來組成一個(gè)測溫系統(tǒng),可以簡化電路,節(jié)省I/O端口,只需要用一根通信線即可,并且在通信線上可以接好多個(gè)DS18B20,使用時(shí)非常方便。目前已在市場上普及,被眾多的領(lǐng)域廣泛的運(yùn)用,如鍋爐溫控、糧庫溫控、冷庫溫控、工業(yè)現(xiàn)場溫度監(jiān)控、儀器儀表溫度監(jiān)控、農(nóng)業(yè)大棚溫度監(jiān)控等。</p><p>  DS18B20的外形近似半圓,如圖3.7所示:</p><p>  圖3.

69、6 DS18B20封裝圖</p><p>  DS18B20數(shù)字溫度傳感器接線特別簡單,種類多樣化的封裝形式能夠應(yīng)用于多種不同類型的場合,譬如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號也種類繁多,典型的有LTM8877,LTM8874等等??梢愿鶕?jù)不同的應(yīng)用場合而隨意的改變其外觀形式。封裝成型后的DS18B20數(shù)字溫度傳感器可用于譬如電纜溝的測溫系統(tǒng),高爐水循環(huán)測溫系統(tǒng),鍋爐測溫系統(tǒng),機(jī)房測溫系統(tǒng),農(nóng)業(yè)大棚測

70、溫系統(tǒng),潔凈室測溫系統(tǒng),彈藥庫測溫系統(tǒng),恒溫箱測溫系統(tǒng)等各類非極限測溫的場合。具有耐磨損、耐碰撞,體積小,使用方便,封裝形式多樣化等優(yōu)點(diǎn),也可以應(yīng)用于各類狹小空間的設(shè)備數(shù)字測溫和控制領(lǐng)域。DS18B20的硬件原理圖如圖3.8所示。</p><p>  圖3.7 DS18B20原理圖</p><p>  DS18B20數(shù)字溫度傳感器的技術(shù)性能如下所示:</p><p>

71、;  1.簡單的單線接口方式(1-wire),與單片機(jī)連接只需一個(gè)引腳,既可以當(dāng)數(shù)據(jù)線又可以當(dāng)電源線,且可以實(shí)現(xiàn)雙向通訊。</p><p>  2.在使用過程中不需要連接任何外圍元件。</p><p>  3.可以用數(shù)據(jù)線供電而不需用外接電源,其電壓范圍為:+3V~+5.5V。</p><p>  4.溫度測量范圍為-55℃~+125℃(-67華氏度到257華氏度)

72、,誤差小,在-10℃~+85℃范圍內(nèi)誤差僅為為0.5 ℃。</p><p>  5.可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式。</p><p>  6.可自行設(shè)定非易失性的溫度報(bào)警上下限值。</p><p>  7.支持多點(diǎn)測溫,處理器可以通過識(shí)別DS18B20芯片上的產(chǎn)品序列號從而可以實(shí)現(xiàn)在單總線上多處掛接,實(shí)現(xiàn)多點(diǎn)測溫。</p><p>  8.具

73、有負(fù)壓特性,即當(dāng)把電源正負(fù)極性接反時(shí),傳感器不會(huì)因發(fā)熱而燒毀,只是不能正常工作而已。</p><p>  9.當(dāng)溫度報(bào)警可以識(shí)別那些導(dǎo)致溫度超出預(yù)設(shè)范圍的器件</p><p>  10.價(jià)格便宜,經(jīng)濟(jì)適用</p><p>  3.2.2 DS18B20接線方法</p><p>  S18B20是市場上常用的溫度傳感器,具有體積小,經(jīng)濟(jì)實(shí)用,抗

74、干擾能力強(qiáng),精度高,種類多樣化等一系列的特點(diǎn)。DS18B20溫度計(jì)的讀寫時(shí)序與測溫原理與DS1820溫度計(jì)相同,只是測得的溫度值的位數(shù)比DS1820略高,這時(shí)由于分辨率不同造成的,且DS18B20溫度計(jì)的溫度轉(zhuǎn)換時(shí)間延時(shí)由2s降低到750ms。DS18B20的存儲(chǔ)器有兩類分別高速暫存器RAM、可電擦除EEPRAM,其中可電擦除RAM又包含TH溫度觸發(fā)器和TL溫度觸發(fā)器兩類,外加一個(gè)配置寄存器。DS18B20溫度計(jì)既可以使用外接電源,又可

75、以將數(shù)據(jù)線當(dāng)作電源使用。</p><p>  DS18B20溫度計(jì)在接線時(shí)應(yīng)注意,操作者面對著扁平的那一面時(shí),左邊為負(fù)極性右邊為正極性,一旦接反時(shí)器件就會(huì)立刻發(fā)熱。同時(shí)應(yīng)該注意當(dāng)溫度總是顯示+85℃時(shí),有可能是將溫度計(jì)的正負(fù)極性接反導(dǎo)致的。</p><p>  單總線(1-wire)支持一主多從的結(jié)構(gòu)模式,硬件上需要外接上拉電阻。如果一個(gè)地點(diǎn)完成了數(shù)據(jù)通信,可以通過上拉電阻將總線置為高電平

76、來釋放總線,如果某處需要通訊時(shí)只需要檢測總線是否空閑,若總線處于空閑狀態(tài),則只需將該處與總線的連接置為低電平即可進(jìn)行通訊。</p><p>  3.2.3 單線(1-wire)技術(shù)</p><p>  現(xiàn)在市場上常用的控制器和外部設(shè)備之間傳輸數(shù)據(jù)的串行總線主要有有I2C總線、SPI總線等,其中,I2C總線采用的是兩線同步串行的方式,包括一根時(shí)鐘線和一根數(shù)據(jù)線,而SPI總線采用的是三線同步串

77、行的方式,其中包括一根時(shí)鐘線、一根信號輸入線和一根數(shù)據(jù)出線。這兩種總線至少需要兩根或兩根以上的信號線才能正常工作。浪費(fèi)了微處理器的I/O端口,且容易接錯(cuò)影響工作進(jìn)度,如今美國達(dá)拉斯半導(dǎo)體公司在原有總線的基礎(chǔ)上推出了一款特有的單總線技術(shù),即1-wire技術(shù)。該總線與其他總線的不同之處在于它只采用了一根信號線,且這跟信號線既可以傳輸時(shí)鐘信號,又可以傳輸數(shù)據(jù)信號,還能當(dāng)電源線使用。該技術(shù)與上述總線不同,它采用單根信號線,即可以傳輸時(shí)鐘,又可以

78、雙向傳輸數(shù)據(jù)信號,彌補(bǔ)了之前所用的總線的一些不足,具有連接線路簡單、硬件開銷減少少、成本經(jīng)濟(jì)低廉、便于擴(kuò)展的一些優(yōu)點(diǎn)。目前,已被市場廣泛使用。</p><p>  單主機(jī)控制系統(tǒng)適用于單線技術(shù)(1-wire),由于單主機(jī)可以控制一個(gè)或多個(gè)從機(jī)設(shè)備工作。主機(jī)即為微控制器,從即為單線器件,在主機(jī)與從機(jī)之間進(jìn)行數(shù)據(jù)交換,信號控制都可以由這跟總線來完成。主機(jī)或者從機(jī)可以通過一個(gè)三態(tài)端口連到總線,可以允許設(shè)備在不傳送數(shù)據(jù)時(shí)

79、夠釋出總線,供其他需要的設(shè)備使用。單線上(1-wire)通常需要外接一個(gè)大約阻值為5KΩ的上拉電阻,如此,當(dāng)該線不工作時(shí),其狀態(tài)為高電平。就可以將總線釋放。</p><p>  主機(jī)和從機(jī)之間的信號通訊依次分為3個(gè)步驟:單線器件初始化、識(shí)別單線器件和單線數(shù)據(jù)傳輸。它們必須嚴(yán)格的執(zhí)行主從結(jié)構(gòu),因?yàn)橹挥幸桓ㄐ啪€。只有主機(jī)訪問從機(jī)時(shí),從機(jī)才能作出回應(yīng),主機(jī)如要訪問某個(gè)單線器件必須按照上述三個(gè)步驟的順序執(zhí)行,嚴(yán)格遵循單

80、線命令序列。如果出現(xiàn)命令序列混亂的情況,單線器件將無法響應(yīng)主機(jī)。</p><p>  總線上掛接的所有單線器件都要嚴(yán)格地遵循協(xié)議,保證數(shù)據(jù)傳輸時(shí)的完整性。單線(1-wire)協(xié)議由以下幾類信號組成:復(fù)位脈沖信號、應(yīng)答脈沖信號、寫0信號、寫1信號、讀0信號和讀1信號。在這些信號當(dāng)中,除了應(yīng)答脈沖信號,其他信號均由主機(jī)發(fā)出,從機(jī)響應(yīng)。</p><p>  3.2.4 DS18B20的測溫原理&

81、lt;/p><p>  DS18B20溫度計(jì)的測溫原理是,它產(chǎn)生具有一定頻率的脈沖信號,然后由減法計(jì)數(shù)器1接收該信號,隨著溫度的變化具有高溫度系數(shù)的晶體振蕩器會(huì)改變其振蕩頻率,減法計(jì)數(shù)器2將接收由高溫晶振所產(chǎn)生的頻率信號,作為它的脈沖輸入。當(dāng)計(jì)數(shù)門打開開始計(jì)數(shù)時(shí),DS18B20溫度計(jì)開始對低溫度系數(shù)振蕩器所產(chǎn)生的時(shí)鐘脈沖信號進(jìn)行計(jì)數(shù),由此完成溫度的測量。計(jì)數(shù)門的開啟時(shí)間取決于高溫度系數(shù)振蕩器發(fā)出的信號,每次開始測溫前

82、,首先要將-55℃所對應(yīng)的溫度值基數(shù)分別送給減法計(jì)數(shù)器1和溫度寄存器, -55℃所對應(yīng)的一個(gè)溫度基數(shù)值被預(yù)置在減法計(jì)數(shù)器1和溫度寄存器中。低溫度系數(shù)晶振產(chǎn)生的脈沖信號由減法計(jì)數(shù)器1來進(jìn)行減法計(jì)數(shù),如果減法計(jì)數(shù)器1的預(yù)置值被減到0時(shí),溫度寄存器的值就會(huì)自動(dòng)加1,減法計(jì)數(shù)器1中將會(huì)被重新裝入預(yù)置值,如此減法計(jì)數(shù)器1就會(huì)重新開始計(jì)低溫度系數(shù)晶體振蕩器產(chǎn)生的脈沖信號,就這樣循環(huán),一直到減法計(jì)數(shù)器2中的值減到0為止,溫度寄存器中的值就會(huì)停止累加,

83、此時(shí)被存到溫度寄存器中的數(shù)值就是所測得的溫度,溫度測量過程中的非線性由溫度寄存器內(nèi)部的斜率累加器來補(bǔ)償和修正,減法計(jì)數(shù)器的預(yù)置值由溫度寄存器的輸出值來修正,只要計(jì)數(shù)</p><p>  3.8 內(nèi)部測溫原理框圖</p><p>  3.2.5 DS18B20指令集</p><p>  a DS18B20發(fā)送一條ROM指令:</p><p> 

84、 讀ROM指令(33H):通過此項(xiàng)命令可以得到ROM中得8位系列產(chǎn)品代碼值、48位產(chǎn)品得序列號和8位的CRC碼。</p><p>  2.選擇定位指令(55H):如果多片DS18B20同時(shí)工作時(shí),只有主機(jī)發(fā)出此項(xiàng)命令和一個(gè)64位的數(shù)列,當(dāng)DS18B20溫度計(jì)內(nèi)部的ROM與主機(jī)需要的序列號相同者,才可以應(yīng)答主機(jī)發(fā)出的寄存器操作命令,其它的DS18B20溫度計(jì)繼續(xù)等待。這項(xiàng)指令也能用于一片DS18B20單獨(dú)在線時(shí)的情

85、況。 </p><p>  3.跳過ROM檢測指令(CCH):如果控制系統(tǒng)只使用了一片DS18B20溫度計(jì),此項(xiàng)指令可以允許主機(jī)不需訪問ROM的序列號檢測而可以直接對寄存器進(jìn)行操作,因此此項(xiàng)指令可以節(jié)省時(shí)間。對于使用了多片DS18B20溫度計(jì),這項(xiàng)指令可能會(huì)引起數(shù)據(jù)的沖突,使測溫出現(xiàn)故障。</p><p>  4.查詢指令(F0H):此項(xiàng)指令可以能讓主機(jī)查詢有多少片DS18B20溫度計(jì)連接

86、在總線上,也可以讓主機(jī)查詢溫度計(jì)各自的64位序列號碼。</p><p>  5.報(bào)警查詢指令(ECH):此項(xiàng)指令的操作過程和查詢指令雷同,但是如果之前一次測量的溫度值達(dá)到了已經(jīng)設(shè)定的報(bào)警極限時(shí),此項(xiàng)指令才會(huì)被DS18B20溫度計(jì)響應(yīng)。</p><p><b>  b發(fā)送存儲(chǔ)器指令</b></p><p>  1.寫入指令(4EH):此項(xiàng)指令可以

87、把數(shù)據(jù)按順序?qū)懭氲礁邷囟葓?bào)警觸發(fā)器TH、低溫度報(bào)警觸發(fā)器TL和配置寄存器當(dāng)中。把這三個(gè)字節(jié)寫完時(shí)才能發(fā)出復(fù)位信號。</p><p>  2.寫出指令(BEH):此項(xiàng)指令能讀到寄存器中的內(nèi)容,從第一個(gè)字節(jié)開始,一直讀到第九個(gè)字節(jié)完成為止,如果只需要讀取寄存器中的一部分內(nèi)容,主機(jī)會(huì)適時(shí)的給出復(fù)位信號結(jié)束進(jìn)程。</p><p>  3.復(fù)制命令(48H):此項(xiàng)指令可以把高速緩存器中第2~4字節(jié)轉(zhuǎn)

88、存到DS18B20的可擦除存儲(chǔ)器(EEPROM)中。當(dāng)此項(xiàng)命令發(fā)出之后,主機(jī)會(huì)發(fā)出讀指令的信號來讀總線,當(dāng)轉(zhuǎn)存過程正在進(jìn)行時(shí)主機(jī)讀到總線的結(jié)果為0,而轉(zhuǎn)存結(jié)束時(shí)讀到的結(jié)果為1。</p><p>  4.開始轉(zhuǎn)換指令(44H):DS18B20溫度計(jì)收到此項(xiàng)指令后會(huì)立即進(jìn)行溫度的轉(zhuǎn)換,而不需要用其他的數(shù)據(jù)。這個(gè)時(shí)候DS18B20溫度計(jì)會(huì)處于空閑的狀態(tài),當(dāng)正在進(jìn)行溫度的轉(zhuǎn)換時(shí),主機(jī)讀總線結(jié)果為0,當(dāng)轉(zhuǎn)換結(jié)束時(shí)讀總線結(jié)果

89、為1</p><p>  5.回調(diào)指令(B8H):此項(xiàng)指令會(huì)把可擦除存儲(chǔ)器(EEPROM)中的內(nèi)容調(diào)到TH寄存器、TL寄存器和配置寄存器的單元之中。如果主機(jī)在此項(xiàng)命令發(fā)出之后讀總線,如果讀到的結(jié)果為0,則表示總線忙,反之表示回調(diào)過程結(jié)束。</p><p>  6.讀電源標(biāo)志命令(B4H):如果主機(jī)發(fā)出此項(xiàng)指令后再讀總線,DS18B20溫度計(jì)將會(huì)發(fā)送出電源標(biāo)志,結(jié)果如果為0則表示數(shù)據(jù)線供電,

90、結(jié)果為1則表示外接電源供電。</p><p>  3.2.6 DS18B20的注意事項(xiàng)</p><p>  DS18B20測溫傳感器雖然具備有系統(tǒng)簡單、測量精度高、連接線方便、占用端口線少等一些優(yōu)點(diǎn),但是在我們實(shí)際應(yīng)用過程中也應(yīng)該要注意以下的幾個(gè)方面的問題:</p><p>  1.在每進(jìn)行一次讀寫操作之前都需要對DS18B20測溫傳感器復(fù)位,在復(fù)位操作成功以后再送

91、出一條ROM指令,最后才送出RAM指令,只有這樣才可以完成對DS18B20測溫傳感器預(yù)定的操作過程。進(jìn)行復(fù)位操作時(shí)要求主控制器將數(shù)據(jù)延時(shí)500μs,然后在將數(shù)據(jù)釋放,DS18B20測溫傳感器接收到主控制器發(fā)出的信號之后需要等待16μs~60μs左右的時(shí)間,然后DS18B20測溫傳感器將發(fā)出60μs~240μs左右時(shí)間的低脈沖信號,主控制器收到低脈沖信號之后才能表示復(fù)位操作成功。</p><p>  2.在進(jìn)行寫數(shù)

92、據(jù)操作時(shí),寫0時(shí),單總線需要被拉低至少60μs左右的時(shí)間,在進(jìn)行寫1時(shí),在15μs的時(shí)間內(nèi)就得釋放出總線。</p><p>  3.經(jīng)過轉(zhuǎn)換后得到的12位數(shù)據(jù)信號,會(huì)存儲(chǔ)在DS18B20測溫傳感器中的8比特的兩個(gè)RAM當(dāng)中,在二進(jìn)制的信號中,前面5位表示符號位,假如測得的溫度高于0,則這5位符號位就為0,那么只需要將所測到的數(shù)值與0.0625相乘就能得到實(shí)際得溫度;如果測得的溫度低于0,這5位符號位則為1,那么只

93、需要將所測到的數(shù)值取反之后再加1再與0.0625相乘,就能得到當(dāng)前的實(shí)際溫度值。</p><p>  4.由于DS18B20測溫傳感器的硬件比較簡單,那么就會(huì)需要相對繁瑣一些的軟件程序來進(jìn)行輔助。由于DS18B20測溫傳感器與控制器之間使用串行傳送數(shù)據(jù)的方式,由此,在對DS18B20測溫傳感器的讀寫操作進(jìn)行編程時(shí),必須保證讀寫的時(shí)序完成,否則將不能讀取到測溫的結(jié)果。如果軟件系統(tǒng)中使用PL/M、C等一些高級語言進(jìn)行

94、編程時(shí),那么對DS18B20測溫傳感器的操作部分最好使用匯編語言進(jìn)行編程。</p><p>  5.在與DS18B20溫度計(jì)相關(guān)的資料中均沒有涉及到在單總線上可以掛接DS18B20芯片的最大數(shù)量,這樣就容易使使用者誤認(rèn)為可以在單總線上任意掛機(jī)多個(gè)DS18B20溫度芯片,但在實(shí)際使用過程中并非如此使用。假如單總線上所掛的DS18B20芯片的數(shù)量超過8個(gè)時(shí),就會(huì)給控制器的總線驅(qū)動(dòng)方面帶來影響,多地點(diǎn)測溫系統(tǒng)中需要注意

95、這點(diǎn)。</p><p>  6.實(shí)際應(yīng)用中用來連接DS18B20溫度計(jì)的總線電纜長度是有限制的。在試驗(yàn)過程中,當(dāng)使用普通信號電纜傳輸時(shí),當(dāng)電纜的長度超過50m后,讀取的測溫?cái)?shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤錯(cuò)誤。當(dāng)使用帶屏蔽的雙絞線電纜時(shí),正常通訊的距離就能到達(dá)150m,當(dāng)使用更高等級的帶屏蔽雙絞線電纜時(shí),正常通訊的距離會(huì)相應(yīng)的增加。造成這種情況的原因主要是由總線中分布的電容使信號波形產(chǎn)生畸變。</p><p&g

96、t;  圖3.9 DS18B20的工作時(shí)序圖:</p><p><b>  初始化時(shí)序</b></p><p>  圖3.9 DS18B20的工作時(shí)序圖</p><p>  在系統(tǒng)剛剛啟動(dòng)時(shí)單片機(jī)會(huì)發(fā)出一段480-960主機(jī)首先發(fā)出一個(gè)480-960us的低電平信號。緊接著還會(huì)讓總線成為高電平,并在對之后的480us這一段時(shí)間內(nèi)對總線開始電平檢

97、測,若單片機(jī)發(fā)現(xiàn)總線上出現(xiàn)低電平時(shí)就說明在總線上掛接有原器件,并且掛接在總線上的器件作出了回應(yīng),證明一切正常。反之如果沒有低電平,就說明在總線上沒有掛接器件或者是器件連接總線不合適。需要作出調(diào)整。</p><p>  在系統(tǒng)中單片機(jī)是作為主機(jī)的,而DS18B20則是作為從機(jī)。在系統(tǒng)剛剛上電啟動(dòng)時(shí),DS18B20就會(huì)一直主動(dòng)檢測在總線上是不是有480-960us的低電平出現(xiàn)。如果檢測到有低電平時(shí)等到高電平轉(zhuǎn)變?yōu)榈碗?/p>

98、平時(shí)等待一段時(shí)間后將高電平轉(zhuǎn)變成低電平在等待一段時(shí)間后做出響應(yīng),告訴單片機(jī)自己已經(jīng)做好了準(zhǔn)備。</p><p><b>  寫操作</b></p><p><b>  圖3.10寫操作圖</b></p><p>  DS18B20的寫周期一般為60us,最大也不會(huì)多于120us。一般的當(dāng)單片機(jī)先把總線電平寫為低電平時(shí)并維持

99、1us就代表寫周期已經(jīng)開始了。如果單片機(jī)打算寫入“0”,就必須要保持總線低電平60us一直等到寫周期完了之后就可以將總線寫成高電平。如果單片機(jī)要寫1,就需要在剛剛開始時(shí)使得總線電平降低,1us之后再將總線放成高電平,這個(gè)過程一直保持到寫周期完了之后才會(huì)結(jié)束。讀操作</p><p><b>  3.11讀操作圖</b></p><p>  有很多種溫度傳感器:如熱電阻、

100、熱電偶、PN結(jié),半導(dǎo)體溫度傳感器等等。在這里選擇單總線數(shù)字輸出集成半導(dǎo)體溫度傳感器DS18B20它提供了9個(gè)(二進(jìn)制數(shù))來顯示溫度溫度指示裝置,所以沒有A / D轉(zhuǎn)換器件。信息經(jīng)過DS18B20單接口或發(fā)送到DS18B20,因此從主機(jī)CPU 到DS18B20僅需一條線連接,且和DS18B20電源可以提供的電纜本身(相對于外部電源,切換時(shí)間)將延長。</p><p>  圖3.12 DS18B20與單片機(jī)的連接&l

101、t;/p><p>  水溫、溫度數(shù)據(jù)采集電路如圖3.7所示,收集實(shí)時(shí)的溫度傳感器DS18B20的溫度控制對象,提供給51單片機(jī)的P1.0口作為數(shù)據(jù)的輸入方式。DS18B20和單片機(jī)接口非常簡單,主要有三線制模式和寄生電源模式。本設(shè)計(jì)采用三線系統(tǒng)的模式,把信號的DS18B20與單片機(jī)的雙向端口相連接,如圖3.12所示。通過溫度傳感器DS18B20采集的實(shí)時(shí)溫度控制對象,提供給51單片機(jī)P3.7口作為數(shù)據(jù)輸入。因?yàn)镈S1

102、8B20 DQ邊是單一的雙向通信,其內(nèi)部結(jié)構(gòu)是一個(gè)開漏的結(jié)構(gòu),所以這張個(gè)電阻作為負(fù)載電阻。此時(shí)應(yīng)注意這三端VDD,DQ、接地三線焊接牢固。</p><p>  DS18B20當(dāng)采用高電平的上拉電阻時(shí),傳輸距離可以達(dá)到50M,但須要1K的上拉電阻。</p><p>  3.3水位檢測裝置選擇</p><p>  水位檢測技術(shù)的類型有很多,如雷達(dá)液位傳感器、超聲波液位傳

103、感器、電子液位傳感器、液壓液面?zhèn)鞲衅鞯取?lt;/p><p>  壓力傳感器和雷達(dá),超聲波傳感器價(jià)值更貴,但資歷過高的小水箱使用這些傳感器,壓力傳感器測量水位淺會(huì)導(dǎo)致錯(cuò)誤,所以我選擇電子電阻式水位傳感器的液位傳感器。</p><p>  內(nèi)部電阻式水位傳感器結(jié)構(gòu)非常簡單,電阻串聯(lián)后,和系列的特征點(diǎn),在水的位置有區(qū)別,探針放在低水位,水不超過這個(gè)職位時(shí),由于水的導(dǎo)電性,使探針和底部的水位探針連接

104、,導(dǎo)致電路傳導(dǎo)。我可以基于不同的電路傳導(dǎo)原理估計(jì)位置的水,和水的位置信息。用水電阻式水位傳感器可以節(jié)省成本和降低了復(fù)雜性,也便于時(shí)間變化量。需要注意電阻探頭放置在水里很長一段時(shí)間后會(huì)有大規(guī)模的,為了避免這種狀況,我們認(rèn)為石墨和導(dǎo)電性,水不會(huì)生銹,使用石墨探針將包裝的優(yōu)點(diǎn)發(fā)揮了保護(hù)防腐效果。</p><p>  3.3.1水位檢測電路</p><p>  考慮到系統(tǒng)的本錢, 設(shè)計(jì)中用于分段式

105、液位檢測的設(shè)計(jì)。水箱安裝傳感器探針感知水位的變動(dòng)狀況,水位檢測電路如圖3.8所示。微控制器依據(jù)水位檢測電路、自動(dòng)加水裝置設(shè)定的水位。當(dāng)水位低于10%時(shí),自動(dòng)報(bào)警并停止電加熱、燃燒防空風(fēng)干,當(dāng)水位高于90%,自動(dòng)停止加水,水的檢測電路如圖3.13太陽能熱水器的溫度控制系統(tǒng)。</p><p>  圖3.13 水位檢測電路</p><p>  3.4 接口電路設(shè)計(jì)</p><

106、p>  當(dāng)需要上水,單片機(jī)發(fā)出低水電平經(jīng)過驅(qū)動(dòng)和放大處理,使繼電器處于通路狀態(tài),點(diǎn)亮LED二極管,開關(guān)導(dǎo)通,接近220 v電壓電磁閥。實(shí)現(xiàn)自動(dòng)上水的功能。當(dāng)繼電器為高電平時(shí),電磁閥不工作停止上水。所以自動(dòng)加水控制電路包括兩個(gè)方面:繼電器、繼電器驅(qū)動(dòng)程序,控制電路如圖3.15所示。</p><p>  3.4.1 驅(qū)動(dòng)芯片ULN-2003介紹</p><p>  驅(qū)動(dòng)芯很多,本次設(shè)計(jì)用

107、的是ULN-2003驅(qū)動(dòng)芯片,ULN-2003 具有很好的帶負(fù)載的能力,能承受很高的電壓和應(yīng)許通過的電流也很大。它的內(nèi)部是有7個(gè)NPN三極管組成的晶體管陣列。驅(qū)動(dòng)芯片ULN-2003 的每一個(gè)達(dá)林頓管都是在三極管的基極串聯(lián)一個(gè)2.7K的電阻,在工作的時(shí)候,給芯片提供5V電壓,它能與TTL門電路和COMS電路組合,能很好的處理單片機(jī)送來緩存的數(shù)據(jù)。ULN-2003 驅(qū)動(dòng)芯片可以在高電壓強(qiáng)電流的情況下工作,可以承受500mA的電流和50V的

108、電壓。它具有驅(qū)動(dòng)能力強(qiáng)、運(yùn)行穩(wěn)定、價(jià)格便宜等特點(diǎn)。ULN-2003芯片引腳介紹,如圖3.14所示</p><p>  圖 3.14 ULN-2003引腳圖</p><p>  ULN-2003一共有十六個(gè)引腳每一個(gè)引腳的功能有表3.3所示。</p><p>  表3.3 ULN-2003的引腳功能</p><p>  方案一:采用直流電機(jī)控制

109、 </p><p>  給直流電動(dòng)機(jī)通電驅(qū)動(dòng)風(fēng)扇的轉(zhuǎn)動(dòng),可以降低室內(nèi)的燃?xì)鉂舛龋绷麟姍C(jī)的控制簡單,帶負(fù)載的能力強(qiáng),利用PWM可以直接調(diào)節(jié)直流電動(dòng)機(jī)的速度。但直流電動(dòng)機(jī)的控制需要整流、速度調(diào)節(jié)、電流調(diào)節(jié)電路較為復(fù)雜,成本高,運(yùn)行出現(xiàn)麻煩維修麻煩。</p><p>  方案二:采用繼電器控制</p><p>  常用的繼電器被用來控制的中量,它是一種通電后就能自動(dòng)閉合

溫馨提示

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

評論

0/150

提交評論