水族箱智能控制器_第1頁(yè)
水族箱智能控制器_第2頁(yè)
水族箱智能控制器_第3頁(yè)
水族箱智能控制器_第4頁(yè)
水族箱智能控制器_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南京工程學(xué)院 自動(dòng)化學(xué)院 本科畢業(yè)設(shè)計(jì)(論文) 題 目: 水族箱智能控制器設(shè)計(jì) 專(zhuān) 業(yè): 自動(dòng)化 班 級(jí): 自動(dòng)化122 學(xué) 號(hào): 203120220 學(xué)生姓名: 劉文軍 指導(dǎo)教師: 徐 開(kāi) 蕓 高級(jí)實(shí)驗(yàn)師 起止日期: 2016.22016.6 設(shè)計(jì)地點(diǎn): 南京工程學(xué)院 Graduation Design (Thesis)The Design of Intelligent Controller ofMultifunctional AquariumByLIU WenjunSupervised bySenior Experimentalist XU KaiyunSchool of Automati

2、onNanjing Institute of Technology June, 2016南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文)摘 要隨著社會(huì)的發(fā)展,人們對(duì)生活質(zhì)量的要求越來(lái)越高,觀賞類(lèi)的產(chǎn)品受到人們的青睞,因此智能水族箱深受消費(fèi)者歡迎。在一些公共場(chǎng)合,觀賞類(lèi)水族箱起到了美化環(huán)境、提升檔次的作用。本課題設(shè)計(jì)了水族箱智能控制器。根據(jù)一些常見(jiàn)的水族箱的問(wèn)題,設(shè)計(jì)了一種以STC89C52RC為核心的單片機(jī)控制系統(tǒng),通過(guò)結(jié)合傳感器讓水溫,水位,充氧等實(shí)現(xiàn)智能化控制。其中實(shí)現(xiàn)的主要功能是:溫度控制部分是結(jié)合DS18B20傳感器,對(duì)溫度進(jìn)行實(shí)時(shí)檢測(cè),溫度過(guò)低則升溫,過(guò)高則降溫;水位控制部分通超聲波傳感器

3、,對(duì)水深檢測(cè),水位低了則加水;并通過(guò)紅外線遙控器進(jìn)行充氧的開(kāi)斷控制以及參數(shù)的設(shè)置;LCD1602對(duì)實(shí)時(shí)參數(shù)的顯示,以及操作步驟的顯示。并且分別對(duì)此系統(tǒng)的溫度顯示與控制模塊,控制充氧模塊,水位顯示與控制模塊等進(jìn)行硬件電路的設(shè)計(jì),以及軟件方面的設(shè)計(jì),從而進(jìn)行結(jié)合調(diào)試形成一個(gè)完整的智能化控制系統(tǒng)。經(jīng)過(guò)一段時(shí)間對(duì)該設(shè)備的調(diào)試與運(yùn)行,實(shí)驗(yàn)的結(jié)果顯示該設(shè)備性能穩(wěn)定,操作方便,實(shí)用性教強(qiáng),由于其結(jié)構(gòu)控制簡(jiǎn)單,成本較低,所以可以普及,并且適用于大多數(shù)水族箱場(chǎng)所。關(guān)鍵詞:水族箱;單片機(jī);智能化ABSTRACTWith the development of society, people's qualit

4、y of life become increasingly demanding, ornamental products by people of all ages, so intelligent aquarium welcomed by consumers. In some public places, ornamental aquarium played a landscaping to improve the grade of the role. This topic is designed aquarium intelligent controller. According to so

5、me common aquarium problems with STC89C52RC designed a microcontroller as the core control system, through a combination of sensor lets water temperature, water level, oxygenation and other intelligent control.The main function of which is to achieve: the temperature sensor DS18B20 control section i

6、s a combination of real-time detection temperature, the heating temperature is too low, too high cooling; water level control section through an ultrasonic sensor to detect water depth, water level is low, add water; and via infrared remote control oxygenation of breaking and setting control paramet

7、ers; LCD1602 display of real-time parameters, and the procedure is displayed. And respectively of this system temperature display and control module, the control module oxygenation, hardware circuit design level display and control module, and software designs to be combined to form a complete debug

8、ging intelligent control system. After a period of commissioning and operation of the equipment, the experimental results show that the equipment stable performance, easy operation, practical teaching is strong, due to its control structure is simple, low cost, so it can be universal and applicable

9、to most places aquarium.Key words: Aquarium; Microcontroller; Intelligent目 錄第一章 緒論11.1 選題背景11.2 研究與發(fā)展現(xiàn)狀11.3 主要研究?jī)?nèi)容2第二章 總體方案設(shè)計(jì)42.1 設(shè)計(jì)要求42.2 總體方案與功能42.2.1 硬件結(jié)構(gòu)框圖42.2.2 功能組成與控制參數(shù)52.3 主要元器件的選取52.3.1 單片機(jī)的選取52.3.2 溫度傳感器的選取72.3.3 液晶顯示屏的選取72.3.4 超聲波傳感器選取82.3.5 紅外線模塊的選取8第三章 硬件設(shè)計(jì)93.1 硬件總體設(shè)計(jì)思路93.2 主控制電路設(shè)計(jì)93.3

10、水溫控制電路設(shè)計(jì)113.4 水位控制電路設(shè)計(jì)123.5 充氧控制電路設(shè)計(jì)133.6 狀態(tài)顯示電路設(shè)計(jì)143.7 按鍵設(shè)置電路設(shè)計(jì)143.8 紅外線電路設(shè)計(jì)153.9 原理圖及電路板設(shè)計(jì)16第四章 軟件設(shè)計(jì)184.1 軟件設(shè)計(jì)方法184.2 主控制模塊184.3 液晶顯示模塊214.4 溫度控制顯示模塊214.5 水位控制與顯示模塊224.6 紅外線遙控設(shè)置模塊224.7 充氧設(shè)置與顯示模塊23第五章 設(shè)計(jì)調(diào)試中遇到的問(wèn)題255.1 水溫控制與顯示模塊問(wèn)題255.2 水位控制與顯示模塊問(wèn)題265.3 按鍵控制和設(shè)置模塊問(wèn)題305.4 顯示與優(yōu)化30第六章 結(jié) 論316.1 論文總結(jié)316.2 展

11、望32致 謝34參 考 文 獻(xiàn)35附錄A:硬件設(shè)計(jì)原理圖與PCB圖37附錄B:軟件程序清單39III南京工程學(xué)院自動(dòng)化學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第一章 緒論1.1 選題背景 隨著時(shí)代的進(jìn)步,技術(shù)的更新,人們對(duì)自然環(huán)境的追求也慢慢開(kāi)始有了變化,水族箱不僅僅局限于是一個(gè)供金魚(yú)水草等動(dòng)植物生存的水容器,而且還是一個(gè)小型的生態(tài)系統(tǒng),可以把它當(dāng)做一個(gè)自然域的縮影1。如今水族進(jìn)入了一個(gè)蓬勃發(fā)展的階段,水族箱慢慢的進(jìn)入了越來(lái)越多的場(chǎng)合當(dāng)中,諸如辦公室1,展覽區(qū),家庭等各種場(chǎng)合,已然變成了一種社會(huì)化的趨勢(shì)。然而隨著水族箱的普及,一些問(wèn)題開(kāi)始慢慢暴露出來(lái),尤其是體現(xiàn)在上班族照看的場(chǎng)合當(dāng)中,由于缺乏相應(yīng)的專(zhuān)業(yè)知識(shí)以

