版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> (20 屆)</b></p><p> 單片機(jī)數(shù)字溫度控制系統(tǒng)優(yōu)化設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電子信息工程
2、 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p> 本科畢業(yè)論文(設(shè)計(jì))</p><
3、p><b> 誠(chéng)信責(zé)任書</b></p><p> 本人鄭重聲明:本人所呈交的畢業(yè)論文(設(shè)計(jì)),是在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所完成。畢業(yè)論文(設(shè)計(jì))中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。</p><p><b> 特此聲明。</b></p><p> 論文(設(shè)計(jì))作者簽名:
4、 </p><p><b> 日 期: </b></p><p><b> 目 錄</b></p><p><b> 目 錄I</b></p><p><b> 摘 要II</b></p><p&g
5、t; AbstractIII</p><p><b> 第一章 緒論1</b></p><p> 1.1 研究背景1</p><p> 1.2總體設(shè)計(jì)方案及思路2</p><p> 第二章 硬件電路設(shè)計(jì)8</p><p> 2.1 AT89S51單片機(jī)技術(shù)及系統(tǒng)實(shí)現(xiàn)方法8&
6、lt;/p><p> 2.2 硬件最小系統(tǒng)設(shè)計(jì)9</p><p> 2.2.1 復(fù)位電路的設(shè)計(jì)9</p><p> 2.2.2 時(shí)鐘電路的設(shè)計(jì)10</p><p> 2.3溫度傳感器介紹11</p><p> 2.3.1 溫度傳感器的發(fā)展及簡(jiǎn)介11</p><p> 2.3.2
7、 數(shù)字溫度傳感器DS18B20的工作原理11</p><p> 2.3.3 ROM操作命令13</p><p> 2.3.4 DS18B20的測(cè)溫原理14</p><p> 2.4 DS18B02與單片機(jī)的硬件電路的設(shè)計(jì)16</p><p> 2.4.1 設(shè)計(jì)原則16</p><p> 2.4.2
8、引腳連接16</p><p> 2.5 顯示電路的設(shè)計(jì)17</p><p> 2.6溫度設(shè)定與保存電路設(shè)計(jì)17</p><p> 2.7繼電器電路的設(shè)計(jì)19</p><p> 2.8電源接口與報(bào)警電路20</p><p> 第三章 軟件部分設(shè)計(jì)21</p><p> 3.
9、1系統(tǒng)軟件設(shè)計(jì)整體思路21</p><p> 3.2 程序設(shè)計(jì)23</p><p> 3.2.1 主程序23</p><p> 3.2.2 DS18B20程序23</p><p><b> 第四章 調(diào)試25</b></p><p> 4.1 硬件調(diào)試25</p>
10、<p> 4.2 軟件調(diào)試26</p><p><b> 第五章 結(jié)論27</b></p><p><b> 參考文獻(xiàn)28</b></p><p><b> 致 謝29</b></p><p> 附錄A: 程序29</p>
11、<p><b> 附錄B:總圖41</b></p><p> 單片機(jī)數(shù)字溫度控制系統(tǒng)優(yōu)化設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 溫度對(duì)于人類來說并不陌生,其對(duì)我們的生產(chǎn)生活有著重要的影響。同時(shí)也是衡量事物冷熱程度的標(biāo)志。對(duì)于許多環(huán)境而言,加熱是它們不可缺少的一個(gè)環(huán)節(jié)。在
12、許多環(huán)境中也要避免溫度過高,而影響生產(chǎn)和生活。因此需要溫度控制系統(tǒng)。使用單片機(jī)控制溫度不僅便捷,還比較容易實(shí)現(xiàn)。隨著工業(yè)技術(shù)的發(fā)展和智能化時(shí)代的到來,各個(gè)系統(tǒng)的優(yōu)化設(shè)計(jì)正在掘地而起。</p><p> 本系統(tǒng)在數(shù)字溫度測(cè)量的基礎(chǔ)上經(jīng)行了更廣泛的擴(kuò)展。使用DS18B20作為溫度傳感器,配以繼電器來實(shí)現(xiàn)單片機(jī)對(duì)數(shù)字溫度的控制。以溫度為輸入信號(hào),AT89S51單片機(jī)通過對(duì)數(shù)據(jù)的識(shí)別從而發(fā)出相應(yīng)的控制指令,使得繼電器有
13、所回應(yīng),從而達(dá)到系統(tǒng)的目的和要求。</p><p> 在實(shí)用性方面,添加了斷電存儲(chǔ)功能,能有效的使用該系統(tǒng)。本系統(tǒng)簡(jiǎn)單實(shí)用,可以運(yùn)用到許多地方。</p><p> 關(guān)鍵詞:數(shù)字溫度控制;AT89S51;DS18B20;控制系統(tǒng);單片機(jī)</p><p> Optimal design of digital temperature control system b
14、ased on single chip microcomputer</p><p><b> Abstract</b></p><p> Temperature is no stranger to human beings, and it has an important impact on our production and life. At the same
15、 time is a measure of the degree of hot and cold signs of things. For many environments, heating is an integral part of them. In many environments, the temperature is too high to affect the production and life. So the te
16、mperature control system is needed. The use of single-chip temperature control is not only convenient, but also relatively easy to achieve. With the development of in</p><p> Based on the digital temperatur
17、e measurement, this system has been widely extended, using DS18B20 as the temperature sensor. With relay to achieve single-chip digital temperature control. Temperature as the input signal, AT89S51 microcontroller throug
18、h the identification of the data to issue the corresponding control instructions, so that the relay has a response, so as to achieve the purpose and requirements of the system. </p><p> In the pra
19、ctical aspect, the power down storage function is added, and the system can be effectively used. The system is simple and practical, can be applied to many places </p><p> Key Words:Digital temperature cont
20、rol;AT89S51;DS18B20;Control;Singlechip</p><p><b> 第一章 緒論</b></p><p><b> 1.1 研究背景</b></p><p> 從物理學(xué)的角度來說,溫度是一種基本的物理量。與許多多元化的事物聯(lián)系著,并且扮演著非常重要的角色。在物理世界中我們了解了物體
21、的熱脹冷縮,這時(shí)溫度便開始在我們的思想里形成了一個(gè)概念。隨著時(shí)代的發(fā)展,數(shù)字化和大規(guī)模集成電路充斥著我們的眼球。在這樣的情況下,溫度影響著我們的生活和生產(chǎn)。如果能夠很好的控制某個(gè)場(chǎng)合的溫度,那么就可以提高我們的生產(chǎn)效益和生產(chǎn)技術(shù)指標(biāo),甚至可以節(jié)約能源。并且溫度也關(guān)系著我們的生產(chǎn)和生活,所以對(duì)其的測(cè)量和控制在整個(gè)生產(chǎn)和生活過程中都得到了相當(dāng)?shù)闹匾暋?lt;/p><p> 處于實(shí)際的生產(chǎn)環(huán)境中,系統(tǒng)內(nèi)部與外部的溫度是很
22、難控制的。同時(shí),也無法準(zhǔn)確的計(jì)算其他熱源的影響。這時(shí),為了達(dá)到絕熱的目地,我們常常需要采取一系列的措施。例如,使得目標(biāo)系統(tǒng)的外部環(huán)境溫度與目標(biāo)系統(tǒng)內(nèi)部的溫度處于同步變化中。根據(jù)理論依據(jù),熱力學(xué)第二定律很好的詮釋了不可能把熱從低溫到高溫傳遞使物體不受其他因素影響。因此,當(dāng)內(nèi)部溫度變化的時(shí)候,需要采取措施使其保持在原有的溫度環(huán)境中。</p><p> 除此之外,在眾多實(shí)際的環(huán)境中,增溫與降溫相比要顯得容易得多。如果
23、我們需要對(duì)溫度的精度有很高的需求,那么就不允許溫度出現(xiàn)實(shí)際溫度超過控制目標(biāo)溫度的現(xiàn)象。在那些封閉的空間中,如果隔熱效果很好,更不允許出現(xiàn)上述情況。就像許多冶金和煉鋼的環(huán)境下,只是注重了溫度的升高,抑或是沒有那么精確的降溫設(shè)備。然而,在相反的情況下,生產(chǎn)和生活是很難進(jìn)行的。</p><p> 隨著國(guó)內(nèi)外經(jīng)濟(jì)飛速的發(fā)展,人們對(duì)溫度控制的需求越來越多。數(shù)字溫度控制系統(tǒng)在一些領(lǐng)域也得到了非常多的重視,并不斷的向著智能化
24、數(shù)字化的方向發(fā)展。目前國(guó)產(chǎn)的數(shù)字溫度控制器分辯率很難媲美外國(guó)的產(chǎn)品,測(cè)量的結(jié)果會(huì)相對(duì)的模糊一些。而國(guó)外的數(shù)字溫度控制器相對(duì)國(guó)內(nèi),在分辨率和精度上提高了許多,但是銷售價(jià)位也比國(guó)產(chǎn)的昂貴。許多發(fā)達(dá)國(guó)家現(xiàn)在己經(jīng)生產(chǎn)出來了一些性價(jià)比較高的數(shù)字溫度控制器,而且應(yīng)用范圍非常廣泛,例如美國(guó)、瑞典等等。它們都有許多相似的地方,適用于那些處理系統(tǒng)比較繁瑣冗長(zhǎng)、受干擾程度很弱、精確度比較模糊的系統(tǒng)。繁瑣冗長(zhǎng)的處理程序所需要的時(shí)間就相對(duì)較長(zhǎng)一些,就很有可能導(dǎo)
25、致所處理的結(jié)果不具備實(shí)時(shí)有效性。受干擾程度較弱而且具備自動(dòng)調(diào)整功能,就可以在系統(tǒng)處理結(jié)果的同時(shí)自動(dòng)的調(diào)節(jié)可接受范圍內(nèi)的允許的誤差值,從而得到更加準(zhǔn)確的處理結(jié)果。借助計(jì)算機(jī)的技術(shù)實(shí)時(shí)的對(duì)溫度的變化進(jìn)行控制,使分析的結(jié)果精度更高。現(xiàn)在,我國(guó)的溫度控制系統(tǒng)也在不斷地借鑒國(guó)外的先進(jìn)技術(shù)和經(jīng)驗(yàn),向更加高性能,智能化,數(shù)字化的方向發(fā)展。</p><p> 1.2總體設(shè)計(jì)方案及思路</p><p>
26、 系統(tǒng)的輸入信號(hào)為溫度,那么就需要對(duì)其進(jìn)行識(shí)別。這時(shí)候就需要使用溫度傳感器來對(duì)溫度進(jìn)行識(shí)別。使用傳統(tǒng)的PT鉑電阻等這類溫度傳感器需要進(jìn)行A/D轉(zhuǎn)換。如果采用這樣的方法就會(huì)大大的增加電路的復(fù)雜程度,不利于系統(tǒng)的設(shè)計(jì)。</p><p> 在對(duì)上訴問題進(jìn)行反思之后,得出一個(gè)更好的解決辦法。在傳感器的選擇上,使用集成數(shù)字溫度傳感器。這樣直接獲得數(shù)字信號(hào),單片機(jī)直接對(duì)該信號(hào)進(jìn)行處理,這樣更方便系統(tǒng)進(jìn)行目標(biāo)溫度的處理。同時(shí)
27、考慮到斷電的情況下,還可以使用數(shù)據(jù)存儲(chǔ)芯片AT24C02來對(duì)溫度上下限的值進(jìn)行存儲(chǔ)。也可以考慮使用備用電源,但由于成本關(guān)系,使用存儲(chǔ)芯片要?jiǎng)澦阍S多。也能提高系統(tǒng)的容錯(cuò)率和使用率。</p><p> 下圖為系統(tǒng)框圖。使用四位一體的共陽極數(shù)碼管來完成對(duì)溫度的顯示。在目標(biāo)信號(hào)的采集上,使用數(shù)字溫度傳感器DS18B20。如圖1.1所示。</p><p> 圖1.1 整體設(shè)計(jì)框圖 </p
28、><p><b> ?。?)控制部分</b></p><p> 用AT89S51作為主控制器。具有基本51單片機(jī)所具有的功能。能夠使用傳感器對(duì)信號(hào)進(jìn)行采集,之后傳輸給單片機(jī)進(jìn)行處理。以鍵盤電路和液晶顯示或數(shù)碼管顯示以此實(shí)現(xiàn)人機(jī)交互。使用該單片機(jī)具有許多如下的優(yōu)點(diǎn)。</p><p> 首先AT89S51易于學(xué)習(xí),適合我們進(jìn)行基本的畢業(yè)設(shè)計(jì)。51系
29、列的單片機(jī)是我們進(jìn)行開發(fā)的首選,因?yàn)橹挥姓莆樟怂幕緫?yīng)用我們才能掌握其他主流的單片機(jī)。并且該單片機(jī)學(xué)習(xí)開發(fā)資料多,十分便于我們學(xué)習(xí)和使用。如果使用主流的單片機(jī),在程序和技術(shù)指標(biāo)上我們很難在短時(shí)間內(nèi)掌握,這是一個(gè)循序漸進(jìn)的過程。</p><p> 其次C語言編程簡(jiǎn)單易用。與計(jì)算機(jī)C語言相比,單片機(jī)中的C語言更要簡(jiǎn)單。其主要集中在一些循環(huán)判斷語句上,例如ifelse;for;while等語句。只要我們有過計(jì)算機(jī)C
30、語言的學(xué)習(xí)經(jīng)驗(yàn),就能夠?qū)ζ溥M(jìn)行程序的編寫,大大減少我們的學(xué)習(xí)時(shí)間。方便我們的學(xué)習(xí)。同時(shí)采用keil公司開發(fā)的51單片機(jī)編程軟件進(jìn)行編譯和程序的編寫。同時(shí)我們還可以選擇匯編語言。</p><p> 最后AT89S51單片機(jī)價(jià)格便宜,能夠進(jìn)行大規(guī)模的采集和使用,其價(jià)格在幾元左右。</p><p><b> (2)顯示部分</b></p><p>
31、; 顯示電路采用四位一體共陽極數(shù)碼管顯示。P0口不需要使用上拉電阻。</p><p><b> ?。?)溫度采集部分</b></p><p> 本系統(tǒng)使用DS18B20數(shù)字溫度傳感器來對(duì)溫度進(jìn)行測(cè)量。在與單片機(jī)的通信中,DQ接P3.7口。</p><p> 該數(shù)字溫度傳感器具有如下特點(diǎn):</p><p> 1)
32、具有單總線結(jié)構(gòu),只需要一根數(shù)據(jù)線就能進(jìn)行數(shù)據(jù)和信號(hào)的傳輸;</p><p> 2) 可以把多個(gè)該傳感器接在一起,實(shí)現(xiàn)多點(diǎn)溫度檢測(cè)的功能;</p><p> 3) 結(jié)構(gòu)簡(jiǎn)單,無需外部元器件;</p><p> 4) 可以使用外部供電,電源范圍適用于單片機(jī);</p><p> 5) 待機(jī)的功耗幾乎為零;</p><p&
33、gt; 6) 溫度以3位數(shù)字顯示,精確到小數(shù)點(diǎn)后一位;</p><p> 7) 可以自定義溫度上下限;</p><p> 8) 超過溫度上下限時(shí)具有報(bào)警器件;</p><p> 9) 電源極性接反只會(huì)不能工作,不會(huì)損壞器件。 </p><p> DS18B20傳感器內(nèi)部結(jié)構(gòu)</p><p> DS18B20
34、采用3腳PR-35封裝,如圖1.2所示;DS18B20的內(nèi)部結(jié)構(gòu)如圖1.3所示。</p><p> 圖1.2 DS18B20封裝</p><p> 圖1.3 DS18B20內(nèi)部結(jié)構(gòu)</p><p> DS18B20內(nèi)部結(jié)構(gòu)的組成部分:</p><p> 1)DS18B20具有唯一的序列號(hào),并且各個(gè)部分對(duì)應(yīng)相應(yīng)的內(nèi)容。也正是因?yàn)槠渚哂羞@
35、樣的結(jié)構(gòu)且具有校驗(yàn)碼,所以多個(gè)該數(shù)字溫度傳感器依然可以使用單總線結(jié)構(gòu)。ROM結(jié)構(gòu)如下表1.1所示。</p><p> 表1.1 ROM結(jié)構(gòu)</p><p> MSB LSB MSB LSB MSB LSB</p><p> 2)TH和TL的值可以人為輸入進(jìn)行設(shè)置,也可以直接在程序編寫中完
36、成。</p><p> 3)暫存器運(yùn)行速度很快,其可以用來對(duì)該數(shù)字溫度傳感器的測(cè)溫精度進(jìn)行設(shè)置。</p><p> 暫存器RAM是高速進(jìn)行的,由各個(gè)字節(jié)組成。最開始的兩個(gè)字節(jié)代表著測(cè)得溫度的信息,接下來的兩個(gè)相鄰字節(jié)是溫度上下限觸發(fā)器的拷貝。在單片機(jī)進(jìn)行復(fù)位的過程中,其信息被更新。第五字節(jié),是分辨率對(duì)應(yīng)的字節(jié)。在該數(shù)字溫度傳感器進(jìn)行工作時(shí),分辨率會(huì)轉(zhuǎn)換為對(duì)應(yīng)的溫度數(shù)值。由于高速暫存器R
37、AM有三個(gè)字節(jié)屬于保留狀態(tài),并未使用,所以全部顯示為邏輯1。為了保證系統(tǒng)通信的正確性,可以讓第九字節(jié)讀出前面所有字節(jié)的循環(huán)冗余校驗(yàn)碼。這樣就可以達(dá)到檢測(cè)數(shù)據(jù)準(zhǔn)確性的要求。該內(nèi)部存儲(chǔ)器結(jié)構(gòu)如下圖1.4所示。</p><p> 圖1.4 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)</p><p> TM表示工作位模式,一般用來設(shè)置其處在工作模式還是測(cè)試模式中。一般情況下,該位在出廠時(shí)的值為零,用戶需要對(duì)
38、其進(jìn)行設(shè)置,以達(dá)到自己對(duì)其使用的需求。接下來的兩位決定著溫度轉(zhuǎn)換的精度以及位數(shù),即R1和R0,并且據(jù)此來設(shè)定分辨率。后五位全為一。如圖1.5所示。</p><p> 圖1.5 DS18B20字節(jié)定義</p><p> 當(dāng)該數(shù)字溫度傳感器接收到單片機(jī)控制系統(tǒng)發(fā)來的溫度轉(zhuǎn)換命令之后,其才開始轉(zhuǎn)換溫度,并不會(huì)自動(dòng)轉(zhuǎn)換。之后會(huì)以相應(yīng)的字符進(jìn)行表示。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位
39、在前,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。表1.2是DS18B20溫度轉(zhuǎn)換時(shí)間表。</p><p> 同樣的,與二進(jìn)制零和一表示正負(fù)數(shù)相同。這也表示溫度的正負(fù)值。這由符號(hào)位S決定。當(dāng)溫度為負(fù)值時(shí),需要進(jìn)行碼制的轉(zhuǎn)換和計(jì)算才能得出真正的二進(jìn)制數(shù)值。</p><p> 部分溫度值對(duì)應(yīng)的二進(jìn)制和十六進(jìn)制如表1.3所示。</p><p> 表1.2 D
40、S18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 表1.3 一部分溫度對(duì)應(yīng)值表</p><p> 4) CRC的產(chǎn)生 循環(huán)冗余校驗(yàn)碼存儲(chǔ)在ROM最高有效字節(jié)中。該傳感器主控制系統(tǒng)是根據(jù)ROM前面56位來計(jì)算循環(huán)冗余校驗(yàn)碼的值,也就是CRC的值。然后把計(jì)算出來的值和DS18B20中之前存儲(chǔ)的值進(jìn)行比較,用來判斷接收到的數(shù)據(jù)是不是正確的。除此之外,DS18B20采用單總線協(xié)議,所以是分
41、時(shí)間段完成的。因此時(shí)序?qū)ζ涫欠浅V匾?,關(guān)系著數(shù)據(jù)通信能否正常準(zhǔn)確的完成。單片機(jī)控制系統(tǒng)對(duì)該數(shù)字溫度傳感器的操作必須遵循其操作協(xié)議。</p><p> 通常情況下,操作協(xié)議如下圖1.6所示:</p><p><b> 圖1.6 操作協(xié)議</b></p><p> 第二章 硬件電路設(shè)計(jì)</p><p> 2.1 A
42、T89S51單片機(jī)技術(shù)及系統(tǒng)實(shí)現(xiàn)方法</p><p> AT89S51具有高性價(jià)比,已經(jīng)用于許多的地方。本系統(tǒng)同樣采用該單片機(jī)來對(duì)溫度進(jìn)行控制,不僅能夠達(dá)到設(shè)計(jì)的目的,還能節(jié)約成本。隨著工業(yè)4.0的發(fā)展,溫度這一參數(shù)在各個(gè)控制領(lǐng)域和工業(yè)領(lǐng)域都有著不可比擬的作用。許多場(chǎng)所都需要對(duì)溫度進(jìn)行監(jiān)控,以防止事故的發(fā)生。然而在以往的工業(yè)應(yīng)用中,人們都是用空調(diào)對(duì)工廠車間以及各種環(huán)境的溫度進(jìn)行恒溫控制。但是一些場(chǎng)合并不適合使用
43、大功率的設(shè)備,針對(duì)這些問題,本系統(tǒng)設(shè)計(jì)的目的是可以實(shí)現(xiàn)掉電存儲(chǔ)的高精度數(shù)字溫度控制系統(tǒng)。方便實(shí)用,是一種簡(jiǎn)便的,能夠廣泛應(yīng)用的數(shù)字溫度控制系統(tǒng)。</p><p> 本系統(tǒng)在傳統(tǒng)的溫控器上進(jìn)行了優(yōu)化設(shè)計(jì)。雖然原理差不多,效果并沒有得到很大的提升,但是節(jié)約了成本,提高了系統(tǒng)的實(shí)用性。本系統(tǒng)是這樣實(shí)現(xiàn)的:溫度是輸入信號(hào),當(dāng)單片機(jī)接收數(shù)字信號(hào)時(shí),與之前設(shè)定的溫度范圍進(jìn)行對(duì)比,對(duì)應(yīng)的值控制著繼電器開關(guān),同時(shí)紅燈亮起。當(dāng)采
44、集的溫度低于下限時(shí),繼電器同樣控制開關(guān)的吸合,啟動(dòng)加熱設(shè)備,綠燈亮起。系統(tǒng)采用四位一體的共陽極數(shù)碼管,以此顯示溫度,精度為一位小數(shù),最后一位顯示的是C,表示溫度單位。同時(shí)采用共陽極的接法,使單片機(jī)PO口不用接上拉電阻,簡(jiǎn)化了電路,降低了成本,完成了對(duì)系統(tǒng)的一些小優(yōu)化。</p><p> 同時(shí)使用AT24C02芯片進(jìn)行掉電的存儲(chǔ),提高系統(tǒng)的實(shí)用性。談到系統(tǒng)優(yōu)化,不得不說電源接口和自鎖開關(guān)。可以使用USB接口將5V
45、的電源送到本系統(tǒng),而自鎖開關(guān)就使得本系統(tǒng)有了一個(gè)真正意義上的開關(guān),按下時(shí)通電,再按下斷電。從人性化上優(yōu)化了系統(tǒng)。掉電存儲(chǔ)功能是從實(shí)用性上進(jìn)行了優(yōu)化。在負(fù)載的選擇上也是具有多樣性的。單片機(jī)控制的繼電器可以看作為一個(gè)開關(guān),每次的吸合便是表示開關(guān)閉合。這樣就使得負(fù)載的選擇具有多樣性。比如加熱爐,風(fēng)扇組等等。</p><p> 2.2 硬件最小系統(tǒng)設(shè)計(jì)</p><p> 2.2.1 復(fù)位電路的
46、設(shè)計(jì)</p><p> 顧名思義,單片機(jī)復(fù)位是指對(duì)地址的初始化。但是復(fù)位不僅僅是起到這樣的作用。當(dāng)單片機(jī)進(jìn)入死循環(huán)或者是死機(jī)等出現(xiàn)的錯(cuò)誤時(shí),重新啟動(dòng)系統(tǒng)就需要使用復(fù)位鍵。</p><p> 本設(shè)計(jì)使用按鍵上電復(fù)位。從單片機(jī)的時(shí)序和振蕩周期中可以得知,當(dāng)十二時(shí)鐘模式表示二十四個(gè)晶振周期且他們同時(shí)減半時(shí)依然存在對(duì)應(yīng)關(guān)系時(shí),就可以實(shí)現(xiàn)復(fù)位功能。一般情況下,為了使復(fù)位變得可靠,機(jī)器周期需要表現(xiàn)
47、在相應(yīng)的狀態(tài)下。在復(fù)位之后,振蕩器以十二時(shí)鐘模式運(yùn)行。</p><p> 當(dāng)RESET在單片機(jī)的控制下為低電平時(shí),各個(gè)寄存器的復(fù)位狀態(tài)如表2.1所示。單片機(jī)芯片內(nèi)部的RAM狀態(tài)并不會(huì)受到單片機(jī)復(fù)位狀態(tài)的影響。有兩個(gè)引腳為高電平,則代表有效的復(fù)位。圖2.1為復(fù)位電路。</p><p> 表2.1 復(fù)位后寄存器狀態(tài)</p><p><b> 圖2.1 復(fù)
48、位電路</b></p><p> 2.2.2 時(shí)鐘電路的設(shè)計(jì)</p><p> 單片機(jī)在工作過程中,為了使得信號(hào)的不斷產(chǎn)生,就需要具有時(shí)鐘電路。支持和控制著時(shí)序的正常工作。在單片機(jī)系統(tǒng)中,一條指令往往可以看作是許多的微操作。所以就必須要有嚴(yán)格的時(shí)序控制和時(shí)鐘電路。</p><p> 51單片機(jī)芯片的內(nèi)部本身就集成有一個(gè)高增益的反相放大器,讓其為單片
49、機(jī)提供時(shí)鐘信號(hào),同時(shí)作為振蕩器存在于單片機(jī)內(nèi)部。XTAL1為輸入引腳, XTAL2為輸出引腳。在其外部接晶振和微調(diào)電容,基本電路就這樣形成了。穩(wěn)定的自激振蕩器就在這種情況下構(gòu)成了。如圖2.2所示:</p><p> 圖2.2 時(shí)鐘電路的設(shè)計(jì)</p><p> 該電路的晶振可以設(shè)置在1.2MHz-12MHz這個(gè)范圍之內(nèi)。對(duì)于整體時(shí)鐘電路而言,電容的值并沒有對(duì)其造成影響。但是,振蕩頻率輸出
50、的穩(wěn)定性,振蕩電路的震速和大小會(huì)受到電容值的些許影響。為了使得振蕩器的頻率穩(wěn)定性較高,通常使振蕩頻率CX1、CX2在60pF~70pF之間。雖然它的范圍是20pF至100pF,為了滿足本設(shè)計(jì)的要求,故選取12MHz的晶振,30PF的電容。</p><p> 2.3溫度傳感器介紹</p><p> 2.3.1 溫度傳感器的發(fā)展及簡(jiǎn)介</p><p> 溫度是人們
51、的觸覺神經(jīng)可以感知到的,能使物體熱脹冷縮,溫度的測(cè)量就開始于此。利用這一特性也就誕生了水銀溫度計(jì)。也是之前甚至現(xiàn)在人們?cè)诟鱾€(gè)領(lǐng)域所使用的。后來人們慢慢地發(fā)現(xiàn)其具有許多缺點(diǎn)。比如,水銀灑落很難處理,具有危害性,不環(huán)保等等缺點(diǎn)。在社會(huì)的進(jìn)程和工業(yè)的進(jìn)一步發(fā)展中,衍生出了許多酒精溫度計(jì)和金屬簧片溫度計(jì),與之前的相比,依然不能滿足人們的需求。測(cè)量不精準(zhǔn),達(dá)不到控制領(lǐng)域的要求。隨著測(cè)控電路的發(fā)展和技術(shù)的不斷進(jìn)步,產(chǎn)生了許多測(cè)量溫度的方法和技術(shù)。一
52、般為溫度引起信號(hào)的變化,然后將這一信號(hào)轉(zhuǎn)化為相應(yīng)的溫度值。通常有熱電偶式,石英晶振型等等一系列的溫度傳感器。但是隨著電子技術(shù)的飛速發(fā)展,產(chǎn)生了許多集成的數(shù)字化溫度傳感器。</p><p> 2.3.2 數(shù)字溫度傳感器DS18B20的工作原理</p><p> DS18B20工作時(shí)序</p><p> 由該傳感器通訊協(xié)議可知,以下三個(gè)步驟是主機(jī)對(duì)DS18B20在
53、完成溫度轉(zhuǎn)換中不可缺少的:</p><p> (1).在對(duì)其進(jìn)行讀寫時(shí)序之前都需要復(fù)位該傳感器;</p><p> (2).在上一步完成的基礎(chǔ)上,傳送一條指令;</p><p> (3).在對(duì)該數(shù)字溫度傳感器進(jìn)行預(yù)定的操作之前必須發(fā)送RAM指令。</p><p> 對(duì)于復(fù)位的來說,除了數(shù)據(jù)線下拉一段時(shí)間,才開始上拉。還要在這個(gè)過程中等
54、上一段時(shí)間,之后才能說明復(fù)位是現(xiàn)實(shí)了。這個(gè)過程中含有初始化、寫和讀三個(gè)時(shí)序,組成三個(gè)部分。</p><p><b> 初始化時(shí)序</b></p><p> 圖2.3 初始化時(shí)序</p><p> 初始化的開始意味著信號(hào)和數(shù)據(jù)各項(xiàng)工作的開始,應(yīng)答脈沖在傳輸?shù)倪^程中被系統(tǒng)主機(jī)響應(yīng)。產(chǎn)生復(fù)位脈沖并且主機(jī)保持低電平最少4.8毫秒時(shí),表示主機(jī)產(chǎn)生了
55、低電平且產(chǎn)生了復(fù)位脈沖。然后釋放系統(tǒng)主機(jī)的總線,同時(shí)拉高總線的上拉電阻,在經(jīng)過延時(shí)15~60us后,表示接受模式已經(jīng)到來,以此來產(chǎn)生低電平狀態(tài)下的應(yīng)答脈沖。在另一種情況下,還需要再延時(shí)480us。</p><p><b> 寫時(shí)序</b></p><p><b> 圖2.4 寫時(shí)序</b></p><p> 我們知道
56、時(shí)序分為零和一,那么寫時(shí)序就是要根據(jù)零和一對(duì)應(yīng)的狀態(tài)來完成。相鄰的寫時(shí)序之間的恢復(fù)時(shí)間為1微秒,在總線低電平時(shí)開始。在寫時(shí)序的過程中,主機(jī)輸出高電平表示寫的是1時(shí)序。同時(shí)需要2us的延遲時(shí)間,之后開始對(duì)總線進(jìn)行釋放,最后延時(shí)到60us。當(dāng)然,主機(jī)輸出低電平時(shí)表示進(jìn)行寫0時(shí)序,延時(shí)與之前的寫1時(shí)序相反。最后才是2us的延時(shí)。</p><p><b> 圖2.5 讀時(shí)序</b></p&g
57、t;<p> 讀時(shí)序如上圖2.5所示。在控制系統(tǒng)發(fā)出讀時(shí)序命令時(shí),數(shù)字溫度傳感器才向主機(jī)傳輸數(shù)據(jù)。也正因如此,在產(chǎn)生讀時(shí)序之前一定要讓主機(jī)發(fā)出讀數(shù)據(jù)命令,使得從機(jī)可以進(jìn)行數(shù)據(jù)的傳輸。在讀時(shí)序的過程中,需要少許的時(shí)間,同時(shí),在恢復(fù)的時(shí)候也需要延遲一點(diǎn)點(diǎn)時(shí)間。無可厚非,每個(gè)時(shí)序的發(fā)起都是由主機(jī)決定的。但是可以延遲總線1微秒的時(shí)間。在讀時(shí)序的過程中,主機(jī)處于釋放的狀態(tài)。從圖中可以看到主機(jī)在時(shí)序開始之后的15微秒之內(nèi)對(duì)總線狀態(tài)進(jìn)
58、行采樣。</p><p> 2.3.3 ROM操作命令</p><p> 當(dāng)控制系統(tǒng)的主機(jī)接收到數(shù)字溫度傳感器的信號(hào)之后,就向目標(biāo)系統(tǒng)發(fā)出ROM操作命令。各個(gè)命令如表2.2所述。</p><p> 表2.2 ROM操作命令</p><p> 續(xù)表2.2 ROM操作命令</p><p> 2.3.4 DS18B
59、20的測(cè)溫原理</p><p> 1.DS18B20的測(cè)溫原理:</p><p> 每一個(gè)數(shù)字溫度傳感器DS18B20都有其唯一的標(biāo)識(shí),就是48位序列號(hào),是獨(dú)一無二的。控制系統(tǒng)在進(jìn)行程序處理之前,需要用讀命令將其序列號(hào)讀出。</p><p> 工作時(shí),程序不用先必須匹配ROM。采取在啟動(dòng)DS18B20進(jìn)行溫度變換之前跳過ROM,隨后再進(jìn)行ROM匹配,逐步的讀出
60、數(shù)字溫度傳感器的各個(gè)數(shù)據(jù)。</p><p> 該數(shù)字溫度傳感器的工作原理如圖2.6所示。晶振的振蕩頻率會(huì)受一些溫度的影響,但是低溫和中等溫度對(duì)其影響較小。脈沖信號(hào)產(chǎn)生的固定頻率用于送給內(nèi)部的減法計(jì)數(shù)器1。高溫系數(shù)振蕩器產(chǎn)生的晶振在隨溫度變化過程中,對(duì)振蕩頻率有明顯的改變。減法計(jì)數(shù)器2的脈沖輸入是由其產(chǎn)生的信號(hào)提供的。在圖中還存在著隱藏的計(jì)數(shù)門,在其打開時(shí),就開始對(duì)低溫系數(shù)產(chǎn)生的晶振頻率進(jìn)行計(jì)數(shù),從而完成目標(biāo),即
61、溫度的測(cè)量。或許會(huì)有一些疑問,計(jì)數(shù)門什么時(shí)候開啟。從資料中得知,高溫系數(shù)振蕩器決定計(jì)數(shù)時(shí)間的開啟。在進(jìn)行測(cè)量之前,需要在計(jì)數(shù)器1和溫度寄存器中置入各個(gè)溫度對(duì)應(yīng)的基數(shù)。低溫系數(shù)晶振產(chǎn)生的脈沖信號(hào)被減計(jì)數(shù)器1減數(shù),在其減數(shù)的過程中,減到0時(shí),就會(huì)對(duì)溫度寄存器的值加1。然后減法計(jì)數(shù)器1的內(nèi)部預(yù)置數(shù)會(huì)被重新裝入。然后其重新開始重復(fù)之前的工作。直到減法計(jì)數(shù)器2計(jì)數(shù)到0,就停止對(duì)溫度寄存器值的累加。如果完成這項(xiàng)工作,溫度寄存器中顯示的值就為測(cè)量的溫
62、度值。如圖2.6中,測(cè)溫過程中的非線性會(huì)有不足,可以采用圖中斜率累加器來進(jìn)行補(bǔ)償,以保證測(cè)量的精度。斜率累加器的輸出可以用來對(duì)減法計(jì)數(shù)器的預(yù)置值進(jìn)行修改。在整個(gè)過程中,除非計(jì)數(shù)門被關(guān)閉,否則一</p><p> 除此之外,因?yàn)閿?shù)字溫度傳感器DS18B20的單總線通信功能是在分時(shí)的情況下完成的,必須保證有時(shí)隙觀念和時(shí)序概念。所以其工作過程中的讀寫時(shí)序很重要。數(shù)字溫度控制系統(tǒng)對(duì)其的各種操作必須遵守各類協(xié)議進(jìn)行。其操
63、作協(xié)議必須依次進(jìn)行為:初始化→發(fā)送ROM命令→發(fā)送RAM命令→數(shù)據(jù)篩選整合。</p><p> 圖2.6 測(cè)溫原理內(nèi)部裝置</p><p> 2 DS18B20的測(cè)溫流程如圖2.7所示。</p><p> 圖2.7 DS18B20測(cè)溫流程</p><p> 2.4 DS18B02與單片機(jī)的硬件電路的設(shè)計(jì) </p><
64、;p> 2.4.1 設(shè)計(jì)原則</p><p> 本系統(tǒng)采用外部供電的方式。當(dāng)采用這種方式供電時(shí),數(shù)字溫度傳感器1號(hào)引腳接GND,2號(hào)引腳接單片機(jī)P3.7口,實(shí)現(xiàn)數(shù)據(jù)通信。3號(hào)引腳接電源,以此保證器件的正常供電。采用其自帶電源供電時(shí),DQ接單片機(jī)的單總線,要使數(shù)字溫度傳感器在有效的周期內(nèi)能夠有足量的電流,使用一個(gè)晶體管可以解決這個(gè)問題。在本次設(shè)計(jì)中采用外部電源供電的方式,VCC接電源??偩€接上拉電阻,以提
65、高信號(hào)線的驅(qū)動(dòng)能力。寫存儲(chǔ)器操作和溫度數(shù)模變換操作是其操作中的兩個(gè)步驟,當(dāng)在進(jìn)行這兩個(gè)操作時(shí),總線上要有強(qiáng)的上拉電阻,10μs是上拉電阻開啟的最大時(shí)間。如果使用內(nèi)部電源供電方式,1號(hào)和3號(hào)引腳接地。這時(shí)DS18B20只有一個(gè)接口和單片機(jī)通信,要求其接口必須存在三態(tài)。數(shù)字溫度傳感器系統(tǒng)必須進(jìn)行這三個(gè)步驟:</p><p> (1) 數(shù)字溫度傳感器初始化;</p><p> (2) ROM
66、操作指令;</p><p> (3) 存儲(chǔ)器操作指令。</p><p> 2.4.2 引腳連接</p><p> 數(shù)字溫度傳感器DS18B20與單片機(jī)接口如圖2.8所示。1號(hào)引腳接地,DQ接單片機(jī)P3.7口,總線接上拉電阻提高信號(hào)線的驅(qū)動(dòng)能力。</p><p> 2.5 顯示電路的設(shè)計(jì)</p><p> 采用
67、四位一體共陽極的LED。除了有效接口以外,其它接VCC,使得單片機(jī)接顯示器的接口不需要接高電平。從而簡(jiǎn)化電路,節(jié)約成本。當(dāng)單片機(jī)P0口低電平有效時(shí),數(shù)碼管工作。采用這樣的數(shù)碼管使得編程簡(jiǎn)便,節(jié)約單片機(jī)端口。如下圖2.9所示。</p><p> 四位一體的LED顯示:</p><p> (1)當(dāng)系統(tǒng)沒有檢測(cè)到數(shù)字溫度傳感器時(shí),數(shù)碼管顯示為:8888</p><p>
68、; (2)當(dāng)系統(tǒng)檢測(cè)到數(shù)字溫度傳感器存在時(shí),數(shù)碼管顯示為:XXXX</p><p> 圖2.9 顯示電路圖</p><p> 2.6溫度設(shè)定與保存電路設(shè)計(jì)</p><p> 1.按鍵電路實(shí)現(xiàn)了人機(jī)交互。三個(gè)按鍵組成鍵盤電路。其中第一個(gè)按鍵接單片機(jī)P3.1口實(shí)現(xiàn)設(shè)置的功能。另外2個(gè)分別實(shí)現(xiàn)減和加的功能。由于本設(shè)計(jì)輸入簡(jiǎn)單,故采用三個(gè)獨(dú)立的按鍵組成按鍵電路。雖然
69、占用一定的資源,但是與矩陣鍵盤相比,還是比較簡(jiǎn)單實(shí)用。如圖2.10所示。具體功能如下。</p><p> (1) SET — P31 </p><p> (2) DEC — P32 </p><p> (3) ADD — P33 </p><p><b> 溫度設(shè)定部分:</b></p><
70、p> (1)按下第一個(gè)SET鍵時(shí),表示進(jìn)入溫度設(shè)置界面。</p><p> (2)然后使用下面2個(gè)鍵進(jìn)行溫度的減和加的設(shè)定。</p><p> (3)設(shè)定好以后再按SET鍵退出。數(shù)碼管恢復(fù)工作,控制電路根據(jù)設(shè)定的上下限溫度進(jìn)行控制,達(dá)到溫度控制的目的。</p><p> 圖2.10 按鍵電路圖</p><p> 2.采用AT2
71、4C02作為數(shù)據(jù)記錄系統(tǒng)</p><p> 圖2.11 AT24C02接口電路</p><p> 采用串行電擦除可編程ROM的AT24C02器件防止系統(tǒng)掉電時(shí)的上下限溫度數(shù)據(jù)丟失。該存儲(chǔ)器支持I2C總線協(xié)議,適合本系統(tǒng)。其良好的性能已經(jīng)應(yīng)用于各種工業(yè)控制系統(tǒng)中。如圖2.11所示。</p><p> 2.7繼電器電路的設(shè)計(jì)</p><p>
72、; 圖中的兩個(gè)接口L和R分別接單片機(jī)的P1.2和P1.4口,使得單片機(jī)控制繼電器線圈的吸合,達(dá)到我們的控制目的。當(dāng)VCC接通時(shí)LED點(diǎn)亮,三極管導(dǎo)通,線圈通電產(chǎn)生磁力把開關(guān)吸到另一邊,接通負(fù)載。到達(dá)控制溫度的目的。如圖2.12所示。</p><p> 圖2.12 繼電器控制負(fù)載電路圖</p><p> 2.8電源接口與報(bào)警電路</p><p> 圖2.13
73、供電接口電路</p><p> 1.電源插孔和自鎖開關(guān)組成系統(tǒng)的供電接口部分。相當(dāng)于整個(gè)電路的開關(guān)。但本系統(tǒng)不設(shè)計(jì)電源電路,直接使用現(xiàn)成的電源。如圖2.13所示。</p><p> 2.報(bào)警電路:由三極管驅(qū)動(dòng)蜂鳴器,接單片機(jī)P3.6口。當(dāng)外界溫度超過設(shè)定的上下限時(shí),便會(huì)產(chǎn)生聲光報(bào)警。如圖2.14所示。</p><p><b> 圖2.14報(bào)警電路&l
74、t;/b></p><p> 第三章 軟件部分設(shè)計(jì)</p><p> 3.1系統(tǒng)軟件設(shè)計(jì)整體思路</p><p> 在硬件的支持下,本系統(tǒng)還需要具有一定的軟件部分作為控制單元。隨著時(shí)代的變遷,控制系統(tǒng)的軟件部分也變得很重要。有時(shí)候這兩個(gè)部分也是相輔相成的。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用C語言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。</p
75、><p> C語言是最具有影響力的高級(jí)程序設(shè)計(jì)語言之一。采用模塊化編程,簡(jiǎn)化編程的流程。一條語句就可以表示多條機(jī)器指令,并且在編程中速度很快,方便人類對(duì)機(jī)器的控制,同時(shí)也方便學(xué)習(xí)。在各種因素的影響下,故采用C語言進(jìn)行編程。</p><p> 編程調(diào)試簡(jiǎn)便多樣化,編譯過程快速且效率很高,采用模塊化的結(jié)構(gòu)設(shè)計(jì)。這些都是使用C語言編程的優(yōu)點(diǎn)。模塊化,可復(fù)用性,集中化是硬件和軟件開發(fā)目前主流的目標(biāo)
76、。無論采用哪一種結(jié)構(gòu)和方法都希望系統(tǒng)具有通用的接口,使系統(tǒng)能夠靈活多變。便于對(duì)系統(tǒng)進(jìn)行二次開發(fā),也使得一些模塊能夠重復(fù)的使用,節(jié)約設(shè)計(jì)的各種成本。</p><p> 本系統(tǒng)的軟件設(shè)計(jì)中使用了主函數(shù)、復(fù)位函數(shù)、讀寫函數(shù)、DS18B20的相關(guān)函數(shù)。</p><p> 系統(tǒng)總的控制程序包括主函數(shù)及子函數(shù)兩大部分。主要直觀描述了整個(gè)系統(tǒng)的運(yùn)行方式和控制處理方法。能夠使我們清晰的了解系統(tǒng)的運(yùn)行機(jī)
77、制,以及整體的邏輯結(jié)構(gòu)。同時(shí)這也是系統(tǒng)功能的真實(shí)反映,便于了解。系統(tǒng)總的控制流程圖如下圖3.1所示。</p><p> 圖3.1 控制系統(tǒng)流程圖</p><p><b> 3.2 程序設(shè)計(jì)</b></p><p><b> 3.2.1 主程序</b></p><p> 主程序包含各個(gè)子程序的
78、應(yīng)用,可以對(duì)各個(gè)子程序進(jìn)行調(diào)用,以便系統(tǒng)基本功能能夠得以實(shí)現(xiàn)。主要部分如下圖所示。</p><p> 溫度的測(cè)量可以保持在2S進(jìn)行一次。如圖3.2所示。</p><p> 圖3.2 系統(tǒng)主函數(shù)流程圖</p><p> 3.2.2 DS18B20程序</p><p> 該數(shù)字溫度傳感器程序包括初始化/讀/寫溫度子程序。</p>
79、;<p> 數(shù)字溫度傳感器的各個(gè)程序命令對(duì)其時(shí)序的要求十分嚴(yán)格,在編寫程序的過程中一定要按照其正確的時(shí)序進(jìn)行,否則無法達(dá)到預(yù)期的目的。其時(shí)序是由十二位小數(shù)構(gòu)成,并且低位在前,高位在后。不能忽略的是還有一位符號(hào)位。其流程圖如圖3.3所示。</p><p> 圖3.3 DSI8B20程序流程圖</p><p><b> 第四章 調(diào)試</b></p
80、><p> 單片機(jī)控制系統(tǒng)的調(diào)試是其制作的基礎(chǔ)。主要分為兩個(gè)部分,硬件系統(tǒng)調(diào)試和軟件系統(tǒng)調(diào)試。當(dāng)我們完成該系統(tǒng)概念的設(shè)計(jì),在理論的支持下,就需要進(jìn)行實(shí)踐。來檢驗(yàn)我們的理論是不是正確。這也是單片機(jī)開發(fā)過程中需要注意的。其中這兩個(gè)部分的調(diào)試也是相輔相成的,可以在其中一個(gè)部分中發(fā)現(xiàn)另一個(gè)部分的錯(cuò)誤。一般情況下先進(jìn)行硬件系統(tǒng)的調(diào)試,之后進(jìn)行軟件系統(tǒng)的調(diào)試,</p><p><b> 4.
81、1 硬件調(diào)試</b></p><p><b> 1.硬件的物理調(diào)試</b></p><p><b> (1)排除邏輯故障</b></p><p> 邏輯故障絕大部分是由于電路板的制作加工和生產(chǎn)工藝造成的。主要表現(xiàn)為:接線錯(cuò)誤,電路故障等。為了防止這樣的故障發(fā)生,在焊接電路板時(shí)需要仔細(xì)看原理圖,使得接線和原
82、理圖描述的一致。需要更加注重排除電源部分的錯(cuò)誤。還要注意總線之間是否存在短路錯(cuò)接的情況。最好使用數(shù)字萬用表來測(cè)試電路,以保證電路的準(zhǔn)確性。</p><p> (2)排除元器件失效</p><p> 元器件失效的情況有兩種,首先是元件在購(gòu)買之前就已經(jīng)損壞,其次是在安裝過程中導(dǎo)致元器件燒壞。為了避免這種情況發(fā)生,可以采取購(gòu)買符合自己要求的元器件,檢查器件說明書,在使用之前測(cè)試等措施解決。在
83、保證元器件沒有失效的情況下,還要使得電路連接正確,逐步排除各種錯(cuò)誤。</p><p><b> (3)排除電源故障</b></p><p> 電源是一個(gè)系統(tǒng)能量的來源,系統(tǒng)能否正常工作還需要有電源的供電。在系統(tǒng)通電之前,檢查電源的極性是否正確,如有錯(cuò)誤很有可能造成電路板的損壞。接通電源后,查看各個(gè)引腳接口的電位是否正常。一般情況下檢查電源接口和接地端的電位是否在5
84、V左右。最后還要防止高壓的產(chǎn)生。</p><p><b> 2.聯(lián)機(jī)仿真調(diào)試</b></p><p> 借助基本工具對(duì)系統(tǒng)進(jìn)行基本的測(cè)試,以保證系統(tǒng)正常運(yùn)行。</p><p><b> 4.2 軟件調(diào)試</b></p><p> 在編寫軟件的過程中,先編寫顯示程序,然后把這一部分結(jié)合硬件顯示
85、器進(jìn)行檢測(cè)。確定第一步無誤后,接著進(jìn)行各個(gè)子程序的編寫和調(diào)試。當(dāng)然,在這之前需要熟悉開發(fā)環(huán)境。由于選用的數(shù)字溫度傳感器DS18B20使用單總線結(jié)構(gòu),即占用單片機(jī)一個(gè)I/O口就能進(jìn)行信號(hào)和數(shù)據(jù)的傳輸。因此,對(duì)其進(jìn)行編程時(shí),必須嚴(yán)格按照其時(shí)序就行,否則調(diào)試時(shí)會(huì)無法實(shí)現(xiàn)其功能,達(dá)不到要求。</p><p> 本程序采用單片機(jī)C語言編寫,用Keilc51編譯器編程調(diào)試。軟件調(diào)試到能顯示溫度值,而且在有溫度變化時(shí),例如用
86、手去接觸,顯示溫度能改變就基本完成。</p><p><b> 第五章 結(jié)論</b></p><p> 本次設(shè)計(jì)的數(shù)字溫度控制系統(tǒng)在傳統(tǒng)的溫度控制器上得到了進(jìn)一步的提高。更加具有許多的適用性和使用價(jià)值。在原來溫度傳感器測(cè)溫的基礎(chǔ)上增加了單片機(jī)控制功能,使數(shù)字溫度計(jì)得到了更好的拓展,更好的詮釋了DS18B20溫度傳感器的應(yīng)用。在器件的選擇和系統(tǒng)的整體設(shè)計(jì)上得到了進(jìn)一
87、步的完善。</p><p> 本設(shè)計(jì)也不乏不足的地方,諸如存在沒有使用最新的單片機(jī),應(yīng)用效果不太明顯等問題。當(dāng)然,在電子技術(shù)日新月異的今天,遠(yuǎn)程PC的控制和加熱降溫設(shè)備的多樣性,使數(shù)字溫度控制系統(tǒng)向著智能化,高效化的方向發(fā)展。無可厚非,本次設(shè)計(jì)的數(shù)字溫度控制系統(tǒng)能夠在許多場(chǎng)合中得到適用,例如工業(yè)控制中的溫度控制,建筑工地和目標(biāo)的溫度控制等等。本設(shè)計(jì)用途很多,有很高的實(shí)際應(yīng)用價(jià)值。</p><
88、p><b> 參考文獻(xiàn)</b></p><p> [1]張軍. 智能溫度傳感器DS18B20及其應(yīng)用[J]. 儀表技術(shù),2010,04:68-70.</p><p> [2]呂建波.基于單總線數(shù)字溫度傳感器DS18B20的測(cè)溫系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),2012,19:117-119.</p><p> [3]魏大慧. 基于A
89、T89S52單片機(jī)的數(shù)字溫度控制系統(tǒng)軟件設(shè)計(jì)[J]. 黑龍江科技信息,2010,33:92.</p><p> [4]陳芳,聶鵬,陸興旺,趙學(xué)增,王偉杰.基于數(shù)字溫度傳感器的模糊溫度控制系統(tǒng)[J].傳感器技術(shù),2003,11:45-47+50.</p><p> [5]崔雪梅,王萍. 數(shù)字溫度控制系統(tǒng)的Simulink仿真[J]. 儀器儀表用戶,2005,04:94-95.</p
90、><p> [6]唐再波. 基于單片機(jī)的數(shù)字溫度控制系統(tǒng)研究[J]. 科技風(fēng),2011,01:222.</p><p> [7]安曉莉. AT89S51單片機(jī)并行I/O端口的擴(kuò)展[J]. 電子設(shè)計(jì)工程,2009,08:66-67+70.</p><p> [8]Steven F.Barrett,Daniel J.Pack.Embedded System[M].北京
91、:電子工業(yè)出版社,2006</p><p> [9] A Direct Torque Controller for Permanent Magnet Synchronous Motor Drives.:</p><p> IEEE Transactions on Energy Conversion,1999, 15-20.</p><p> [10]Su, L
92、iangyu. Design of RF Heat Therapy System Based on DS18B20 and FPGA[J]. Sensors & Transducers,2014,1789:.</p><p> [11]焉夢(mèng)林,孫威東,萬玉盼.基于AT89S51單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2013,10:10-11+38.</p><p>
93、[12]楊欣等.電子設(shè)計(jì)從零開始.北京:清華大學(xué)出版社,2005.</p><p> [13] COSTABA,LEMOSJM,ROSALG. Temperature control of a solar furnace for material testing[J]. International Journal of Systems Science, 2011,42(8):1253-1264.</p&g
94、t;<p> [14] VITELG,SURUMG,PARASCHIVAL.Structural effects of training cycles in shape memory actuators for temperature control[J]. Materials and Manufacturing Processes,2012,28(1):79-84</p><p> [15]
95、李慶亮.C語言程序設(shè)計(jì)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2005.32~58</p><p><b> 致 謝</b></p><p> 驀然回首,大學(xué)四年的學(xué)習(xí)和生活就要結(jié)束了。心中萬千思緒,無不流露著不舍之情,也有許許多多的感謝要說。</p><p> 首先要衷心感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師張老師!在我學(xué)習(xí)期間不僅傳授許多知識(shí),
96、還傳授了做人的原則。這些都將使我終生受益。無論是在理論學(xué)習(xí)階段,還是在論文的選題、資料查詢、開題等每一個(gè)環(huán)節(jié),都得到導(dǎo)師的悉心指導(dǎo)和幫助。在我遇到難題的時(shí)候,張老師總是耐心的幫助我解決各個(gè)問題,以至于讓我能夠更好的完成本次設(shè)計(jì)??偠灾?,我希望借此機(jī)會(huì)向?qū)煴硎局孕牡母兄x!</p><p> 其次要感謝所有給予我無限知識(shí)的老師們!是你們辛苦的奉獻(xiàn),孜孜不倦的傳道解惑,使我不斷的在你們教導(dǎo)下成長(zhǎng)。也正是因?yàn)檫@樣的
97、成長(zhǎng)使我擁有了畢業(yè)設(shè)計(jì)的基礎(chǔ)知識(shí)。在這個(gè)階段的學(xué)習(xí)過程中,我要向所有教導(dǎo)過我的老師們說聲謝謝!正所謂“春蠶到死絲方盡,蠟炬成灰淚始干”,感謝你們不求回報(bào)的奉獻(xiàn)。也正因?yàn)槟銈兊膸椭刮页蔀榱艘幻细竦膬?yōu)秀的大學(xué)畢業(yè)生。</p><p> 大學(xué)的生活讓我有了堅(jiān)強(qiáng)的性格,冷靜的頭腦和永遠(yuǎn)樂觀的態(tài)度。最重要的是讓我對(duì)自己、對(duì)家人和對(duì)社會(huì)有了強(qiáng)烈的責(zé)任感。并且樹立正確的人生觀,價(jià)值觀,為以后的工作和生活打下了堅(jiān)實(shí)的基礎(chǔ)。
98、從剛進(jìn)校時(shí)的懵懂到畢業(yè)時(shí)穩(wěn)重,從一次次失落時(shí)的沮喪到獲得一點(diǎn)點(diǎn)成就時(shí)的喜悅,從漫無目的地尋找人生的方向,到接受現(xiàn)實(shí)的腳踏實(shí)地的前行,無不體現(xiàn)了大學(xué)對(duì)自己人生的歷練。我還要感謝在這四年中遇到的每一個(gè)人,他們的一舉一動(dòng)都給了我的人生烙印下了一個(gè)個(gè)美麗的印記。確實(shí)每個(gè)人都應(yīng)該感謝身邊的每一個(gè)人,是他們讓你成長(zhǎng),給你鼓勵(lì),讓你一步一步走向人生美好的地方。</p><p> 在這次畢業(yè)設(shè)計(jì)中,使我對(duì)自己有了更深刻的認(rèn)識(shí)。
99、雖然過了四年的學(xué)習(xí)時(shí)間,但是對(duì)于知識(shí)的掌握還遠(yuǎn)遠(yuǎn)不夠。就算掌握了一些基本的理論知識(shí),把它與實(shí)踐相結(jié)合起來還是有許多的困難。這不得不提醒我們,在今后的學(xué)習(xí)和工作過程中,要不停的學(xué)習(xí),擁有創(chuàng)新意識(shí),才能更好的融入社會(huì)。自學(xué)能力和對(duì)事物的理解能力在這次設(shè)計(jì)中得到了提升,我想,腳踏實(shí)地的做事,就會(huì)變得優(yōu)秀。</p><p> 我希望在未來的學(xué)習(xí)過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有領(lǐng)導(dǎo)、老師、同學(xué)
100、和朋友。愿所有的老師同學(xué)越來越好,我也相信明天會(huì)更美好。</p><p><b> 附錄A: 程序</b></p><p> #include<reg52.h> </p><p> #define ui unsigned int</p><p> #define uc unsigned char
101、//宏定義</p><p> sbit SET=P3^1; //定義調(diào)整鍵</p><p> sbit DEC=P3^2; //定義減少鍵</p><p> sbit ADD=P3^3; //定義增加鍵</p><p> sbit BEEP=P3^6; //定義蜂鳴器</p>
102、;<p> sbit ALAM=P1^2;//定義燈光報(bào)警</p><p> sbit ALAM1=P1^4;</p><p> sbit DQ =P3^7; //定義DS18B20總線I/O</p><p> sbit SCL=P1^6;</p><p> sbit SDA=P1^7;<
103、/p><p> sbit DIAN=P0^5; //小數(shù)點(diǎn)</p><p> bit bdata shanshuo_st; //閃爍間隔標(biāo)志</p><p> bit bdata beep_st; //蜂鳴器間隔標(biāo)志</p><p> uc x=0; //計(jì)數(shù)器</p&
104、gt;<p> ui bai,shi,ge;</p><p> uc set_st=0; //狀態(tài)標(biāo)志位</p><p> char shangxian,xiaxian;</p><p> code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,
105、0xDA,0x9B,0xDC,0x9B,0x8B};</p><p> //==============數(shù)字溫度傳感器程序=================</p><p> /**延時(shí)子程序**/</p><p> void Delay_DS18B20(int num)</p><p><b> {</b>&l
106、t;/p><p> while(num--) ;</p><p><b> }</b></p><p> void delay() //5微秒延時(shí)函數(shù)</p><p><b> { ;; }</b></p><p> void start() //開始信號(hào)</
107、p><p><b> {</b></p><p><b> SDA=1;</b></p><p><b> delay();</b></p><p><b> SCL=1;</b></p><p><b> del
108、ay();</b></p><p><b> SDA=0;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void stop() //終止信號(hào)</p><p>
109、<b> {</b></p><p><b> SDA=0;</b></p><p><b> delay();</b></p><p><b> SCL=1;</b></p><p><b> delay();</b>&l
110、t;/p><p><b> SDA=1;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void respons() //應(yīng)答函數(shù)</p><p><b> {<
111、;/b></p><p><b> uc i;</b></p><p><b> SCL=1;</b></p><p><b> delay();</b></p><p> while((SDA==1)&&(i<250))i++;//如果SD
112、A為低應(yīng)答有效,或者超過一定時(shí)間默認(rèn)應(yīng)答有效</p><p><b> SCL=0;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void init24c04()//IIC總線初始化</p&g
113、t;<p><b> {</b></p><p><b> SDA=1;</b></p><p><b> delay();</b></p><p><b> SCL=1;</b></p><p><b> delay()
114、;</b></p><p><b> }</b></p><p> void write_byte(uc date)//寫操作</p><p><b> {</b></p><p> uc i,temp;</p><p> temp=date;</
115、p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> temp=temp<<1;</p><p><b> SCL=0;</b></p><p><b> delay();</b>
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 單片機(jī)數(shù)字溫度控制系統(tǒng)優(yōu)化設(shè)計(jì)
- 電子信息工程畢業(yè)設(shè)計(jì)基于單片機(jī)的智能水溫控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)---單片機(jī)溫度控制系統(tǒng)
- 單片機(jī)溫度控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 單片機(jī)數(shù)字溫度控制系統(tǒng)優(yōu)化設(shè)計(jì).doc
- 電子信息工程技術(shù)畢業(yè)設(shè)計(jì)--基于單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--單片機(jī)溫度采集控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)閉環(huán)溫度控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)多點(diǎn)溫度控制系統(tǒng)
- 單片機(jī)閉環(huán)溫度控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----單片機(jī)實(shí)現(xiàn)溫度控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)溫度模糊控制系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的溫度控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 電子信息工程畢業(yè)設(shè)計(jì)基于單片機(jī)的自行車測(cè)速系統(tǒng)優(yōu)化設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論