2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  太陽能是現(xiàn)在社會的綠色能源,人們利用太陽能可以節(jié)省好多的能源,所以要好好利用太陽能,發(fā)揮它應(yīng)有的作用。太陽能熱水器因利用太陽能、無污染、使用方便、長期使用投入費用低等特點而倍受人們的青睞,得到很好的發(fā)展。</p><p>  本設(shè)計以單片機AT89C52做為控制核心并協(xié)調(diào)整個系統(tǒng)的工作,通過數(shù)字溫度傳感

2、器檢測當(dāng)前水的溫度,由于是數(shù)字信號就直接送入單片機AT89C52內(nèi),通過單片機的處理在LED數(shù)碼管上顯示當(dāng)前的溫度值。另外一路是在水箱中的水壓傳感器測水的壓力從而得到水位的高低,水壓傳感器輸出的是0~5V的模擬量,要經(jīng)過A/D轉(zhuǎn)換成為數(shù)字量再送入單片機AT89C52進行處理,在LED數(shù)碼管上顯示水位值。按鍵用來設(shè)定想要控制的溫度值,單片機在內(nèi)部通過比較設(shè)定的溫度和當(dāng)前溫度,當(dāng)前溫度不滿足設(shè)定溫度時就會閉合電磁開關(guān),開啟加熱裝置。滿足設(shè)定

3、溫度時斷開開關(guān)停止加熱。自動上水方面是設(shè)置水位的上限和下限,水位低于下限時就會閉合電磁開關(guān),開始上水,當(dāng)水位高于上線時就會自動斷開電磁開關(guān),停止上水。溫度和水位值在時時檢測,達到控制目的。</p><p>  關(guān)鍵詞:太陽能熱水器;傳感器;控制器;單片機</p><p><b>  ABSTRACT</b></p><p>  Now,sola

4、r energy is a green resources, people use solar power can save a lot of energy, so make good use of solar energy, will play its proper role. Solar water heater also due to use of solar energy, no pollution, easy to use,

5、long-term use of inputs and low cost has attracted people's favor, well developed.</p><p>  This design used AT89C52 micro controller core as a control and coordinate the work of the entire system, digit

6、al temperature sensor by detecting the current water temperature, because the number of digital signal directly into the MCU AT89C52, through SCM handle LED digital tube displays the current temperature. Another way is t

7、he pressure in the tank pressure sensor measuring the water level to get the water level, water pressure sensor output is 0 ~ 5V for analog to go through A/D converted i</p><p>  KEY WORDS: Solar heater, Sen

8、sor, control ,MCU</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  1 前言1</b></p><p>  1.1 課題

9、背景和意義1</p><p>  1.2 本課題研究內(nèi)容與主要工作3</p><p>  1.3 本課題的研究預(yù)期成果3</p><p>  2 總體系統(tǒng)設(shè)計4</p><p>  3 總體硬件設(shè)計6</p><p>  3.1 系統(tǒng)總體硬件框圖與工作原理6</p><p>  3.

10、2 溫度傳感器6</p><p>  3.2.1 溫度傳感器DS18B206</p><p>  3.2.2 DS18B20的結(jié)構(gòu)8</p><p>  3.3 水壓傳感器及A/D轉(zhuǎn)換9</p><p>  3.3.1 水壓傳感器10</p><p>  3.3.2 ADC0832結(jié)構(gòu)及原理10</p

11、><p>  3.4 電磁開關(guān)(繼電器)電路及原理12</p><p>  3.4.1 光電隔離器的原理13</p><p>  3.4.2 電磁繼電器的原理14</p><p>  3.4.3 上水控制的原理15</p><p>  3.4.4 加熱控制的原理15</p><p>  3

12、.5 單片機控制系統(tǒng)16</p><p>  3.6 LED數(shù)碼管顯示電路17</p><p>  3.7按鍵電路設(shè)計19</p><p>  4 軟件設(shè)計方案21</p><p>  4.1 DS18B20驅(qū)動程序設(shè)計22</p><p>  4.2串行AD轉(zhuǎn)換器ADC0832程序設(shè)計23</p&g

13、t;<p>  4.3 按鍵控制程序設(shè)計26</p><p>  4.4 LED數(shù)碼管顯示程序設(shè)計28</p><p>  5 硬件電路仿真結(jié)果30</p><p>  5.1 溫度仿真30</p><p>  5.1.1 溫度顯示仿真30</p><p>  5.1.2 溫度控制仿真31&l

14、t;/p><p>  5.2 水位仿真32</p><p>  5.2.1 水位顯示仿真32</p><p>  5.2.2 水位控制仿真33</p><p>  5.3 仿真結(jié)果分析34</p><p><b>  致 謝35</b></p><p>  參 考 文

15、 獻36</p><p><b>  附錄38</b></p><p>  附錄Ⅰ 系統(tǒng)總原理圖38</p><p>  附錄Ⅱ 系統(tǒng)源程序39</p><p><b>  1 前言</b></p><p>  1.1 課題背景和意義</p><p

16、>  目前,中國已成為世界上最大的太陽能熱水器生產(chǎn)國,年產(chǎn)量約為世界各國之和,已有一千多家太陽能熱水器生產(chǎn)廠。但是與之配套的太陽能熱水器控制器卻一直處在研究與開發(fā)階段,當(dāng)由于天氣原因而光強不足時,就會給熱水器用戶帶來不便;即使熱水器具有輔助加熱功能,由于加熱時間不能控制而產(chǎn)生過燒,從而浪費大量的電能。溫度控制采用模糊控制,控制器可以根據(jù)天氣情況利用輔助加熱裝置使蓄水箱內(nèi)的水溫在設(shè)定時間達到預(yù)先設(shè)定的溫度,從而達到24小時供應(yīng)熱水的

17、目的。太陽能熱水器是太陽能利用中最常見的一種裝置,經(jīng)濟效益明顯,正在迅速的推廣應(yīng)用,太陽能熱水器能夠?qū)⑻栞椛淠苻D(zhuǎn)換熱能,供生產(chǎn)和生活使用。他主要由平板集熱器、蓄水器和連接管道等部件組成,可分循環(huán)式、直流式和悶曬式。</p><p>  太陽能熱水器是環(huán)保、無污染,人們用著安全放心。利用太陽的能源,大量節(jié)約現(xiàn)有的能源,是以后能源發(fā)展的趨勢。原有的燃?xì)鉄崴骱碗姛崴麟m然加熱速度比較快,但是所用的煤和氣都會對環(huán)境造

18、成一定的污染,而且會使室內(nèi)的空氣變得不清新,電熱水器的功率較大,對長期使用的一般家庭來說必定會帶來一定的經(jīng)濟困難,是一筆相當(dāng)大的開銷。太陽能熱水器安全、環(huán)保、經(jīng)濟,帶有輔助加熱功能的熱水器可在全年的任何時候使用,設(shè)計一個控制器來幫助人們了解水的溫度和熱水器中水位的高低,使人們清楚的使用。</p><p>  如今大多數(shù)的家庭太陽能都裝有水位監(jiān)測和水溫測量、顯示的功能,使用更加方便。近年來,利用太陽能和其它能源的結(jié)