12、及技巧,一些水族箱會(huì)出現(xiàn)沒(méi)人喂食,水長(zhǎng)期沒(méi)換,水中氧氣不足,水位不夠,水溫過(guò)高或者偏低等問(wèn)題。這樣往往會(huì)導(dǎo)致水族箱生態(tài)系統(tǒng)的破壞以及水族生物的死亡等諸多后果。如今,市面上大部分水族箱的智能功能較單一,一般只能實(shí)現(xiàn)一個(gè)到兩個(gè)功能的智能化控制,并不能真正起到生態(tài)系統(tǒng)智能化的作用,甚至因?yàn)槟承┰驕罂赡芗铀偎逑渖鷳B(tài)系統(tǒng)的衰敗。這些因素導(dǎo)致了部分人想利用水族箱進(jìn)行放松、減壓的目的難以達(dá)到,使得觀賞的價(jià)值大打折扣甚至望而卻步,因此諸類(lèi)問(wèn)題的集中,往往抑制了水族產(chǎn)業(yè)的發(fā)展。1.2 研究與發(fā)展現(xiàn)狀由于經(jīng)濟(jì)的高速發(fā)展,百姓的生活水平的提高,人們不再僅僅滿足于物質(zhì)層面的溫飽問(wèn)題,開(kāi)始了對(duì)文化等精神層次的更高

13、追求。因此更多文化、精神等高層次物品引來(lái)了人們的關(guān)注,得到了一個(gè)飛速的發(fā)展。人們對(duì)身邊的住宿環(huán)境,工作環(huán)境也開(kāi)始有了新的追求。在這種形式下,觀賞性建筑,和物品,休閑養(yǎng)生類(lèi)等迎來(lái)了一個(gè)發(fā)展的黃金時(shí)機(jī),得到了一個(gè)井噴式的發(fā)展。當(dāng)然,隸屬于觀賞性物品的水族行業(yè),也同樣得到了一個(gè)高速發(fā)展的黃金時(shí)機(jī)。這種好的形式下,一些投資商也瞄準(zhǔn)這塊市場(chǎng),因?yàn)樗鼛?lái)的巨大經(jīng)濟(jì)效益,使得人們不得不對(duì)其投入更多關(guān)注2。根據(jù)當(dāng)前的調(diào)查表明,目前水族行業(yè)的產(chǎn)業(yè)規(guī)模每年以15.6%的速率增長(zhǎng),并且每年在此產(chǎn)業(yè)的消費(fèi)已經(jīng)達(dá)到了300多億元。并且其中各類(lèi)水族箱的份額就占到了接近三分之一,尤其是各種壁掛式的水族箱經(jīng)歷了一個(gè)爆發(fā)型的增

14、長(zhǎng)到一個(gè)迅速下滑的極端,然而按照現(xiàn)在發(fā)展的趨勢(shì),水族箱的增長(zhǎng)又會(huì)重新回到一個(gè)穩(wěn)定發(fā)展的狀態(tài),但是由于基數(shù)的龐大,所以仍是一個(gè)相當(dāng)可觀的行業(yè)。由于市場(chǎng)上對(duì)這塊的重視,不少新型含有高科技含量的水族箱被研究出來(lái),也為未來(lái)水族箱的發(fā)展帶來(lái)了一個(gè)好的期望。由于中國(guó)市場(chǎng)的龐大,所以諸多國(guó)外行業(yè)也盯著中國(guó)水族行業(yè)。目前,全國(guó)各大生活質(zhì)量較高的城市:譬如北上廣等一線城市,越來(lái)越多的開(kāi)發(fā)商把壁掛水族作為一個(gè)亮點(diǎn),來(lái)吸引顧客們的注意,從而達(dá)到更好的營(yíng)銷(xiāo)樓盤(pán)的目的。由此可見(jiàn)將來(lái)大部分消費(fèi)者家中都會(huì)有水族身影的日子也不會(huì)太遙遠(yuǎn)了。諸多因素促使了水族行業(yè)的高速穩(wěn)定發(fā)展。目前市面上存在著各種各樣的水族箱,雖然水族箱的產(chǎn)品

15、有很多,但是功能大多比較單一,僅僅體現(xiàn)在外觀和造型上,所以基本能解決的問(wèn)題大都不多。傳統(tǒng)的水族箱大多是不智能的,僅僅配備了充氧泵和抽水泵,用以更換水源和提供水族足夠的氧氣。由于這些產(chǎn)品大多是由人控制開(kāi)關(guān)數(shù),所以會(huì)由于水族數(shù)量的多少而一天進(jìn)行多次的開(kāi)啟和關(guān)閉操作。由于設(shè)備的經(jīng)常性開(kāi)關(guān),會(huì)對(duì)設(shè)備造成巨大的損耗,這樣不僅會(huì)減短設(shè)備的使用時(shí)間,還會(huì)大量的浪費(fèi)資源。因此市面上開(kāi)始出現(xiàn)了各種單一的智能控制系統(tǒng),形如智能水位循環(huán)控制,智能水溫控制,智能照明控制,智能喂食控制等等各種單一的控制系統(tǒng)設(shè)備。但是往往一個(gè)生態(tài)系統(tǒng)需要多個(gè)系統(tǒng)的配合,所以要是一個(gè)水族箱上增加多個(gè)單一的控制設(shè)備,成本會(huì)比較高,水族箱整體

16、承受的負(fù)擔(dān)也比較大,所占空間相對(duì)較多看起來(lái)比較凌亂復(fù)雜。所以不少水族箱廠家開(kāi)始爭(zhēng)相研發(fā)多功能智能水族箱,但是由于其功能較齊全,系統(tǒng)性比較完整等因素,所以造價(jià)以及售價(jià)上會(huì)比較高。針對(duì)以上諸多因素,本次課題主要依據(jù)市面上流轉(zhuǎn)的各種水族箱所存在的一些問(wèn)題以及一些功能上的缺陷,設(shè)計(jì)制作了一種基于STC89C52單片機(jī)實(shí)現(xiàn)智能控制的系統(tǒng),此系統(tǒng)能夠?qū)崿F(xiàn)的功能主要是對(duì)水溫的自動(dòng)檢測(cè)與顯示、對(duì)水溫的恒溫控制、水位的深度檢測(cè)與顯示并控制水位的高度以及充氧等諸多功能的智能控制設(shè)備。此設(shè)備制作價(jià)格相對(duì)實(shí)惠,功能較齊全、實(shí)用性比較強(qiáng)、操作簡(jiǎn)單等,因此可以廣泛適用于多種水族場(chǎng)合。1.3 主要研究?jī)?nèi)容 本課題是基于ST

