![基于單片機(jī)的太陽能熱水器控制器(共52頁)_第1頁](http://file4.renrendoc.com/view/288aa514669a5b28b5a22810b297d97d/288aa514669a5b28b5a22810b297d97d1.gif)
![基于單片機(jī)的太陽能熱水器控制器(共52頁)_第2頁](http://file4.renrendoc.com/view/288aa514669a5b28b5a22810b297d97d/288aa514669a5b28b5a22810b297d97d2.gif)
![基于單片機(jī)的太陽能熱水器控制器(共52頁)_第3頁](http://file4.renrendoc.com/view/288aa514669a5b28b5a22810b297d97d/288aa514669a5b28b5a22810b297d97d3.gif)
![基于單片機(jī)的太陽能熱水器控制器(共52頁)_第4頁](http://file4.renrendoc.com/view/288aa514669a5b28b5a22810b297d97d/288aa514669a5b28b5a22810b297d97d4.gif)
![基于單片機(jī)的太陽能熱水器控制器(共52頁)_第5頁](http://file4.renrendoc.com/view/288aa514669a5b28b5a22810b297d97d/288aa514669a5b28b5a22810b297d97d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE 1 分類號(hào): 編號(hào)(bin ho):煙 臺(tái) 大 學(xué)畢 業(yè) 論 文(設(shè) 計(jì))太陽能熱水器控制器設(shè)計(jì)(shj)The design of controller for solar water heater申請(qǐng)(shnqng)學(xué)位: 工學(xué)學(xué)士 院 系: 光電信息科學(xué)技術(shù)學(xué)院 專 業(yè): 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 年 05 月 日煙臺(tái)大學(xué)太陽能熱水器控制器設(shè)計(jì)(shj) 姓 名: 導(dǎo) 師: 年05月 日煙臺(tái)大學(xué)(dxu)煙臺(tái)大學(xué)(dxu)畢業(yè)論文(設(shè)計(jì))任務(wù)書院(系):光電信息(xnx)科學(xué)技術(shù)學(xué)院姓名學(xué)號(hào)畢業(yè)屆別專業(yè)畢業(yè)論文(設(shè)計(jì))題目太陽能熱水器控制器設(shè)計(jì)指導(dǎo)教師學(xué)歷博士職稱所學(xué)專
2、業(yè)通信與信息系統(tǒng)主要內(nèi)容: 本文論述了基于C51單片機(jī)的太陽能熱水器控制器的實(shí)現(xiàn)。用C51單片機(jī)設(shè)計(jì)一種太陽能熱水器控制器,實(shí)現(xiàn)水溫、水位及時(shí)間的實(shí)時(shí)顯示以及水溫、水位的自動(dòng)控制等功能,另外還需要實(shí)現(xiàn)時(shí)間和水溫設(shè)定的功能?;疽? 著重培養(yǎng)學(xué)生綜合利用所學(xué)知識(shí)解決實(shí)際問題的能力以及查閱書籍資料、調(diào)查收集各種有用信息的能力。要求能夠比較熟練掌握C51單片機(jī)、DS18B20溫度測(cè)量芯片以及其他測(cè)量和顯示元件的使用。另外,有利于培養(yǎng)學(xué)生的英文閱讀、計(jì)算機(jī)操作和動(dòng)手能力,撰寫畢業(yè)設(shè)計(jì)論文的能力。主要參考文獻(xiàn):余錫存,曹國華. 單片機(jī)原理及接口技術(shù)(第二版)M.西安:西安電子科技大學(xué)出版社,2007趙
3、建領(lǐng),薛園園等. 51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解M北京:電子工業(yè)出版社,2009.進(jìn)度安排:第一階段:13周向?qū)熣?qǐng)教確定課題并查詢資料。第二階段:49周在導(dǎo)師的指導(dǎo)下確定設(shè)計(jì)方案和實(shí)現(xiàn)方法。第三階段:1013周根據(jù)方案完成軟件仿真和實(shí)物焊接,并撰寫畢業(yè)論文。第四階段:14周定稿,打印論文并參加答辯。指導(dǎo)教師(簽字): 年 月 日院(系)意見: 教學(xué)院長(zhǎng)(主任)(簽字): 年 月 日備注:摘要(zhiyo) 該太陽能熱水器控制器是基于C51單片機(jī)設(shè)計(jì)(shj)和實(shí)施的,它以AT89C51單片機(jī)作為檢測(cè)和控制中心,由主控芯片模塊、DS18B20 溫度檢測(cè)及顯示模塊、水位檢測(cè)及顯示模塊、時(shí)鐘模塊、報(bào)
4、警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水溫,通過水位檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水位,通過時(shí)鐘模塊實(shí)時(shí)顯示時(shí)鐘并在設(shè)定的時(shí)間給主控芯片特定的信號(hào),通過電磁閥控制模塊實(shí)現(xiàn)熱水器的自動(dòng)及手動(dòng)上水,通過輔助加熱模塊實(shí)現(xiàn)太陽能熱水器自動(dòng)及手動(dòng)加熱,當(dāng)水位過低且水溫過高時(shí)通過報(bào)警模塊報(bào)警,而主控芯片則負(fù)責(zé)協(xié)調(diào)其他各模塊的工作。關(guān)鍵詞 太陽能熱水器控制器;AT89C51單片機(jī);DS18B20 Abstract The designing of this solar water heater controller is based on C51
5、single-chip microcomputer, The AT89C51 MCU is used as its detection and control center, It consists of a main control chip module, DS18B20 temperature detection and display module, the water level detection and display module, clock module, alarm module and the electromagnetic valve control module,
6、auxiliary heating module and etc. It is through the DS18B20 temperature detection and display module Detect and display the water temperature in time. It is through the water level detection and display module Detect and display the water level in time. It is through the clock module display time an
7、d at the given time, it will give the main control chip module a specific signal. It is through the electromagnetic valve control module to realize the automatic and manual water heater. It is through the auxiliary heating module to heat water automatically and manually. when the water level is too
8、low and the temperature is too high the alarm module will give an alarm, the responsibility of the main control chip is to Coordinate the work of other modules. Key words The Solar water heater controller ; AT89C51 MCU ; DS18B20PAGE PAGE 3目 錄 TOC o 1-3 h z u HYPERLINK l _Toc389125447 1 緒論(xln) PAGER
9、EF _Toc389125447 h 1 HYPERLINK l _Toc389125448 1.1 太陽能熱水器應(yīng)用(yngyng)的意義 PAGEREF _Toc389125448 h 1 HYPERLINK l _Toc389125449 1.2 我國太陽能發(fā)展(fzhn)現(xiàn)狀 PAGEREF _Toc389125449 h 1 HYPERLINK l _Toc389125450 2 系統(tǒng)設(shè)計(jì)及仿真軟件 PAGEREF _Toc389125450 h 2 HYPERLINK l _Toc389125451 2.1 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc389125451 h 2 H
10、YPERLINK l _Toc389125452 2.2 設(shè)計(jì)功能要求 PAGEREF _Toc389125452 h 2 HYPERLINK l _Toc389125453 2.3 設(shè)計(jì)思路 PAGEREF _Toc389125453 h 2 HYPERLINK l _Toc389125454 2.4 仿真軟件(proteus)簡(jiǎn)介 PAGEREF _Toc389125454 h 3 HYPERLINK l _Toc389125455 3 AT89C51簡(jiǎn)介 PAGEREF _Toc389125455 h 4 HYPERLINK l _Toc389125456 3.1 主要特性 PAGERE
11、F _Toc389125456 h 4 HYPERLINK l _Toc389125457 3.2 中斷向量 PAGEREF _Toc389125457 h 4 HYPERLINK l _Toc389125458 3.3 管腳說明 PAGEREF _Toc389125458 h 4 HYPERLINK l _Toc389125459 3.4 內(nèi)部結(jié)構(gòu) PAGEREF _Toc389125459 h 6 HYPERLINK l _Toc389125460 4 控制器各模塊電路設(shè)計(jì) PAGEREF _Toc389125460 h 7 HYPERLINK l _Toc389125461 4.1 主控
12、芯片模塊 PAGEREF _Toc389125461 h 7 HYPERLINK l _Toc389125462 4.1.1 時(shí)鐘電路 PAGEREF _Toc389125462 h 7 HYPERLINK l _Toc389125463 4.1.2 復(fù)位電路 PAGEREF _Toc389125463 h 8 HYPERLINK l _Toc389125464 4.1.3 單片機(jī)管腳分配 PAGEREF _Toc389125464 h 9 HYPERLINK l _Toc389125465 4.2 DS18B20 溫度檢測(cè)及顯示模塊 PAGEREF _Toc389125465 h 9 HYP
13、ERLINK l _Toc389125466 4.2.1 DS18B20芯片簡(jiǎn)介 PAGEREF _Toc389125466 h 10 HYPERLINK l _Toc389125467 4.2.2 74LS245簡(jiǎn)介 PAGEREF _Toc389125467 h 12 HYPERLINK l _Toc389125468 4.2.3 LED數(shù)碼管顯示 PAGEREF _Toc389125468 h 13 HYPERLINK l _Toc389125469 4.3 水位測(cè)量及顯示模塊 PAGEREF _Toc389125469 h 14 HYPERLINK l _Toc389125470 4.
14、4 報(bào)警模塊 PAGEREF _Toc389125470 h 15 HYPERLINK l _Toc389125471 4.5 輔助加熱模塊 PAGEREF _Toc389125471 h 16 HYPERLINK l _Toc389125472 4.5.1 繼電器工作原理 PAGEREF _Toc389125472 h 16 HYPERLINK l _Toc389125473 4.5.2 輔助加熱模塊工作原理 PAGEREF _Toc389125473 h 17 HYPERLINK l _Toc389125474 4.6 電磁閥控制模塊 PAGEREF _Toc389125474 h 17
15、HYPERLINK l _Toc389125475 4.6.1 電磁閥工作原理 PAGEREF _Toc389125475 h 18 HYPERLINK l _Toc389125476 4.6.2 電磁閥控制模塊工作原理 PAGEREF _Toc389125476 h 18 HYPERLINK l _Toc389125477 4.7 時(shí)鐘模塊 PAGEREF _Toc389125477 h 18 HYPERLINK l _Toc389125478 4.7.1 電子表發(fā)聲原理及控制器定時(shí)工作原理 PAGEREF _Toc389125478 h 19 HYPERLINK l _Toc3891254
16、79 5 控制器軟件程序設(shè)計(jì) PAGEREF _Toc389125479 h 20 HYPERLINK l _Toc389125480 5.1 軟件設(shè)計(jì)分析 PAGEREF _Toc389125480 h 20 HYPERLINK l _Toc389125481 5.2 主程序模塊 PAGEREF _Toc389125481 h 20 HYPERLINK l _Toc389125482 5.3 子程序模塊 PAGEREF _Toc389125482 h 21 HYPERLINK l _Toc389125483 5.3.1 DS18B20溫度檢測(cè)子程序設(shè)計(jì) PAGEREF _Toc3891254
17、83 h 21 HYPERLINK l _Toc389125484 5.3.2 DS18B20溫度轉(zhuǎn)化及顯示子程序 PAGEREF _Toc389125484 h 22 HYPERLINK l _Toc389125485 5.3.3 加熱子程序設(shè)計(jì) PAGEREF _Toc389125485 h 23 HYPERLINK l _Toc389125486 5.3.4 上水子程序設(shè)計(jì) PAGEREF _Toc389125486 h 24 HYPERLINK l _Toc389125487 5.4 中斷子程序設(shè)計(jì) PAGEREF _Toc389125487 h 25 HYPERLINK l _Toc
18、389125488 5.4.1 外部中斷0(設(shè)定溫度+)子程序設(shè)計(jì) PAGEREF _Toc389125488 h 25 HYPERLINK l _Toc389125489 5.4.2 外部(wib)中斷1(設(shè)定(sh dn)溫度-)子程序設(shè)計(jì)(chn x sh j) PAGEREF _Toc389125489 h 26 HYPERLINK l _Toc389125490 6 調(diào)試與總結(jié) PAGEREF _Toc389125490 h 27 HYPERLINK l _Toc389125491 6.1 調(diào)試方法 PAGEREF _Toc389125491 h 27 HYPERLINK l _To
19、c389125492 6.2 遇到的問題及解決辦法 PAGEREF _Toc389125492 h 27 HYPERLINK l _Toc389125493 6.3 總結(jié) PAGEREF _Toc389125493 h 28 HYPERLINK l _Toc389125494 致謝 PAGEREF _Toc389125494 h 29 HYPERLINK l _Toc389125495 參考文獻(xiàn) PAGEREF _Toc389125495 h 30 HYPERLINK l _Toc389125496 附錄 PAGEREF _Toc389125496 h 31煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì))1 緒論(x
20、ln)1.1 太陽能熱水器應(yīng)用(yngyng)的意義邁入21世紀(jì)以來,隨著經(jīng)濟(jì)的急速發(fā)展,對(duì)自然資源的需求缺口越來越大,人口基數(shù)過大使得將在很長(zhǎng)一段時(shí)間保持人口數(shù)量的增長(zhǎng),而經(jīng)濟(jì)的高發(fā)展速度也將持續(xù)對(duì)資源的供應(yīng)提出考驗(yàn)。顯而易見的,資源儲(chǔ)量并不是無限的,若要保證經(jīng)濟(jì)的可持續(xù)發(fā)展,僅僅靠節(jié)約能源或是限制開采數(shù)量,并不是一個(gè)長(zhǎng)久(chngji)的解決辦法,只有開發(fā)新的能源,才能從根本上解決發(fā)展與資源之間的矛盾。所以在今后,新能源必定將會(huì)有很大的發(fā)展空間,太陽能、風(fēng)能、潮汐能,這些清潔能源是未來大規(guī)模利用的新趨勢(shì)。1在各類能源中,太陽能以其清潔、無害、長(zhǎng)久和普遍等特點(diǎn),有極高的發(fā)展?jié)摿?,可以說是取之
21、不盡用之不竭。雖然離太陽能的廣泛利用還有很長(zhǎng)的路要走,但是現(xiàn)在已經(jīng)在不少地方開始使用,如常見的太陽能發(fā)電系統(tǒng),太陽能熱水系統(tǒng),太陽能路燈、交通燈等等。我國目前太陽能產(chǎn)業(yè)規(guī)模已躍至世界第一,隨著技術(shù)的日益成熟,太陽能相關(guān)的成熟產(chǎn)品造價(jià)也將隨之降低,將更加廣泛地在人們生產(chǎn)生活中普及,這同時(shí)也是解決越來越嚴(yán)重環(huán)境污染的一個(gè)極佳的解決方案。在我們的生活中,最為我們所熟知的太陽能利用系統(tǒng)便是太陽能熱水器,太陽能熱水器同傳統(tǒng)的熱水器相比有著許多顯著的特點(diǎn)。不僅節(jié)能環(huán)保,而且使用也非常方便。以其低廉的價(jià)格深受各層次消費(fèi)者的青睞。隨著太陽能熱水器的大面積使用,太陽能的優(yōu)勢(shì)特點(diǎn)已廣泛為人們所熟知,這也對(duì)以后的相
22、關(guān)產(chǎn)品的生產(chǎn)推廣起到了很好的宣傳效應(yīng)。大力開發(fā)和利用豐富的太陽能資源,對(duì)于我國的經(jīng)濟(jì)、社會(huì)可持續(xù)發(fā)展具有重大深遠(yuǎn)意義。21.2 我國太陽能發(fā)展現(xiàn)狀我國太陽能熱水產(chǎn)業(yè)的發(fā)展特點(diǎn)可以用“起步晚,發(fā)展快”來形容,雖然國內(nèi)與于上世紀(jì)80年代才開始研究推廣,但是歷經(jīng)多年的飛速發(fā)展,我國的太陽能產(chǎn)業(yè)已經(jīng)占據(jù)了世界首位,其中熱水器的產(chǎn)量占世界百分之五十以上,同時(shí),中國國產(chǎn)太陽能產(chǎn)品在世界同類產(chǎn)品中也占據(jù)著很大的市場(chǎng)份額,并且市場(chǎng)占有率還在不斷增長(zhǎng)。3盡管有著如此迅猛的發(fā)展勢(shì)頭,但是需要指出的是,目前國內(nèi)的能與太陽能熱水器相配置的控制器的功能卻并不完善,在市面上很多同類的太陽能熱水器產(chǎn)品,控制系統(tǒng)簡(jiǎn)單,功能不
23、全,大多數(shù)只具有設(shè)定水溫,顯示水溫這兩個(gè)功能,較為智能化的產(chǎn)品還尚未推廣應(yīng)用,有些功能還處于研發(fā)階段。因此設(shè)計(jì)出一款具有溫度控制功能和水位控制功能的產(chǎn)品,將很具有實(shí)際意義。這樣的控制器,將能夠解決天氣原因?qū)е碌墓饩€不足問題導(dǎo)致熱水器水溫過低的問題,并且因?yàn)橛辛怂豢刂乒δ埽涂梢越鉀Q當(dāng)水位達(dá)到一定高度時(shí)不能自動(dòng)開始或停止供水等等問題。2 系統(tǒng)設(shè)計(jì)(shj)及仿真軟件2.1 系統(tǒng)(xtng)的總體結(jié)構(gòu)設(shè)計(jì)系統(tǒng)(xtng)總體結(jié)構(gòu)設(shè)計(jì)如圖2.1,該系統(tǒng)包括保溫箱、排氣管、集熱管、溢流管、上下水管、調(diào)節(jié)閥等。圖2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)2.2 設(shè)計(jì)功能要求該太陽能熱水器的控制器不但需要具有水位、水溫及
24、時(shí)間的實(shí)時(shí)顯示功能,而且需要具有水位、水溫的自動(dòng)控制功能,必要時(shí),還需要能夠?qū)崿F(xiàn)對(duì)時(shí)間和水溫進(jìn)行設(shè)定等功能。當(dāng)蓄水箱水位低于40%時(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í),用戶可以通過按鍵操作手動(dòng)上水、停水;當(dāng)設(shè)定時(shí)間到且水溫低于規(guī)定值時(shí),能夠?qū)崿F(xiàn)自動(dòng)加熱。必要時(shí)還可以對(duì)太陽能熱水器進(jìn)行手動(dòng)加熱和上水,禁止高溫空曬后進(jìn)水以及淋浴時(shí)禁止上水等功能。2.3 設(shè)計(jì)(shj)思路該太陽能熱水器控制器是基于C51單片機(jī)設(shè)計(jì)和實(shí)施的,它以AT89C51單片機(jī)作為檢測(cè)和控制中心,由主控芯片模塊、DS18
25、B20 溫度(wnd)檢測(cè)及顯示模塊、水位檢測(cè)及顯示模塊、時(shí)鐘模塊、報(bào)警模塊和電磁閥控制模塊、輔助加熱模塊等模塊組成。它通過DS18B20溫度檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水溫,通過水位檢測(cè)及顯示模塊實(shí)時(shí)檢測(cè)和顯示水位,通過時(shí)鐘模塊實(shí)時(shí)顯示時(shí)鐘并在設(shè)定的時(shí)間給主控芯片特定的信號(hào),通過電磁閥控制模塊實(shí)現(xiàn)熱水器的自動(dòng)及手動(dòng)上水,通過輔助加熱模塊實(shí)現(xiàn)太陽能熱水器自動(dòng)及手動(dòng)加熱,當(dāng)水位過低且水溫過高時(shí)通過報(bào)警模塊報(bào)警,而主控芯片則負(fù)責(zé)協(xié)調(diào)其他各模塊的工作。2.4 仿真軟件(run jin)(proteus)簡(jiǎn)介Proteus可以仿真單片機(jī),兼具EDA軟件的仿真功能,還能一部分外圍器件,是當(dāng)前使用最廣,用
26、戶評(píng)價(jià)最好的仿真工具。可以從原理圖設(shè)計(jì),程序編寫調(diào)試,再到與外圍電路同步仿真,提供與PCB板設(shè)計(jì)的簡(jiǎn)單切換,可以由最初的模擬概型一直到產(chǎn)品的模擬仿真。該軟件也是第一款融合電路原理圖設(shè)計(jì),PCB板設(shè)計(jì),產(chǎn)品生產(chǎn)前的仿真三者結(jié)合的開發(fā)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430,Cortex,DSP等系列處理器,截止到現(xiàn)在,依然在不斷增加其它系列處理器模型。程序編譯支持Keil和MPLAB軟件編譯器。4Proteus軟件具有其它EDA工具軟件的功能:1原理布圖2PCB自動(dòng)或人工布線3SPICE電路仿真革命
27、性的特點(diǎn)Proteus的工作過程:在開始菜單中選擇proteus文件夾,單擊文件夾中的ISIS圖標(biāo)進(jìn)入proteus仿真軟件的主界面。在工作之前,先要設(shè)置捕捉對(duì)齊、顏色、圖形界面大小等項(xiàng)目。工作時(shí),先要單擊工具欄中的P按鈕進(jìn)入元件選擇對(duì)話框(pick devices),在對(duì)話框keyword中輸入所需元件的關(guān)鍵字(比如當(dāng)需要電阻時(shí)輸入“res”),在results一欄中雙擊選出所需要的元器件(注意當(dāng)選中元器件時(shí)在pick devices對(duì)話框中右側(cè)兩欄中會(huì)出現(xiàn)該元器件在仿真電路圖和PCB板上的預(yù)覽圖,根據(jù)此預(yù)覽圖進(jìn)行選擇),選中的元件會(huì)自動(dòng)出現(xiàn)在工作界面P按鈕下面。然后需要進(jìn)行仿真電路圖的繪制
28、(具體做法為:在P按鈕下面單擊所需要的元器件即選中此元器件,根據(jù)實(shí)驗(yàn)原理圖把選中的元器件放在工作界面的適當(dāng)位置,雙擊工作界面中的元器件,在出現(xiàn)的對(duì)話框中修改元器件的參數(shù),重復(fù)以上步驟直到所有的元器件都擺放到工作界面上,然后單擊各元器件的引腳進(jìn)行連線。至此仿真電路圖制作完成。然后進(jìn)行程序的編寫,在程序編寫時(shí)需要使用專門的程序編寫器(比如keil軟件等)來編寫并編譯連接運(yùn)行,生成hex文件。接下來需要把程序存入相應(yīng)的芯片中,具體做法是:雙擊目標(biāo)芯片,在出現(xiàn)的對(duì)話框中“program file”中選擇相應(yīng)的程序,然后點(diǎn)擊ok 按鈕即可。最后需要運(yùn)行,在此步驟秩序點(diǎn)擊proteus工作界面左下方的pl
29、ay按鈕即可。3 AT89C51簡(jiǎn)介(jin ji)3.1 主要(zhyo)特性與MCS-51 兼容(jin rn)具有4K 字節(jié)的可重復(fù)編程的flash,可寫入/抹掉數(shù)據(jù)1000次以上,寫入的數(shù)據(jù)能保存10年以上操作頻率:0Hz24MHz1288位內(nèi)部RAM32條可規(guī)劃的I/O線5個(gè)中斷向量地址可編程串行通道需要振蕩電路和時(shí)鐘電路53.2 中斷向量中斷向量見圖3.16圖3.1 中斷向量表3.3 管腳說明AT89C51引腳見圖3.27VCC:供電電壓。GND:接地。P0管腳、P1管腳、P2管腳、P3管腳都是8位雙向I/O口,其中P3管腳還有第二功能。圖3.2 AT89C51 芯片(xn pin
30、)引腳圖P3管腳第二(d r)功能見圖3.3。RST:復(fù)位(f wi)輸入端。ALE/:地址鎖存信號(hào)線。圖3.3 P3口第二功能說明:外部程序存儲(chǔ)器讀選通端。/VPP:訪問內(nèi)部程序存儲(chǔ)器控制端XTAL1、XTAL2:震蕩電路(dinl)輸入端。3.4 內(nèi)部結(jié)構(gòu)51單片機(jī)內(nèi)部(nib)機(jī)構(gòu)如圖3.48圖3.4 51單片機(jī)內(nèi)部結(jié)構(gòu)框圖(kungt)4 控制器各模塊(m kui)電路設(shè)計(jì)4.1 主控芯片(xn pin)模塊單片機(jī)只有(zhyu)40個(gè)管腳,其中I/O管腳只有32個(gè),必須合理地分配單片機(jī)管腳,否則很容易造成單片機(jī)管腳的不夠用。另外,單片機(jī)運(yùn)行需要時(shí)鐘電路、復(fù)位電路、電源、地線等,這些電
31、路也需要在單片機(jī)主控芯片里面設(shè)計(jì)。主控芯片模塊proteus仿真圖如圖4.1。9圖4.1 主控芯片模塊proteus仿真圖4.1.1 時(shí)鐘電路單片機(jī)的運(yùn)行需要時(shí)鐘電路的支持,單片機(jī) HYPERLINK /search?word=%E6%97%B6%E9%92%9F%E7%94%B5%E8%B7%AF&fr=qb_search_exp&ie=utf8 t _blank 時(shí)鐘電路是配合外部晶體實(shí)現(xiàn)振蕩的電路,它由一個(gè)晶振和兩個(gè)電容組成,其組成圖如圖4.2,它的兩端分別接在單片機(jī)的XTAL1和XTAL2管腳。它可以為單片機(jī)提供運(yùn)行時(shí)鐘,如果運(yùn)行時(shí)鐘為0 的話,單片機(jī)就不工作,當(dāng)然超出單片機(jī)的工作頻率
32、的時(shí)鐘也會(huì)導(dǎo)致單片機(jī)不能正常工作,C51單片機(jī)的支持的時(shí)鐘頻率為024MHz。圖4.2 單片機(jī)時(shí)鐘(shzhng)電路4.1.2 復(fù)位(f wi)電路在單片機(jī)在使用過程中有時(shí)(比如上電瞬間以及運(yùn)行中出現(xiàn)(chxin)錯(cuò)誤的時(shí)候)需要使單片機(jī)從開始狀態(tài)重新運(yùn)行,這時(shí)就需要單片機(jī)的復(fù)位電路了。它可以使單片機(jī)內(nèi)部各寄存器的值變?yōu)槌跏紶顟B(tài),復(fù)位電路如圖4.3。它可以在單片機(jī)上電瞬間和復(fù)位開關(guān)按下的瞬間給單片機(jī)RESET管腳加上一個(gè)程指數(shù)函數(shù)的電平信號(hào),當(dāng)此電平信號(hào)能夠在單片機(jī)的RESET管腳保持兩個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就能完成復(fù)位操作。10圖4.3 單片機(jī)復(fù)位電路4.1.3 單片機(jī)管腳分配(
33、fnpi)單片機(jī)管腳分配(fnpi)如圖4.4。 圖4.4 單片機(jī)管腳分配(fnpi)4.2 DS18B20 溫度檢測(cè)及顯示模塊蓄水箱水溫檢測(cè)電路使用單總線DS18B20芯片,它可以將溫度信號(hào)轉(zhuǎn)化成脈沖信號(hào)進(jìn)而轉(zhuǎn)化成水溫高低的信號(hào)。DS18B20的DQ端與單片機(jī)的P3.7口相連,它可以將水溫大小直接以數(shù)值的方式存放在其內(nèi)部的RAM中,單片機(jī)可以通過DS18B20的DQ引腳直接讀取其內(nèi)部RAM中存放的溫度值。在水溫的顯示上,本設(shè)計(jì)采用兩位LED數(shù)碼管來實(shí)現(xiàn),LED數(shù)碼管的段選信號(hào)由單片機(jī)的P0口來發(fā)出,其位選信號(hào)由單片機(jī)的P2.6、P2.7管腳發(fā)出。水溫檢測(cè)及顯示模塊的proteus電路仿真如圖
34、4.5。圖4.5 溫度檢測(cè)及顯示模塊(m kui)proteus仿真圖4.2.1 DS18B20芯片(xn pin)簡(jiǎn)介DS18B20是美國DALLAS公司(n s)推出的一種溫度傳感器,它能比較準(zhǔn)確的測(cè)量-55125之間的溫度。相對(duì)于以前的熱敏電阻等溫度傳感器,DS18B20更加智能,它能夠直接測(cè)出被測(cè)環(huán)境的溫度并以數(shù)值方式存在其內(nèi)部的RAM中,當(dāng)有需要時(shí),它可以通過單總線實(shí)現(xiàn)單片機(jī)等對(duì)DS18B20內(nèi)部RAM中數(shù)據(jù)的讀取。DS18B20有如下性能特點(diǎn):?jiǎn)慰偩€結(jié)構(gòu)設(shè)計(jì),僅需要一個(gè)引腳即可完成數(shù)據(jù)在DS18B20和單片機(jī)之間的通信。每個(gè)DS18B20都有獨(dú)一無二的序列號(hào),可以在一條線上并聯(lián)多個(gè)
35、DS18B20芯片。測(cè)量溫度范圍55125。分辨率可調(diào)。DS18B20 內(nèi)部結(jié)構(gòu)11DS18B20 內(nèi)部結(jié)構(gòu)如圖4.6。圖4.6 DS18B20內(nèi)部結(jié)構(gòu)框圖(kungt) DS18B20引腳DS18B20引腳功能(gngnng)描述見圖4.7。序號(hào)名稱 引腳功能描述1GND地信號(hào)2DQ 數(shù)字信號(hào)輸入輸出引腳3 VDD 供電電源輸入端圖4.7 DS18B20各引腳功能(gngnng) DS18B20轉(zhuǎn)換成的溫度數(shù)據(jù)格式12當(dāng)DS18B20接到溫度轉(zhuǎn)換命令時(shí)它就可以將測(cè)得的溫度信號(hào)轉(zhuǎn)換成溫度值并以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在其高速緩存RAM中,其溫度值格式如圖4.8。圖4.8 DS18B
36、20溫度數(shù)據(jù)格式單片機(jī)可以通過DS18B20的DQ引腳直接取RAM中溫度的值,讀取時(shí),先讀取低位數(shù)據(jù),然后讀取高位數(shù)據(jù)。在DS18B20溫度數(shù)據(jù)格式中,當(dāng)S=0時(shí)表示此時(shí)的溫度值為正值,當(dāng)S=1時(shí)表示此時(shí)溫度為負(fù)值。DS18B20 ROM命令13DS18B20的一系列操作基本都是通過ROM命令(mng lng)來實(shí)現(xiàn)的,DS18B20的ROM命令見圖4.9。圖4.9 DS18B20的ROM命令(mng lng)4.2.2 74LS245簡(jiǎn)介(jin ji)74LS245為8位雙向3態(tài)緩沖電路,主要用途為數(shù)據(jù)的雙向緩沖,以增強(qiáng)芯片的驅(qū)動(dòng)能力。1474LS245真值表如圖4.10所示。輸入輸出DI
37、RLL從B端到A端進(jìn)行數(shù)據(jù)傳輸LH從B端到A端進(jìn)行數(shù)據(jù)傳輸H高阻態(tài)圖4.10 74LS245真值表4.2.3 LED數(shù)碼管顯示(xinsh)LED數(shù)碼管是由八個(gè)發(fā)光二極管排列在一起(yq)并相互連接組成的,根據(jù)其連接方法的不同,LED數(shù)碼管可以分為共陰極和共陽極兩種連接方法。兩種接法電路圖如圖4.11。圖4.11 LED數(shù)碼管及接線(ji xin)方法當(dāng)把數(shù)碼管中各發(fā)光二極管的陰極連接在一塊并與地相連,通過從各發(fā)光二極管陽極是否接電源來控制發(fā)光二極管的亮滅時(shí)成為共陰極接法。同理,當(dāng)把數(shù)碼管中各發(fā)光二極管陽極接在一塊并與電源相連,通過在各發(fā)光二極管陰極是否接地來控制各發(fā)光二極管的亮滅時(shí)稱為共陽極
38、接法。不同的接法所需要點(diǎn)亮電平是不一樣的,所以在使用數(shù)碼管顯示時(shí),一定要注意區(qū)分這兩種接法。當(dāng)然為了顯示數(shù)字或字符,需要對(duì)數(shù)字或字符進(jìn)行編碼,本設(shè)計(jì)采用共陰極LED數(shù)碼管顯示。 LED數(shù)碼管顯示方式有兩種,即靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示就是每個(gè)數(shù)碼管都需要連接一個(gè)8位的數(shù)據(jù)線,通過該8位數(shù)據(jù)線發(fā)送數(shù)據(jù)來保持顯示的字符,當(dāng)向數(shù)碼管送入一次8位數(shù)據(jù)時(shí)數(shù)碼管就會(huì)一直顯示該字符,如果需要改變需要顯示的字符則需要重新給數(shù)碼管輸入另一個(gè)8位數(shù)據(jù)。動(dòng)態(tài)顯示就是通過一定的操作使各個(gè)數(shù)碼管依次點(diǎn)亮,利用發(fā)光二極管的余暉效應(yīng)和人眼的視覺暫留現(xiàn)象使人的感覺就像是同時(shí)點(diǎn)亮各個(gè)數(shù)碼管一樣。動(dòng)態(tài)顯示的亮度比靜態(tài)顯
39、示稍微差一下,程序上稍微麻煩一些,占用的CPU時(shí)間長(zhǎng)點(diǎn),但當(dāng)數(shù)碼管位數(shù)比較多時(shí)需要的管腳位數(shù)明顯減少,硬件電路會(huì)大大簡(jiǎn)化。由于單片機(jī)輸出管腳有限,為了節(jié)省單片機(jī)管腳,本設(shè)計(jì)采用動(dòng)態(tài)顯示方式。4.3 水位(shuwi)測(cè)量及顯示模塊蓄水箱水位是智能控制的一個(gè)重要參數(shù),是實(shí)現(xiàn)智能控制的重要依據(jù),只有準(zhǔn)確檢測(cè)出水箱水位才能更好地實(shí)現(xiàn)水位地顯示以及蓄水箱的上水、停水等操作。要實(shí)現(xiàn)水位地精確檢測(cè)最好采用連續(xù)液位傳感器,但考慮到系統(tǒng)成本及使用范圍,本系統(tǒng)在進(jìn)行水位檢測(cè)時(shí)仍然采用分段(fn dun)式液位傳感器(即在蓄水箱不同的位置放入水位探針),在水位顯示上采用由5個(gè)發(fā)光二極管組成的分段式液位顯示器。水位
40、檢測(cè)及顯示電路圖如圖4.12。圖4.12 水位檢測(cè)(jin c)及顯示電路圖檢測(cè)原理:把五個(gè)金屬水位探針分別固定在水箱的五個(gè)位置上,金屬探針通過一個(gè)1M的電阻(即上拉電阻)和+5V電源相連,水箱里的水通過導(dǎo)線和地相連。當(dāng)金屬探針在水面以下時(shí),+5V電源、上拉電阻、水箱里的水、地等組成一個(gè)回路,由于水的電阻遠(yuǎn)比1M小,所以此時(shí)探針處電平為低電平。這個(gè)低電平通過一個(gè)反相器(非門)后變?yōu)楦唠娖剑@個(gè)高電平通過發(fā)光二極管、500的電阻放電,使得發(fā)光二極管點(diǎn)亮,顯示此時(shí)該液位有水。當(dāng)金屬探針在水面以上時(shí),金屬探針處電平為高電平,該高電平經(jīng)過反相器時(shí)變?yōu)榈碗娖剑碗娖讲荒苁拱l(fā)光二極管發(fā)光,從而顯示該液位沒
41、有水。至此,水位的顯示完成。水位測(cè)量及顯示模塊proteus仿真圖如圖4.13。圖4.13 水位測(cè)量(cling)及顯示模塊proteus仿真圖本proteus仿真圖使用按鍵開關(guān)代替水和+5V電源、1M電阻及地構(gòu)成回路,當(dāng)按鍵按下時(shí)代表此位置處有水,當(dāng)按鍵沒有按下時(shí)代表此水位處沒有水。需要注意的是,上拉電阻不宜選的太小,因?yàn)樗怯须娮璧?,上拉電阻選的太小會(huì)導(dǎo)致當(dāng)探針在水面以下時(shí)探針輸出低電平特性不明顯,此時(shí)很容易導(dǎo)致液位顯示(xinsh)上出現(xiàn)錯(cuò)誤。位置最高到位置最低處的探針?biāo)鶞y(cè)出的電平經(jīng)反相器后會(huì)通過導(dǎo)線依次送到單片機(jī)的P2.0到P2.4管腳,經(jīng)單片機(jī)接收、處理,實(shí)現(xiàn)水位控制的操作。4.4
42、報(bào)警(bo jng)模塊太陽能熱水器通常對(duì)蓄水箱內(nèi)的水位有一定的要求,當(dāng)水箱水位過低時(shí),很容易給人們的正常生活帶來不便,所以,當(dāng)水位過低時(shí)能及時(shí)讓人們知道就顯得比較重要,報(bào)警模塊正是基于此種原因設(shè)計(jì)的。報(bào)警模塊的proteus仿真圖如圖4.14。圖4.14 報(bào)警模塊的proteus仿真圖檢測(cè)及報(bào)警原理:當(dāng)水位過低時(shí),單片機(jī)相應(yīng)管腳被清零,使得單片機(jī)通過P1.5口輸出一系列脈沖波。脈沖波經(jīng)由(jngyu)Q1、R1組成的放大電路后作用于蜂鳴器BUZI的線圈上,線圈產(chǎn)生變化的磁場(chǎng)帶動(dòng)蜂鳴器紙盆震動(dòng)從而發(fā)出聲音。4.5 輔助加熱(ji r)模塊當(dāng)光照不足時(shí),太陽能熱水器的水溫很難達(dá)到指定(zhdng
43、)的要求,為了不影響人們的正常使用,輔助加熱設(shè)備就顯得尤為重要了。輔助加熱模塊的proteus電路仿真圖如圖4.15。圖4.15 輔助加熱模塊的proteus電路仿真圖4.5.1 繼電器工作原理繼電器工作原理圖如圖4.16所示。15圖4.16 繼電器工作原理圖當(dāng)繼電器的控制回路沒有電流流過時(shí),繼電器的銜鐵在彈簧的拉力作用下右端上翹,觸點(diǎn)3與觸點(diǎn)5斷開,與觸點(diǎn)4結(jié)合。當(dāng)有電流流過繼電器的控制回路(即由導(dǎo)線和線圈組成(z chn)的電磁鐵)時(shí),電流就會(huì)在在電磁鐵上產(chǎn)生磁場(chǎng),此時(shí),銜鐵會(huì)被電磁鐵吸引而下降,使得觸點(diǎn)3與觸點(diǎn)4分離,與觸點(diǎn)5連接。如果在端點(diǎn)3和端點(diǎn)5接上其他電路組成被控回路就會(huì)出現(xiàn)當(dāng)有
44、電流流過控制回路時(shí)被控回路導(dǎo)通,當(dāng)沒有電流流過控制回路時(shí)被控回路斷開。4.5.2 輔助加熱(ji r)模塊工作原理當(dāng)加熱按鈕沒有按下時(shí),此輔助加熱模塊為自動(dòng)控制模式。在自動(dòng)控制模式下,當(dāng)設(shè)定的時(shí)間到時(shí),單片機(jī)會(huì)自動(dòng)對(duì)蓄水箱的水溫進(jìn)行判斷。當(dāng)水溫高于設(shè)定值時(shí),P1.1口輸出為高電平,三極管Q1集電極和發(fā)射極斷開,此時(shí),輸入回路中沒有電流為零,繼電器被控回路斷開,加熱電阻不工作。當(dāng)P1.1口輸出為低電平時(shí),三極管Q1集電極和發(fā)射極導(dǎo)通,+5V電源經(jīng)電阻R1,繼電器控制回路、三極管Q1和地相連,輸入回路導(dǎo)通,此時(shí),繼電器被控回路閉合,220V交流電源經(jīng)繼電器被控回路給加熱電阻加熱,從而使水溫升高。當(dāng)
45、臨時(shí)(ln sh)(不是設(shè)定時(shí)間)需要熱水時(shí)可以通過加熱按鈕進(jìn)行加熱,此時(shí),只需按下加熱按鈕即可對(duì)蓄水箱的水進(jìn)行加熱。4.6 電磁閥控制模塊電磁閥是把電信號(hào)轉(zhuǎn)化成水龍頭開關(guān)信號(hào)的裝置,是實(shí)現(xiàn)水位智能控制不可缺少的一部分。電磁閥從原理上分為直動(dòng)式、分步直動(dòng)式和先導(dǎo)式三類電磁閥,本設(shè)計(jì)采用直動(dòng)式電磁閥。電磁閥控制模塊proteus仿真如圖4.17。圖4.17 電磁閥控制模塊proteus仿真電路圖繼電器工作(gngzu)原理已在輔助加熱模塊介紹,此處不再敘述4.6.1 電磁閥工作(gngzu)原理電磁閥工作(gngzu)原理如圖4.18。圖4.18 電磁閥工作原理圖當(dāng)電磁閥不通電時(shí),活動(dòng)鐵心在彈簧
46、的彈力作用下上升,入口和出口被閥門隔開,水被阻斷;當(dāng)通電時(shí),活動(dòng)鐵心在線圈產(chǎn)生的磁場(chǎng)作用下下落,此時(shí)入口和出口導(dǎo)通,水從入口經(jīng)電磁閥流向出口,完成上水。4.6.2 電磁閥控制模塊工作原理在本設(shè)計(jì)中,此電磁閥控制模塊分為自動(dòng)控制和手動(dòng)控制兩種工作情況:當(dāng)上水按鍵開關(guān)斷開且淋浴開關(guān)閉合時(shí)電磁閥控制模塊為自動(dòng)控制模式,此時(shí)當(dāng)單片機(jī)P1.4口輸出為高電平時(shí),繼電器的輸入端輸入電流為零,繼電器輸出端開路,電磁閥所在電路開路,電磁閥關(guān)閉;當(dāng)單片機(jī)P1.4口輸出為低電平時(shí),繼電器輸入端通過電阻、三極管和電源、地相連,此時(shí),輸入回路有輸入電流,使得繼電器輸出回路閉合,電磁閥所在電路導(dǎo)通,電磁閥打開。當(dāng)上水按鍵
47、開關(guān)直接閉合且淋浴開關(guān)閉合時(shí),電磁閥通過按鍵開關(guān)直接和220V電源相連,此時(shí)電磁閥所在電路導(dǎo)通,電磁閥打開。另外,為了避免淋浴時(shí)因水位偏低而導(dǎo)致熱水器直接上水,本模塊加了一個(gè)淋浴狀態(tài)開關(guān),當(dāng)淋浴狀態(tài)打開(淋浴開關(guān)斷開)時(shí),直接斷開電磁閥開關(guān),此時(shí)無論水位多么低都不會(huì)上水,當(dāng)淋浴狀態(tài)關(guān)閉(淋浴開關(guān)閉合)時(shí),可以選擇自動(dòng)控制和手動(dòng)控制兩種模式。4.7 時(shí)鐘模塊時(shí)間是實(shí)現(xiàn)熱水器控制器定時(shí)上水、定時(shí)加熱的重要參考,所以設(shè)置時(shí)鐘模塊是非常有必要的。時(shí)鐘模塊可以通過單片機(jī)設(shè)置一個(gè)數(shù)字時(shí)鐘來實(shí)現(xiàn),也可以時(shí)鐘芯片(比如DS1302)實(shí)現(xiàn),還可以通過外接具有定時(shí)功能的電子表來實(shí)現(xiàn)??紤]到單片機(jī)管腳的數(shù)量限制和設(shè)
48、計(jì)的難易程度,本設(shè)計(jì)采用外接電子表的方式來實(shí)現(xiàn)定時(shí)上水、定時(shí)加熱。4.7.1 電子表發(fā)聲原理及控制器定時(shí)(dn sh)工作原理電子表里面裝有壓電陶瓷片,壓電陶瓷片是一種電子發(fā)音元件(yunjin),在兩個(gè)電極中間放入壓電陶瓷介質(zhì)材料,當(dāng)設(shè)定時(shí)間到時(shí),會(huì)在壓電陶瓷片的兩個(gè)電極上加上特定的交流信號(hào),壓電陶瓷片就會(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è)備開始工作;同理,當(dāng)給單片機(jī)的P1.3管腳加上一個(gè)低電平時(shí)同樣能給單片機(jī)一個(gè)觸發(fā)信號(hào),經(jīng)單片機(jī)處理后,使得上水設(shè)備開始工作
49、。5 控制器軟件(run jin)程序設(shè)計(jì)5.1 軟件設(shè)計(jì)分析(fnx)軟件是系統(tǒng)的指揮中心,由軟件來配合硬件來完成電子設(shè)備特定的功能是目前電子設(shè)備的普遍規(guī)律。本系統(tǒng)同樣要求軟件和硬件兩部分協(xié)調(diào)工作才能所完:由硬件電路完成數(shù)據(jù)的采集、顯示以及對(duì)電磁閥和蜂鳴器的控制,由軟件來實(shí)現(xiàn)數(shù)據(jù)的判斷、處理(chl)等。由此可見,軟件和硬件一樣,都是該系統(tǒng)正常工作所必須的一部分。軟件相對(duì)于硬件電路來說具有更高的性價(jià)比,并且更容易實(shí)現(xiàn),為了充分發(fā)揮C51單片機(jī)的優(yōu)良的性能價(jià)格比,我們?cè)谶M(jìn)行系統(tǒng)設(shè)計(jì)時(shí),更傾向于使硬件電路“軟件化”,即通過編程的方法使硬件電路簡(jiǎn)化。考慮到C語言諸多優(yōu)良特性,本設(shè)計(jì)采用C語言編寫,
50、為了增加系統(tǒng)的實(shí)時(shí)性,本設(shè)計(jì)對(duì)于偶然事件的處理采用中斷的方式來進(jìn)行處理。在電路設(shè)計(jì)時(shí)我們采用模塊化設(shè)計(jì),同理,在軟件設(shè)計(jì)時(shí),我們也采用模塊化設(shè)計(jì)。首先需要編寫出大概的主程序,然后需要找出所設(shè)計(jì)的子程序并對(duì)子程序進(jìn)行逐個(gè)分析和設(shè)計(jì),編寫出子程序后應(yīng)給予每個(gè)子程序語法檢驗(yàn)以確定子程序是不是有語法錯(cuò)誤,接下來需要把子程序和主程序以及一些的聲明函數(shù)等進(jìn)行合理的檢查和修改直到?jīng)]有語法錯(cuò)誤為止,再然后對(duì)偶然事件需要進(jìn)行中斷處理函數(shù)的編寫。最后需要對(duì)整個(gè)程序進(jìn)行編譯檢查以確定是否有語法錯(cuò)誤,如果有語法錯(cuò)誤需要對(duì)程序進(jìn)行改正,如果沒有可以把程序烤到單片機(jī)里來檢驗(yàn)程序的正確與否。165.2 主程序模塊主程序需要
51、完成對(duì)單片機(jī)端口的初始化,開外部中斷0,開外部中斷1等,此外,還包括溫度數(shù)據(jù)讀取、溫度數(shù)據(jù)顯示、水位數(shù)據(jù)讀取以及對(duì)熱水器加熱、上水等操作。其流程圖如圖5.1所示。圖5.1 主程序模塊流程圖5.3 子程序模塊子程序是指能夠?qū)崿F(xiàn)某一特定功能并能被其他(qt)程序調(diào)用的一段程序。采用子程序結(jié)構(gòu)可以使程序得到簡(jiǎn)化,便于進(jìn)行調(diào)試,并可實(shí)現(xiàn)程序的模塊化,本設(shè)計(jì)將采用子程序模塊的設(shè)計(jì)來實(shí)現(xiàn)部分功能。5.3.1 DS18B20溫度檢測(cè)(jin c)子程序設(shè)計(jì)DS18 B20溫度(wnd)檢測(cè)模塊的子程序流程圖如圖5.2,它包括對(duì) DS18 B20的初始化、發(fā) ROM命令、發(fā)溫度轉(zhuǎn)化命令、讀存儲(chǔ)器等操作。圖5.
52、2 DS18B20溫度(wnd)檢測(cè)流程圖5.3.2 DS18B20溫度轉(zhuǎn)化及顯示子程序DS18 B20溫度轉(zhuǎn)化及顯示子程序流程圖如圖5.3,它包括讀取溫度值、對(duì)溫度值得判斷、區(qū)分溫度的十位和個(gè)位數(shù)據(jù)、顯示十位數(shù)據(jù)、顯示個(gè)位數(shù)據(jù)等操作。開始讀溫度值溫度值大于等于100或小于0溫度十位和個(gè)位數(shù)據(jù)都置“-”區(qū)分溫度的十位數(shù)據(jù)區(qū)分溫度的個(gè)位數(shù)據(jù)顯示溫度十位數(shù)據(jù)顯示溫度個(gè)位數(shù)據(jù)返回是否圖5.3 DS18B20溫度(wnd)轉(zhuǎn)化及顯示流程圖5.3.3 加熱(ji r)子程序設(shè)計(jì)當(dāng)設(shè)定時(shí)間到時(shí),外部時(shí)鐘會(huì)在單片機(jī)的P1.0管腳給單片機(jī)一個(gè)觸發(fā)(chf)信號(hào),使得單片機(jī)執(zhí)行加熱子程序。加熱子程序流程圖如圖5
53、.4。圖5.4 加熱(ji r)子程序流程圖5.3.4 上水子程序設(shè)計(jì)(chn x sh j)同加熱子程序一樣,當(dāng)設(shè)定時(shí)間到時(shí),外部時(shí)鐘會(huì)在單片機(jī)的P1.3管腳給單片機(jī)一個(gè)觸發(fā)信號(hào)(xnho),使得單片機(jī)執(zhí)行上水子程序。上水子程序流程圖如圖5.5。圖5.5 上水子程序流程圖5.4 中斷(zhngdun)子程序設(shè)計(jì)為了保證系統(tǒng)的實(shí)時(shí)性,本設(shè)計(jì)有一些功能是通過中斷來實(shí)現(xiàn)的,這就要求在軟件程序設(shè)計(jì)里面需要(xyo)有專門的中斷服務(wù)子程序的設(shè)計(jì)。本設(shè)計(jì)采用了兩個(gè)中斷服務(wù),包括外部中斷0和外部中斷1。其中外部中斷0用作增加設(shè)定的溫度值,外部中斷1用作減小設(shè)定的溫度值。5.4.1 外部(wib)中斷0(設(shè)
54、定溫度+)子程序設(shè)計(jì)外部中斷0負(fù)責(zé)使設(shè)定(sh dn)的溫度值增加,每當(dāng)執(zhí)行一次外部中斷0,所設(shè)定的溫度值就會(huì)增加1。外部中斷0(設(shè)定溫度+)子程序流程圖如圖5.6。圖5.6 外部中斷(zhngdun)0(設(shè)定溫度+)子程序流程圖5.4.2 外部中斷1(設(shè)定溫度-)子程序設(shè)計(jì)同外部中斷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。圖5.7 外部中斷(zhngdun)1(設(shè)定溫度-)子程序流程圖6 調(diào)試(dio sh)與總結(jié)(zngji)6.1 調(diào)
55、試方法為了節(jié)省人力、物力,在正式調(diào)試之前往往會(huì)對(duì)電路進(jìn)行仿真操作。所謂的仿真操作就是使用專門用于仿真的仿真軟件對(duì)系統(tǒng)的硬件電路圖及程序進(jìn)行仿真。如果仿真結(jié)果滿足我們的要求,那么我們就可以進(jìn)行硬件電路的制作了,如果仿真結(jié)果不能滿足我們的要求,那么我們就需要重新對(duì)程序及相關(guān)的硬件進(jìn)行設(shè)計(jì)。本設(shè)計(jì)使用proteus對(duì)系統(tǒng)的各部分和整個(gè)系統(tǒng)進(jìn)行仿真。具體做法為:根據(jù)系統(tǒng)要求用proteus 畫出整體系統(tǒng)的仿真電路圖(可以先一個(gè)模塊一個(gè)模塊的畫,然后在組裝在一塊)。2、根據(jù)系統(tǒng)要求及畫出的仿真電路圖編寫程序(本設(shè)計(jì)使用C語言編寫),并用keil軟件進(jìn)行編譯,生成HEX文件。把生成的HEX文件下載到對(duì)應(yīng)的
56、單片機(jī)中(具體做法為:在proteus仿真電路圖中雙擊相應(yīng)的單片機(jī)會(huì)出現(xiàn)“Edit Component”對(duì)話框,在此對(duì)話框中program File一欄中選擇所需的HEX文件,然后點(diǎn)擊該對(duì)話框右上角的ok按鈕即可),然后點(diǎn)擊仿真電路圖界面左下角的play按鈕即可進(jìn)行電路仿真。在完成系統(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)行工作。在制作完成PCB板之后就可以進(jìn)行硬件部分(b fen)的調(diào)試了。在制作完P(guān)CB板之后就可以進(jìn)行硬件電路調(diào)試了。在進(jìn)行硬件
57、電路調(diào)試之前需要先對(duì)各元器件進(jìn)行檢查,對(duì)于有問題的元器件需要及時(shí)替換(t hun)。在檢查完元器件之后就可以往PCB板上查元器件了。為了降低硬件調(diào)試的難度,便于更好的發(fā)現(xiàn)問題,在硬件調(diào)試過程中采用分塊調(diào)試的方法。在完成硬件電路調(diào)試(dio sh)之后就需要對(duì)系統(tǒng)進(jìn)行調(diào)試了。所謂系統(tǒng)調(diào)試就是把提前編譯好的程序下載單片機(jī)中,對(duì)系統(tǒng)的整體性能進(jìn)行觀察、調(diào)試。6.2 遇到的問題及解決辦法在進(jìn)行proteus各模塊仿真電路圖設(shè)計(jì)時(shí)有部分元器件(比如電磁閥、加熱裝置等)在元件庫中找不到。解決方法:用其他有相似特點(diǎn)的元件代替,并將此元件的參數(shù)修改一下。在進(jìn)行proteus總體仿真電路設(shè)計(jì)時(shí),有很多現(xiàn)象(比如
58、:電磁閥的通斷、水位的高低等)不容易觀察或不容易操作。解決方法:用發(fā)光二極管、按鍵開關(guān)代替這些不容易觀察或不容易操作的現(xiàn)象。在程序設(shè)計(jì)時(shí)對(duì)DS18B20的程序設(shè)計(jì)總是弄不對(duì)。解決方法:參考其他人對(duì)這部分程序的編寫,然后按照自己的要求和DS18B20的原理進(jìn)行修改。在程序設(shè)計(jì)過程中 ,對(duì)DS18B20測(cè)出的溫度進(jìn)行轉(zhuǎn)化方面出現(xiàn)失誤:沒有注意DS18B20溫度數(shù)據(jù)是包含小數(shù)部分的溫度而導(dǎo)致在溫度轉(zhuǎn)化時(shí)出現(xiàn)錯(cuò)誤。解決方法:在對(duì)DS18B20結(jié)構(gòu)及原理仔細(xì)分析的基礎(chǔ)上對(duì)設(shè)計(jì)的程序進(jìn)行修改,首先去除溫度的小數(shù)部分,然后吧溫度的個(gè)位數(shù)部分和十位數(shù)部分分別放在一個(gè)數(shù)組的兩個(gè)元素中。在系統(tǒng)調(diào)試中發(fā)現(xiàn)溫度顯示時(shí)
59、總是個(gè)位數(shù)在前,十位數(shù)在后,給人的感覺很別扭。解決方法有兩個(gè):一、在溫度數(shù)據(jù)的處理子程序中把個(gè)位數(shù)據(jù)和十位數(shù)據(jù)處理的語句調(diào)換一下。二、在硬件電路中把兩個(gè)LED數(shù)碼管位選信號(hào)輸入端調(diào)換一下。本設(shè)計(jì)采用第一種方法,即在程序處理方面做改變。6.3 總結(jié)太陽能熱水器控制器是對(duì)太陽能熱水器進(jìn)行控制的一種裝置,它需要能夠?qū)崿F(xiàn)對(duì)熱水器水溫、水位的控制。在本設(shè)計(jì)的過程中,我先是對(duì)太陽能熱水器需要實(shí)現(xiàn)的功能進(jìn)行分析,然后按照需要實(shí)現(xiàn)的功能按照模塊設(shè)計(jì)的思想進(jìn)行設(shè)計(jì),接下來把各模塊組合起來形成一個(gè)系統(tǒng),用proteus對(duì)該系統(tǒng)進(jìn)行仿真,最后進(jìn)行實(shí)際電路連接。經(jīng)過以上各個(gè)步驟的實(shí)際操作,我們可以看出,本設(shè)計(jì)是可行的
60、。本設(shè)計(jì)中我用的了單片機(jī)、C語言、模電、數(shù)電、電路分析等多門課程,可以說正是在這些知識(shí)的支撐下我才能順利完成本設(shè)計(jì)。在進(jìn)行(jnxng)本設(shè)計(jì)的過程中,我較深刻理解了能夠綜合運(yùn)用知識(shí)的重要性,當(dāng)然,本設(shè)計(jì)對(duì)我綜合運(yùn)用能力也有一定程度的提高。另外,在進(jìn)行本設(shè)計(jì)的過程(guchng)中,我的交流能力也有一定程度的提高。在本設(shè)計(jì)中,我遇到過很多問題,正是與老師、學(xué)長(zhǎng)、同學(xué)的交流給我解決這些問題很大的啟發(fā),使我能夠順利完成本設(shè)計(jì)。致謝(zh xi)對(duì)于即將畢業(yè)的我們來說,本設(shè)計(jì)的完成就基本意味著大學(xué)學(xué)習(xí)生活的結(jié)束。離別時(shí)刻就要到來(doli),而我也將要開始我新一段的學(xué)習(xí)生活。此時(shí)此刻難免會(huì)有各種思緒
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作研發(fā)協(xié)議書
- 高新科技研發(fā)成果轉(zhuǎn)讓合同
- 公司場(chǎng)地長(zhǎng)期租賃合同
- 制造業(yè)工業(yè)互聯(lián)網(wǎng)平臺(tái)建設(shè)方案
- (高清版)DB2104∕T 0007-2021 撫順煤精
- 2025年吉林貨運(yùn)從業(yè)資格證考試題技巧答案大全
- 小學(xué)三年級(jí)口算題
- 2025年道路貨物運(yùn)輸從業(yè)資格考試復(fù)習(xí)題
- 2024-2025學(xué)年高中生物第7章細(xì)胞的增殖第1節(jié)第1課時(shí)細(xì)胞不能無限長(zhǎng)大植物細(xì)胞的有絲分裂練習(xí)含解析北師大版必修1
- 2024-2025學(xué)年八年級(jí)科學(xué)上冊(cè)第1章水和水的溶液第1節(jié)地球上的水教案新版浙教版
- 2024年01月2023年上海證券交易所社會(huì)招考聘用筆試歷年高頻難、易錯(cuò)考點(diǎn)帶答案解析
- 淋巴瘤的治療及護(hù)理
- 基于學(xué)生主體的整本書閱讀-《鋼鐵是怎樣煉成的》(一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì))
- (完整word版)高中英語3500詞匯表
- 社會(huì)政策概論課件
- 工程量清單及招標(biāo)控制價(jià)編制服務(wù)采購實(shí)施方案(技術(shù)標(biāo))
- 全國住戶收支調(diào)查業(yè)務(wù)知識(shí)考試復(fù)習(xí)題庫(含答案)
- 復(fù)方氨基酸注射液的匯總
- 2023年上海市秋考語文真題試卷含答案(整理版)
- 2023年心理咨詢師之心理咨詢師基礎(chǔ)知識(shí)考試題庫附完整答案【有一套】
- 一級(jí)建造師繼續(xù)教育最全題庫及答案(新)
評(píng)論
0/150
提交評(píng)論