19、合,使得太陽能熱水器更加的完善,在任何天氣情況下都能使用到熱水。此款太陽能熱水器控制器設(shè)計包括主、從兩大系統(tǒng):主系統(tǒng)的特點是在晴好的天氣利用太陽光能為熱水器加熱;從系統(tǒng)相當(dāng)于電熱水器,它在無光照或者溫度低的情況下利用電輔助加熱。它充分利用太陽能的豐富的免費的資源的優(yōu)勢,同時考慮到在陰天及夜間如冬季無法利用太陽光弱的缺點,充分發(fā)揮太陽能熱水器和電熱水器的各自優(yōu)勢,這是世面上大部分熱水器所不能比擬的。</p><p>

20、;  當(dāng)今社會發(fā)展日新月異,人們衣食住行也在不斷的提高?,F(xiàn)有電熱型熱水器費用昂貴及燃?xì)庑偷牟话踩裕遗欧哦趸嘉廴敬髿?,北方用煤氣取暖造成城市空氣環(huán)境污染,這些都是太陽能熱水器良好的外部生存環(huán)境。太陽能熱水器克服了上述缺點,他是綠色環(huán)保產(chǎn)品。它使用簡單、方便。太陽能熱水器順著時代發(fā)展的要求,滿足人們對環(huán)保綠色產(chǎn)品的需求。在人類文明程度日益提高的今天,它是現(xiàn)代文明社會的最佳選擇。應(yīng)該注意到,集體單位對太陽能熱水器的用量很大。</

21、p><p>  眾所周知,太陽能是取之不盡,用之不竭,沒有污染的巨大能源。隨著世界上煤、石油、天然氣的存儲量日益減少,能源危機已日益增長,環(huán)境污染的危機已威脅著生態(tài)平衡,太陽能開發(fā)利用的課題已提到人類的面前。有人預(yù)測:二十一世紀(jì)太陽能將由輔助能源上升為主要能源。但由于太陽能的分散性、季節(jié)性和地區(qū)性又給太陽能利用帶來重重困難,有些技術(shù)難點尚未突破,產(chǎn)品造價偏高,因而尚未被人們大規(guī)模使用。</p><

22、p>  在太陽能熱利用技術(shù)中,太陽能熱水器是技術(shù)上比較成熟、造價比較低廉的產(chǎn)品,同時給人民提供低耗能源、保護環(huán)境、絕對安全的熱水而受到人們的歡迎。世界各國的太陽能熱水器生產(chǎn)發(fā)展也很快。例如:澳大利亞政府規(guī)定,在北部地區(qū)新建房屋一定要設(shè)置太陽能熱水器,已經(jīng)有絕大部分新住宅安裝了太陽能熱水器。日本現(xiàn)在每年安裝大量太陽能熱水器,計劃今后普及率更高。有些國家法令規(guī)定所有新建筑物必須配備太陽能熱水器。</p><p>

23、;  太陽能熱水器的推廣應(yīng)用及經(jīng)濟效益很巨大,所以該控制器具有使用方便、性價比高、工作可靠、精度高等特點,為太陽能熱水器的進一步推廣具有積極的推動作用。</p><p>  1.2 本課題研究內(nèi)容與主要工作</p><p>  本設(shè)計主要利用單片機為核心,選擇適當(dāng)?shù)膫鞲衅髯鳛樾盘柕牟杉瘉碓矗瑴囟葌鞲衅鬟x擇數(shù)字式的DS18B20。水位信號的檢測選擇PTJ204/205/206/207壓力傳感

24、器,將檢測的模擬信號經(jīng)過A/D轉(zhuǎn)換后送入單片機處理。通過LED數(shù)碼管來顯示溫度和水位。要經(jīng)過幾部分的設(shè)計來完成:</p><p>  (a)LED數(shù)碼管顯示部分設(shè)計 </p><p> ?。╞)A/D轉(zhuǎn)換部分設(shè)計</p><p>  (c)溫度采集部分設(shè)計</p><p> ?。╠)控制加熱和上水電路設(shè)計</p><p&g

25、t;  從系統(tǒng)需要和研究內(nèi)容可以看出,本設(shè)計需要做的主要工作有:查閱相關(guān)資料,了解各部分功能原理。查閱元器件資料,掌握器件工作原理和硬件實現(xiàn)方法。利用電腦仿真,對設(shè)計的電路進行模擬檢測。</p><p>  1.3 本課題的研究預(yù)期成果</p><p>  設(shè)計出太陽能熱水器控制器,編寫出程序,調(diào)試成功,并在硬件電路上進行仿真達到預(yù)期的目的,完成設(shè)計任務(wù)。</p><p

26、><b>  2 總體系統(tǒng)設(shè)計</b></p><p>  總體設(shè)計之前,根據(jù)該系統(tǒng)所要達到的功能,選擇適當(dāng)?shù)脑骷秃线m的芯片來設(shè)計系統(tǒng),了解各器件的原理和功能。太陽能熱水器控制器設(shè)計,就要有溫度采集器件,根據(jù)相關(guān)參數(shù)范圍選擇了DS18B20數(shù)字溫度傳感器,采集到的數(shù)據(jù)為數(shù)字量,可以直接送入單片機處理,電路簡單,數(shù)字溫度傳感器比模擬溫度傳感器測量結(jié)果精確。要顯示水位量就要有單片機能處

27、理的水位量,這個量就要由傳感器來測量,這里的水位檢測傳感器選擇模擬的傳感器,模擬量不能直接進入單片機進行處理,要變成二進制的數(shù)字量才能送入單片機進行處理,這就要進行A/D轉(zhuǎn)換,把采集到的水位信號轉(zhuǎn)換成為數(shù)字量。A/D轉(zhuǎn)換的器件選擇為ADC0832轉(zhuǎn)換芯片,它是一個兩路模擬量輸入,轉(zhuǎn)換完的數(shù)字量串行輸出,ADC0832轉(zhuǎn)換芯片引腳少,能達到相同的功能,而且電路簡單,方便。顯示所測量的結(jié)果要用到LED數(shù)碼管,用LED數(shù)碼管來顯示結(jié)果比較清楚

28、,防水和磨損,是比較好的顯示方式。要實現(xiàn)溫度穩(wěn)定控制,就需要設(shè)定溫度的標(biāo)準(zhǔn)量,是和當(dāng)前水的溫度進行比較的,看當(dāng)前水的溫度有沒有達到或者大于標(biāo)準(zhǔn)的溫度,然后加以控制,要設(shè)置給定的溫度就要有輸入裝置,采用簡單的按鍵作為輸入是很簡便的,不</p><p>  圖3-1 系統(tǒng)總體硬件框圖</p><p><b>  3 總體硬件設(shè)計</b></p><p&

29、gt;  3.1 系統(tǒng)總體硬件框圖與工作原理</p><p>  經(jīng)過對所要設(shè)計的控制系統(tǒng)的功能要求進行分析,可以得道系統(tǒng)的總體硬件設(shè)計框圖,如圖3-1所示。</p><p>  由系統(tǒng)的總框圖可以看出該系統(tǒng)的工作原理為:單片機AT89C52作為控制核心并協(xié)調(diào)整個系統(tǒng)的工作,通過數(shù)字溫度傳感器檢測當(dāng)前水的溫度,由于數(shù)數(shù)字信號就直接送入單片機AT89C52內(nèi),通過單片機的處理在LED數(shù)碼管上