17、C89C52RC單片機(jī)的智能控制器,實(shí)現(xiàn)對(duì)水溫,水位等環(huán)境參數(shù)智能檢測(cè)、控制和顯示等功能。此控制器主要實(shí)現(xiàn)的是通過(guò)結(jié)合傳感器的監(jiān)測(cè)數(shù)據(jù)對(duì)水位,溫度等參數(shù)對(duì)水位高低和水溫的溫度控制,以及充氧實(shí)現(xiàn)開(kāi)關(guān)控制,使水位和溫度保持在一個(gè)系統(tǒng)設(shè)定的范圍之內(nèi),超出范圍實(shí)現(xiàn)報(bào)警,并實(shí)現(xiàn)升溫和加水等功能操作,并且控制充氧從而完成對(duì)整個(gè)水族箱的水質(zhì)的自動(dòng)監(jiān)測(cè)和智能控制。此系統(tǒng)不僅大大減輕了人們的負(fù)擔(dān),減少了資源的浪費(fèi)而且形成了一個(gè)小型的循環(huán)系統(tǒng),使得這個(gè)微型的生態(tài)系統(tǒng)可以更好的保存,維持下去。本系統(tǒng)通過(guò)LCD1602液晶顯示屏,進(jìn)行對(duì)水位和水溫等參數(shù)的實(shí)時(shí)顯示,利用DS18B20傳感器進(jìn)行水溫的檢測(cè);以及超聲波傳感

18、器,進(jìn)行對(duì)水位深度的檢測(cè),從而可以更好地了解目前的水位和水溫的狀況3。本系統(tǒng)還增加了紅外線遙控設(shè)置,通過(guò)遙控器進(jìn)行遠(yuǎn)程控制溫度設(shè)置,從而使得使用更加方便。 根據(jù)上文所提到的智能系統(tǒng)的一些要求和將要實(shí)現(xiàn)的功能,本課題初步設(shè)計(jì)了方案,將設(shè)計(jì)主要分為兩大部分:硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。硬件設(shè)計(jì)分別對(duì)應(yīng)溫度顯示,溫度檢測(cè),溫度控制,水位檢測(cè),水位控制,控制充氧,紅外線遙控設(shè)置幾大模塊。相應(yīng)的在軟件方面也是針對(duì)這幾大模塊在Kiel環(huán)境下編寫(xiě)程序。然后進(jìn)行軟件和硬件的聯(lián)合,調(diào)試,并進(jìn)行對(duì)系統(tǒng)的差錯(cuò)和修改,然后把完成的程序下載到開(kāi)發(fā)板中,進(jìn)行最后的脫機(jī)運(yùn)行,檢查核實(shí)是否能夠?qū)崿F(xiàn)所需的以上所有功能。第二章

19、總體方案設(shè)計(jì)2.1 設(shè)計(jì)要求課題設(shè)計(jì)要求如下:(1)能夠?qū)崿F(xiàn)對(duì)水族箱中的溫度進(jìn)行實(shí)時(shí)檢測(cè),并且把溫度控制的范圍在:17-27。(2)通過(guò)萬(wàn)能遙控器輸入來(lái)進(jìn)行對(duì)水族箱預(yù)期溫度的設(shè)置。(3)利用超聲波傳感器,通過(guò)距離差來(lái)判斷水位的高低,從而通過(guò)水深高度的值來(lái)將水位劃分高、低檔。(4)利用LCD1602液晶顯示器進(jìn)行對(duì)水溫的溫度值和設(shè)定值進(jìn)行顯示,并且按鍵輸入超出溫度范圍的時(shí)候會(huì)做出相應(yīng)的指令,表示溫度超出范圍。以及對(duì)水位高度的顯示。(5)基于STC89C52RC單片機(jī),結(jié)合紅外線遙控設(shè)置,對(duì)充氧模塊實(shí)現(xiàn)遠(yuǎn)程開(kāi)關(guān)控制。2.2 總體方案與功能2.2.1 硬件結(jié)構(gòu)框圖水族箱智能控制器是基于STC89C5

20、2RC單片機(jī),該控制器利用DS18B20溫度傳感器對(duì)水溫的溫度值進(jìn)行自動(dòng)檢測(cè),把溫度參數(shù)傳送給單片機(jī),與通過(guò)紅外線遠(yuǎn)程控制設(shè)定溫度數(shù)值相比較,并且對(duì)實(shí)時(shí)溫度值在LCD1602液晶顯示屏上刷新顯示,比較判斷之后如果溫度不夠時(shí),液晶顯示屏上會(huì)顯示“it's heating now”狀態(tài),并且系統(tǒng)會(huì)通過(guò)單片機(jī)發(fā)出指令,對(duì)加熱器進(jìn)行控制,從而達(dá)到設(shè)定溫度的效果4。水位檢測(cè)模塊通過(guò)超聲波傳感器進(jìn)行對(duì)水位的測(cè)量判斷傳出數(shù)據(jù)到單片機(jī)中,與系統(tǒng)設(shè)定的水位高、低檔值相比較,單片機(jī)進(jìn)行指令的發(fā)放,從而控制水泵的工作狀態(tài)來(lái)控制水位的高度。通過(guò)萬(wàn)能遙控器按鍵進(jìn)行充氧設(shè)置。硬件的總體結(jié)構(gòu)設(shè)計(jì)框圖如下圖2.1所示

21、。按鍵設(shè)置模塊水溫檢測(cè)與控制STC89C52RC單片機(jī)水位檢測(cè)與控制 狀態(tài)顯示模塊氧氣的控制設(shè)置圖2.1 總體結(jié)構(gòu)框圖2.2.2 功能組成與控制參數(shù) 結(jié)合目前市場(chǎng)上現(xiàn)有的各種水族箱,了解這些水族箱的功能并分析其中的優(yōu)缺點(diǎn),從而完成本課題研究。本課題研究水族箱智能控制器主要分為以下幾個(gè)部分:主機(jī)控制部分、水溫控制部分、水位控制部分、充氧控制部分、狀態(tài)顯示部分、紅外線設(shè)置部分,這些共同組成了一個(gè)功能完善的多功能智能水族箱控制器。課題研究設(shè)計(jì)的智能控制器的控制對(duì)象是水族箱,智能控制器的主要目的是自動(dòng)地控制相關(guān)參數(shù),從而為水族箱中的魚(yú)類(lèi)提供最合適的水質(zhì)和生活環(huán)境5。在設(shè)計(jì)時(shí)需要注意的相關(guān)控制參數(shù)有:水

22、溫、水位的高低、水中的溶氧量6等。下表2 - 1顯示該控制器對(duì)各項(xiàng)控制參數(shù)的處理7。表2 - 1 控制參數(shù)項(xiàng)目控制參數(shù)相應(yīng)處理措施1水溫根據(jù)設(shè)定的溫度范圍控制加熱器的啟動(dòng)或停止2水位根據(jù)水位高低控制進(jìn)水泵的啟動(dòng)與停止3水溶氧量根據(jù)所需時(shí)間要求定時(shí)控制氧氣泵的啟動(dòng)與停止2.3 主要元器件的選取2.3.1 單片機(jī)的選取本課題我們引用的是由STC公司最新推出的性?xún)r(jià)比相對(duì)比較高的STC89系列單片機(jī)。STC89系列單片機(jī)的性能STC89系列單片機(jī)是MCS-51系列單片機(jī)的派生產(chǎn)品8。它們?cè)谥噶钕到y(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051為pin-to-pin兼容

23、9。STC89C52RC單片機(jī)具有8K的可編程Flash存儲(chǔ)器,512字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口10。另外STC89C52RC可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式11??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作12。其引腳圖如圖2.2所示。圖2.2 STC89C52RC單片機(jī)引腳圖利用的相關(guān)STC89C52RC單片機(jī)的部分重要參數(shù)如下: 增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器

24、周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。 工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V單片機(jī))。 通用I/O口(32個(gè)),復(fù)位后為:P0/P1/P2/P3是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。 共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2。 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式喚醒。2.3.2 溫度傳感器的選取Dallas半導(dǎo)體公司的DS18B20支持“一總線”接口13,溫度測(cè)量范圍為-55+125,可以程序

