版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著21世紀(jì)科技的發(fā)展,人們生活水平的逐漸提高,居住環(huán)境得到極大地提升,裝飾產(chǎn)業(yè)悄然出現(xiàn),使得觀賞魚(yú)缸得到了大眾們的青睞。但是現(xiàn)在人們的生活節(jié)奏越來(lái)越快,而傳統(tǒng)的魚(yú)缸需要人們花費(fèi)大量的時(shí)間和精力來(lái)維修和養(yǎng)護(hù)。因此設(shè)計(jì)一款自動(dòng)控制,定時(shí)換水,投喂的智能魚(yú)缸,能夠使愛(ài)好養(yǎng)魚(yú)的人們減少大量養(yǎng)護(hù)魚(yú)缸的時(shí)間和精力,在市場(chǎng)上有非常好的發(fā)展前景。本課題是了一個(gè)基于單片機(jī)的智能魚(yú)缸自動(dòng)控制系統(tǒng)。以STC89C52單片機(jī)作為系統(tǒng)的核心,設(shè)計(jì)了水溫檢測(cè)模塊,通過(guò)溫度傳感器,來(lái)檢測(cè)魚(yú)缸中的水溫,將采集的信息發(fā)送給單片機(jī),由單片機(jī)控制加熱制冷。同時(shí)設(shè)置了定時(shí)模塊,來(lái)自動(dòng)控制魚(yú)缸的換水和投喂。注水時(shí),由水位檢測(cè)電路來(lái)控制停止注水。此設(shè)計(jì)可以實(shí)現(xiàn)對(duì)水族箱的智能化控制,可以克服目前水族箱市場(chǎng)上各種設(shè)備獨(dú)立工作和需要手動(dòng)帶來(lái)的不便,并且成本低廉、性能可靠。關(guān)鍵詞:智能魚(yú)缸;STC89C52單片機(jī);DS18B20溫度傳感器;ABSTRACTWiththedevelopmentofscienceandtechnologyinthe21stcentury,people'slivingstandardshavebeengraduallyimproved,thelivingenvironmenthasbeengreatlyimproved,andthedecorationindustryhasquietlyemerged,makingtheornamentalfishtankpopularwiththepublic.Butnowpeople'slifeisgettingfasterandfaster,andthetraditionalfishtankneedspeopletospendalotoftimeandenergytorepairandmaintain.Therefore,designinganintelligentfishtankwithautomaticcontrol,regularwaterchangeandfeedingcanreducethetimeandenergyoffishtankmaintenanceforpeoplewholovefishfarming,whichhasaverygooddevelopmentprospectinthemarket.Thistopicisanintelligentfishtankautomaticcontrolsystembasedonsinglechipmicrocomputer.WithSTC89C52singlechipmicrocomputerasthecoreofthesystem,awatertemperaturedetectionmoduleisdesigned,whichdetectsthewatertemperatureinthefishtankthroughatemperaturesensor,andsendsthecollectedinformationtothesinglechipmicrocomputer,whichcontrolsheatingandcooling.Atthesametime,atimingmoduleissettoautomaticallycontrolthewaterchangingandfeedingofthefishtank.Whenwaterisinjected,thewaterleveldetectioncircuitcontrolstostopwaterinjection.Thisdesigncanrealizetheintelligentcontroloftheaquarium,overcometheinconveniencecausedbytheindependentoperationandmanualoperationofvariousequipmentsintheaquariummarket,andhaslowcostandreliableperformance.KEYWORDS:STC89C52single-chipcompute;Temperaturesensor;Liquidlevelsensor;automation;Fishtank第一章緒論1.1課題研究的目的及意義隨著我國(guó)經(jīng)濟(jì)水平的發(fā)展,人們生活水平的不斷提高,居住環(huán)境也得到了質(zhì)的飛躍,裝飾業(yè)的悄然出現(xiàn),使魚(yú)缸成為了我們國(guó)家很多家庭用于裝飾居家環(huán)境的青睞物,但是在現(xiàn)在的中國(guó),生活工作節(jié)奏越來(lái)越快,大多數(shù)的家庭擁有觀賞魚(yú)缸的水族愛(ài)好者表示日常沒(méi)有過(guò)多的時(shí)間和精力去對(duì)魚(yú)缸進(jìn)行日常的維護(hù)工作,因此設(shè)計(jì)一款能夠自動(dòng)控制加水換氧,恒溫,甚至自動(dòng)按時(shí)投喂的魚(yú)缸自動(dòng)控制系統(tǒng)能夠大大減少水族愛(ài)好者們對(duì)于魚(yú)缸維護(hù)工作投入的時(shí)間和精力,對(duì)于魚(yú)缸市場(chǎng)有巨大的促進(jìn)作用,具有很大的市場(chǎng)和發(fā)展前景。針對(duì)水族箱的控制問(wèn)題,也陸續(xù)出現(xiàn)了各種控制水族箱水溫、水位、充氧和排水的設(shè)備,如過(guò)濾器、加熱器、加氧泵等改善水環(huán)境的設(shè)備。但是由于產(chǎn)品繁多,功能不同意,而且大多是非智能化的,單一的恒溫控制、充氧或是排水的系統(tǒng)。如果組成一套完整的結(jié)合一體的控制系統(tǒng),往往需要購(gòu)置多個(gè)設(shè)備分別安裝,投入的費(fèi)用較大,也存在一定的資源浪費(fèi)。這樣不僅增加了成本,重復(fù)投資,影響美觀,而且功能使用不靈活、不方便,整體性能也無(wú)法得到提升。因此,本設(shè)計(jì)以家庭中水族箱的日常養(yǎng)護(hù)為背景,以水族箱中的水位、水溫、定時(shí)投喂等的控制為研究對(duì)象,對(duì)日常養(yǎng)護(hù)過(guò)程中的綜合自動(dòng)化及其應(yīng)用技術(shù)展開(kāi)研究,這對(duì)利用高新技術(shù)改造原有的水族箱及傳統(tǒng)規(guī)模化水產(chǎn)養(yǎng)殖產(chǎn)業(yè)的自動(dòng)化發(fā)展具有較大的實(shí)際意義和研究?jī)r(jià)值。1.2國(guó)內(nèi)外研究現(xiàn)狀自1984年美國(guó)聯(lián)合科技公司提出智能家居概念以來(lái),全世界陸續(xù)開(kāi)啟了制造智能化家居系統(tǒng)的研究進(jìn)程。國(guó)外的一個(gè)研究團(tuán)隊(duì)在2016年3月推出了一款名為FishBit的智能水族生態(tài)監(jiān)控系統(tǒng),該系統(tǒng)由一個(gè)監(jiān)控器、一個(gè)插座控制器以及配套的手機(jī)端App組成。監(jiān)控器主要是對(duì)魚(yú)缸中的水溫等進(jìn)行實(shí)時(shí)監(jiān)測(cè),控制器的作用則類似于一個(gè)智能插座,通過(guò)手機(jī)端App來(lái)控制插在插座上對(duì)應(yīng)的加熱、供氧設(shè)備的開(kāi)關(guān)。該系統(tǒng)并沒(méi)有把控制系統(tǒng)與相應(yīng)的控制設(shè)備集成起來(lái),導(dǎo)致用戶在使用前需要二次配置,包括外部鏈接各種控制設(shè)備以及App端的各個(gè)對(duì)應(yīng)控制端口的設(shè)置,過(guò)程繁瑣且容易出現(xiàn)配置錯(cuò)誤。此外,整套FishBit的售價(jià)過(guò)高,不易進(jìn)行推廣。國(guó)內(nèi)目前只有一家水族器材生產(chǎn)研發(fā)企業(yè)推出顯款智能魚(yú)缸控制系統(tǒng)相關(guān)產(chǎn)品,是利用類似智能插座的控制器,需要用戶額外購(gòu)置加熱棒、供氧泵等設(shè)備插在控制器插座上,并由一臺(tái)手機(jī)大小的遙控器來(lái)進(jìn)行控制,控制范圍較小。我國(guó)水族箱控制系統(tǒng)的發(fā)展起步比較晚。二十世紀(jì)八、九十年代中國(guó)的改革開(kāi)放,隨著人們的生活水平的提高,觀賞魚(yú)水族箱開(kāi)始進(jìn)入人們的生活中,近年來(lái)其快速發(fā)展的狀況使其成為一股新興的經(jīng)濟(jì)力量受到經(jīng)濟(jì)界及業(yè)內(nèi)人士的關(guān)注。如今是國(guó)際水族產(chǎn)品看中國(guó),許多國(guó)外大的采購(gòu)公司都盯準(zhǔn)中國(guó)這個(gè)市場(chǎng),把長(zhǎng)遠(yuǎn)的目標(biāo)放在中國(guó)。而在剛開(kāi)始的飼養(yǎng)過(guò)程中,水族設(shè)備市場(chǎng)上的魚(yú)缸控制系統(tǒng)都是功能比較簡(jiǎn)單的設(shè)備。如水族箱溫度的控制,人們采用的是加熱棒進(jìn)行加熱控制,由于加熱棒本身采用雙金屬片溫控以及手工控制加熱棒的啟停,造成溫度控制精度較差,無(wú)法進(jìn)行準(zhǔn)確的供熱,對(duì)于水溫的恒溫控制造成了難度。電路簡(jiǎn)單,能分擔(dān)人們不必要的手工的水族箱控制電路系統(tǒng)也隨之而生。水族箱中各種參數(shù)的控制,也產(chǎn)生了相關(guān)的控制設(shè)備。如間歇充氧定時(shí)器,有自動(dòng)水溫控制器、自動(dòng)喂食器、燈火自動(dòng)控制器等這些設(shè)備各自獨(dú)立運(yùn)行,控制相應(yīng)的箱內(nèi)參數(shù),所以造成獨(dú)立的控制設(shè)備配置數(shù)量繁多,不但購(gòu)買獨(dú)立的設(shè)備耗費(fèi)資金多,而且不利于整個(gè)系統(tǒng)的操作。因此多功能組合的水族箱電子控制系統(tǒng)的設(shè)計(jì)是很有必要的。1.3主要研究?jī)?nèi)容本課題是以STC89C52單片機(jī)作為系統(tǒng)的核心的智能魚(yú)缸自動(dòng)控制系統(tǒng)的設(shè)計(jì),使系統(tǒng)具有自動(dòng)檢測(cè)溫度,定時(shí)投喂,定時(shí)換水的功能。本課題的具體研究?jī)?nèi)容如下:1.硬件的選用和電路連接的方式。選用了成本較低和精準(zhǔn)度較高的STC89C52單片機(jī)為主要芯片,通過(guò)溫度傳感器來(lái)檢測(cè)溫度信號(hào),當(dāng)檢測(cè)到溫度過(guò)低時(shí),控制加熱器來(lái)加熱,檢測(cè)到溫度過(guò)高時(shí),停止加熱器;通過(guò)定時(shí)電路來(lái)控制繼電器進(jìn)行投喂和注水,并通過(guò)水位檢測(cè)電路來(lái)停止注水。完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。2.設(shè)計(jì)程序流程圖,編寫相應(yīng)的程序來(lái)實(shí)現(xiàn)各個(gè)模塊的功能。主要有水溫檢測(cè)模塊設(shè)計(jì),定時(shí)模塊設(shè)計(jì),液晶顯示模塊設(shè)計(jì),繼電器模塊設(shè)計(jì),水位檢測(cè)模塊設(shè)計(jì)。3.進(jìn)行軟硬件調(diào)試,對(duì)整個(gè)系統(tǒng)進(jìn)行整體調(diào)試,并對(duì)調(diào)試結(jié)果進(jìn)行分析。最終得到了與預(yù)期相符的結(jié)果,達(dá)到了設(shè)計(jì)要求。第二章系統(tǒng)總體方案設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)方案總體結(jié)構(gòu)是用溫度傳感器來(lái)采集信號(hào)發(fā)送給單片機(jī),由單片機(jī)進(jìn)行數(shù)據(jù)的處理。首先通過(guò)溫度傳感器來(lái)檢測(cè)魚(yú)缸中的水溫,如果水溫過(guò)低就通過(guò)單片機(jī)控制加熱器加熱。然后每隔一段時(shí)間就排水,注水以及投喂。注水的停止由浮子液位開(kāi)關(guān)控制。智能魚(yú)缸系統(tǒng)是由水溫檢測(cè)模塊電路,定時(shí)模塊電路,液晶顯示模塊電路,繼電器模塊電路,水位檢測(cè)模塊電路組成。系統(tǒng)的總體電路的設(shè)計(jì)框圖如圖2.1所示。圖2.1系統(tǒng)總體結(jié)構(gòu)框圖基于單片機(jī)的智能魚(yú)缸自動(dòng)控制系統(tǒng)的軟件設(shè)計(jì)也按照分模塊的方法進(jìn)行設(shè)計(jì),大體分為以下模塊:水溫檢測(cè)模塊程序設(shè)計(jì),定時(shí)模塊程序設(shè)計(jì),液晶顯示模塊程序設(shè)計(jì),繼電器模塊程序設(shè)計(jì)。在進(jìn)行軟件設(shè)計(jì)前,需確定軟件的開(kāi)發(fā)環(huán)境,選擇合適的計(jì)算機(jī)語(yǔ)言(本課題選用C語(yǔ)言),需透徹了解各個(gè)模塊之間數(shù)據(jù)傳輸?shù)年P(guān)系,使數(shù)據(jù)傳輸較少,從而提高了各個(gè)模塊的獨(dú)立性,再根據(jù)硬件設(shè)計(jì)編寫各模塊程序,以子函數(shù)的形式進(jìn)行函數(shù)間的調(diào)用,使每個(gè)子模塊有機(jī)的結(jié)合起來(lái)。另外,在軟件設(shè)計(jì)的過(guò)程中,一定要注意提高軟件的互操作性、可擴(kuò)展性、易讀性等。2.2主要芯片簡(jiǎn)介2.2.1STC89C52單片機(jī)STC89C52是由集成電路公司STC所研發(fā)和進(jìn)行生產(chǎn)的一款高性能的單片機(jī)處理器,該芯片內(nèi)含8k比特位可反復(fù)擦寫PEROM、128k比特位RAM、8位CPU和FLASH存儲(chǔ)單元,采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),指令代碼兼容51內(nèi)核單片機(jī)。該單片機(jī)引腳圖2.2如下:圖2.2STC89C52單片機(jī)引腳圖AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:·兼容MCS51指令系統(tǒng)·8k可反復(fù)擦寫(>1000次)FlashROM·32個(gè)雙向I/O口·256x8bit內(nèi)部RAM·3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷·時(shí)鐘頻率0-24MHz·2個(gè)串行中斷·可編程UART串行通道·2個(gè)外部中斷源·共6個(gè)中斷源·2個(gè)讀寫中斷口線·3級(jí)加密位·低功耗空閑和掉電模式·軟件設(shè)置睡眠和喚醒功能2.2.2DS18B20數(shù)字溫度傳感器溫度傳感器采用DS18B20芯片,DS18B20芯片具有成本低、體積小、封裝。形式多樣的諸多優(yōu)點(diǎn),封裝后可以在空間較小的工作場(chǎng)合發(fā)揮很好的作用,適用于各種系統(tǒng)測(cè)溫。而且精準(zhǔn)度。高達(dá)0.0626℃,具有出色的抗。干擾能力,采用3線制與單片機(jī)相連,使用非常方便。其測(cè)溫范圍較大,為-55℃。到125℃,可用于鍋爐測(cè)溫、農(nóng)業(yè)溫棚測(cè)溫、智能儀器內(nèi)部測(cè)溫等對(duì)溫度精確度要求非常嚴(yán)格的場(chǎng)合。1.獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。2.測(cè)溫范圍-55℃~+125℃,固有測(cè)溫誤差1℃。3.工作電源:3.0~5.5V/DC4.在使用中不需要任何外圍元件5.測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送圖2.3DS18B20引腳圖引腳功能:1(GND):地2(DQ):?jiǎn)尉€運(yùn)用的數(shù)據(jù)輸入輸出引腳3(VDD):可選的電源引腳2.2.3DS1302時(shí)鐘芯片時(shí)鐘電路采用DS1302芯片,DS1302具有高性能、低能耗、接口簡(jiǎn)單、使用方便且成本較低的諸多優(yōu)點(diǎn),且可以采用備用電源,在系統(tǒng)掉電的情況下為時(shí)鐘芯片供電,防止數(shù)據(jù)的丟失。它不僅可以計(jì)時(shí)普通的秒、分、時(shí)、天、周、月、年,而且具有閏年補(bǔ)償?shù)裙δ?,并且其工作能耗非常低,備用的紐扣電池有一年多的有效期。因?yàn)樵趩纹瑱C(jī)系統(tǒng)中,有較多的功能、應(yīng)用、設(shè)置需要耗費(fèi)單片機(jī)的硬件資源,所以在單片機(jī)系統(tǒng)中使用時(shí)鐘芯片DS1302能很好降低主控芯片的資源占用。圖2.4DS1302引腳圖2.2.4液晶LCD1602常用的液晶顯示主要分為兩種,一種是只能顯示英文和字符的液晶LCD1602,另一種是比較負(fù)責(zé)的,可以顯示漢子和各種字符的液晶LCD12864,在本設(shè)計(jì)中,由于需要顯示的字符比較簡(jiǎn)單,所以選擇使用液晶LCD1602對(duì)字符進(jìn)行顯示,電源接5V。其引腳圖2.5如下:圖2.5LCD1602引腳圖LCD1602引腳功能:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~~14腳:DO~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。第三章系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)設(shè)計(jì)是指實(shí)現(xiàn)單片機(jī)內(nèi)部的功能正常進(jìn)行的最基本的電路和設(shè)計(jì),是作為開(kāi)發(fā)其他系統(tǒng)時(shí)的通用核心設(shè)計(jì)。單片機(jī)的最小系統(tǒng)是由一個(gè)電源電路,8MHZ或者12MHZ的晶振起振電路(即系統(tǒng)的心臟),以及RC電路組成的復(fù)位電路構(gòu)成。其電路圖如圖3.1所示:圖3.1STC89C51單片機(jī)最小系統(tǒng)3.2水溫檢測(cè)模塊電路設(shè)計(jì)DS18B20溫度傳感器的主要作用是檢測(cè)魚(yú)缸的具體溫度數(shù)值,并將數(shù)字信號(hào)的溫度變化值轉(zhuǎn)化為電信號(hào)傳送給單片機(jī)識(shí)別,與單片機(jī)的P10引腳相連。其電路圖如圖3.2所示:圖3.2水溫檢測(cè)模塊電路設(shè)計(jì)3.3定時(shí)模塊電路設(shè)計(jì)DS1302模塊是控制魚(yú)缸換水、投食的相對(duì)時(shí)鐘,其對(duì)時(shí)間處理的同時(shí)還可以為系統(tǒng)提供其他擴(kuò)展的功能,比如鬧鐘提醒,事件定時(shí),備忘等。時(shí)鐘芯片與單片機(jī)的P11、P12、P13接口相連。其電路圖如圖3.3所示,其中,Y2為晶振,BT1為備用電池,當(dāng)主系統(tǒng)斷電后,備用電池繼續(xù)供電給時(shí)鐘模塊,保證其正常運(yùn)行,防止出現(xiàn)數(shù)據(jù)的丟失。圖3.3定時(shí)模塊電路設(shè)計(jì)3.4液晶顯示模塊設(shè)計(jì)LCD1602顯示模塊為系統(tǒng)的顯示窗口,用于顯示系統(tǒng)的一些參數(shù),如溫度、時(shí)間等。我們?cè)诒鞠到y(tǒng)中,需要更加直觀的對(duì)數(shù)據(jù)的參數(shù)進(jìn)行顯示,以體現(xiàn)設(shè)備的可視化,人性化以及智能化。所以在數(shù)據(jù)的顯示方面,添加使用了液晶來(lái)進(jìn)行顯示。選擇的LCD1602的IO接口上,有電源引腳以及用于數(shù)據(jù)通信的8條數(shù)據(jù)接口,和3條用于控制的控制接口。單片機(jī)通過(guò)11個(gè)IO口語(yǔ)液晶進(jìn)行連接,就能夠完成對(duì)液晶的讀寫操作,進(jìn)而可以有效的顯示字符。提高系統(tǒng)的人機(jī)交互的能力。在操作液晶的時(shí)候,還有一個(gè)IO口特別的重要,那就是VO接口,因?yàn)橥ㄟ^(guò)這個(gè)接口,可以有效的控制液晶的亮度,進(jìn)而可以實(shí)現(xiàn)對(duì)液晶在不同的環(huán)境光的下的采集和控制,進(jìn)而可以有效的提高液晶的顯示的清晰程度其電路圖如圖3.4所示,其中,R1為滑動(dòng)變阻器,用于調(diào)節(jié)液晶對(duì)比度。圖3.4液晶顯示模塊電路設(shè)計(jì)3.5繼電器模塊設(shè)計(jì)由于單片機(jī)的工作電壓一般在5V左右,但是系統(tǒng)所要用到的加熱器、水泵工作電壓要求較高,無(wú)法由單片機(jī)模塊供電正常工作,所以這個(gè)時(shí)候需要一個(gè)利用單片機(jī)系統(tǒng)小電流來(lái)控制加熱器、水泵大電流的開(kāi)關(guān),也就是繼電器。繼電器是最重要的控制元件之一,簡(jiǎn)單來(lái)說(shuō)就是一個(gè)無(wú)源開(kāi)關(guān),可以實(shí)現(xiàn)自動(dòng)隔離,因而被廣泛應(yīng)用在工業(yè)的多種大功率儀器控制中。本設(shè)計(jì)中,繼電器模塊一共兩個(gè),依次用于控制加熱,水循環(huán)。其中控制加熱繼電器電路圖如圖4.9所示,另一個(gè)繼電器電路圖與之完全相同。圖3.5繼電器模塊設(shè)計(jì)3.6水位檢測(cè)模塊設(shè)計(jì)J90和J91的1、2腳分別和浮子液位開(kāi)關(guān)桿上部和下部的磁簧開(kāi)關(guān)相連通,當(dāng)帶有磁性材料的浮子隨水位移動(dòng)到水位的上下限位置時(shí),就會(huì)觸動(dòng)開(kāi)關(guān),從而產(chǎn)生開(kāi)關(guān)量,經(jīng)P34和P35傳回給單片機(jī),單片機(jī)給水泵發(fā)出控制信號(hào),實(shí)現(xiàn)對(duì)水位的控制。其電路圖如圖3.6所示:圖3.6水位檢測(cè)模塊設(shè)計(jì)3.7總體電路設(shè)計(jì)圖3.5硬件總體電路圖系統(tǒng)軟件設(shè)計(jì)4.1軟件設(shè)計(jì)流程圖主程序是檢測(cè)水族箱內(nèi)各種環(huán)境參數(shù),從而進(jìn)行智能控制的主監(jiān)控程序,根據(jù)模塊化設(shè)計(jì)的根本思想,可以將系統(tǒng)功能劃分為多個(gè)子任務(wù),每個(gè)子任務(wù)由對(duì)應(yīng)的子程序運(yùn)行來(lái)實(shí)現(xiàn)。首先在進(jìn)行程序設(shè)計(jì)的時(shí)候主要是需要進(jìn)行各個(gè)模塊的初始化以及與我們相關(guān)的寄存器的進(jìn)行配置,然后我們根據(jù)對(duì)電路及功能的設(shè)計(jì)需要,然后分別對(duì)各個(gè)模塊進(jìn)行初始化,然后在利用我們內(nèi)部的串口模塊進(jìn)行初始化。并通過(guò)液晶來(lái)顯示時(shí)間,執(zhí)行相應(yīng)函數(shù)操作與數(shù)據(jù)的采集。其軟件的流程圖如圖4.1所示。圖4.1系統(tǒng)主程序流程圖主程序代碼如下:voidmain(){ init(); while(1) { water(); shizhong(); wendu(); print1(0x8e,a/10+0x30); print1(0x8f,a%10+0x30); if(open1==0) { if(temp<a) led3=1; else led3=0; } else led3=0; if(ok==0) { delay(20); Beep_key(); while(ok==0); write_com(0x01); Set_time(1); } cc(0x2200); xcx(0x2200,time[0]); xcx(0x2201,time[1]); write_com(0x0c); }}4.2溫度檢測(cè)模塊設(shè)計(jì)溫度檢測(cè)模塊主要是通過(guò)檢測(cè)溫度與設(shè)定溫度的比較進(jìn)行對(duì)加熱器的控制,使水族箱的溫度可以適合所飼養(yǎng)的魚(yú)類的生存。圖4.2溫度監(jiān)測(cè)模塊程序流程圖其程序如下:#ifndef_DS18B20_H_#define_DS18B20_H_#defineuintunsignedint#defineucharunsignedcharsbitDQ=P3^3;voiddelay_18B20(unsignedinti){ while(i--);}voidInit_DS18B20(void){ unsignedcharx=0; DQ=1; delay_18B20(8); DQ=0; delay_18B20(80); DQ=1; delay_18B20(14); x=DQ; delay_18B20(20);}ucharReadTemp(void){ unsignedchara=0; unsignedcharb=0; unsignedchart=0; unsignedchartemp_value; Init_DS18B20(); WriteOneChar(0xCC); WriteOneChar(0x44); delay_18B20(100);//thismessageisweryimportant Init_DS18B20(); WriteOneChar(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); delay_18B20(100); a=ReadOneChar(); b=ReadOneChar(); temp_value=b<<4; temp_value+=(a&0xf0)>>4; return(temp_value); }#endif4.3水位檢測(cè)控制模塊設(shè)計(jì)圖4.3水位檢測(cè)控制模塊程序流程圖其程序如下:vo1ancneck(volay{if(cDog=2)cDog-3;hour_time-(tSystemTime.cHour/16)*10+tSystemTime.cHour%16;minute_time-tSystemTime.cMinute/16;ifminute_timc--0)cRunmodc-o;elseif(minute_timc—1)cRunmodc=1;elseif(minutetime=2)cRunmode-=2;elseifminute_time--3)cRunmode-3;elseifminute_time4)cRunmode-4;elseif(minutc_timer=5)cRunmode=5;if(hour_time<stoptime1){if(hour_time>=runtime1)bTR0=1;elsebTR0=0;}elsebTR0=0;if(tempe-(settemp*10))instau=0;else{fif((settemp*10-tempt)D5)instau=1;}}4.4液晶顯示模塊設(shè)計(jì)圖4.4液晶顯示模塊程序流程圖其程序如下:unsignedcharLCD_Wait(void){ LcdRs=0; LcdRw=1; _nop_(); _nop_();_nop_();_nop_(); LcdEn=1; _nop_(); _nop_();_nop_();_nop_(); LcdEn=0; returnDBPort; }#defineLCD_COMMAND 0//Command#defineLCD_DATA 1//Data#defineLCD_CLEAR_SCREEN 0x01#defineLCD_HOMING 0x02voidLCD_Write(bitstyle,unsignedcharinput){ LcdEn=0; LcdRs=style; LcdRw=0; _nop_();_nop_();_nop_(); DBPort=input; _nop_();_nop_();_nop_(); LcdEn=1; _nop_();_nop_();_nop_(); LcdEn=0; _nop_();_nop_();_nop_(); LCD_Wait(); }#defineLCD_SHOW 0x04 #defineLCD_HIDE 0x00#defineLCD_CURSOR 0x02#defineLCD_NO_CURSOR 0x00 #defineLCD_FLASH 0x01#defineLCD_NO_FLASH 0x00voidLCD_SetDisplay(unsignedcharDisplayMode){ LCD_Write(LCD_COMMAND,0x08|DisplayMode); }voidLCD_Initial(){ LcdEn=0; LCD_Write(LCD_COMMAND,0x38); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); }voidPrint(unsignedchar*str){ while(*str!='\0') { LCD_Write(LCD_DATA,*str); str++; }}voidPrintXY(ucharx,uchary,uchar*str){ GotoXY(x,y); while(*str!='\0') { LCD_Write(LCD_DATA,*str); str++; } }voidWaitForEnable(void) { DBPort=0xff; LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_();_nop_();while(DBPort&0x80); LcdEn=0; } voidWriteDataLCM(uchardataW){ WaitForEnable();// LcdRs=1;LcdRw=0;_nop_();DBPort=dataW;_nop_(); LcdEn=1;_nop_();_nop_();LcdEn=0;} voidDisplayOneChar(ucharx,uchary,ucharWdata){ GotoXY(x,y); WriteDataLCM(Wdata); }voidDisplayThree(uintx,uinty,ucharnum){ if(num>=100) DisplayOneChar(x,y,table[(num/100)]);DisplayOneChar(x+1,y,table[(num/10)%10]);DisplayOneChar(x+2,y,table[(num)%10]);}{ if(num>=100) DisplayOneChar(x,y,table[(num/100)]);elsePrintXY(x,y,""); DisplayOneChar(x+1,y,table[(num/10)%10]); PrintXY(x+2,y,".");//顯示小數(shù)點(diǎn) DisplayOneChar(x+3,y,table[(num)%10]); PrintXY(x+4,y,"%");}第五章系統(tǒng)調(diào)試與分析5.1硬件調(diào)試對(duì)硬件進(jìn)行調(diào)試時(shí),首先用萬(wàn)用表來(lái)檢測(cè)的是電路中是否有短路、斷路或者虛焊錯(cuò)線、少線和多線的情況。然后檢查二極管、三極管、集成電路和電容極性等是否連接有誤。電源供電(包括極性)連線是否正確檢查直流極性是否正確。將各模塊電路連接起來(lái),在調(diào)試時(shí)也要注意儀器的使用,避免因使用儀器不當(dāng)而導(dǎo)致調(diào)試的誤差或因儀器使用不正確引起故障。在調(diào)試電路時(shí)出現(xiàn)故障,應(yīng)查找故障原因并排除故障。不能隨意拆掉電路重新安裝,以防帶來(lái)新問(wèn)題。再者就是觀察液晶LCD1602顯示是否正常。在上述情況都正常的情況下,下載已編寫好的程序進(jìn)行測(cè)試,觀察液晶上顯示的水位和溫度值,并設(shè)置溫度的上下限和換水的時(shí)間,看執(zhí)行器是否工作。5.2軟件調(diào)試硬件電路檢查無(wú)誤后,系統(tǒng)仍無(wú)法實(shí)現(xiàn)預(yù)期的結(jié)果,達(dá)不到設(shè)計(jì)要求,很有可能是軟件出現(xiàn)錯(cuò)誤。1.當(dāng)以斷點(diǎn)或連續(xù)方式運(yùn)行時(shí),目標(biāo)系統(tǒng)沒(méi)有按規(guī)定的功能進(jìn)行操作或什么結(jié)果也沒(méi)有,通過(guò)檢查程序代碼書寫,發(fā)現(xiàn)因未對(duì)函數(shù)進(jìn)行申明導(dǎo)致錯(cuò)誤,改正后系統(tǒng)能正常運(yùn)行。2.不響應(yīng)中斷,通過(guò)檢查發(fā)現(xiàn)中斷控制寄存器(IE,IP)的初值設(shè)置不正確,使CPU沒(méi)有開(kāi)放中斷或不許某個(gè)中斷源請(qǐng)求。修改中斷控制寄存器(IE,IP)的初值設(shè)置后,系統(tǒng)可以正常運(yùn)行。第六章結(jié)論與展望6.1結(jié)論本課題設(shè)計(jì)的智能魚(yú)缸系統(tǒng)以現(xiàn)代市場(chǎng)需求現(xiàn)狀為背景,利用單片機(jī)、嵌入式、傳感器、C語(yǔ)言編程等技術(shù)設(shè)計(jì)出可以實(shí)現(xiàn)自動(dòng)控制溫度、自動(dòng)水循環(huán)和自動(dòng)喂食的智能魚(yú)缸系統(tǒng),以滿足市場(chǎng)的需求。在設(shè)計(jì)智能魚(yú)缸系統(tǒng)的過(guò)程中,不僅用到了專業(yè)所學(xué)的單片機(jī)、嵌入式、C語(yǔ)言編程等技術(shù),而且用到了諸多專業(yè)以外的知識(shí),如傳感器技術(shù)、繼電器等。硬件部分在綜合考慮其穩(wěn)定性、便利性、成本的情況下選擇了滿足設(shè)計(jì)要求的元器件。軟件部分使用了模塊化程序設(shè)計(jì),各個(gè)模塊之間互相獨(dú)立工作,同時(shí)統(tǒng)一受主控單片機(jī)控制,各個(gè)模塊互相協(xié)調(diào)統(tǒng)一,使得系統(tǒng)更加簡(jiǎn)潔、穩(wěn)定、可靠。該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、便于操作、性能穩(wěn)定、成本較低、便于大量生產(chǎn)等優(yōu)點(diǎn)。6.2展望雖然本課題達(dá)到了最初的目的,為魚(yú)缸中魚(yú)類和水草的生長(zhǎng)環(huán)境調(diào)控
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)據(jù)中心安全生產(chǎn)與環(huán)境保護(hù)服務(wù)合同3篇
- 二手車買賣協(xié)議范本:2024年專業(yè)版版B版
- 二手房經(jīng)紀(jì)服務(wù)規(guī)范化合同稿
- 二零二五版礦山工程地質(zhì)勘探與評(píng)估承包合同3篇
- 二零二五年度高空搬運(yùn)作業(yè)安全免責(zé)協(xié)議書3篇
- 二零二五年藝術(shù)畫廊開(kāi)業(yè)慶典藝術(shù)品展覽合同3篇
- 2024法律咨詢服務(wù)委托合同
- 2024版商業(yè)園區(qū)物業(yè)管理合同協(xié)議書范文
- 西安汽車職業(yè)大學(xué)《港澳基本法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024牙科醫(yī)療廢物處理服務(wù)合同
- 軟件項(xiàng)目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開(kāi)國(guó)控資產(chǎn)運(yùn)營(yíng)管理限公司招聘專業(yè)技術(shù)人才5名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年民法典知識(shí)競(jìng)賽考試題庫(kù)及答案(共50題)
- 中考英語(yǔ)688高頻詞大綱詞頻表
- 九年級(jí)初三中考物理綜合復(fù)習(xí)測(cè)試卷3套(含答案)
- 上交所期權(quán)投資者綜合試卷考試及答案
- 超市日常工作檢查表
- 電纜熱穩(wěn)定校驗(yàn)計(jì)算書
- 傳熱學(xué)-第一章
- 管理制度評(píng)價(jià)表(填寫模板)
- 工地設(shè)計(jì)代表服務(wù)記錄
評(píng)論
0/150
提交評(píng)論