30、顯示當(dāng)前的溫度值。另外一路是在水箱中的水壓傳感器測水的壓力從而得到水位的高低,水壓傳感器輸出的是0~5V的模擬量,要經(jīng)過A/D轉(zhuǎn)換成為數(shù)字量再送入單片機AT89C52進行處理,在LED數(shù)碼管上顯示水位值。按鍵用來設(shè)定想要的溫度值,單片機在內(nèi)部通過比較設(shè)定的溫度和當(dāng)前溫度,當(dāng)前溫度小于設(shè)定值時就會閉合電磁開關(guān),開啟加熱裝置。自動上水方面是設(shè)置水位的上下限,水位小于下限時就會閉合電磁開關(guān),就會開始上水,水位到達上線時就會自動斷開電磁開關(guān),停

31、止上水。溫度和水位值在時時檢測,達到控制目的。</p><p><b>  3.2 溫度傳感器</b></p><p>  3.2.1 溫度傳感器DS18B20</p><p>  溫度傳感器選擇DS18B20數(shù)字溫度計,它以9位數(shù)字量的形式反映器件的溫度值。DS1820通過一個單線接口發(fā)送或接收信息,因此在中央微處理器和DS18B20之間僅

32、需一條連接線(加上地線)。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無需外部電源。因為每個DS18B20都有一個獨特的片序列號,所以多只DS18B20可以同時連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同的地方。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機器的溫度以及過程監(jiān)測和控制等方面非常有用。</p><p>  圖3-2 DS18B20引腳排列與封裝形式</p><p&g

33、t;  表3-1 DS18B20引腳說明</p><p>  DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意一下問題:</p><p> ?。╝)較小的硬件開銷需要相對復(fù)雜的軟件進行連接補償,DS18B20與微處理器間采用穿行數(shù)據(jù)傳送,編程時要嚴(yán)格保證讀寫時序,否則將無法讀取測溫結(jié)果。</p><p> ?。╞)連接

34、DS18B20的總線電纜長度是有長度限制的。當(dāng)采用普通信號電纜傳輸長度不能超過50m,采用雙絞線帶屏蔽電纜時可達到150m。</p><p> ?。╟)在DS18B20測溫程序中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,要保持接觸良好,否則會進入死循環(huán)。</p><p>  DS18B20的特性:</p><p>  (a)獨特的單

35、總線接口方式。DS18B20在I/O處理器連接時,僅需要一個I/O口即可實現(xiàn)微處理器同DS18B20的雙向通訊。</p><p>  (b)DS18B20支持組網(wǎng)功能,多個DS18B20多個DS18B20可以并聯(lián)在唯一的單線上,實現(xiàn)多點測溫。</p><p>  (c)DS18B20的測溫范圍為:-55℃~+125℃,在-10℃~+85℃時,其精度為+0.15℃。</p>&

36、lt;p>  (d)DS18B20的測量結(jié)果的數(shù)字量位數(shù)從9~12位,可編程進行選擇。</p><p> ?。╡)DS18B20內(nèi)部寄生電源,器件既可以由單線總線供電,也可以用外部電源供電。</p><p>  DS18B290測溫原理:DS18B20測量溫度采用了特有的溫度測量技術(shù),它是通過計數(shù)時鐘周期來實現(xiàn)的,內(nèi)部計數(shù)器對一個受溫度影響的振蕩器的脈沖計數(shù),低溫時,振蕩器的脈沖無法

37、通過門電路。計數(shù)器設(shè)置為-55℃。同時,計數(shù)器復(fù)位在當(dāng)前的溫度值時,電路對振蕩器的溫度系數(shù)進行補償,計數(shù)器重新開始計數(shù)直到回零。如果門電路仍未關(guān)閉,則系統(tǒng)重復(fù)上述過程。</p><p>  3.2.2 DS18B20的結(jié)構(gòu)</p><p>  DS18B20有三個主要數(shù)字部件:</p><p>  1. 64位激光ROM,</p><p>&

38、lt;b>  2. 溫度傳感器,</b></p><p>  3. 非易失性溫度報警觸發(fā)器TH和TL。</p><p>  器件用如下方式從單線通訊線上汲取能量:在信號線處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。DS18B20也可用外部5V電源供電。</p><p> 

39、 圖3-3 DS18B20的內(nèi)部結(jié)構(gòu)</p><p>  DS18B20單純通信功能是分時完成的。單線信號包括復(fù)位脈沖,響應(yīng)脈沖,寫“0”,寫“1”,讀“1”。它們有嚴(yán)格的時隙概念。系統(tǒng)對DS18B20的操作以ROM命令(5個)和存儲器命令(6個)形式出現(xiàn)。對它的操作協(xié)議是:初始化DS18B20發(fā)復(fù)位脈沖-發(fā)ROM功能命令-處理數(shù)據(jù)-發(fā)存儲器命令處理數(shù)據(jù),各種操作都有相應(yīng)的時序圖[2]。</p>&

40、lt;p>  DS18B20在使用時,一般都采用單片機來實現(xiàn)數(shù)據(jù)采集。只需將DS18B20信號線與單片機1位I/O線相連,且單片機的1位I/O線可掛接多個DS18B20,就可實現(xiàn)單點或多點溫度測量。DS18B20傳感器的精度高、互換性好;它直接將溫度數(shù)據(jù)進行編碼,可以只使用一根電纜傳輸溫度數(shù)據(jù),通信方便,傳輸距離遠(yuǎn)且抗干擾性好,與用傳統(tǒng)的溫度傳感器系統(tǒng)相比系統(tǒng)得以簡化。系統(tǒng)擴充維護十分方便。</p><p>

41、;  3.3 水壓傳感器及A/D轉(zhuǎn)換</p><p>  選用PTJ204/205/206/207水壓傳感器,水位傳感器輸出的信號為模擬信號,由于輸出量微弱,要經(jīng)過放大器的放大轉(zhuǎn)化為0~5V的電壓信號,才能送入ADC0832中進行轉(zhuǎn)換,輸出為串行數(shù)字?jǐn)?shù)據(jù),送入單片機AT89C52處理。傳感器和AD轉(zhuǎn)換原理圖如下圖3-4所示:</p><p>  圖3-4 模擬量輸入及AD轉(zhuǎn)換電路結(jié)構(gòu)<

42、;/p><p>  3.3.1 水壓傳感器</p><p>  水壓傳感器是由一種檢測裝置,能感受到被測量的信息,并能將檢測感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。它是實現(xiàn)自動化檢測和控制的首要環(huán)節(jié)。 力學(xué)傳感器的種類繁多,如電阻應(yīng)變片壓力傳感器、半導(dǎo)體應(yīng)變片壓力傳感器、電感式壓力傳感器、壓阻式壓力傳感器、電容式壓力