25、設(shè)定912位的分辨率,精度為±0.514。設(shè)值計(jì)數(shù)器,所設(shè)的值是對(duì)應(yīng)于-55,如果在周期結(jié)束前,計(jì)數(shù)器到達(dá)0,那么溫度寄存器的值就會(huì)增加,這表明所測(cè)得的溫度是大于-55的14。這個(gè)時(shí)候計(jì)數(shù)器復(fù)位,而復(fù)位值是由補(bǔ)償感溫振蕩器拋物線特性的斜坡式累加器電路來(lái)確定的,然后又開(kāi)始計(jì)數(shù),一直計(jì)數(shù)到014。在給定溫度下必須知道計(jì)數(shù)器的值和每一度的計(jì)數(shù)值,這樣才能獲得所需要的分辨力,對(duì)此計(jì)算的結(jié)果,DS18B20 內(nèi)部可提供0.5的分辨力15。DS18B20是可以采用兩種方式供電的,一種是電源供電方式,此時(shí),DS18B20的1號(hào)引腳接地,2號(hào)引腳作為信號(hào)線,3號(hào)引腳接電源。而另一種是寄生電源的供電方

26、式,這時(shí)候的單片機(jī)端口是接單線總線的,因此要使用MOSFET管上拉總線,從而保證在DS18B20的時(shí)鐘周期內(nèi)能夠提供足夠的電流16。此外,DS18B20通過(guò)每個(gè)期間內(nèi)的唯一序列號(hào),允許在一條總線上連接多個(gè)設(shè)備,并且準(zhǔn)確無(wú)誤的控制任何一個(gè)設(shè)備。2.3.3 液晶顯示屏的選取隨著科學(xué)技術(shù)的發(fā)展,液晶顯示器的價(jià)格也逐步降低。液晶顯示器一般可按顯示方式分為字符式、點(diǎn)陣式、段式等,它既可進(jìn)行黑白顯示,也可以進(jìn)行彩色顯示,還能調(diào)節(jié)亮度。它按驅(qū)動(dòng)方式可分為靜態(tài)驅(qū)動(dòng)、單純矩陣驅(qū)動(dòng)、主動(dòng)矩陣驅(qū)動(dòng)三種17。當(dāng)用LCD顯示字符時(shí),則找到對(duì)應(yīng)顯示的RAM區(qū)的8字節(jié),讓每字節(jié)的不同位為“1”,使它在LCD點(diǎn)亮;而其它的則

27、為“0”,而它在液晶顯示屏上就不亮,這樣就顯示成字符了17。在這之后開(kāi)始設(shè)立光標(biāo),然后再將對(duì)應(yīng)的代碼傳送到LCD就能顯示字符。LCD是采用顯示圖形的方式來(lái)顯示漢字的18,而每個(gè)漢字分為左右兩半各占16B。所以,首先要將漢字的點(diǎn)陣碼從單片機(jī)傳送到LCD內(nèi)19,然后根據(jù)LCD上的行列號(hào)和每一行的列數(shù),找出顯示RAM區(qū)相對(duì)應(yīng)的地址,設(shè)立一個(gè)光標(biāo),再把漢字的第一字節(jié)傳輸給LCD,接著使光標(biāo)的位置加上1,再送第二個(gè)字、第 三個(gè)字節(jié)、,當(dāng)32B的漢字的代碼內(nèi)容在LCD上顯示完畢時(shí),那么就可以在LCD上看到一個(gè)完整的漢字了19。2.3.4 超聲波傳感器選取水族箱利用超聲波傳感器進(jìn)行的水位檢測(cè)的工作原理是:超

28、聲波傳感器在40HZ的頻率下工作,基于超聲波發(fā)射器發(fā)出的脈沖信號(hào),利用超聲波在空氣中傳播遇到水族箱的水面之后,聲波返回,超聲波接受器接受返回信號(hào),從而計(jì)算在空中和遇到水面之后傳回的傳播的時(shí)間從而計(jì)算出傳播距離。將超聲波傳感器在水族箱中的擺放位置和水族箱底部的距離減去傳播距離,得到的就是水族箱的水深深度值,通過(guò)LCD液晶顯示屏進(jìn)行實(shí)時(shí)刷新傳送數(shù)值,從而可以更好地知道水位的深度值。其中超聲波傳感器的計(jì)算公式如下: T 式中:V為超聲波在空氣中傳播速度;T為環(huán)境溫度。 式中:S為被測(cè)距離;t為發(fā)射超聲脈沖與接收其回波的時(shí)間差;t1為超聲回波接收時(shí)刻;t0為超聲脈沖發(fā)射時(shí)刻。選用超聲波傳感器的優(yōu)點(diǎn)有:

29、首先傳回的數(shù)值是一個(gè)精確值,不是普通的水位傳感器的模糊概念值,其次超聲波傳感器沒(méi)有機(jī)械傳動(dòng)部件,也不需要直接接觸水面,不用擔(dān)心電磁干擾,不會(huì)被水面觸碰氧化等,具有很高的穩(wěn)定性,可靠性,使用期限較長(zhǎng)。另一個(gè)因素是超聲波傳感器的響應(yīng)時(shí)間比較短可以進(jìn)行實(shí)時(shí)檢測(cè)。2.3.5 紅外線模塊的選取在本系統(tǒng)中我們采用紅外一體化接收頭HS0038。HS0038的主要材料是 黑色環(huán)氧樹(shù)脂,因此不受到日光、熒光燈等光源的干擾,并且其內(nèi)附磁屏蔽,功耗低,靈敏度高20。在使用小功率發(fā)射管發(fā)射信號(hào)情況下,其接收距離可達(dá)35m21。它接收紅外信號(hào)頻率為38 kHz,周期約26 us,同時(shí)能對(duì)信號(hào)進(jìn)行放大、檢波、整形,得到T

30、TL 電平的編碼信號(hào)22。其三個(gè)管腳分別是接地、接5 V 電源、以及解調(diào)信號(hào)輸出端23。 紅外接收電路一體化的紅外接收裝置將遙控信號(hào)的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識(shí)別TTL 信號(hào),這樣大大簡(jiǎn)化了接收電路的復(fù)雜程度和電路的設(shè)計(jì)工作,方便使用24。第3章 硬件設(shè)計(jì)3.1 硬件總體設(shè)計(jì)思路本次課設(shè)的硬件部分分為了六個(gè)大的子系統(tǒng)模塊:主控制電路設(shè)計(jì)、水溫控制電路設(shè)計(jì)、水位控制電路設(shè)計(jì)、充氧控制電路設(shè)計(jì)、按鍵設(shè)置電路設(shè)計(jì)、紅外線電路設(shè)計(jì)。這六大子系統(tǒng)共同構(gòu)成了水族箱智能控制器的硬件電路設(shè)計(jì)。 3.2 主控制電路設(shè)計(jì)主系統(tǒng)是基于STC89C52單片機(jī)設(shè)計(jì)的控制系

