版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 分類(lèi)號(hào): 編號(hào):</p><p><b> 煙 臺(tái) 大 學(xué)</b></p><p> 畢 業(yè) 論 文(設(shè) 計(jì))</p><p> 太陽(yáng)能熱水器控制器設(shè)計(jì)</p><p> The design of controller f
2、or solar water heater</p><p> 申請(qǐng)學(xué)位: 工學(xué)學(xué)士 </p><p> 院 系: 光電信息科學(xué)技術(shù)學(xué)院 </p><p> 專(zhuān) 業(yè): </p><p> 姓 名: </p><p> 學(xué)
3、 號(hào): </p><p> 指導(dǎo)老師: </p><p><b> 年 05 月 日</b></p><p><b> 煙臺(tái)大學(xué)</b></p><p> 太陽(yáng)能熱水器控制器設(shè)計(jì)</p><p> 姓 名: &
4、lt;/p><p><b> 導(dǎo) 師: </b></p><p><b> 年05月 日</b></p><p><b> 煙臺(tái)大學(xué)</b></p><p> 煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì))任務(wù)書(shū)</p><p> 院(系):光電信息科學(xué)技術(shù)學(xué)院&l
5、t;/p><p> [摘要] 該太陽(yáng)能熱水器控制器是基于C51單片機(jī)設(shè)計(jì)和實(shí)施的,它以AT89C51單片機(jī)作為檢測(cè)和控制中心,由主控芯片模塊、DS18B20 溫度檢測(cè)及顯示模塊、水位檢測(cè)及顯示模塊、時(shí)鐘模塊、報(bào)警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過(guò)DS18B20溫度檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水溫,通過(guò)水位檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水位,通過(guò)時(shí)鐘模塊實(shí)時(shí)顯示時(shí)鐘并在設(shè)定的時(shí)間給主控芯片特定的信號(hào),
6、通過(guò)電磁閥控制模塊實(shí)現(xiàn)熱水器的自動(dòng)及手動(dòng)上水,通過(guò)輔助加熱模塊實(shí)現(xiàn)太陽(yáng)能熱水器自動(dòng)及手動(dòng)加熱,當(dāng)水位過(guò)低且水溫過(guò)高時(shí)通過(guò)報(bào)警模塊報(bào)警,而主控芯片則負(fù)責(zé)協(xié)調(diào)其他各模塊的工作。</p><p> [關(guān)鍵詞] 太陽(yáng)能熱水器控制器;AT89C51單片機(jī);DS18B20 </p><p> [Abstract] The designing of this solar water heater
7、controller is based on C51 single-chip microcomputer, The AT89C51 MCU is used as it’s detection and control center, It consists of a main control chip module, DS18B20 temperature detection and display module, the water l
8、evel detection and display module, clock module, alarm module and the electromagnetic valve control module, auxiliary heating module and etc. It is through the DS18B20 temperature detection and display module Detect and
9、display </p><p> [Key words] The Solar water heater controller ; AT89C51 MCU ; DS18B20</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p>
10、1.1 太陽(yáng)能熱水器應(yīng)用的意義1</p><p> 1.2 我國(guó)太陽(yáng)能發(fā)展現(xiàn)狀1</p><p> 2 系統(tǒng)設(shè)計(jì)及仿真軟件2</p><p> 2.1 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)2</p><p> 2.2 設(shè)計(jì)功能要求2</p><p> 2.3 設(shè)計(jì)思路2</p><p
11、> 2.4 仿真軟件(proteus)簡(jiǎn)介3</p><p> 3 AT89C51簡(jiǎn)介4</p><p> 3.1 主要特性4</p><p> 3.2 中斷向量4</p><p> 3.3 管腳說(shuō)明4</p><p> 3.4 內(nèi)部結(jié)構(gòu)6</p><p&g
12、t; 4 控制器各模塊電路設(shè)計(jì)7</p><p> 4.1 主控芯片模塊7</p><p> 4.1.1 時(shí)鐘電路7</p><p> 4.1.2 復(fù)位電路8</p><p> 4.1.3 單片機(jī)管腳分配9</p><p> 4.2 DS18B20 溫度檢測(cè)及顯示模塊9</p&
13、gt;<p> 4.2.1 DS18B20芯片簡(jiǎn)介10</p><p> 4.2.2 74LS245簡(jiǎn)介12</p><p> 4.2.3 LED數(shù)碼管顯示13</p><p> 4.3 水位測(cè)量及顯示模塊14</p><p> 4.4 報(bào)警模塊15</p><p> 4.
14、5 輔助加熱模塊16</p><p> 4.5.1 繼電器工作原理16</p><p> 4.5.2 輔助加熱模塊工作原理17</p><p> 4.6 電磁閥控制模塊17</p><p> 4.6.1 電磁閥工作原理18</p><p> 4.6.2 電磁閥控制模塊工作原理18<
15、;/p><p> 4.7 時(shí)鐘模塊18</p><p> 4.7.1 電子表發(fā)聲原理及控制器定時(shí)工作原理19</p><p> 5 控制器軟件程序設(shè)計(jì)20</p><p> 5.1 軟件設(shè)計(jì)分析20</p><p> 5.2 主程序模塊20</p><p> 5.3
16、 子程序模塊21</p><p> 5.3.1 DS18B20溫度檢測(cè)子程序設(shè)計(jì)21</p><p> 5.3.2 DS18B20溫度轉(zhuǎn)化及顯示子程序22</p><p> 5.3.3 加熱子程序設(shè)計(jì)23</p><p> 5.3.4 上水子程序設(shè)計(jì)24</p><p> 5.4 中斷子程
17、序設(shè)計(jì)25</p><p> 5.4.1 外部中斷0(設(shè)定溫度+)子程序設(shè)計(jì)25</p><p> 5.4.2 外部中斷1(設(shè)定溫度-)子程序設(shè)計(jì)26</p><p> 6 調(diào)試與總結(jié)27</p><p> 6.1 調(diào)試方法27</p><p> 6.2 遇到的問(wèn)題及解決辦法27<
18、/p><p> 6.3 總結(jié)28</p><p><b> 致謝29</b></p><p><b> 參考文獻(xiàn)30</b></p><p><b> 附錄31</b></p><p><b> 1 緒論</b>&
19、lt;/p><p> 1.1 太陽(yáng)能熱水器應(yīng)用的意義</p><p> 邁入21世紀(jì)以來(lái),隨著經(jīng)濟(jì)的急速發(fā)展,對(duì)自然資源的需求缺口越來(lái)越大,人口基數(shù)過(guò)大使得將在很長(zhǎng)一段時(shí)間保持人口數(shù)量的增長(zhǎng),而經(jīng)濟(jì)的高發(fā)展速度也將持續(xù)對(duì)資源的供應(yīng)提出考驗(yàn)。顯而易見(jiàn)的,資源儲(chǔ)量并不是無(wú)限的,若要保證經(jīng)濟(jì)的可持續(xù)發(fā)展,僅僅靠節(jié)約能源或是限制開(kāi)采數(shù)量,并不是一個(gè)長(zhǎng)久的解決辦法,只有開(kāi)發(fā)新的能源,才能從根本上解
20、決發(fā)展與資源之間的矛盾。所以在今后,新能源必定將會(huì)有很大的發(fā)展空間,太陽(yáng)能、風(fēng)能、潮汐能,這些清潔能源是未來(lái)大規(guī)模利用的新趨勢(shì)。[1]</p><p> 在各類(lèi)能源中,太陽(yáng)能以其清潔、無(wú)害、長(zhǎng)久和普遍等特點(diǎn),有極高的發(fā)展?jié)摿?,可以說(shuō)是取之不盡用之不竭。雖然離太陽(yáng)能的廣泛利用還有很長(zhǎng)的路要走,但是現(xiàn)在已經(jīng)在不少地方開(kāi)始使用,如常見(jiàn)的太陽(yáng)能發(fā)電系統(tǒng),太陽(yáng)能熱水系統(tǒng),太陽(yáng)能路燈、交通燈等等。我國(guó)目前太陽(yáng)能產(chǎn)業(yè)規(guī)模已躍
21、至世界第一,隨著技術(shù)的日益成熟,太陽(yáng)能相關(guān)的成熟產(chǎn)品造價(jià)也將隨之降低,將更加廣泛地在人們生產(chǎn)生活中普及,這同時(shí)也是解決越來(lái)越嚴(yán)重環(huán)境污染的一個(gè)極佳的解決方案。在我們的生活中,最為我們所熟知的太陽(yáng)能利用系統(tǒng)便是太陽(yáng)能熱水器,太陽(yáng)能熱水器同傳統(tǒng)的熱水器相比有著許多顯著的特點(diǎn)。不僅節(jié)能環(huán)保,而且使用也非常方便。以其低廉的價(jià)格深受各層次消費(fèi)者的青睞。</p><p> 隨著太陽(yáng)能熱水器的大面積使用,太陽(yáng)能的優(yōu)勢(shì)特點(diǎn)已
22、廣泛為人們所熟知,這也對(duì)以后的相關(guān)產(chǎn)品的生產(chǎn)推廣起到了很好的宣傳效應(yīng)。大力開(kāi)發(fā)和利用豐富的太陽(yáng)能資源,對(duì)于我國(guó)的經(jīng)濟(jì)、社會(huì)可持續(xù)發(fā)展具有重大深遠(yuǎn)意義。[2]</p><p> 1.2 我國(guó)太陽(yáng)能發(fā)展現(xiàn)狀</p><p> 我國(guó)太陽(yáng)能熱水產(chǎn)業(yè)的發(fā)展特點(diǎn)可以用“起步晚,發(fā)展快”來(lái)形容,雖然國(guó)內(nèi)與于上世紀(jì)80年代才開(kāi)始研究推廣,但是歷經(jīng)多年的飛速發(fā)展,我國(guó)的太陽(yáng)能產(chǎn)業(yè)已經(jīng)占據(jù)了世界首位,其
23、中熱水器的產(chǎn)量占世界百分之五十以上,同時(shí),中國(guó)國(guó)產(chǎn)太陽(yáng)能產(chǎn)品在世界同類(lèi)產(chǎn)品中也占據(jù)著很大的市場(chǎng)份額,并且市場(chǎng)占有率還在不斷增長(zhǎng)。[3]</p><p> 盡管有著如此迅猛的發(fā)展勢(shì)頭,但是需要指出的是,目前國(guó)內(nèi)的能與太陽(yáng)能熱水器相配置的控制器的功能卻并不完善,在市面上很多同類(lèi)的太陽(yáng)能熱水器產(chǎn)品,控制系統(tǒng)簡(jiǎn)單,功能不全,大多數(shù)只具有設(shè)定水溫,顯示水溫這兩個(gè)功能,較為智能化的產(chǎn)品還尚未推廣應(yīng)用,有些功能還處于研發(fā)階段
24、。因此設(shè)計(jì)出一款具有溫度控制功能和水位控制功能的產(chǎn)品,將很具有實(shí)際意義。這樣的控制器,將能夠解決天氣原因?qū)е碌墓饩€(xiàn)不足問(wèn)題導(dǎo)致熱水器水溫過(guò)低的問(wèn)題,并且因?yàn)橛辛怂豢刂乒δ?,就可以解決當(dāng)水位達(dá)到一定高度時(shí)不能自動(dòng)開(kāi)始或停止供水等等問(wèn)題。</p><p> 2 系統(tǒng)設(shè)計(jì)及仿真軟件</p><p> 2.1 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)</p><p> 系統(tǒng)總體結(jié)構(gòu)設(shè)
25、計(jì)如圖2.1,該系統(tǒng)包括保溫箱、排氣管、集熱管、溢流管、上下水管、調(diào)節(jié)閥等。</p><p> 圖2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)</p><p> 2.2 設(shè)計(jì)功能要求</p><p> 該太陽(yáng)能熱水器的控制器不但需要具有水位、水溫及時(shí)間的實(shí)時(shí)顯示功能,而且需要具有水位、水溫的自動(dòng)控制功能,必要時(shí),還需要能夠?qū)崿F(xiàn)對(duì)時(shí)間和水溫進(jìn)行設(shè)定等功能。當(dāng)蓄水箱水位低于40%
26、時(shí)能夠?qū)崿F(xiàn)自動(dòng)上水,當(dāng)設(shè)定時(shí)間到且水位低于蓄水箱水位90%時(shí)能夠?qū)崿F(xiàn)自動(dòng)上水,當(dāng)上水到達(dá)規(guī)定的水位時(shí)能夠?qū)崿F(xiàn)自動(dòng)停止上水,當(dāng)水位界于高低水位之間時(shí),用戶(hù)可以通過(guò)按鍵操作手動(dòng)上水、停水;當(dāng)設(shè)定時(shí)間到且水溫低于規(guī)定值時(shí),能夠?qū)崿F(xiàn)自動(dòng)加熱。必要時(shí)還可以對(duì)太陽(yáng)能熱水器進(jìn)行手動(dòng)加熱和上水,禁止高溫空曬后進(jìn)水以及淋浴時(shí)禁止上水等功能。</p><p><b> 2.3 設(shè)計(jì)思路</b></p&
27、gt;<p> 該太陽(yáng)能熱水器控制器是基于C51單片機(jī)設(shè)計(jì)和實(shí)施的,它以AT89C51單片機(jī)作為檢測(cè)和控制中心,由主控芯片模塊、DS18B20 溫度檢測(cè)及顯示模塊、水位檢測(cè)及顯示模塊、時(shí)鐘模塊、報(bào)警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過(guò)DS18B20溫度檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水溫,通過(guò)水位檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水位,通過(guò)時(shí)鐘模塊實(shí)時(shí)顯示時(shí)鐘并在設(shè)定的時(shí)間給主控芯片特定的信號(hào),通過(guò)電磁閥控制模塊實(shí)
28、現(xiàn)熱水器的自動(dòng)及手動(dòng)上水,通過(guò)輔助加熱模塊實(shí)現(xiàn)太陽(yáng)能熱水器自動(dòng)及手動(dòng)加熱,當(dāng)水位過(guò)低且水溫過(guò)高時(shí)通過(guò)報(bào)警模塊報(bào)警,而主控芯片則負(fù)責(zé)協(xié)調(diào)其他各模塊的工作。</p><p> 2.4 仿真軟件(proteus)簡(jiǎn)介</p><p> Proteus可以仿真單片機(jī),兼具EDA軟件的仿真功能,還能一部分外圍器件,是當(dāng)前使用最廣,用戶(hù)評(píng)價(jià)最好的仿真工具。可以從原理圖設(shè)計(jì),程序編寫(xiě)調(diào)試,再到與外
29、圍電路同步仿真,提供與PCB板設(shè)計(jì)的簡(jiǎn)單切換,可以由最初的模擬概型一直到產(chǎn)品的模擬仿真。該軟件也是第一款融合電路原理圖設(shè)計(jì),PCB板設(shè)計(jì),產(chǎn)品生產(chǎn)前的仿真三者結(jié)合的開(kāi)發(fā)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430,Cortex,DSP等系列處理器,截止到現(xiàn)在,依然在不斷增加其它系列處理器模型。程序編譯支持Keil和MPLAB軟件編譯器。[4]&
30、lt;/p><p> Proteus軟件具有其它EDA工具軟件的功能: </p><p><b> 1.原理布圖 </b></p><p> 2.PCB自動(dòng)或人工布線(xiàn)</p><p> 3.SPICE電路仿真革命性的特點(diǎn)</p><p> Proteus的工作過(guò)程:在開(kāi)始
31、菜單中選擇proteus文件夾,單擊文件夾中的ISIS圖標(biāo)進(jìn)入proteus仿真軟件的主界面。在工作之前,先要設(shè)置捕捉對(duì)齊、顏色、圖形界面大小等項(xiàng)目。工作時(shí),先要單擊工具欄中的P按鈕進(jìn)入元件選擇對(duì)話(huà)框(pick devices),在對(duì)話(huà)框keyword中輸入所需元件的關(guān)鍵字(比如當(dāng)需要電阻時(shí)輸入“res”),在results一欄中雙擊選出所需要的元器件(注意當(dāng)選中元器件時(shí)在pick devices對(duì)話(huà)框中右側(cè)兩欄中會(huì)出現(xiàn)該元器件在仿真電
32、路圖和PCB板上的預(yù)覽圖,根據(jù)此預(yù)覽圖進(jìn)行選擇),選中的元件會(huì)自動(dòng)出現(xiàn)在工作界面P按鈕下面。然后需要進(jìn)行仿真電路圖的繪制(具體做法為:在P按鈕下面單擊所需要的元器件即選中此元器件,根據(jù)實(shí)驗(yàn)原理圖把選中的元器件放在工作界面的適當(dāng)位置,雙擊工作界面中的元器件,在出現(xiàn)的對(duì)話(huà)框中修改元器件的參數(shù),重復(fù)以上步驟直到所有的元器件都擺放到工作界面上,然后單擊各元器件的引腳進(jìn)行連線(xiàn)。至此仿真電路圖制作完成。然后進(jìn)行程序的編寫(xiě),在程序編寫(xiě)時(shí)需要使用專(zhuān)門(mén)的
33、程序編寫(xiě)器(比如keil軟件等)來(lái)編寫(xiě)并編譯連接運(yùn)行,生成hex文件。接下來(lái)需要把程序存</p><p> 3 AT89C51簡(jiǎn)介</p><p><b> 3.1 主要特性</b></p><p> ?與MCS-51 兼容</p><p> ?具有4K 字節(jié)的可重復(fù)編程的flash,可寫(xiě)入/抹掉數(shù)據(jù)1000
34、次以上,寫(xiě)入的數(shù)據(jù)能保存10年以上</p><p> ?操作頻率:0Hz~24MHz</p><p> ?128×8位內(nèi)部RAM</p><p> ?32條可規(guī)劃的I/O線(xiàn)</p><p><b> ?5個(gè)中斷向量地址</b></p><p><b> ?可編程串行通
35、道</b></p><p> ?需要振蕩電路和時(shí)鐘電路[5]</p><p><b> 3.2 中斷向量</b></p><p> 中斷向量見(jiàn)圖3.1[6]</p><p> 圖3.1 中斷向量表</p><p><b> 3.3 管腳說(shuō)明</b>
36、</p><p> AT89C51引腳見(jiàn)圖3.2[7]</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0管腳、P1管腳、P2管腳、P3管腳都是8位雙向I/O口,其中P3管腳還有第二功能。</p>&l
37、t;p> 圖3.2 AT89C51 芯片引腳圖</p><p> P3管腳第二功能見(jiàn)圖3.3。</p><p> RST:復(fù)位輸入端。</p><p> ALE/:地址鎖存信號(hào)線(xiàn)。</p><p> 圖3.3 P3口第二功能說(shuō)明</p><p> ?。和獠砍绦虼鎯?chǔ)器讀選通端。</p>
38、<p> /VPP:訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器控制端</p><p> XTAL1、XTAL2:震蕩電路輸入端。</p><p><b> 3.4 內(nèi)部結(jié)構(gòu)</b></p><p> 51單片機(jī)內(nèi)部機(jī)構(gòu)如圖3.4[8]</p><p> 圖3.4 51單片機(jī)內(nèi)部結(jié)構(gòu)框圖</p><p&
39、gt; 4 控制器各模塊電路設(shè)計(jì)</p><p> 4.1 主控芯片模塊</p><p> 單片機(jī)只有40個(gè)管腳,其中I/O管腳只有32個(gè),必須合理地分配單片機(jī)管腳,否則很容易造成單片機(jī)管腳的不夠用。另外,單片機(jī)運(yùn)行需要時(shí)鐘電路、復(fù)位電路、電源、地線(xiàn)等,這些電路也需要在單片機(jī)主控芯片里面設(shè)計(jì)。主控芯片模塊proteus仿真圖如圖4.1。[9]</p><p&g
40、t; 圖4.1 主控芯片模塊proteus仿真圖</p><p> 4.1.1 時(shí)鐘電路</p><p> 單片機(jī)的運(yùn)行需要時(shí)鐘電路的支持,單片機(jī)時(shí)鐘電路是配合外部晶體實(shí)現(xiàn)振蕩的電路,它由一個(gè)晶振和兩個(gè)電容組成,其組成圖如圖4.2,它的兩端分別接在單片機(jī)的XTAL1和XTAL2管腳。它可以為單片機(jī)提供運(yùn)行時(shí)鐘,如果運(yùn)行時(shí)鐘為0 的話(huà),單片機(jī)就不工作,當(dāng)然超出單片機(jī)的工作頻率的時(shí)鐘
41、也會(huì)導(dǎo)致單片機(jī)不能正常工作,C51單片機(jī)的支持的時(shí)鐘頻率為0~24MHz。</p><p> 圖4.2 單片機(jī)時(shí)鐘電路</p><p> 4.1.2 復(fù)位電路</p><p> 在單片機(jī)在使用過(guò)程中有時(shí)(比如上電瞬間以及運(yùn)行中出現(xiàn)錯(cuò)誤的時(shí)候)需要使單片機(jī)從開(kāi)始狀態(tài)重新運(yùn)行,這時(shí)就需要單片機(jī)的復(fù)位電路了。它可以使單片機(jī)內(nèi)部各寄存器的值變?yōu)槌跏紶顟B(tài),復(fù)位電路如
42、圖4.3。它可以在單片機(jī)上電瞬間和復(fù)位開(kāi)關(guān)按下的瞬間給單片機(jī)RESET管腳加上一個(gè)程指數(shù)函數(shù)的電平信號(hào),當(dāng)此電平信號(hào)能夠在單片機(jī)的RESET管腳保持兩個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就能完成復(fù)位操作。[10]</p><p> 圖4.3 單片機(jī)復(fù)位電路</p><p> 4.1.3 單片機(jī)管腳分配</p><p> 單片機(jī)管腳分配如圖4.4。 </p
43、><p> 圖4.4 單片機(jī)管腳分配</p><p> 4.2 DS18B20 溫度檢測(cè)及顯示模塊</p><p> 蓄水箱水溫檢測(cè)電路使用單總線(xiàn)DS18B20芯片,它可以將溫度信號(hào)轉(zhuǎn)化成脈沖信號(hào)進(jìn)而轉(zhuǎn)化成水溫高低的信號(hào)。DS18B20的DQ端與單片機(jī)的P3.7口相連,它可以將水溫大小直接以數(shù)值的方式存放在其內(nèi)部的RAM中,單片機(jī)可以通過(guò)DS18B20的DQ引
44、腳直接讀取其內(nèi)部RAM中存放的溫度值。在水溫的顯示上,本設(shè)計(jì)采用兩位LED數(shù)碼管來(lái)實(shí)現(xiàn),LED數(shù)碼管的段選信號(hào)由單片機(jī)的P0口來(lái)發(fā)出,其位選信號(hào)由單片機(jī)的P2.6、P2.7管腳發(fā)出。水溫檢測(cè)及顯示模塊的proteus電路仿真如圖4.5。</p><p> 圖4.5 溫度檢測(cè)及顯示模塊proteus仿真圖</p><p> 4.2.1 DS18B20芯片簡(jiǎn)介</p>&
45、lt;p> DS18B20是美國(guó)DALLAS公司推出的一種溫度傳感器,它能比較準(zhǔn)確的測(cè)量-55~125℃之間的溫度。相對(duì)于以前的熱敏電阻等溫度傳感器,DS18B20更加智能,它能夠直接測(cè)出被測(cè)環(huán)境的溫度并以數(shù)值方式存在其內(nèi)部的RAM中,當(dāng)有需要時(shí),它可以通過(guò)單總線(xiàn)實(shí)現(xiàn)單片機(jī)等對(duì)DS18B20內(nèi)部RAM中數(shù)據(jù)的讀取。</p><p> DS18B20有如下性能特點(diǎn):</p><p>
46、; 單總線(xiàn)結(jié)構(gòu)設(shè)計(jì),僅需要一個(gè)引腳即可完成數(shù)據(jù)在DS18B20和單片機(jī)之間的通信。</p><p> 每個(gè)DS18B20都有獨(dú)一無(wú)二的序列號(hào),可以在一條線(xiàn)上并聯(lián)多個(gè)DS18B20芯片。</p><p> 測(cè)量溫度范圍-55℃~+125℃。</p><p><b> 分辨率可調(diào)。</b></p><p> DS1
47、8B20 內(nèi)部結(jié)構(gòu)[11]</p><p> DS18B20 內(nèi)部結(jié)構(gòu)如圖4.6。</p><p> 圖4.6 DS18B20內(nèi)部結(jié)構(gòu)框圖</p><p><b> DS18B20引腳</b></p><p> DS18B20引腳功能描述見(jiàn)圖4.7。</p><p> 圖4.7 DS
48、18B20各引腳功能</p><p> DS18B20轉(zhuǎn)換成的溫度數(shù)據(jù)格式[12]</p><p> 當(dāng)DS18B20接到溫度轉(zhuǎn)換命令時(shí)它就可以將測(cè)得的溫度信號(hào)轉(zhuǎn)換成溫度值并以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在其高速緩存RAM中,其溫度值格式如圖4.8。</p><p> 圖4.8 DS18B20溫度數(shù)據(jù)格式</p><p>
49、單片機(jī)可以通過(guò)DS18B20的DQ引腳直接取RAM中溫度的值,讀取時(shí),先讀取低位數(shù)據(jù),然后讀取高位數(shù)據(jù)。在DS18B20溫度數(shù)據(jù)格式中,當(dāng)S=0時(shí)表示此時(shí)的溫度值為正值,當(dāng)S=1時(shí)表示此時(shí)溫度為負(fù)值。</p><p> DS18B20 ROM命令[13]</p><p> DS18B20的一系列操作基本都是通過(guò)ROM命令來(lái)實(shí)現(xiàn)的,DS18B20的ROM命令見(jiàn)圖4.9。</p&g
50、t;<p> 圖4.9 DS18B20的ROM命令</p><p> 4.2.2 74LS245簡(jiǎn)介</p><p> 74LS245為8位雙向3態(tài)緩沖電路,主要用途為數(shù)據(jù)的雙向緩沖,以增強(qiáng)芯片的驅(qū)動(dòng)能力。[14]74LS245真值表如圖4.10所示。</p><p> 圖4.10 74LS245真值表</p><p&
51、gt; 4.2.3 LED數(shù)碼管顯示</p><p> LED數(shù)碼管是由八個(gè)發(fā)光二極管排列在一起并相互連接組成的,根據(jù)其連接方法的不同,LED數(shù)碼管可以分為共陰極和共陽(yáng)極兩種連接方法。兩種接法電路圖如圖4.11。</p><p> 圖4.11 LED數(shù)碼管及接線(xiàn)方法</p><p> 當(dāng)把數(shù)碼管中各發(fā)光二極管的陰極連接在一塊并與地相連,通過(guò)從各發(fā)光二極管
52、陽(yáng)極是否接電源來(lái)控制發(fā)光二極管的亮滅時(shí)成為共陰極接法。同理,當(dāng)把數(shù)碼管中各發(fā)光二極管陽(yáng)極接在一塊并與電源相連,通過(guò)在各發(fā)光二極管陰極是否接地來(lái)控制各發(fā)光二極管的亮滅時(shí)稱(chēng)為共陽(yáng)極接法。不同的接法所需要點(diǎn)亮電平是不一樣的,所以在使用數(shù)碼管顯示時(shí),一定要注意區(qū)分這兩種接法。當(dāng)然為了顯示數(shù)字或字符,需要對(duì)數(shù)字或字符進(jìn)行編碼,本設(shè)計(jì)采用共陰極LED數(shù)碼管顯示。 </p><p> LED數(shù)碼管顯示方式有兩種,即靜態(tài)顯示方
53、式和動(dòng)態(tài)顯示方式。靜態(tài)顯示就是每個(gè)數(shù)碼管都需要連接一個(gè)8位的數(shù)據(jù)線(xiàn),通過(guò)該8位數(shù)據(jù)線(xiàn)發(fā)送數(shù)據(jù)來(lái)保持顯示的字符,當(dāng)向數(shù)碼管送入一次8位數(shù)據(jù)時(shí)數(shù)碼管就會(huì)一直顯示該字符,如果需要改變需要顯示的字符則需要重新給數(shù)碼管輸入另一個(gè)8位數(shù)據(jù)。動(dòng)態(tài)顯示就是通過(guò)一定的操作使各個(gè)數(shù)碼管依次點(diǎn)亮,利用發(fā)光二極管的余暉效應(yīng)和人眼的視覺(jué)暫留現(xiàn)象使人的感覺(jué)就像是同時(shí)點(diǎn)亮各個(gè)數(shù)碼管一樣。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示稍微差一下,程序上稍微麻煩一些,占用的CPU時(shí)間長(zhǎng)點(diǎn),但
54、當(dāng)數(shù)碼管位數(shù)比較多時(shí)需要的管腳位數(shù)明顯減少,硬件電路會(huì)大大簡(jiǎn)化。由于單片機(jī)輸出管腳有限,為了節(jié)省單片機(jī)管腳,本設(shè)計(jì)采用動(dòng)態(tài)顯示方式。</p><p> 4.3 水位測(cè)量及顯示模塊</p><p> 蓄水箱水位是智能控制的一個(gè)重要參數(shù),是實(shí)現(xiàn)智能控制的重要依據(jù),只有準(zhǔn)確檢測(cè)出水箱水位才能更好地實(shí)現(xiàn)水位地顯示以及蓄水箱的上水、停水等操作。要實(shí)現(xiàn)水位地精確檢測(cè)最好采用連續(xù)液位傳感器,但考慮
55、到系統(tǒng)成本及使用范圍,本系統(tǒng)在進(jìn)行水位檢測(cè)時(shí)仍然采用分段式液位傳感器(即在蓄水箱不同的位置放入水位探針),在水位顯示上采用由5個(gè)發(fā)光二極管組成的分段式液位顯示器。水位檢測(cè)及顯示電路圖如圖4.12。</p><p> 圖4.12 水位檢測(cè)及顯示電路圖</p><p> 檢測(cè)原理:把五個(gè)金屬水位探針?lè)謩e固定在水箱的五個(gè)位置上,金屬探針通過(guò)一個(gè)1M的電阻(即上拉電阻)和+5V電源相連,水箱
56、里的水通過(guò)導(dǎo)線(xiàn)和地相連。當(dāng)金屬探針在水面以下時(shí),+5V電源、上拉電阻、水箱里的水、地等組成一個(gè)回路,由于水的電阻遠(yuǎn)比1M小,所以此時(shí)探針處電平為低電平。這個(gè)低電平通過(guò)一個(gè)反相器(非門(mén))后變?yōu)楦唠娖剑@個(gè)高電平通過(guò)發(fā)光二極管、500Ω的電阻放電,使得發(fā)光二極管點(diǎn)亮,顯示此時(shí)該液位有水。當(dāng)金屬探針在水面以上時(shí),金屬探針處電平為高電平,該高電平經(jīng)過(guò)反相器時(shí)變?yōu)榈碗娖?,低電平不能使發(fā)光二極管發(fā)光,從而顯示該液位沒(méi)有水。至此,水位的顯示完成。水位
57、測(cè)量及顯示模塊proteus仿真圖如圖4.13。</p><p> 圖4.13 水位測(cè)量及顯示模塊proteus仿真圖</p><p> 本proteus仿真圖使用按鍵開(kāi)關(guān)代替水和+5V電源、1M電阻及地構(gòu)成回路,當(dāng)按鍵按下時(shí)代表此位置處有水,當(dāng)按鍵沒(méi)有按下時(shí)代表此水位處沒(méi)有水。需要注意的是,上拉電阻不宜選的太小,因?yàn)樗怯须娮璧?,上拉電阻選的太小會(huì)導(dǎo)致當(dāng)探針在水面以下時(shí)探針輸出低電
58、平特性不明顯,此時(shí)很容易導(dǎo)致液位顯示上出現(xiàn)錯(cuò)誤。位置最高到位置最低處的探針?biāo)鶞y(cè)出的電平經(jīng)反相器后會(huì)通過(guò)導(dǎo)線(xiàn)依次送到單片機(jī)的P2.0到P2.4管腳,經(jīng)單片機(jī)接收、處理,實(shí)現(xiàn)水位控制的操作。</p><p><b> 4.4 報(bào)警模塊</b></p><p> 太陽(yáng)能熱水器通常對(duì)蓄水箱內(nèi)的水位有一定的要求,當(dāng)水箱水位過(guò)低時(shí),很容易給人們的正常生活帶來(lái)不便,所以,當(dāng)水
59、位過(guò)低時(shí)能及時(shí)讓人們知道就顯得比較重要,報(bào)警模塊正是基于此種原因設(shè)計(jì)的。報(bào)警模塊的proteus仿真圖如圖4.14。</p><p> 圖4.14 報(bào)警模塊的proteus仿真圖</p><p> 檢測(cè)及報(bào)警原理:當(dāng)水位過(guò)低時(shí),單片機(jī)相應(yīng)管腳被清零,使得單片機(jī)通過(guò)P1.5口輸出一系列脈沖波。脈沖波經(jīng)由Q1、R1組成的放大電路后作用于蜂鳴器BUZI的線(xiàn)圈上,線(xiàn)圈產(chǎn)生變化的磁場(chǎng)帶動(dòng)蜂鳴器
60、紙盆震動(dòng)從而發(fā)出聲音。</p><p> 4.5 輔助加熱模塊</p><p> 當(dāng)光照不足時(shí),太陽(yáng)能熱水器的水溫很難達(dá)到指定的要求,為了不影響人們的正常使用,輔助加熱設(shè)備就顯得尤為重要了。輔助加熱模塊的proteus電路仿真圖如圖4.15。</p><p> 圖4.15 輔助加熱模塊的proteus電路仿真圖</p><p>
61、4.5.1 繼電器工作原理</p><p> 繼電器工作原理圖如圖4.16所示。[15]</p><p> 圖4.16 繼電器工作原理圖</p><p> 當(dāng)繼電器的控制回路沒(méi)有電流流過(guò)時(shí),繼電器的銜鐵在彈簧的拉力作用下右端上翹,觸點(diǎn)3與觸點(diǎn)5斷開(kāi),與觸點(diǎn)4結(jié)合。當(dāng)有電流流過(guò)繼電器的控制回路(即由導(dǎo)線(xiàn)和線(xiàn)圈組成的電磁鐵)時(shí),電流就會(huì)在在電磁鐵上產(chǎn)生磁場(chǎng),
62、此時(shí),銜鐵會(huì)被電磁鐵吸引而下降,使得觸點(diǎn)3與觸點(diǎn)4分離,與觸點(diǎn)5連接。如果在端點(diǎn)3和端點(diǎn)5接上其他電路組成被控回路就會(huì)出現(xiàn)當(dāng)有電流流過(guò)控制回路時(shí)被控回路導(dǎo)通,當(dāng)沒(méi)有電流流過(guò)控制回路時(shí)被控回路斷開(kāi)。</p><p> 4.5.2 輔助加熱模塊工作原理</p><p> 當(dāng)加熱按鈕沒(méi)有按下時(shí),此輔助加熱模塊為自動(dòng)控制模式。在自動(dòng)控制模式下,當(dāng)設(shè)定的時(shí)間到時(shí),單片機(jī)會(huì)自動(dòng)對(duì)蓄水箱的水溫進(jìn)行
63、判斷。當(dāng)水溫高于設(shè)定值時(shí),P1.1口輸出為高電平,三極管Q1集電極和發(fā)射極斷開(kāi),此時(shí),輸入回路中沒(méi)有電流為零,繼電器被控回路斷開(kāi),加熱電阻不工作。當(dāng)P1.1口輸出為低電平時(shí),三極管Q1集電極和發(fā)射極導(dǎo)通,+5V電源經(jīng)電阻R1,繼電器控制回路、三極管Q1和地相連,輸入回路導(dǎo)通,此時(shí),繼電器被控回路閉合,220V交流電源經(jīng)繼電器被控回路給加熱電阻加熱,從而使水溫升高。當(dāng)臨時(shí)(不是設(shè)定時(shí)間)需要熱水時(shí)可以通過(guò)加熱按鈕進(jìn)行加熱,此時(shí),只需按下加
64、熱按鈕即可對(duì)蓄水箱的水進(jìn)行加熱。</p><p> 4.6 電磁閥控制模塊</p><p> 電磁閥是把電信號(hào)轉(zhuǎn)化成水龍頭開(kāi)關(guān)信號(hào)的裝置,是實(shí)現(xiàn)水位智能控制不可缺少的一部分。電磁閥從原理上分為直動(dòng)式、分步直動(dòng)式和先導(dǎo)式三類(lèi)電磁閥,本設(shè)計(jì)采用直動(dòng)式電磁閥。電磁閥控制模塊proteus仿真如圖4.17。</p><p> 圖4.17 電磁閥控制模塊proteu
65、s仿真電路圖</p><p> 繼電器工作原理已在輔助加熱模塊介紹,此處不再敘述</p><p> 4.6.1 電磁閥工作原理</p><p> 電磁閥工作原理如圖4.18。</p><p> 圖4.18 電磁閥工作原理圖</p><p> 當(dāng)電磁閥不通電時(shí),活動(dòng)鐵心在彈簧的彈力作用下上升,入口和出口被閥
66、門(mén)隔開(kāi),水被阻斷;當(dāng)通電時(shí),活動(dòng)鐵心在線(xiàn)圈產(chǎn)生的磁場(chǎng)作用下下落,此時(shí)入口和出口導(dǎo)通,水從入口經(jīng)電磁閥流向出口,完成上水。</p><p> 4.6.2 電磁閥控制模塊工作原理</p><p> 在本設(shè)計(jì)中,此電磁閥控制模塊分為自動(dòng)控制和手動(dòng)控制兩種工作情況:當(dāng)上水按鍵開(kāi)關(guān)斷開(kāi)且淋浴開(kāi)關(guān)閉合時(shí)電磁閥控制模塊為自動(dòng)控制模式,此時(shí)當(dāng)單片機(jī)P1.4口輸出為高電平時(shí),繼電器的輸入端輸入電流為零
67、,繼電器輸出端開(kāi)路,電磁閥所在電路開(kāi)路,電磁閥關(guān)閉;當(dāng)單片機(jī)P1.4口輸出為低電平時(shí),繼電器輸入端通過(guò)電阻、三極管和電源、地相連,此時(shí),輸入回路有輸入電流,使得繼電器輸出回路閉合,電磁閥所在電路導(dǎo)通,電磁閥打開(kāi)。當(dāng)上水按鍵開(kāi)關(guān)直接閉合且淋浴開(kāi)關(guān)閉合時(shí),電磁閥通過(guò)按鍵開(kāi)關(guān)直接和220V電源相連,此時(shí)電磁閥所在電路導(dǎo)通,電磁閥打開(kāi)。另外,為了避免淋浴時(shí)因水位偏低而導(dǎo)致熱水器直接上水,本模塊加了一個(gè)淋浴狀態(tài)開(kāi)關(guān),當(dāng)淋浴狀態(tài)打開(kāi)(淋浴開(kāi)關(guān)斷開(kāi))
68、時(shí),直接斷開(kāi)電磁閥開(kāi)關(guān),此時(shí)無(wú)論水位多么低都不會(huì)上水,當(dāng)淋浴狀態(tài)關(guān)閉(淋浴開(kāi)關(guān)閉合)時(shí),可以選擇自動(dòng)控制和手動(dòng)控制兩種模式。</p><p><b> 4.7 時(shí)鐘模塊</b></p><p> 時(shí)間是實(shí)現(xiàn)熱水器控制器定時(shí)上水、定時(shí)加熱的重要參考,所以設(shè)置時(shí)鐘模塊是非常有必要的。時(shí)鐘模塊可以通過(guò)單片機(jī)設(shè)置一個(gè)數(shù)字時(shí)鐘來(lái)實(shí)現(xiàn),也可以時(shí)鐘芯片(比如DS1302)實(shí)現(xiàn)
69、,還可以通過(guò)外接具有定時(shí)功能的電子表來(lái)實(shí)現(xiàn)。考慮到單片機(jī)管腳的數(shù)量限制和設(shè)計(jì)的難易程度,本設(shè)計(jì)采用外接電子表的方式來(lái)實(shí)現(xiàn)定時(shí)上水、定時(shí)加熱。</p><p> 4.7.1 電子表發(fā)聲原理及控制器定時(shí)工作原理</p><p> 電子表里面裝有壓電陶瓷片,壓電陶瓷片是一種電子發(fā)音元件,在兩個(gè)電極中間放入壓電陶瓷介質(zhì)材料,當(dāng)設(shè)定時(shí)間到時(shí),會(huì)在壓電陶瓷片的兩個(gè)電極上加上特定的交流信號(hào),壓電陶
70、瓷片就會(huì)根據(jù)所加信號(hào)的大小和頻率震動(dòng),從而發(fā)出聲音。本設(shè)計(jì)中會(huì)把這個(gè)電極信號(hào)接在單片機(jī)的P1.0管腳,當(dāng)該管腳的電平是低電平時(shí)可以給單片機(jī)一個(gè)觸發(fā)信號(hào),經(jīng)單片機(jī)處理,使得加熱設(shè)備開(kāi)始工作;同理,當(dāng)給單片機(jī)的P1.3管腳加上一個(gè)低電平時(shí)同樣能給單片機(jī)一個(gè)觸發(fā)信號(hào),經(jīng)單片機(jī)處理后,使得上水設(shè)備開(kāi)始工作。</p><p> 5 控制器軟件程序設(shè)計(jì)</p><p> 5.1 軟件設(shè)計(jì)分析&
71、lt;/p><p> 軟件是系統(tǒng)的指揮中心,由軟件來(lái)配合硬件來(lái)完成電子設(shè)備特定的功能是目前電子設(shè)備的普遍規(guī)律。本系統(tǒng)同樣要求軟件和硬件兩部分協(xié)調(diào)工作才能所完:由硬件電路完成數(shù)據(jù)的采集、顯示以及對(duì)電磁閥和蜂鳴器的控制,由軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)的判斷、處理等。由此可見(jiàn),軟件和硬件一樣,都是該系統(tǒng)正常工作所必須的一部分。</p><p> 軟件相對(duì)于硬件電路來(lái)說(shuō)具有更高的性?xún)r(jià)比,并且更容易實(shí)現(xiàn),為了充分
72、發(fā)揮C51單片機(jī)的優(yōu)良的性能價(jià)格比,我們?cè)谶M(jìn)行系統(tǒng)設(shè)計(jì)時(shí),更傾向于使硬件電路“軟件化”,即通過(guò)編程的方法使硬件電路簡(jiǎn)化??紤]到C語(yǔ)言諸多優(yōu)良特性,本設(shè)計(jì)采用C語(yǔ)言編寫(xiě),為了增加系統(tǒng)的實(shí)時(shí)性,本設(shè)計(jì)對(duì)于偶然事件的處理采用中斷的方式來(lái)進(jìn)行處理。</p><p> 在電路設(shè)計(jì)時(shí)我們采用模塊化設(shè)計(jì),同理,在軟件設(shè)計(jì)時(shí),我們也采用模塊化設(shè)計(jì)。首先需要編寫(xiě)出大概的主程序,然后需要找出所設(shè)計(jì)的子程序并對(duì)子程序進(jìn)行逐個(gè)分析和設(shè)
73、計(jì),編寫(xiě)出子程序后應(yīng)給予每個(gè)子程序語(yǔ)法檢驗(yàn)以確定子程序是不是有語(yǔ)法錯(cuò)誤,接下來(lái)需要把子程序和主程序以及一些的聲明函數(shù)等進(jìn)行合理的檢查和修改直到?jīng)]有語(yǔ)法錯(cuò)誤為止,再然后對(duì)偶然事件需要進(jìn)行中斷處理函數(shù)的編寫(xiě)。最后需要對(duì)整個(gè)程序進(jìn)行編譯檢查以確定是否有語(yǔ)法錯(cuò)誤,如果有語(yǔ)法錯(cuò)誤需要對(duì)程序進(jìn)行改正,如果沒(méi)有可以把程序烤到單片機(jī)里來(lái)檢驗(yàn)程序的正確與否。[16]</p><p> 5.2 主程序模塊</p>
74、<p> 主程序需要完成對(duì)單片機(jī)端口的初始化,開(kāi)外部中斷0,開(kāi)外部中斷1等,此外,還包括溫度數(shù)據(jù)讀取、溫度數(shù)據(jù)顯示、水位數(shù)據(jù)讀取以及對(duì)熱水器加熱、上水等操作。其流程圖如圖5.1所示。</p><p> 圖5.1 主程序模塊流程圖</p><p> 5.3 子程序模塊</p><p> 子程序是指能夠?qū)崿F(xiàn)某一特定功能并能被其他程序調(diào)用的一段程序。
75、采用子程序結(jié)構(gòu)可以使程序得到簡(jiǎn)化,便于進(jìn)行調(diào)試,并可實(shí)現(xiàn)程序的模塊化,本設(shè)計(jì)將采用子程序模塊的設(shè)計(jì)來(lái)實(shí)現(xiàn)部分功能。</p><p> 5.3.1 DS18B20溫度檢測(cè)子程序設(shè)計(jì)</p><p> DS18 B20溫度檢測(cè)模塊的子程序流程圖如圖5.2,它包括對(duì) DS18 B20的初始化、發(fā) ROM命令、發(fā)溫度轉(zhuǎn)化命令、讀存儲(chǔ)器等操作。</p><p> 圖5
76、.2 DS18B20溫度檢測(cè)流程圖</p><p> 5.3.2 DS18B20溫度轉(zhuǎn)化及顯示子程序</p><p> DS18 B20溫度轉(zhuǎn)化及顯示子程序流程圖如圖5.3,它包括讀取溫度值、對(duì)溫度值得判斷、區(qū)分溫度的十位和個(gè)位數(shù)據(jù)、顯示十位數(shù)據(jù)、顯示個(gè)位數(shù)據(jù)等操作。</p><p> 圖5.3 DS18B20溫度轉(zhuǎn)化及顯示流程圖</p>
77、<p> 5.3.3 加熱子程序設(shè)計(jì)</p><p> 當(dāng)設(shè)定時(shí)間到時(shí),外部時(shí)鐘會(huì)在單片機(jī)的P1.0管腳給單片機(jī)一個(gè)觸發(fā)信號(hào),使得單片機(jī)執(zhí)行加熱子程序。加熱子程序流程圖如圖5.4。</p><p> 圖5.4 加熱子程序流程圖</p><p> 5.3.4 上水子程序設(shè)計(jì)</p><p> 同加熱子程序一樣,當(dāng)設(shè)定時(shí)
78、間到時(shí),外部時(shí)鐘會(huì)在單片機(jī)的P1.3管腳給單片機(jī)一個(gè)觸發(fā)信號(hào),使得單片機(jī)執(zhí)行上水子程序。上水子程序流程圖如圖5.5。</p><p> 圖5.5 上水子程序流程圖</p><p> 5.4 中斷子程序設(shè)計(jì)</p><p> 為了保證系統(tǒng)的實(shí)時(shí)性,本設(shè)計(jì)有一些功能是通過(guò)中斷來(lái)實(shí)現(xiàn)的,這就要求在軟件程序設(shè)計(jì)里面需要有專(zhuān)門(mén)的中斷服務(wù)子程序的設(shè)計(jì)。本設(shè)計(jì)采用了兩個(gè)
79、中斷服務(wù),包括外部中斷0和外部中斷1。其中外部中斷0用作增加設(shè)定的溫度值,外部中斷1用作減小設(shè)定的溫度值。</p><p> 5.4.1 外部中斷0(設(shè)定溫度+)子程序設(shè)計(jì)</p><p> 外部中斷0負(fù)責(zé)使設(shè)定的溫度值增加,每當(dāng)執(zhí)行一次外部中斷0,所設(shè)定的溫度值就會(huì)增加1。外部中斷0(設(shè)定溫度+)子程序流程圖如圖5.6。</p><p> 圖5.6 外部
80、中斷0(設(shè)定溫度+)子程序流程圖</p><p> 5.4.2 外部中斷1(設(shè)定溫度-)子程序設(shè)計(jì)</p><p> 同外部中斷0相對(duì)應(yīng),外部中斷1用作使設(shè)定的溫度值減小。每當(dāng)執(zhí)行一次外部中斷1,所設(shè)定的溫度值就會(huì)自動(dòng)減1,當(dāng)設(shè)定溫度值減小到30℃一下時(shí)設(shè)定溫度值自動(dòng)變?yōu)?9℃。外部中斷1(設(shè)定溫度-)子程序流程圖如圖5.7。</p><p> 圖5.7
81、外部中斷1(設(shè)定溫度-)子程序流程圖</p><p><b> 6 調(diào)試與總結(jié)</b></p><p><b> 6.1 調(diào)試方法</b></p><p> 為了節(jié)省人力、物力,在正式調(diào)試之前往往會(huì)對(duì)電路進(jìn)行仿真操作。所謂的仿真操作就是使用專(zhuān)門(mén)用于仿真的仿真軟件對(duì)系統(tǒng)的硬件電路圖及程序進(jìn)行仿真。如果仿真結(jié)果滿(mǎn)足我
82、們的要求,那么我們就可以進(jìn)行硬件電路的制作了,如果仿真結(jié)果不能滿(mǎn)足我們的要求,那么我們就需要重新對(duì)程序及相關(guān)的硬件進(jìn)行設(shè)計(jì)。</p><p> 本設(shè)計(jì)使用proteus對(duì)系統(tǒng)的各部分和整個(gè)系統(tǒng)進(jìn)行仿真。具體做法為:</p><p> 根據(jù)系統(tǒng)要求用proteus 畫(huà)出整體系統(tǒng)的仿真電路圖(可以先一個(gè)模塊一個(gè)模塊的畫(huà),然后在組裝在一塊)。</p><p> 2、
83、根據(jù)系統(tǒng)要求及畫(huà)出的仿真電路圖編寫(xiě)程序(本設(shè)計(jì)使用C語(yǔ)言編寫(xiě)),并用keil軟件進(jìn)行編譯,生成HEX文件。</p><p> 把生成的HEX文件下載到對(duì)應(yīng)的單片機(jī)中(具體做法為:在proteus仿真電路圖中雙擊相應(yīng)的單片機(jī)會(huì)出現(xiàn)“Edit Component”對(duì)話(huà)框,在此對(duì)話(huà)框中program File一欄中選擇所需的HEX文件,然后點(diǎn)擊該對(duì)話(huà)框右上角的ok按鈕即可),然后點(diǎn)擊仿真電路圖界面左下角的play按鈕
84、即可進(jìn)行電路仿真。</p><p> 在完成系統(tǒng)的仿真操作后就需要對(duì)系統(tǒng)進(jìn)行調(diào)試了。調(diào)試可以分為硬件調(diào)試和系統(tǒng)調(diào)試兩部分。硬件調(diào)試主要是對(duì)硬件部分進(jìn)行調(diào)試,看看所設(shè)計(jì)的硬件能否完成我們期望的功能,而系統(tǒng)調(diào)試主要是看看系統(tǒng)能否按照預(yù)期進(jìn)行工作。</p><p> 在制作完成PCB板之后就可以進(jìn)行硬件部分的調(diào)試了。在制作完P(guān)CB板之后就可以進(jìn)行硬件電路調(diào)試了。在進(jìn)行硬件電路調(diào)試之前需要先
85、對(duì)各元器件進(jìn)行檢查,對(duì)于有問(wèn)題的元器件需要及時(shí)替換。在檢查完元器件之后就可以往PCB板上查元器件了。為了降低硬件調(diào)試的難度,便于更好的發(fā)現(xiàn)問(wèn)題,在硬件調(diào)試過(guò)程中采用分塊調(diào)試的方法。</p><p> 在完成硬件電路調(diào)試之后就需要對(duì)系統(tǒng)進(jìn)行調(diào)試了。所謂系統(tǒng)調(diào)試就是把提前編譯好的程序下載單片機(jī)中,對(duì)系統(tǒng)的整體性能進(jìn)行觀察、調(diào)試。</p><p> 6.2 遇到的問(wèn)題及解決辦法</p
86、><p> 在進(jìn)行proteus各模塊仿真電路圖設(shè)計(jì)時(shí)有部分元器件(比如電磁閥、加熱裝置等)在元件庫(kù)中找不到。解決方法:用其他有相似特點(diǎn)的元件代替,并將此元件的參數(shù)修改一下。</p><p> 在進(jìn)行proteus總體仿真電路設(shè)計(jì)時(shí),有很多現(xiàn)象(比如:電磁閥的通斷、水位的高低等)不容易觀察或不容易操作。解決方法:用發(fā)光二極管、按鍵開(kāi)關(guān)代替這些不容易觀察或不容易操作的現(xiàn)象。</p>
87、;<p> 在程序設(shè)計(jì)時(shí)對(duì)DS18B20的程序設(shè)計(jì)總是弄不對(duì)。解決方法:參考其他人對(duì)這部分程序的編寫(xiě),然后按照自己的要求和DS18B20的原理進(jìn)行修改。</p><p> 在程序設(shè)計(jì)過(guò)程中 ,對(duì)DS18B20測(cè)出的溫度進(jìn)行轉(zhuǎn)化方面出現(xiàn)失誤:沒(méi)有注意DS18B20溫度數(shù)據(jù)是包含小數(shù)部分的溫度而導(dǎo)致在溫度轉(zhuǎn)化時(shí)出現(xiàn)錯(cuò)誤。解決方法:在對(duì)DS18B20結(jié)構(gòu)及原理仔細(xì)分析的基礎(chǔ)上對(duì)設(shè)計(jì)的程序進(jìn)行修改,首先
88、去除溫度的小數(shù)部分,然后吧溫度的個(gè)位數(shù)部分和十位數(shù)部分分別放在一個(gè)數(shù)組的兩個(gè)元素中。</p><p> 在系統(tǒng)調(diào)試中發(fā)現(xiàn)溫度顯示時(shí)總是個(gè)位數(shù)在前,十位數(shù)在后,給人的感覺(jué)很別扭。解決方法有兩個(gè):一、在溫度數(shù)據(jù)的處理子程序中把個(gè)位數(shù)據(jù)和十位數(shù)據(jù)處理的語(yǔ)句調(diào)換一下。二、在硬件電路中把兩個(gè)LED數(shù)碼管位選信號(hào)輸入端調(diào)換一下。本設(shè)計(jì)采用第一種方法,即在程序處理方面做改變。</p><p><
89、b> 6.3 總結(jié)</b></p><p> 太陽(yáng)能熱水器控制器是對(duì)太陽(yáng)能熱水器進(jìn)行控制的一種裝置,它需要能夠?qū)崿F(xiàn)對(duì)熱水器水溫、水位的控制。在本設(shè)計(jì)的過(guò)程中,我先是對(duì)太陽(yáng)能熱水器需要實(shí)現(xiàn)的功能進(jìn)行分析,然后按照需要實(shí)現(xiàn)的功能按照模塊設(shè)計(jì)的思想進(jìn)行設(shè)計(jì),接下來(lái)把各模塊組合起來(lái)形成一個(gè)系統(tǒng),用proteus對(duì)該系統(tǒng)進(jìn)行仿真,最后進(jìn)行實(shí)際電路連接。經(jīng)過(guò)以上各個(gè)步驟的實(shí)際操作,我們可以看出,本設(shè)計(jì)
90、是可行的。</p><p> 本設(shè)計(jì)中我用的了單片機(jī)、C語(yǔ)言、模電、數(shù)電、電路分析等多門(mén)課程,可以說(shuō)正是在這些知識(shí)的支撐下我才能順利完成本設(shè)計(jì)。在進(jìn)行本設(shè)計(jì)的過(guò)程中,我較深刻理解了能夠綜合運(yùn)用知識(shí)的重要性,當(dāng)然,本設(shè)計(jì)對(duì)我綜合運(yùn)用能力也有一定程度的提高。</p><p> 另外,在進(jìn)行本設(shè)計(jì)的過(guò)程中,我的交流能力也有一定程度的提高。在本設(shè)計(jì)中,我遇到過(guò)很多問(wèn)題,正是與老師、學(xué)長(zhǎng)、同學(xué)的
91、交流給我解決這些問(wèn)題很大的啟發(fā),使我能夠順利完成本設(shè)計(jì)。</p><p><b> 致謝</b></p><p> 對(duì)于即將畢業(yè)的我們來(lái)說(shuō),本設(shè)計(jì)的完成就基本意味著大學(xué)學(xué)習(xí)生活的結(jié)束。離別時(shí)刻就要到來(lái),而我也將要開(kāi)始我新一段的學(xué)習(xí)生活。此時(shí)此刻難免會(huì)有各種思緒,其中最強(qiáng)烈的莫過(guò)于感恩了。</p><p> 大學(xué)四年不算太長(zhǎng),但在這四年里我
92、卻完成從稚嫩到成熟,由懵懂到理智的成功蛻變。猶記得剛上大一時(shí)對(duì)未來(lái)的迷茫,對(duì)生活的不知所措、對(duì)專(zhuān)業(yè)知識(shí)的一清二白,在看看現(xiàn)在的對(duì)未來(lái)的憧憬與信心,對(duì)生活的游刃有余,對(duì)專(zhuān)業(yè)基本知識(shí)的胸有成竹,大學(xué)給與我了太多東西,因此,在這里我首先要感謝我的母?!獰熍_(tái)大學(xué)。</p><p> “出門(mén)遇貴人”,在這所大學(xué)里我遇到了太多太多這樣的貴人,正是這些貴人讓我的大學(xué)收獲非常豐富,這些人也是我要感激的。首先要說(shuō)感謝的是我的畢
93、業(yè)設(shè)計(jì)指導(dǎo)老師——?jiǎng)⒃茖W(xué)老師,在我做畢業(yè)設(shè)計(jì)時(shí)是你給我提供了無(wú)私的指導(dǎo)和幫助。其次我要感謝大學(xué)里的其他老師,是你們讓我學(xué)會(huì)了如何學(xué)習(xí),如何做人。再次還要感謝那些給過(guò)我指引的學(xué)長(zhǎng)和學(xué)姐們,尤其要感謝在我論文寫(xiě)作過(guò)程中給我指導(dǎo)的岳峰學(xué)長(zhǎng),正是你們對(duì)我無(wú)私的引導(dǎo)才使得我的大學(xué)生活不再那么茫然。當(dāng)然還要感謝我那些可愛(ài)的同學(xué)們,在我遇困難的時(shí)候是你們?cè)谂惆橹?,?dāng)我開(kāi)心的時(shí)候是你們?cè)诜窒砦业臍g樂(lè),在論文的創(chuàng)作過(guò)程中也是你們給提供了很多幫助。<
94、;/p><p> 本次畢業(yè)設(shè)計(jì)將會(huì)在我的經(jīng)歷上留下濃重的一筆,在此過(guò)程中,我不僅學(xué)到了很多新的實(shí)用的知識(shí)技術(shù),收獲了不少經(jīng)驗(yàn),最重要的是學(xué)到了解決問(wèn)題的辦法及途徑,讓我今后在遇到這樣的課題能夠有章可循。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]張才忠. 真空管太陽(yáng)能熱水器熱性能分析與參數(shù)化設(shè)計(jì)研究. 濟(jì)南:山東大學(xué)
95、學(xué)報(bào),2006</p><p> [2] 胡潤(rùn)青. 蓬勃發(fā)展的太陽(yáng)能熱水器產(chǎn)業(yè).北京:建設(shè)科技雜志,2006</p><p> [3] 張媛等. 太陽(yáng)能熱水器的發(fā)展前景. 天津:天津建設(shè)科技,2009年1期</p><p> [4] 侯玉寶等. 基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真[M]. 北京: 電子工業(yè)出版社,2008</p><
96、;p> [5] 余錫存,曹?chē)?guó)華. 單片機(jī)原理及接口技術(shù)(第二版)[M].西安:西安電子科技大學(xué)出版社,2007</p><p> [6] 趙建領(lǐng),薛園園等. 51單片機(jī)開(kāi)發(fā)與應(yīng)用技術(shù)詳解[M]北京:電子工業(yè)出版社,2009</p><p> [7] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2004</p><p> [8] 李群芳等
97、.單片機(jī)微型計(jì)算機(jī)與接口技術(shù)(第2版)[M].北京:電子工業(yè)出版社,2005.1</p><p> [9] 寧成軍等,基于 Proteus和Keil接口的單片機(jī)外圍硬件電路仿真,北京:現(xiàn)代電子技術(shù)出版社,2006 </p><p> [10] 樓然苗,李光飛. 單片機(jī)課程設(shè)計(jì)指導(dǎo)(第2版)[M]. 北京:北京航空航天大學(xué)出版社,2012.1</p><p&
98、gt; [11] 李華等.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]北京:北京航空航天大學(xué)出版社,1995</p><p> [12]楊居義 主編. 單片機(jī)課程設(shè)計(jì)指導(dǎo)[M]. 北京:清華大學(xué)出版,2009.9</p><p> [13]80C51 8bit flash microcontroller family P89C51RB2/
99、P89C51RC2/P89C51RD2. Data Book, Philips Semicon-ductors, 2001,6(1).</p><p> [14] 康華光,陳大欽.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)[M].北京:高等教育出版社,2001.6</p><p> [15] 齊玲, 繼電器綜合參數(shù)檢測(cè)系統(tǒng)[J] 河北:河北工業(yè)大學(xué)
100、學(xué)報(bào),2009</p><p> [16] 周潤(rùn)景等,基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真.北京:北京航空航天大學(xué)出版社,2006.</p><p> [17]馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.11.</p><p><b> 附錄</b></p><p>
101、; 本設(shè)計(jì)程序如下:[17]</p><p> /***************************************************/</p><p> #include <reg51.h></p><p> #include <intrins.h> </
102、p><p> #define Disdata P0 </p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit b20=P3^7;</p><p> sbit p2
103、0=P2^0;</p><p> sbit p21=P2^1; </p><p> sbit p22=P2^2; </p><p> sbit p23=P2^3; </p><p> sbit p24=P2^4;</p><p
104、> sbit p25=P2^5; </p><p> sbit p26=P2^6; </p><p> sbit p27=P2^7;</p><p> sbit beet=P1^5; </p><p> sbit heat=P1^
105、0;</p><p> sbit p11=P1^1;</p><p> sbit qxjr=P1^2;</p><p> sbit add=P1^3;</p><p> sbit p14=P1^4;</p><p> sbit qxss=P1^6;</p>
106、<p> uchar a=35; </p><p> uint temp,b,wd,h;</p><p> bit lock0=1; //加熱標(biāo)志位</p><p> bit lock1=1; </p><p> uchar code dis[12]={0xc0,0xf9,0x
107、a4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}; </p><p> uchar data temp_data[3]={0x00,0x000,0x00}; </p><p> uint key_[2]={5,0};</p><p> /*****************11us延
108、時(shí)函數(shù)*************************/</p><p> void delay(uint t)</p><p><b> {</b></p><p> for (;t>0;t--);</p><p><b> }</b></p><p>
109、/******************1ms延時(shí)函數(shù)*****************************/</p><p> void delay1ms(uint z)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for
110、(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p> /****************發(fā)音函數(shù)***************************/</p><p> void play(uchar t)&l
111、t;/p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<1000;i++)</p><p><b> {</b></p><p> beet=~beet;</p&
112、gt;<p> delay1ms(t);</p><p><b> }</b></p><p><b> beet=0;</b></p><p><b> }</b></p><p> /****************顯示掃描函數(shù)***********
113、****************/</p><p><b> scan()</b></p><p><b> {</b></p><p><b> uint k=0;</b></p><p> Disdata=~dis[temp_data[k]];</p>
114、<p><b> p26=0;</b></p><p><b> p27=1;</b></p><p> delay1ms(5);</p><p><b> k++;</b></p><p> Disdata=~dis[temp_data[k]];<
115、/p><p><b> p26=1;</b></p><p><b> p27=0;</b></p><p> delay1ms(5);</p><p><b> p26=1;</b></p><p><b> p27=1;</b&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--太陽(yáng)能熱水器控制器設(shè)計(jì)
- 基于單片機(jī)的太陽(yáng)能熱水器控制器的設(shè)計(jì) 開(kāi)題報(bào)告
- 基于單片機(jī)的太陽(yáng)能熱水器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于51單片機(jī)的太陽(yáng)能熱水器智能控制器的設(shè)計(jì)
- 基于單片機(jī)的太陽(yáng)能熱水器控制的畢業(yè)設(shè)計(jì)
- 太陽(yáng)能熱水器
- 太陽(yáng)能熱水器控制器設(shè)計(jì)[開(kāi)題報(bào)告]
- 太陽(yáng)能熱水器控制器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的太陽(yáng)能熱水器控制系統(tǒng)的實(shí)現(xiàn).pdf
- 課程設(shè)計(jì)--基于單片機(jī)的太陽(yáng)能熱水器的設(shè)計(jì)
- 基于單片機(jī)的太陽(yáng)能熱水器控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于單片機(jī)的太陽(yáng)能熱水器智能控制系統(tǒng)設(shè)計(jì)開(kāi)題報(bào)告
- 開(kāi)題報(bào)告---基于單片機(jī)的太陽(yáng)能熱水器智能控制系統(tǒng)設(shè)計(jì)
- 太陽(yáng)能熱水器控制器設(shè)計(jì)-畢業(yè)論文
- 基于FPGA太陽(yáng)能熱水器智能控制器的設(shè)計(jì).pdf
- 太陽(yáng)能熱水器智能控制器-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的全自動(dòng)太陽(yáng)能熱水器的控制
- 開(kāi)題報(bào)告---基于單片機(jī)的太陽(yáng)能熱水器智能控制系統(tǒng)設(shè)計(jì)
- 太陽(yáng)能熱水器的智能控制器-畢業(yè)設(shè)計(jì)
- 畢業(yè)論文太陽(yáng)能熱水器控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論