43、傳感器、諧振式壓力傳感器及電容式加速度傳感器等。但應(yīng)用最為廣泛的是壓阻式壓力傳感器,它具有極低的價格和較高的精度以及較好的線性特性。在水箱的最底部安裝壓力傳感器,水位的不同,傳感器檢測到的壓力值就不同,采集到的模擬量信號經(jīng)過處理和計算,就能換算成水位的高低,經(jīng)過單片機顯示。</p><p>  3.3.2 ADC0832結(jié)構(gòu)及原理</p><p>  圖3-5adc0832芯片引腳圖<

44、;/p><p><b>  芯片各引腳說明:</b></p><p>  1) CS_ 片選使能,低電平芯片使能。</p><p>  2) CH0 模擬輸入通道0,或作為IN+/-使用。</p><p>  3) CH1 模擬輸入通道1,或作為IN+/-使用。</p><p>  4) GND 芯片

45、參考0 電位(地)。</p><p>  5) DI 數(shù)據(jù)信號輸入,選擇通道控制。</p><p>  6) DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。</p><p>  7) CLK 芯片時鐘輸入。</p><p>  8) Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。</p><p>  ADC0832 為8位分辨率

46、A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。</p><p>  單片機對ADC0832 的控制原理:</p

47、><p>  正常情況下ADC0832與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832沒有工作時其CS輸入端為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當(dāng)要進行A/D轉(zhuǎn)換時,須先將CS使能端為低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由

48、處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必為高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端輸入2 位數(shù)據(jù)用于選擇通道功能,當(dāng)此2 位數(shù)據(jù)為“1” 、“0”時,只對CH0 進行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1” 、“1”時,只對CH1進行單通道轉(zhuǎn)換。當(dāng)2 位數(shù)據(jù)為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進行輸入。當(dāng)2 位數(shù)

49、據(jù)為“0”、“1”時,將CH0作為負(fù)輸入端IN-,CH1 作為正輸入端IN+進行輸入。到第3個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI</p><p>  3.4 電磁開關(guān)(繼電器)電路及原理 </p><p>  要實現(xiàn)自動控制,就要有能自動閉合的開關(guān),這里用到的是電磁開關(guān)(繼電器),繼電器上有電流時,由于電磁感應(yīng)就會在鐵心上產(chǎn)生磁性,將開關(guān)彈片吸引,使外部電路導(dǎo)通。

50、為了在電磁繼電器上有穩(wěn)定的電流流過,前端就要有相應(yīng)的控制元器件,我選擇的是光電隔離器件,隔離掉了不穩(wěn)定的因素。使光電隔離前端的發(fā)光穩(wěn)定,信號的前端還需要驅(qū)動,提供穩(wěn)定的信號電流。只有發(fā)光部分的穩(wěn)定,后面的信號才能得到穩(wěn)定輸出??刂萍訜嵫b置和上水裝置的電路如圖3-6所示。</p><p>  控制電路工作原理:單片機根據(jù)處理的結(jié)果,從控制端口輸出低電平控制信號,通過正向驅(qū)動器,得到穩(wěn)定的信號,使得光電隔離前端的發(fā)光

51、二極發(fā)光,電路接通,后續(xù)電路工作,輸出電壓經(jīng)分壓,三極管導(dǎo)通,電磁繼電器工作,彈片向下吸引,開關(guān)閉合,后面的電路開始工作。</p><p>  圖3-6 電磁開關(guān)控制電路</p><p>  3.4.1 光電隔離器的原理</p><p>  光電隔離器(optical coupler,英文縮寫為OC)亦稱光耦合器,簡稱光耦。光耦合器以光為媒介傳輸電信號。它對輸入、輸

52、出電信號有良好的隔離作用,所以,它在各種電路中得到廣泛的應(yīng)用。目前它已成為種類最多、用途最廣的光電器件之一。光耦合器一般由三部分組成:光的發(fā)射、光的接收及信號放大。輸入的電信號驅(qū)動發(fā)光二極管(LED),使之發(fā)出一定波長的光,被光探測器接收而產(chǎn)生光電流,再經(jīng)過進一步放大后輸出。這就完成了電到光再到電的轉(zhuǎn)換,從而起到輸入、輸出、隔離的作用。</p><p>  在發(fā)光二極管上提供一個偏置電流,再把信號電壓通過電阻耦合

53、到發(fā)光二極管上,這樣光電晶體管接收到的是在偏置電流上增、減變化的光信號,其輸出電流將隨輸入的信號電壓作線性變化。光電耦合器也可工作于開關(guān)狀態(tài),傳輸脈沖信號。在傳輸脈沖信號時,輸入信號和輸出信號之間存在一定的延遲時間,不同結(jié)構(gòu)的光電耦合器輸入、輸出延遲時間相差很大。</p><p>  由于光耦合器輸入輸出間互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端是電流型工

54、作的低阻元件,因而具有很強的共模抑制能力。所以,它在長線傳輸信息中作為終端隔離元件可以大大提高信噪比。在計算機數(shù)字通信及實時控制中作為信號隔離的接口器件,可以大大增加計算機工作的可靠性。光耦合器的主要優(yōu)點是:信號單向傳輸,輸入端與輸出端完全實現(xiàn)了電氣隔離,輸出信號對輸入端無影響,抗干擾能力強,工作穩(wěn)定,無觸點,使用壽命長,傳輸效率高。</p><p>  電耦合器之所以在傳輸信號的同時能有效地抑制尖脈沖和各種干擾

55、,使通道上的信號穩(wěn)定性大為提高,主要有以下幾方面的原因:</p><p> ?。?)光電耦合器的輸入阻抗很小,只有幾百歐姆,而干擾源的阻抗較大,通常為105~106Ω。據(jù)分壓原理可知,即使干擾電壓的幅度較大,但饋送到光電耦合器輸入端的干擾電壓會很小,只能形成很微弱的電流,由于沒有足夠的能量而不能使二極體發(fā)光,從而被抑制掉了。</p><p> ?。?)光電耦合器的輸入回路與輸出回路之間沒有

56、電氣聯(lián)系,也沒有共地;之間的分布電容極小,而絕緣電阻又很大,因此回路一邊的各種干擾都很難通過光電耦合器饋送到另一邊去,避免了共阻抗耦合的干擾信號的產(chǎn)生。</p><p> ?。?)光電耦合器可起到很好的安全保障作用,即使當(dāng)外部設(shè)備出現(xiàn)故障,甚至輸入信號線短接時,也不會損壞儀表。因為光耦合器件的輸入回路和輸出回路之間可以承受幾千伏的高壓。</p><p>  3.4.2 電磁繼電器的原理&l

57、t;/p><p>  繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。</p><p>  電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。電磁繼電器的工作原理并不復(fù)雜,它主要是利用電磁感應(yīng)原理而工作的。當(dāng)線圈通以電流時

58、,線圈便產(chǎn)生磁場,線圈中間的鐵心被磁化產(chǎn)生磁力.從而使銜鐵在電磁吸力的作用下吸向鐵心,此時銜鐵帶動支桿將板簧推開,使兩個常閉的觸點斷開。當(dāng)斷開繼電器線圈的電流時,鐵心便失去磁性,銜鐵在板簧的作用下恢復(fù)初始狀態(tài),觸點則又閉合。</p><p>  觸點的形式一般分為三種:一種是繼電器線圈未通電時處于接通狀態(tài)的靜觸點,為常閉觸點。二種是處于斷開狀態(tài)的靜觸點,稱為常開觸點,還有一種是一個動觸點與一個靜觸點常閉,而同時與