31、統(tǒng),其硬系統(tǒng)的結(jié)構(gòu)成分主要分為以下幾個(gè)板塊:(1)溫度檢測(cè)和控制部分:溫度傳感器的輸出信號(hào)由I/O口傳出,經(jīng)處理傳送到單片機(jī)的P2.2口,單片機(jī)處理判斷之后從P2.4發(fā)出高、低電平,來(lái)控制溫度控制電路從而控制加熱器的制熱或者停止。(2)水位控制和檢測(cè)部分:超聲波傳感器通過(guò)P2.0和P2.1兩個(gè)端口接入單片機(jī),傳入信號(hào),然后單片機(jī)通過(guò)P1.0-P1.3信號(hào)口,通過(guò)ULN2003芯片放大信號(hào)從而控制抽水泵的開(kāi)斷狀態(tài)。(3)控制部分的設(shè)置:系統(tǒng)可以通過(guò)紅外線設(shè)置部分進(jìn)行對(duì)通過(guò)紅外線感應(yīng)器傳出信號(hào)到P3.2口,單片機(jī)進(jìn)行信號(hào)處理從而控制溫度的設(shè)置。(4)充氧控制部分的設(shè)計(jì):?jiǎn)纹瑱C(jī)通過(guò)P3.2口與充氧控

32、制電路相連接,從而控制氧氣泵的開(kāi)斷狀態(tài),達(dá)到控制充氧的目的。主系統(tǒng)控制電路圖如圖3.1所示。圖3.1主系統(tǒng)控制電路圖 (5)晶振電路:晶振電路由兩個(gè)電容和晶振片構(gòu)成,形成了穩(wěn)定的自激振蕩器。電容通常選擇30PF,對(duì)震蕩頻率有微調(diào)的作用,晶振的頻率為11.0592MHZ。由于晶振的頻率對(duì)單片機(jī)的時(shí)鐘頻率產(chǎn)生決定性因素,因此晶振所提供的時(shí)鐘頻率越高,就會(huì)使得單片機(jī)的運(yùn)行速率越快,所以是單片機(jī)的“心臟”。 晶振電路的產(chǎn)生的振蕩脈沖都是通過(guò)一個(gè)2分頻的觸發(fā)器而成為內(nèi)部時(shí)鐘信號(hào)。時(shí)鐘信號(hào)經(jīng)過(guò)3分頻產(chǎn)生ALE信號(hào),經(jīng)過(guò)6分頻產(chǎn)生機(jī)器周期信號(hào)。因而,對(duì)于內(nèi)部振蕩時(shí)鐘電路而言,ALE信號(hào)頻率為晶振固有頻率的1

33、/6,機(jī)器周期信號(hào)頻率為晶振固有頻率的1/12。其電路圖如下圖3.2所示。圖3.2 晶振電路圖 (6)復(fù)位按鍵電路:外部RST引腳復(fù)位就是從外部向RST引腳施加一定寬度的復(fù)位脈沖,從而實(shí)現(xiàn)單片機(jī)復(fù)位。將RST管腳拉高并維持至少24個(gè)時(shí)鐘加10us后,單片機(jī)會(huì)進(jìn)入復(fù)位狀態(tài)。將RST復(fù)位管腳拉回低電平后,單片機(jī)結(jié)束復(fù)位狀態(tài)并從用戶(hù)程序區(qū)的0000H狀態(tài)開(kāi)始正常工作。其電路圖如圖3.3所示。圖3.3 復(fù)位按鍵電路原理圖 (7)電源開(kāi)關(guān)電路:其主要的作用是就是為了使單片機(jī)上電,從而單片機(jī)可以正常工作。其電路圖如圖3.4所示。圖3.4電源開(kāi)關(guān)電路3.3 水溫控制電路設(shè)計(jì)DS18B20溫度傳感器1號(hào)引腳接

34、地,3號(hào)引腳接電源,2號(hào)數(shù)據(jù)輸入/輸出引腳端接單片機(jī)的P2.2口。其硬件電路如圖3.5所示。圖3.5 溫度檢測(cè)電路將溫度傳感器放入水中,然后被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出通過(guò)P22口傳送數(shù)字信號(hào)到STC89C52RC單片機(jī)系統(tǒng)中。單片機(jī)將傳感器傳出的溫度值,從P1口傳送到LCD1602液晶顯示屏上,顯示出當(dāng)前的實(shí)時(shí)溫度。該溫度值還將與按鍵控制部分輸入的設(shè)定的溫度值相比較,如果當(dāng)前水族箱中的水的實(shí)時(shí)溫度值低于設(shè)定的溫度值下限,則單片機(jī)將會(huì)給P2.2端口一個(gè)低電平,觸發(fā)繼電器吸合,加熱泵開(kāi)始工作,水溫開(kāi)始增加,LCD1602液晶顯示屏開(kāi)始刷新現(xiàn)在的溫度。當(dāng)水溫溫度值上升時(shí)達(dá)到了溫度設(shè)

35、定范圍之內(nèi),單片機(jī)將發(fā)出高電平,從而使得繼電器斷開(kāi),水溫停止加熱。當(dāng)水溫高于設(shè)定的最高值時(shí)候,單片機(jī)會(huì)通過(guò)P2.5端口給蜂鳴器發(fā)出指令,這時(shí)蜂鳴器會(huì)發(fā)出聲響,從而來(lái)報(bào)告水溫過(guò)高。如此循環(huán),可以使得水族箱中的水溫保持在一個(gè)設(shè)定的溫度范圍之內(nèi)。根據(jù)不同魚(yú)種生存環(huán)境如表一所示25。錦鯉 金魚(yú) 熱帶魚(yú)幼魚(yú)期 2225 22252022成魚(yú)期 2325 24271720繁殖期 1720 17201921表1 不同魚(yú)種生存環(huán)境規(guī)則表所以將水溫的溫度范圍設(shè)定在17-27的范圍之內(nèi),將更加適合水族箱中各種魚(yú)類(lèi)的生存。其水溫控制電路圖如圖3.6所示38圖3.6 水溫控制電路圖3.4 水位控制電路設(shè)計(jì)本課題采用的

36、是HC-SR04超聲波傳感器集成模塊,該模塊4號(hào)引腳接地,1號(hào)引腳接電源,TRIG觸發(fā)控制信號(hào)輸入接的是單片機(jī)的P1.6口,ECHO回響信號(hào)輸出端口接的是單片機(jī)的P1.7口。其中兩個(gè)電阻值設(shè)定為10K大小,是進(jìn)行限流的作用。超聲波傳感器通過(guò)聲波測(cè)水位液面的距離,進(jìn)行內(nèi)部轉(zhuǎn)換成數(shù)字信號(hào)傳給單片機(jī),單片機(jī)將水深的數(shù)值通過(guò)P0口傳送到LCD1602液晶顯示屏上,通過(guò)顯示屏顯示當(dāng)前水位值。并且傳感器傳送到單片機(jī)的實(shí)時(shí)數(shù)據(jù)會(huì)和系統(tǒng)設(shè)定值相比較,當(dāng)數(shù)值比較之后低于設(shè)定值,則單片機(jī)通過(guò)P1.0口傳送信號(hào)經(jīng)ULN2003放大處理,通過(guò)C1口控制抽水泵工作,當(dāng)水位高度達(dá)到設(shè)定范圍之后,單片機(jī)會(huì)發(fā)出低電平使得抽水