59、一個靜觸點常開,形成一開一閉的轉(zhuǎn)換觸點形式。常閉觸點在線圈通電時由閉合狀態(tài)斷開,所以又稱為動斷觸點,而把常開觸點稱為動合觸點轉(zhuǎn)換觸點有兩種情況,即先合后斷的轉(zhuǎn)換觸點和先斷后合的轉(zhuǎn)換觸點[6]。</p><p>  先了解必要的條件:(1)控制電路的電源電壓,能提供的最大電流;(2)被控制電路中的電壓和電流;(3)被控電路需要幾組、什么形式的觸點。選用繼電器時,一般控制電路的電源電壓可作為選用的依據(jù)??刂齐娐窇?yīng)能給

60、繼電器提供足夠的工作電流,否則繼電器吸合是不穩(wěn)定的。</p><p>  3.4.3 上水控制的原理</p><p>  供水時,單片機控制電磁閥通電,水位不斷上升,滑竿在浮球的的帶動下沿套管上升,當(dāng)滑竿上升到頂位時,則使接觸開關(guān)斷電,讓電磁閥關(guān)閉水源。</p><p>  當(dāng)水位處于上限與下限之間時,此時單片機控制電磁閥通斷電,無論電磁閥是在通電供水,水位不斷上升

61、或者電磁閥沒有工作,水位不斷下降,都應(yīng)維持原有的狀態(tài)。</p><p>  當(dāng)水位處于下限位置時,水箱內(nèi)無水時,需要供水,滑竿落到箱底,滑竿在水箱外的一端與接觸開關(guān)接觸得電,使電磁閥導(dǎo)通進水。</p><p>  3.4.4 加熱控制的原理</p><p>  太陽能熱水器的吸熱時,太陽輻射透過真空管的外管,被集熱鍍膜吸收后沿內(nèi)管壁傳遞到管內(nèi)的水,管內(nèi)的水吸熱后溫度

62、升高,比重減小而上升,形成一個向上的動力,構(gòu)成一個集熱系統(tǒng)。隨著熱水的不斷上移并儲存在儲水箱上部,同時溫度較低的水沿管的另一側(cè)不斷補充如此循環(huán)往復(fù),最終整箱水都升高至一定的溫度。 集熱系統(tǒng)吸收太陽能輻射后,集熱管溫度上升,當(dāng)集熱器溫度和水箱溫度水溫達到設(shè)定值時,檢測系統(tǒng)發(fā)出指令,循環(huán)泵將中央熱水器中的冷水輸入集熱器中,水被加熱后再回到水箱中,使水箱內(nèi)的水達到設(shè)定的溫度。 </p><p>  3.5 單片機控制系

63、統(tǒng) </p><p>  單片機系統(tǒng)有基本的時鐘電路和復(fù)位電路,單片機的頻率一般為11.0592M,復(fù)位電路有手動和上電自動復(fù)位電路,RST復(fù)位信號復(fù)位端,當(dāng)此引腳保持兩個機器周期的高電平時,就可以完成復(fù)位操作。復(fù)位電路如圖:</p><p>  圖3-7手動復(fù)位電路 圖3-8自動復(fù)位電路</p><p>  單片

64、機的時鐘信號是由外部接的晶振產(chǎn)生,晶振的連接電路如圖:</p><p>  圖3-9單片機晶振電路</p><p>  單片機芯片上集成了各種功能部件:中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、定時/計數(shù)器、和各種輸入/輸出(I/O)接口等。它們之間相互連接,構(gòu)成一個完整的單片機。AT89C52單片機采用40引腳的雙列直插封裝(DIP方式),在單片機的40條引腳

65、中有2條專用于主電源的引腳,2條外接晶體振蕩的引腳,4條控制與其它電源復(fù)用的引腳,32條輸入/輸出(I/O)引腳[7]。</p><p>  AT89C52單片機是一種低功耗高性能的COMS8位微控制器,內(nèi)置8KB可在線編程閃存。該器件采用Atmel公司的高密度非易失性存儲技術(shù)生產(chǎn),其指令與工業(yè)標(biāo)準(zhǔn)的AT80C51指令集兼容。片內(nèi)程序存儲器允許重復(fù)在線編程,允許程序存儲器在系統(tǒng)內(nèi)通過SPI串行口改寫或通同用的非易

66、失性存儲器改寫。通過把通過的8位CPU與可在線下載的Flash集成在一個芯片上,AT89C52便成為一個高效的微型計算機。它的應(yīng)用范圍廣,可用于解決復(fù)雜的控制問題,且成本較低。AT89C52的主要特性有:兼容MCS51產(chǎn)品,8K字節(jié)可擦寫1000次的在線可編程ISP閃存,3級程序存儲加密,256字節(jié)內(nèi)部RAM,3個16位定時/計數(shù)器,8個中斷源,低功耗空閑方式和掉電方式,看門狗定時器,雙數(shù)據(jù)指針,靈活的在線編程。其芯片引腳如圖3-10所

67、示:</p><p>  圖3-10單片機芯片封裝引腳</p><p>  3.6 LED數(shù)碼管顯示電路</p><p>  7段LED數(shù)碼管是利用7個LED(發(fā)光二極管)外加一個小數(shù)點的LED組合而成的顯示設(shè)備,可以顯示0~9等10個數(shù)字和小數(shù)點,這類數(shù)碼管可以分為公陰極與共陽極兩種,共陽極就是把所有LED的陽極連接到共同的結(jié)點,而每個 LED的陰極分別為a,b,

68、c,d,e,f,g及dp(小數(shù)點);共陰極就是把所有LED的陽極連接到共同的結(jié)點,而每個 LED的陽極分別為a,b,c,d,e,f,g及dp(小數(shù)點),如圖 3-11所示:</p><p>  圖3-11數(shù)碼管原理電路</p><p>  根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)動:每個數(shù)碼管的每個段都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼的

69、二~十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多。動態(tài)顯示驅(qū)動:動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形。 </p><p

70、>  圖3-12單片機與數(shù)碼管連接電路</p><p>  3.7按鍵電路設(shè)計 </p><p>  這部分主要是運用按鍵實現(xiàn)太陽能熱水器的實時控制的一些觀測,由于沒有實際的太陽能熱水器用于實驗,采用此種方式可以觀察是否實現(xiàn)了預(yù)期的效果。通過按鍵按下判斷是手動/自動控制,加水/加熱控制,停止加水/加熱控制,高中低水位控制。按鍵是用來向系統(tǒng)提供操作人員命令的接口,所以準(zhǔn)確無誤地辨認(rèn)每個

71、鍵的動作以及其所處的狀態(tài),是系統(tǒng)能否正常工作的關(guān)鍵。多數(shù)按鍵多采用機械彈性開關(guān),一次高低電平的變化就是一次命令。但是按鍵的抖動是難以避免的,為了穩(wěn)定操作,我們要防止抖動的發(fā)生,就要消除抖動的影響,可以從硬件和軟件兩方面解決。</p><p>  硬件防抖電路:利用RC積分電路對干擾脈沖的吸收作用,選擇好電路的時間常數(shù),就能在按鍵抖動信號通過此濾波電路時,消除抖動影響。濾波防抖電路圖如圖2-12所示。當(dāng)K位按下時,

72、電容C兩端的電壓均為0,非門輸出為1。當(dāng)K按下時,由于C兩端電壓不可能產(chǎn)生突變。盡管在觸點接觸過程種可能出現(xiàn)抖動,只要適當(dāng)選取R1、R2和C的值,即可保證電容C兩端的充電電壓波動不超過非門的開啟電壓(TTL位0.8V),非門的輸出維持高電平。同理,當(dāng)觸點斷開時,由于電容C經(jīng)過電阻R放電,C兩端的放電電壓波動不會超過門的關(guān)閉電壓,因此,門的輸出也不會改變??傊?,只要R1、R2和C的時間常數(shù)選取得當(dāng),確保電容C有穩(wěn)態(tài)電壓充電到開啟電壓,或放

73、電到關(guān)閉電壓的延遲時間等于或大于10ms,該電路就能消除抖動影響。</p><p>  圖3-13單片機與數(shù)碼管連接電路</p><p>  軟件防抖方法:當(dāng)?shù)谝淮螜z測到有鍵按下時,先用軟件延時(10~20ms),而后再確認(rèn)該鍵電平是否仍維持閉合狀態(tài)電平。若保持閉合狀態(tài)電平,則確認(rèn)此鍵一按下,從而消除了抖動的影響。</p><p><b>  4 軟件設(shè)計

74、方案</b></p><p>  硬件電路是一切的基礎(chǔ),在其基礎(chǔ)上軟件設(shè)計是關(guān)鍵的部分,它是單片機工作的重點,就是讓各部分協(xié)調(diào)工作的命令,軟件程序的重要性是毋庸置疑的,是整個控制系統(tǒng)的命脈,根據(jù)各部分編寫相應(yīng)的驅(qū)動程序,才能使得相應(yīng)的芯片有其功能,所以程序設(shè)計是非常重要的。芯片的工作有著與自己對應(yīng)的時序圖,只有根據(jù)時序準(zhǔn)確的執(zhí)行命令才能達到想要的目的,實現(xiàn)芯片的功能。程序的設(shè)計還要有著一定的思路,根據(jù)

75、系統(tǒng)運行的過程要畫出相應(yīng)的程序流程圖,根據(jù)流程圖寫程序是非常方便的,也不容易產(chǎn)生錯誤,得到正確的程序。如圖4-1所示</p><p>  圖4-1 系統(tǒng)程序總流程圖</p><p>  4.1 DS18B20驅(qū)動程序設(shè)計</p><p>  DS18B20數(shù)字溫度計提供9位(二進制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,

76、因此從主機CPU到DS18B20僅需一條數(shù)據(jù)線和地線,電源可以有數(shù)據(jù)線本身提供而不需要外部電源。DS18B20的測量范圍從-55°C到+125°C。溫度傳感器的引腳如表4-1所示。</p><p>  表4-1 DS18B20管腳連接</p><p>  每一個DS18B20包括一個唯一的64位長的序號,該序號存放在DS18B20內(nèi)部的ROM中。開始8位是產(chǎn)品類型編碼(

77、DSl8B20編碼均為10H)接著的48位是每個器件唯一的序號最后8位是前面56位的CRC(循環(huán)冗余校驗)碼DSl820中還有用于貯存測得的溫度值的兩個8位存貯器RAM編號為0號和1號1號存貯器存放溫度值的符號如果溫度為負(fù),則1號存貯器8位全為1,否則全為00號存貯器用于存放溫度值的補碼LSB(最低位)的1表示0.5。DS18B20用9位存貯溫度值,最高位為符號位下表為DS18B20的溫度存儲方式負(fù)溫度S=1正溫度S=0。</p&

78、gt;<p>  表4-2 DS18B20溫度存儲</p><p>  4.2串行AD轉(zhuǎn)換器ADC0832程序設(shè)計</p><p>  由于微機只能處理數(shù)字化的信息,而在實際應(yīng)用中被控對象常常是連續(xù)變化的物理量,因此,微機用于控制系統(tǒng)是需要有能把模擬信號轉(zhuǎn)換成數(shù)字信號的接口,以便能對被控制對象進行處理和控制。A/D轉(zhuǎn)換器就是承擔(dān)這樣的任務(wù),A/D轉(zhuǎn)換就是把模擬量轉(zhuǎn)化成為二進制

79、的數(shù)字量,一般的A/D轉(zhuǎn)換過程是通過采樣、保持,量化,編碼4個步驟完成的,這些往往是合并運行的。</p><p>  輸入配置可在多路器尋址時序中進行。多路器地址可通過DI端移入轉(zhuǎn)換器。多路器地址選擇模擬輸入通道可決定輸入是單端輸入還是差分輸入。當(dāng)輸入是差分時,應(yīng)分配輸入通道的極性,并應(yīng)將差分輸入分配到相鄰的輸入通道對中。例如通道0和通道1可被選為一對差分輸入。另外,在選擇差分輸入方式時,極性也可以選擇。一對輸入

80、通道的兩個輸入端的任何一個都可以作為正極或負(fù)極。通常ADC0832在輸出以最高位(MSB)開頭的數(shù)據(jù)流后,會以最低位(LSB)開頭重輸出一遍(前面的數(shù)據(jù)流)。(因此,編程時要發(fā)兩輪脈沖,第一次取數(shù)據(jù),第二次若不要從低到高的數(shù)據(jù),也要發(fā)一輪8 個脈沖將ADC0832中寄存器的數(shù)據(jù)移出。其工作時序如下所示:</p><p>  圖4-2 ADC0832讀寫時序圖</p><p>  ADC08

81、32有8只引腳,CH0和CH1為模擬輸入端,CS為片選引腳,只有CS置0才能對ADC0832進行配置和啟動轉(zhuǎn)換。CLK為ADC0832的時鐘輸入端。CS在整個轉(zhuǎn)換過程中都必須為低,當(dāng)CS為低時,在數(shù)據(jù)輸入端DI(數(shù)據(jù)輸入端)加一個高電平(這個高電平是算在送到DI的一位之中,那么后面就只要再送兩位。這個高電平是作為起始標(biāo)志),接著在CLK上加一個時鐘,DI上的邏輯1就會使ADC0832的DI脫離高阻態(tài),然后通道配置數(shù)據(jù)伴隨著時鐘通過DI端

82、移入多路器,當(dāng)最后一位數(shù)據(jù)移入多路器時(數(shù)據(jù)是三位,前一位標(biāo)志輸入開始,后兩位是用來作通道設(shè)置和選擇),DI變?yōu)楦咦钁B(tài),在這以前DO(數(shù)據(jù)輸出端)都為高阻態(tài)(就是CS從高跳到低到現(xiàn)在)。在經(jīng)過一個時鐘(是指在最后一個數(shù)據(jù)從DI移入后,還要再經(jīng)過一個時鐘,當(dāng)最后一位數(shù)據(jù)移入DI,需要再加一個時鐘使DO脫離高阻態(tài)),DO脫離高阻狀態(tài)并啟動轉(zhuǎn)換。接著從處理器接收時鐘信號,每經(jīng)過一個時鐘,轉(zhuǎn)換后的數(shù)據(jù)就會從高位到低位逐次從DO移出,經(jīng)過8個時鐘

83、后,數(shù)據(jù)又以從低位到高位的形式從DO移出(也是每個時鐘移一位)。當(dāng)最后一位數(shù)據(jù)移出時轉(zhuǎn)換完成。當(dāng)CS從低變?yōu)楦?lt;/p><p>  表4-3 DS18B20通道選擇</p><p>  根據(jù)上述ADC0832的相關(guān)轉(zhuǎn)換時序,進行單片機和ADC0832的連接時,因為DI和DO并不是同時使用,所以DI和DO可以共用單片機的一條I/O線,再加上一條時鐘線和一條片選線就可以實現(xiàn)單片機和ADC083