37、泵停止轉(zhuǎn)動(dòng),并且液晶顯示屏?xí)⑿庐?dāng)前水深數(shù)值,在顯示屏上顯示。其水位檢測(cè)電路圖和水位控制電路圖,分別如下圖圖3.8 a,b所示。圖3.7 水位檢測(cè)電路圖圖3.8 水位控制電路圖3.5 充氧控制電路設(shè)計(jì) 如今生物的生存基本都離不開(kāi)氧氣,同樣水族們的生存也需要氧氣的支撐。所以本課題針對(duì)這方面設(shè)計(jì)了充氧設(shè)置。由于溶氧量的不容易檢測(cè),或者檢測(cè)設(shè)備成本過(guò)高,所以通過(guò)按鍵來(lái)控制氧氣泵的開(kāi)斷狀態(tài)。由于一般常識(shí)可知,氧氣泵一般都是一直開(kāi)著的,所以只需要按鍵控制氧氣泵的開(kāi)關(guān)狀態(tài)即可。為了設(shè)置方便,增加了在萬(wàn)能遙控器上設(shè)置了控制開(kāi)關(guān),通過(guò)當(dāng)按下遙控控制鍵之后,單片機(jī)會(huì)發(fā)出低電平信號(hào),通過(guò)P2.3口傳送到繼電器,使

38、得繼電器吸合,氧氣泵開(kāi)始工作。當(dāng)不需要充氧的時(shí)候,按鍵控制鍵,單片機(jī)發(fā)出高電平給控制系統(tǒng),繼電器斷開(kāi),氧氣泵停止工作。在充氧過(guò)程中增加了4個(gè)LED指示燈,通過(guò)單片機(jī)P1.2-P1.5四個(gè)LED指示燈表示水中氧氣濃度的不同層次。從而可以更好地了解水中的氧氣狀態(tài)。其控制設(shè)計(jì)電路圖如下圖3.9所示。圖3.9 充氧控制原理圖3.6 狀態(tài)顯示電路設(shè)計(jì)本課題一些主要的系統(tǒng)參數(shù)都是通過(guò)LCD1602液晶顯示屏顯示,充氧含量的部分則通過(guò)4個(gè)LED燈來(lái)顯示其含氧狀態(tài)。其中液晶顯示屏顯示的主要是系統(tǒng)控制主界面,水族箱中水的水溫值,和水位的水深深度值以及操作步驟顯示。其中LCD的2號(hào)引腳和15號(hào)引腳接電源,1號(hào)引腳

39、和16號(hào)引腳接地。7號(hào)到14號(hào)引腳接單片機(jī)的P0口,該引腳是雙向的既可以寫(xiě)數(shù)據(jù)也可以讀數(shù)據(jù),接受單片機(jī)的相應(yīng)指令。LCD的RS數(shù)據(jù)/命令選擇功能口接單片機(jī)的P3.5接口,當(dāng)發(fā)出高電平時(shí)為數(shù)據(jù)存儲(chǔ)器,發(fā)出低電平時(shí)為指令存儲(chǔ)器。RW讀寫(xiě)/選擇端口接單片機(jī)的P3.6接口,高電平時(shí)讀操作,低電平時(shí)寫(xiě)操作,可以讓單片機(jī)實(shí)現(xiàn)自由讀取和寫(xiě)命令功能。LCD上的使能端LCDEN接單片機(jī)的P3.4端口,高電平變?yōu)榈碗娖降臅r(shí)候可以進(jìn)行寫(xiě)入命令操作。LCD的3號(hào)引腳接了一個(gè)電位器,是為了更好地調(diào)整LCD液晶顯示屏的顯示亮度,對(duì)比度等。當(dāng)RS和R/W共同為低電時(shí)可以寫(xiě)入指令或則顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)候

40、,可以讀數(shù)據(jù),當(dāng)RS為高電平,R/W為低電平時(shí)可寫(xiě)入數(shù)據(jù)。其電路原理圖如下圖3.10所示。圖3.10 LCD1602液晶顯示電路圖3.7 按鍵設(shè)置電路設(shè)計(jì)這次主要應(yīng)用的是開(kāi)發(fā)板上的幾個(gè)獨(dú)立按鍵。其中S2接的是單片機(jī)的P3.0口,用來(lái)進(jìn)入溫度顯示模塊的按鍵。S3接的是單片機(jī)的P3.1口,是用來(lái)進(jìn)入紅外線模式,從而可以通過(guò)紅外線來(lái)進(jìn)行對(duì)主要參數(shù)的設(shè)定以及充氧的控制,和手動(dòng)加水的控制。S4接的是單片機(jī)的P3.2口。S5接的是單片機(jī)的P3.3口,其功能使進(jìn)入超聲波控制水位深度模塊,通過(guò)感應(yīng)水位的高低,從而和系統(tǒng)的設(shè)定值相比較,從而控制水泵的工作狀態(tài)。其電路原理設(shè)計(jì)圖如下圖3.11所示。圖3.11 按鍵

41、設(shè)置模塊電路原理圖3.8 紅外線電路設(shè)計(jì)此次課題利用了紅外線萬(wàn)能遙控器模塊進(jìn)行對(duì)水位,水溫等參數(shù)值得設(shè)定。一般而言,紅外遙控系統(tǒng)由發(fā)射裝置和接收裝置兩大部分組成。其中發(fā)射裝置主要包括鍵盤(pán)電路、紅外編碼芯片、電源和紅外發(fā)射電路組成(例如萬(wàn)能遙控器);紅外接收設(shè)備可由紅外接收電路、紅外解碼芯片、電源和應(yīng)用電路組成(例如開(kāi)發(fā)板上有紅外接收電路,單片機(jī)充當(dāng)解碼芯片)。用紅外線是為了實(shí)現(xiàn)使用更加方便的功能。2號(hào)引腳和3號(hào)引腳分別接地和電源。1號(hào)引腳一端串聯(lián)一個(gè)1K的電阻到上拉電源,這是為了分流,免得電流過(guò)大影響單片機(jī)的正常使用,另一端接的是單片機(jī)的P3.2口,HS0038通過(guò)信號(hào)進(jìn)行內(nèi)部解碼傳送數(shù)據(jù)到單

42、片機(jī),然后進(jìn)行對(duì)設(shè)定值進(jìn)行改變,并且通過(guò)LCD1602顯示出目前的操作,這樣相比按鍵功能起到了很大的便捷作用。其電路圖如下圖所示3.12所示。圖3.12 無(wú)線控制模塊3.9 原理圖及電路板設(shè)計(jì) 此次畢業(yè)設(shè)計(jì)針對(duì)系統(tǒng)的原理圖和PCB的繪制我采用了Altium2004軟件。由于Protel DXP軟件是第一個(gè)將各種設(shè)計(jì)工具集于一體的板級(jí)設(shè)計(jì)系統(tǒng),并且讓電子設(shè)計(jì)者從最初的項(xiàng)目模塊規(guī)劃一直到最終形成生產(chǎn)數(shù)據(jù)都可以按照自己的獨(dú)特的設(shè)計(jì)理念來(lái)實(shí)現(xiàn)。其中設(shè)計(jì)輸入仿真、PCB繪制編輯、拓?fù)渥詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)融合,使得Protel DXP為使用者提供了各種解決的設(shè)計(jì)方案。該軟件能夠從概念設(shè)