84、2的連接,流程圖如圖4-3所示</p><p>  圖4-3 ADC0832工作流程圖</p><p>  4.3 按鍵控制程序設(shè)計</p><p>  按鍵是外部命令的體現(xiàn),一個按鍵從沒有按下到按下以及釋放是一個完整的過程,也就是說,當(dāng)我們按下一個按鍵時,總希望某個命令只執(zhí)行一次,而在按鍵按下的過程中,不要有干擾進來,因為,在按下的過程中,一旦有干擾過來,可能造成

85、誤觸發(fā)過程,這并不是我們所想要的。因此在按鍵按下的時候,要把我們手上的干擾信號以及按鍵的機械接觸等干擾信號濾除掉,一般情況下,我們可以采用電容來濾除掉這些干擾信號,但實際上,會增加硬件成本及硬件電路的體積,這是我們不希望,總得有個辦法解決這個問題,因此我們可以采用軟件濾波的方法去除這些干擾信號,一般情況下,一個按鍵按下的時候,總是在按下的時刻存在著一定的干擾信號,按下之后就基本上進入了穩(wěn)定的狀態(tài)。具體的一個按鍵從按下到釋放的全過程的信號

86、圖如下圖所示:</p><p>  圖4-4按鍵理想波形圖 圖4-5 按鍵實際的波形</p><p>  從圖中可以看出,由于按鍵的機械特性,當(dāng)按鍵閉合時,并不能馬上保存良好的接觸,而是來回彈跳。這個時間很短,我們的手根本感覺不出來。但是對于一秒鐘執(zhí)行百萬條指令的單片機而言,這個時間是相當(dāng)?shù)拈L了。那么在這段抖動的時間內(nèi),單片機可能讀到多次高低電平的變化。

87、如果不加任何處理的話,就會認(rèn)為已經(jīng)按下,或者松開很多次了。而事實上,我們的手一直按在按鍵上,并沒有重復(fù)按動很多次。要想能夠正確的判斷按鍵是否按下就要避開這段抖動的時間。我們在程序設(shè)計時,從按鍵被識別按下之后,延時10ms以上,從而避開了干擾信號區(qū)域,我們再來檢測一次,看按鍵是否真得已經(jīng)按下,若真得已經(jīng)按下,這時肯定輸出為低電平,若這時檢測到的是高電平,證明剛才是由于干擾信號引起的誤觸發(fā),CPU就認(rèn)為是誤觸發(fā)信號而舍棄這次的按鍵識別過程。

88、從而提高了系統(tǒng)的可靠性。由于要求每按下一次,命令被執(zhí)行一次,直到下一次再按下的時候,再執(zhí)行一次命令,因此從按鍵被識別出來之后,我們就可以執(zhí)行這次的命令,所以要有一個等待按鍵釋放的過程,顯然釋放的過程,就是使其恢復(fù)成高電平狀態(tài)。程序設(shè)計過程中按鍵識別過程的框圖如下圖所示:</p><p>  圖4-6 按鍵檢測框圖</p><p>  4.4 LED數(shù)碼管顯示程序設(shè)計</p>

89、<p>  將所得到的結(jié)果用LED數(shù)碼管顯示出來,給人直觀的了解當(dāng)前系統(tǒng)的狀態(tài),數(shù)碼管要顯示當(dāng)前系統(tǒng)的值,就要有一定的端口往數(shù)碼管送入數(shù)據(jù),還要有點亮數(shù)碼管的信號為,我們要將0~9這十個數(shù)字的碼字定義成一個數(shù)組,通過檢驗輸出的數(shù)據(jù)查斷碼表,就能顯示相應(yīng)的數(shù)字。</p><p>  表4-4 7段LED的字型碼</p><p>  由于在硬件電路中,是將P0口和數(shù)碼管的段碼位相連,

90、位選信號P2口與數(shù)碼管亮滅有關(guān),掌握著是哪個數(shù)碼管亮,接下來程序就要定義相關(guān)端口:</p><p> ?。?)定義字位和字型口</p><p>  #define sled_dm_port P0 /*定義數(shù)碼管段碼的控制腳*/</p><p>  #define sled_wm_port P2 /*定義數(shù)碼管位碼的控制腳*/</p>

91、<p> ?。?)定義字型編碼表(數(shù)字0~9)</p><p>  uchar code du_char[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};</p><p> ?。?)顯示:得到字型和字位口的地址后,向不同的字位送數(shù)據(jù),進行顯示。</p><p>  (4)動態(tài)掃描:由于使用動態(tài)顯

92、示法,在LED顯示程序中,需要不停地進行掃描字位口,從而實現(xiàn)不同字位的數(shù)據(jù)的動態(tài)掃描結(jié)果。</p><p>  圖4-7 LED顯示程序流程圖</p><p>  5 硬件電路仿真結(jié)果</p><p><b>  5.1 溫度仿真</b></p><p>  通過硬件電路和軟件的結(jié)合,測試程序的正確性,需要仿真溫度的顯示

93、和可控制加熱方面是否達到要求,需要通過proteus軟件做以下仿真:</p><p>  5.1.1 溫度顯示仿真</p><p>  仿真結(jié)果表明,顯示的溫度和數(shù)字溫度傳感器DS18B20上顯示的數(shù)據(jù)相同,表明程序?qū)囟葌鞲衅鱀S18B20中的溫度數(shù)據(jù)正確的讀出,達到了讀取溫度和顯示溫度的目的。</p><p>  圖5-1 溫度顯示仿真圖</p>

94、<p>  5.1.2 溫度控制仿真</p><p>  溫度控制就是當(dāng)溫度低于某個溫度值是閉合開關(guān),而閉合開關(guān)一陣時間后溫度達到合適溫度后開關(guān)就會自動斷開,停止加熱。設(shè)定溫度值為40度,以下是溫度控制的仿真結(jié)果:溫度沒有低于設(shè)定溫度時開關(guān)在右側(cè),當(dāng)溫度低于設(shè)定值時開關(guān)就會向左邊閉合,啟動加熱。</p><p>  圖5-2 溫度高于設(shè)定溫度</p><p&g