43、計(jì),到輸出生產(chǎn)數(shù)據(jù)。所有分析的驗(yàn)證、設(shè)計(jì)的數(shù)據(jù)管理都實(shí)現(xiàn)一體化26。并且該軟件的元件庫(kù)十分豐富,并且每個(gè)元件都有自己的封裝圖,也擁有一定的封裝庫(kù),使用起來(lái)十分方便。在使用的時(shí)候首先創(chuàng)建了項(xiàng)目工程Project,然后在其項(xiàng)目下面增加SCHDOC文件和PCB文件,在其中利用已有的元件庫(kù),畫(huà)出元件圖。在原理圖繪畫(huà)當(dāng)中在各個(gè)模塊相連接的地方,本次沒(méi)有選擇使用連線,而是使用了網(wǎng)絡(luò)標(biāo)簽,這樣可以使得整個(gè)系統(tǒng)看起來(lái)更加美觀,清晰,但是同樣起到了連接的功能。其中針對(duì)幾個(gè)沒(méi)有的模塊,繼電器,DS18B20溫度傳感器,HS2003紅外線,HC-SR04超聲波傳感器傳感器等沒(méi)有的元件,需要在SCHDOCDE的 li

44、brary界面畫(huà)出元件以及在PCB的library界面畫(huà)出封裝圖。在其中要原理圖的封裝圖時(shí)注意引腳,焊盤(pán),位置標(biāo)記等的設(shè)置。將原理圖導(dǎo)入PCB設(shè)計(jì)時(shí)候要注意檢查元器件的數(shù)量和連線等,從而間接檢查電路設(shè)計(jì)連線的合理性。在布線的時(shí)候要注意層次性,一般在兩個(gè)層次布線在TOP Layer層和Bottom Layer層,在Multi Layer層布置禁止布線層是為了防止有線路超出范圍從而防止制作板子的時(shí)候?qū)е戮€路不通。其中TOP層布線是紅色的,Bottom層布線是藍(lán)色的,Multi Layer層是紫色的,在布線的時(shí)候注意層次感。其次在布線的時(shí)候同層線不能相互穿插只能,這是為了防止線路短接。在Altium

45、2004中布線其中有兩種,自動(dòng)布線和手動(dòng)布線,由于自動(dòng)布線無(wú)法將電源線,接地線凸顯出來(lái),所以就沒(méi)有使用,本次布線當(dāng)中,選擇的是手動(dòng)布線,手動(dòng)布線的好處是可以把各個(gè)模塊的部分選擇性的連接起來(lái),這樣較為美觀,另外電源線基本是在頂層布線的粗細(xì)選擇了30mm,底線采用的是20mm,其余線選擇的是10mm。從而可以直觀的從PCB原理圖上看到元器件的電源線和地線的接線情況。在布線的時(shí)候我選擇的是模塊化,將溫度傳感器模塊,水位檢測(cè)模塊,水位控制和水溫控制模塊等按照電路連接方便性放在一起并保持一定的距離,這樣可以方便布線的穿插。另外芯片附近都盡量放置小型電容,這樣可以起到一定的屏蔽信號(hào)的作用。在PCB繪制完成

46、之后使用DRC檢查PCB圖,這樣可以確保PCB板完全符合要求。PCB圖如下圖3.13所示。圖3.13 PCB圖第四章 軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)方法本次使用的軟件是Keil uVision 4開(kāi)發(fā)軟件,這個(gè)軟件提供了一個(gè)良好的開(kāi)發(fā)環(huán)境,可以讓開(kāi)發(fā)者更加方便操作和使用。由于如今51單片機(jī)的軟件部分,幾乎都是模塊化的,通過(guò)幾個(gè)模塊的整合,然后進(jìn)行調(diào)試、修整、優(yōu)化等從而達(dá)到整體預(yù)期的效果,所以此次我也將整體系統(tǒng)的軟件分為了幾個(gè)模塊化。其中主要分為6個(gè)大的模塊:主控制模塊、液晶顯示模塊、溫度控制與顯示模塊、紅外線遙控設(shè)置模塊、水位控制與顯示模塊、充氧控制與顯示模塊。4.2 主控制模塊主控制模塊軟件流程圖

47、如圖4.1所示。圖4.1 主程序流程圖為了方便后面的操作,我把主控制部分設(shè)置成了菜單界面,通過(guò)三個(gè)獨(dú)立按鍵S2、S3、S5三個(gè)獨(dú)立按鍵來(lái)控制界面菜單的選擇。獨(dú)立按鍵是最簡(jiǎn)單的鍵盤(pán)輸入設(shè)計(jì),每個(gè)按鍵單獨(dú)占有一個(gè)I/O,當(dāng)按下和釋放按鍵時(shí)候,輸入到I/O端口的電平是不一樣的,程序中按照端口的電平不同判斷是否有按鍵按下,并執(zhí)行相應(yīng)的程序段。為了用戶(hù)的理解和方便,將S2、S3、S5三個(gè)功能選擇鍵用簡(jiǎn)寫(xiě)代替,也就是(0,0,"S2:wdS3:hwS5:csb")和(0,1,"Smart Fishtank")。其中改程序語(yǔ)句第一個(gè)0表示從第一個(gè)顯示位開(kāi)始顯示,后面的

48、1和0分別表示在第二行和第一行的顯示,再后面是根據(jù)優(yōu)化使用的顯示字符。第一個(gè)循環(huán)是判斷獨(dú)立鍵盤(pán)的按鍵按下情況,通過(guò)判斷按下的情況不同,可以跳轉(zhuǎn)到相應(yīng)的子功能當(dāng)中,為更好的響應(yīng)操作每個(gè)獨(dú)立按鍵按下后會(huì)延遲10ms。按下S2功能鍵,會(huì)跳轉(zhuǎn)到溫度顯示和控制部分,進(jìn)入該界面之后會(huì)顯示第二行顯示Push S2 to ret,第一行會(huì)顯示當(dāng)前的實(shí)時(shí)溫度值并判斷是否打開(kāi)加熱泵。按下S3的功能鍵,則跳轉(zhuǎn)到紅外線萬(wàn)能遙控器設(shè)定部分液晶顯示屏上會(huì)顯示"Welcometo set wd"和"Push CH to manu!"則進(jìn)入了溫度設(shè)置值和水位設(shè)置值部分利用遙控器進(jìn)行操作

49、。按下S5的功能鍵,則跳轉(zhuǎn)到超聲波測(cè)水位并控制部分并顯示"welcome to echo!",會(huì)顯示出當(dāng)前的水深數(shù)值并判斷是否打開(kāi)抽水泵。其實(shí)物效果圖如下圖4.2所示.圖4.2 主界面顯示4.3 液晶顯示模塊LCD1602液晶模塊是一種專(zhuān)門(mén)用于顯示數(shù)字、英文字母和符號(hào)的點(diǎn)陣式液晶模塊,可以顯示兩行字符。首先對(duì)液晶顯示屏的主要參數(shù)進(jìn)行定義,在該子系統(tǒng)中主要用了兩種功能即寫(xiě)數(shù)據(jù)和寫(xiě)指令兩種基本操作時(shí)序,分別對(duì)應(yīng)的引腳定義為RS=1,RW=0,D0D7=數(shù)據(jù),EN=1;RS=0,RW=0,D0D7=指令,EN=1,其中給P0口定義為DataPort,DataPort = byte

50、表明數(shù)據(jù)從P0口傳送到LCD1602液晶顯示屏上。通過(guò)單片機(jī)的不停地刷新命令,從而顯示不同的狀態(tài)。初始化狀態(tài)中有重要的指令:需要調(diào)用LCD1602_Write_Cmd()函數(shù),其中0x38表示設(shè)置16*2顯示,8位數(shù)據(jù)的接口;0x0c表示開(kāi)顯示;0x06表示讀寫(xiě)一字節(jié)后指針加一,即向后移位一;0x01則是清除指令,用以清除顯示,在這里不進(jìn)行過(guò)多的介紹27。 除了上述的指令之外,本模塊軟件設(shè)計(jì)部分還有一個(gè)重要的工作,就是將實(shí)時(shí)溫度顯示到液晶顯示屏上,由于是顯示變動(dòng)的單個(gè)字符,因此調(diào)用了另外一種功能函數(shù),此函數(shù)的主要功能是寫(xiě)指令和數(shù)據(jù),其中一個(gè)是“LcdWriteCom”,而另一個(gè)則是LcdWri