95、t;  圖5-3 溫度低于設(shè)定溫度</p><p><b>  5.2 水位仿真</b></p><p>  水位控制就是實現(xiàn)自動上水,保持水箱中一直有水,自動上水功能的實現(xiàn)就要設(shè)定控制水位的上限和下限,當(dāng)水位低于下限時開關(guān)閉合開始上水,當(dāng)水位高于設(shè)定上限時開關(guān)斷開,達到自動控制水位的功能。</p><p>  5.2.1 水位顯示仿真<

96、/p><p>  水位顯示是將傳感器檢測到的0~5V模擬信號經(jīng)過ADC0832轉(zhuǎn)換成為8為二進制數(shù)(0~255),經(jīng)過計算讓水位顯示在0~100之間,通過單片機的處理讓數(shù)據(jù)顯示在LED數(shù)碼管上。</p><p>  圖5-4 當(dāng)前水位顯示</p><p>  5.2.2 水位控制仿真</p><p>  當(dāng)水位低于20%時,開關(guān)就會閉合,合向左邊

97、啟動電機上水。而當(dāng)水位高于90%時,開關(guān)就會斷開,合向右邊關(guān)閉電機上水??刂品抡娼Y(jié)果如下圖所示:</p><p>  圖5-5 當(dāng)前水位低于設(shè)定水位</p><p>  圖5-6 當(dāng)前水位高于設(shè)定水位</p><p>  5.3 仿真結(jié)果分析</p><p>  根據(jù)仿真結(jié)構(gòu)來看,硬件和軟件都基本達到了設(shè)計要求,實現(xiàn)了通過數(shù)字溫度傳感器檢測當(dāng)

98、前水的溫度,通過單片機的處理在LED數(shù)碼管上顯示當(dāng)前的溫度值。水壓傳感器輸出的是0~5V的模擬量,經(jīng)過A/D轉(zhuǎn)換成為數(shù)字量送入單片機進行處理,在LED數(shù)碼管上顯示水位值。通過比較設(shè)定的溫度和當(dāng)前溫度,當(dāng)前溫度小于設(shè)定值時就會閉合電磁開關(guān),開啟加熱裝置。自動上水方面是設(shè)置水位的上下限,水位小于下限時就會閉合電磁開關(guān),就會開始上水,水位到達上線時就會自動斷開電磁開關(guān),停止上水。</p><p><b>  

99、致 謝</b></p><p>  通過幾個月的親手實踐,查閱資料,我所做的畢業(yè)設(shè)計任務(wù)順利完成。在此過程中,我學(xué)到了做任何事情自己都要認(rèn)真對待,不能馬虎,要有始有終。在自己有困難的時候請求老師和同學(xué)的幫助,在老師和同學(xué)的幫助下,自己克服了畢業(yè)設(shè)計中遇到的一些困難。通過這次畢業(yè)實際人認(rèn)清了自己,但是沒有老師和同學(xué)的幫助,我想我也難以完成這次的畢業(yè)設(shè)計任務(wù),因此我要感謝那些在我困難時對我知識和精神上幫助

100、的朋友、老師和同學(xué)們,我的生活因你們而精彩和充實。</p><p>  首先,老師以淵博的知識教誨我、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度督促我、踏實的專研精神感染我,使我學(xué)習(xí)到更多的專業(yè)知識和懂得更多的人生道理,這些都將會在以后的學(xué)習(xí)工作中讓我受益匪淺。老師的幫助是最重要的,老師經(jīng)常提醒我要好好做,不會就去找他,他那種認(rèn)真讓我感到傾佩,非常感謝老師的諄諄教誨,愿老師工作順利、事業(yè)更上一層樓。</p><p>

101、  其次,在此過程中,同窗好友相互支持、相互撫慰、情同手足,我的舍友也給了我很大的支持,我在碰到問題解決不了時,就覺得煩躁,他們就過來幫我解決問題,有時一個問題要花好長時間來解決,他們都一直認(rèn)真的幫助我,使我非常感激有這么一些好舍友。</p><p>  最后,衷心感謝所有老師對我的栽培、支持和鼓勵,感謝所有朋友的關(guān)心和幫助。向在百忙中抽出時間來幫助我,沒有他們的幫助和支持,完成畢業(yè)設(shè)計任務(wù)就是一個很大的難題,就

102、不能這么順利完成。</p><p><b>  參 考 文 獻</b></p><p> ?。?]藺金元,車進.單片機智能控制在太陽能熱水器中的應(yīng)用[J].河西學(xué)院學(xué)報第25卷第2期.2009:21-23.</p><p> ?。?]楊新華,郝曉弘,邵輝.基于89C51智能型太陽熱水器的控制系統(tǒng)[J].甘肅科學(xué)學(xué)報.2001(9):88-91.

103、</p><p> ?。?]王長胤.單片機原理及應(yīng)用[M].武漢:武漢大學(xué)出版社.1993:64-120.</p><p> ?。?]王俊杰.基于89C51單片機的太陽能熱水器智能控制器的設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報( 自然科學(xué)版) 第20卷第3期.2005:67-68.</p><p> ?。?]何立民.單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)[M].北京:北京航空

104、航天大學(xué)出版社.2001:34-42.</p><p> ?。?]張振榮,晉明武,王毅平.MCS- 51單片機原理及實用技術(shù)[M].北京:人民郵電出版社. 2000:64-120.</p><p>  [7]郭惠,吳迅.單片機C語言程序設(shè)計[M].北京:電子工業(yè)出版社.2008:235-240.</p><p>  [8]陸子明.單片機設(shè)計與應(yīng)用基礎(chǔ)教程[M].北京

105、:國防工業(yè)出版社.2005:206-210.</p><p> ?。?]劉杰英.水位監(jiān)測系統(tǒng)設(shè)計[J].信息技術(shù)2008年第5期.2008:141-142.</p><p> ?。?0]張景文,王震宏.基于單片機的太陽能熱水器智能控制系統(tǒng)[J]. 西華大學(xué)學(xué)報( 自然科學(xué)版) 第27卷第5期.2008.25-28.</p><p> ?。?1]殷為民.太陽能水溫水位

106、儀[J] .家用電子. 1999 : 372-381.</p><p> ?。?2]徐龍坤. 輔助加熱式太陽能熱水器[J] .家用電器. 1997: 9-10.</p><p> ?。?3]鄒燦,紅李斌. 太陽能熱水器智能控制系統(tǒng)[J].電子科學(xué).42-43.</p><p> ?。?4]齊劍玲,曾玉紅. 智能水位控制系統(tǒng)[J]. 海淀走讀大學(xué)學(xué)報2003年第一期.

107、</p><p>  2003:87-91.</p><p> ?。?5]張學(xué)峰.基于單片機控制的太陽能熱水器全自動電路[J]. 現(xiàn)代電子技術(shù)2005年第4期總第195 期.2005:5-7.</p><p><b>  附錄</b></p><p>  附錄Ⅰ 系統(tǒng)總原理圖</p><p>  

溫馨提示

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

評論

0/150

提交評論