51、teData28。該程序中定義了X變量和Y變量,其中X變量:要顯示的橫坐標(biāo)取值0-40,y變量:要顯示的行坐標(biāo)取值0-1(0為第一行,1為第二行)“l(fā)cd1602_write_com(0x80 + x)”所以該指令表示從X位開(kāi)始顯示。在該系統(tǒng)中,LCD1602液晶顯示屏主要顯示的是操作界面的提示,溫度操作指令提示,實(shí)時(shí)溫度值,水位深度值,紅外線遙控界面和設(shè)定操作界面等主要參數(shù)。4.4 溫度控制顯示模塊單片機(jī)每次對(duì)每次對(duì)DS18B20發(fā)起操作都必須嚴(yán)格按照下面的流程執(zhí)行:初始化,發(fā)送ROM命令(包含數(shù)據(jù)交互),DS18B20功能命令(包括需要的數(shù)據(jù)交互)這個(gè)交互順序非常重要,每次訪問(wèn)DS18B2

52、0都需要按照這個(gè)序列執(zhí)行,如果某個(gè)序列中某個(gè)步驟丟失或則順序出錯(cuò),DS18B20將沒(méi)有響應(yīng),只有一種例外就是搜索命令ROM命令F0h和搜索警報(bào)命令ECh。當(dāng)命令序列執(zhí)行完畢之后,主控制返回初始化。此程序部分主要實(shí)現(xiàn)的是對(duì)水溫一塊的控制和顯示,程序部分首先分為幾個(gè)小的模塊。最重要的模塊之一就是對(duì)傳感器的初始化和復(fù)位操作,在初始化過(guò)程中需要先拉低總線480us960us,然后再調(diào)用延時(shí)函數(shù)進(jìn)行延時(shí)642us,之后再把總線拉高。如果DS18B20有反應(yīng),就會(huì)在15us60us后拉低總線。在這之后,就等待DS18B20拉低總線,當(dāng)?shù)却臅r(shí)間超過(guò)5ms時(shí),那就意味著初始化失敗,如果等待的時(shí)間沒(méi)有超過(guò)5m

53、s,就表示初始化已經(jīng)成功29。其次就開(kāi)始寫(xiě)命令操作和讀字節(jié)命令操作,就是需要將所測(cè)溫度值寫(xiě)入傳感器當(dāng)中。在寫(xiě)字節(jié)的時(shí)候,所有寫(xiě)時(shí)序時(shí)間必須60us以上,包括需要先將總線拉低1us時(shí)間,當(dāng)總線把數(shù)據(jù)線拉低到低總線的時(shí)候,就可以寫(xiě)數(shù)據(jù)了,寫(xiě)完之后延時(shí)30us之后再把數(shù)據(jù)線拉高。溫度數(shù)值被寫(xiě)進(jìn)傳感器之后,就需要將溫度值使用起來(lái),需要對(duì)傳感器中的溫度值進(jìn)行讀取。在讀取時(shí)序的時(shí)候,同樣需要1us的恢復(fù)時(shí)間,并且所需總時(shí)間也是60us,所以在讀取之前需要拉低,等1us恢復(fù)之后,在讀取后面的數(shù)據(jù),待讀取數(shù)據(jù)之后再將數(shù)據(jù)總線拉高。溫度控制與顯示的主控制模塊,需要先將寫(xiě)入的數(shù)據(jù)存入暫存器,再將暫存器中的數(shù)據(jù)讀取

54、出來(lái),數(shù)據(jù)進(jìn)行處理然后乘以0.0625,得到溫度值30。得到的溫度值,首先和最高溫度值相比較,如果溫度值超過(guò)最高設(shè)定值給蜂鳴器一個(gè)高電平,蜂鳴器響10us時(shí)間,然后停止,這樣起到一個(gè)報(bào)警的作用,可以用手動(dòng)的加水,從而降低溫度。溫度值再與最低溫度相比較,如果溫度值低于設(shè)定最低值,則單片機(jī)給繼電器發(fā)出低電平,繼電器吸合通電,控制加熱泵工作,并且液晶屏上會(huì)顯示"it's heating now"字樣,當(dāng)水溫升高到最低溫度之后會(huì),給繼電器高電平,停止工作"it stops heating"。由于加熱泵會(huì)有余溫,溫度會(huì)升高,然后會(huì)持續(xù)循環(huán)。4.5 水位控制

55、與顯示模塊水位這塊,由于采用的是超聲波傳感器集成模塊,所以數(shù)據(jù)在超聲波傳感器模塊傳出的是數(shù)字信號(hào)而不是模擬信號(hào)。該部分主要分為該模塊的引腳定義、初始化程序、延遲時(shí)間、超聲波測(cè)距、水位深度顯示與控制、定時(shí)器設(shè)置幾個(gè)子模塊。由于模擬一個(gè)真實(shí)水族箱,所以找了一個(gè)深度20cm的小水桶模擬水族箱。通過(guò)中斷,Trig引腳置1,超聲波發(fā)出信號(hào),延時(shí)20us后檢測(cè)回來(lái)波形,Echo回波引腳變高電平。然后與設(shè)定的20cm構(gòu)成減法,20cm減去測(cè)出的距離值,就是此時(shí)水族箱的水位深度值,并且在液晶屏上顯示出當(dāng)前的水深數(shù)值:distance:0000mm。顯示器前八位顯示距離的英文單詞,從第九位開(kāi)始顯示出水位的深度,

56、水位的單位mm在13為開(kāi)始顯示。此水位值會(huì)與設(shè)定值相比較當(dāng)水深低于150mm時(shí),會(huì)給蜂鳴器一個(gè)低電平從而使得蜂鳴器報(bào)警,并且此時(shí)給繼電器一個(gè)低電平,繼電器工作從而控制抽水泵開(kāi)始抽水,并且這個(gè)狀態(tài)持續(xù)2s,2s鐘抽水的量也不大便于控制。之所以持續(xù)2s是因?yàn)?,這時(shí)候開(kāi)了中斷,抽水泵開(kāi)始工作,免得水位過(guò)高,此時(shí)超聲波傳感器沒(méi)有工作,所以不能實(shí)時(shí)檢測(cè),如果換做多系統(tǒng)操作的話,也許可以同時(shí)工作,避免這個(gè)情況。通過(guò)定時(shí)器控制中斷,在2s抽水泵停止工作,中斷結(jié)束,超聲波繼續(xù)檢測(cè)此時(shí)水位深度并顯示在顯示屏上,如果水深深度超過(guò)了15cm此時(shí),會(huì)發(fā)出一個(gè)高電平給繼電器,從而使得繼電器停止工作,抽水泵停止抽水。顯示器里不停地刷新出當(dāng)前的實(shí)時(shí)水位深度,并且能實(shí)現(xiàn)水位智能控制系統(tǒng)。4.6 紅外線遙控設(shè)置模塊 本次課題選擇使用了HS

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論