版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 本科生畢業(yè)論文</b></p><p> 家庭水族箱控制系統(tǒng)的研究與開發(fā)</p><p> Family aquatic animals box control system research and design</p><p> 學生姓名</p><p> 所在專業(yè)電子信息工程專業(yè)<
2、;/p><p> 所在班級電子1073</p><p> 申請學位工學學士</p><p> 指導教師職稱副教授</p><p> 答辯時間2011.06.04</p><p><b> 目 錄</b></p><p><b> 摘 要I</b>
3、</p><p> abstractII</p><p> 家庭水族箱控制系統(tǒng)的研究與開發(fā)1</p><p><b> 第一章 緒論1</b></p><p> 1.1 研究的目的1</p><p> 1.2 國內(nèi)外研究發(fā)展狀況、水平1</p><p>
4、 1.3 研究的主要內(nèi)容、預期目標2</p><p> 第二章 系統(tǒng)的硬件的研究與開發(fā)2</p><p> 2.1 主控制芯片電路設計2</p><p> 2.2 系統(tǒng)電源模塊設計5</p><p> 2.3 水溫探測/水位測量模塊6</p><p> 2.3.1 DS18B20芯片6<
5、/p><p> 2.3.2 水溫探測電路8</p><p> 2.3.3 浮子液位開關電路9</p><p> 2.4 按鍵與液晶顯示模塊10</p><p> 2.5 繼電器控制電動機模塊12</p><p> 2.5.1 繼電器的原理13</p><p> 2.5.2 繼電
6、器的選用13</p><p> 2.6 指示燈電路與蜂鳴報警模塊16</p><p> 第三章 系統(tǒng)軟件的研究與開發(fā)17</p><p> 3.1 軟件設計方法17</p><p> 3.2 主程序模塊17</p><p> 3.3 1602液晶顯示處理程序22</p><p&
7、gt; 3.4 延時Delay程序模塊25</p><p> 3.5 DS18B20溫度采集模塊25</p><p><b> 第四章 結(jié)論28</b></p><p><b> 鳴 謝28</b></p><p> 值此論文完成之際,謹向本人的導師王老師致以最誠摯的敬意和由衷的
8、感謝。從課題的選定、資料的準備、研究直到論文的修改等各個環(huán)節(jié)都得到了王老師的細心指導。王導師淵博的學識、嚴謹認真的治學態(tài)度、實事求是的工作作風、樸實真誠的為人態(tài)度,使本人受益匪淺。28</p><p><b> 參考文獻29</b></p><p> 附錄一 系統(tǒng)設計原理圖30</p><p><b> 摘 要</
9、b></p><p> 現(xiàn)在越來越多的家庭和公共場所都擺上了各種水族箱。但作為大部分小型的家庭水族箱設備,都需要人為的手工操作,這給飼主帶來很大的不便。人們有時會因繁忙的工作,忽視了對觀賞魚的照顧。</p><p> 本論文設計了基于89系列單片機的家庭水族箱控制系統(tǒng)。整套系統(tǒng)以STC89單片機為核心芯片,結(jié)合了傳感器探測技術、繼電器原理、C語言編程等技術。設計能夠根據(jù)箱中的水溫
10、、水位等數(shù)據(jù),經(jīng)單片機處理后給出及時的控制指令,從而調(diào)節(jié)水族箱的環(huán)境參數(shù),達到以維持箱中魚生存環(huán)境穩(wěn)定的目的。</p><p> 整個系統(tǒng)設計分為硬件和系統(tǒng)軟件兩大部分。</p><p> 硬件部分有6個模塊, 分別是主控制芯片模塊設計、系統(tǒng)電源模塊設計、水溫探測/水位測量模塊、按鍵與液晶顯示模塊、繼電器控制電動機模塊、蜂鳴報警模塊。軟件部分進行了模塊化設計,各個模塊之間相互獨立。&l
11、t;/p><p> 通過調(diào)試期間的運行,實踐證明本設計的水族箱控制系統(tǒng)有操作簡明、運行可靠、硬件設計靈活、成本低廉的特點。</p><p> 關鍵詞:水族箱;單片機;智能化;控制系統(tǒng);傳感器技術</p><p><b> abstract</b></p><p> Now more and more families
12、 and public places are placed all kinds of aquatic animals box for leisure or decoration. But most small family aquatic animals box equipments, for example water temperature sensor, heating pipes, liquid level switch, al
13、l need people manual operation, which give owners bring a lot of trouble. Because of the busy work, sometimes people ignored the fish's care, which will cause damage to them.</p><p> Through the analysi
14、s and research of the above shortcomings, this paper designed family aquatic animals box control system that based on 89 series microcontroller. With STC89 microcontroller as core chip, a complete system has combined sen
15、sor detection technology, relays principle, technology such as the C programming language.According to temperature and water level , single chip computer processing data such as after a timely control instructions can gi
16、ve, control water pump, heater equipment,</p><p> The whole system design is divided into two parts that is hardwareand software .</p><p> Hardware circuit has six modules. they are main contr
17、ol chip module design, system power supply module design, water temperature detection/water level measurement modules, buttons and LCD module, relay control motor module, buzz alarm module. The software is modular design
18、. The independent modules are divided into four big C language program. They are main program, 1602 LCD processing procedures, delay the calling program, temperature sensor DS18B20 program.</p><p> Through
19、the operation during commissioning, it shows that this design aquatic animals box control system has operation simple, reliable operation, hardware design flexibility, low cost characteristic.</p><p> Keywo
20、rds: Aquatic animals box; SCM; Intelligent; Control system; Sensor technology</p><p> 家庭水族箱控制系統(tǒng)的研究與開發(fā)</p><p><b> 電子信息工程,</b></p><p><b> 指導教師:</b></p>
21、;<p><b> 第一章 緒論</b></p><p><b> 1.1 研究的目的</b></p><p> 隨著人們生活水平的不斷提高,各中觀賞娛樂電器叢出不窮,其中水族箱就開始進駐不少家庭,五顏六色,美輪美奐的觀賞魚讓人醉心不已。它不但可以給人帶來無比寬松舒適的美感,更能調(diào)節(jié)居室環(huán)境,使人尋回那久違的綠色、鮮活的魚類,
22、讓大自然的美景在自己的身邊長存[1]。但人們不可能每時每刻的調(diào)控著水族箱中的合適的溫度和氧量,這也就蘊育而生了水族箱控制系統(tǒng)。通過研究她,使她能夠自動的調(diào)節(jié)水族箱里的水溫和水里的含氧量,從而營造出適合觀賞魚健康生存的水環(huán)境。</p><p> 針對水族箱的控制問題,也陸續(xù)出現(xiàn)了各種控制水族箱水溫、水位、充氧和排水的設備,如過濾器、加熱器、加氧泵等改善水環(huán)境的設備。但是由于產(chǎn)品繁多,功能不同意,而且大多是非智能化
23、的,單一的恒溫控制、充氧或是排水的系統(tǒng)。如果組成一套完整的結(jié)合一體的控制系統(tǒng),往往需要購置多個設備分別安裝,投入的費用較大,也存在一定的資源浪費。這樣不僅增加了成本,重復投資,影響美觀,而且功能使用不靈活、不方便,整體性能也無法得到提升[3]。</p><p> 因此,本設計以家庭中水族箱的日常養(yǎng)護為背景,以水族箱中的水位、水溫、溶氧量等的控制為研究對象,對日常養(yǎng)護過程中的綜合自動化及其應用技術展開研究,這對利
24、用高新技術改造原有的水族箱及傳統(tǒng)規(guī)模化水產(chǎn)養(yǎng)殖產(chǎn)業(yè)的自動化發(fā)展具有較大的實際意義和研究價值。</p><p> 1.2 國內(nèi)外研究發(fā)展狀況、水平</p><p> 現(xiàn)代的水族箱飼養(yǎng)始于1851年的英國萬國工業(yè)博覽會上。原始的水族箱只是有框架的水族箱,很簡陋,水族箱的加熱也只是底部為金屬板的簡單加熱。</p><p> 現(xiàn)代電力技術使水族箱系統(tǒng)科技不斷地發(fā)展,現(xiàn)
25、在相關的人工照明、通風、過濾、水溫加熱等一整套控制系統(tǒng)的發(fā)明都成為可以相互協(xié)調(diào)的一個系統(tǒng)。水族生物應可長期存活,并仿照天然棲息環(huán)境。</p><p> 我國水族箱控制系統(tǒng)的發(fā)展起步比較晚。二十世紀八、九十年代中國的改革開放,隨著人們的生活水平的提高,觀賞魚水族箱開始進入人們的生活中,近年來其快速發(fā)展的狀況使其成為一股新興的經(jīng)濟力量受到經(jīng)濟界及業(yè)內(nèi)人士的關注。如今是國際水族產(chǎn)品看中國,許多國外大的采購公司都盯準中
26、國這個市場,把長遠的目標放在中國[2]。而在剛開始的飼養(yǎng)過程中,水族設備市場上的魚缸控制系統(tǒng)都是功能比較簡單的設備。如水族箱溫度的控制,人們采用的是加熱棒進行加熱控制,由于加熱棒本身采用雙金屬片溫控以及手工控制加熱棒的啟停,造成溫度控制精度較差,無法進行準確的供熱,對于水溫的恒溫控制造成了難度。再如水族箱的供氧問題,由于水溶解氧的特性決定,水中氧氣的濃度是有限度的,達到水中氧氣一定的程度時,或者魚缸內(nèi)魚量密度不高時,即使是在夏天時節(jié)也沒
27、有必要一直充氧可以采用間隔充氧和換水,否則再進行充氧都是多余的,也必然浪費大量的電力資源。</p><p> 電路簡單,能分擔人們不必要的手工的水族箱控制電路系統(tǒng)也隨之而生。水族箱中各種參數(shù)的控制,也產(chǎn)生了相關的控制設備。如間歇充氧定時器,有自動水溫控制器、自動喂食器、燈火自動控制器等這些設備各自獨立運行,控制相應的箱內(nèi)參數(shù),所以造成獨立的控制設備配置數(shù)量繁多,不但購買獨立的設備耗費資金多,而且不利于整個系統(tǒng)的
28、操作。因此多功能組合的水族箱電子控制系統(tǒng)的設計是很有必要的。</p><p> 1.3 研究的主要內(nèi)容、預期目標</p><p> 本設計擬用STC公司生產(chǎn)的STC89C52單片機為核心,運用溫度傳感器技術、水位傳感器技術,設計一款多功能的水族箱控制系統(tǒng)</p><p> 本設計的預期目標是研制一套單片機系統(tǒng),并使這套單片機系統(tǒng)可實現(xiàn)對水族箱進行智能控制和管理
29、,能夠完成水溫、水位等環(huán)境參數(shù)的自動測量和智能控制。</p><p> 本研究設計的控制系統(tǒng)主要特點是:(1)采用單片機控制設計,實現(xiàn)水族箱自動測溫、自動測水位、自動加熱、自動充氧等功能。(2)人機操作界面采用數(shù)碼、LED指示顯示;操作簡單、方便,極具人性化特點。</p><p> 根據(jù)系統(tǒng)要求和要完成的功能特點,本課題研究的主要內(nèi)容有:(1)硬件設計:由于現(xiàn)在市場上各種芯片種類繁多,
30、而且不斷在推陳出新,因此必須按照系統(tǒng)要求,選擇既合適又運行可靠的芯片和元器件,從而設計出最合理的硬件電路,并用PROTEL電路設計軟件畫出正確的電路圖,然后通過隨時對電路圖的修改,無誤后,在制成印刷電路板。(2)軟件設計:利用模塊化的程序設計方法,把系統(tǒng)應用程序按照整體功能劃分為若干相對獨立的程序模塊,繪出程序流程圖,各個模塊單獨進行設計,利用單片機C語言編程。</p><p> 第二章 系統(tǒng)的硬件的研究與開發(fā)
31、</p><p> 本章詳細介紹多功能水族箱控制系統(tǒng)的硬件結(jié)構(gòu)和設計。主要包括主控制芯片模塊設計、系統(tǒng)電源模塊設計、水溫探測/水位測量模塊、按鍵與液晶顯示模塊、繼電器控制電動機模塊。詳細闡明各電路設計中芯片的選型,芯片的性能參數(shù)和功能特點,并設計出具體的硬件電路。本系統(tǒng)整體電路圖詳見附錄一,下面就各部分主要電路作介紹。</p><p> 2.1 主控制芯片電路設計</p>
32、<p> 單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Micro-Controller Unit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的
33、發(fā)展便分道揚鑣。[6] </p><p> 早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。</p><p> 單片機有著體積小,功耗低,功能強,性能價格比高,易于推廣應用等顯著特點,在自動化裝置,智能化儀器儀表,過程控制和家用電器等
34、許多領域獲得了廣泛的應用。</p><p> 從國內(nèi)開發(fā)應用單片機的情況來看,自80年代初起步以來,以INTEL公司的MCS-48系列單片機為主導機種,取得了一定的應用成果。80年代中期以來,隨著性能更強,速度更快的MCS-51系列的加入,單片機得到而來更為迅速的推廣和廣泛的應用。目前,在我國目前和今后一段時間內(nèi),8位的MCS-51單片機仍然是實際應用中的主導品種[4]。</p><p&g
35、t; 16位和32位單片機性能優(yōu)越,但是他們的價格比較貴,從而不能廣泛的應用。1位和4位單片機結(jié)構(gòu)簡單,成本也低廉,但是編程指令集不豐富,程序也復雜。而8位的單片機指令豐富,性價比很高,是工業(yè)檢測控制的主流機型。因此本系統(tǒng)選擇由宏晶科技公司生產(chǎn)的STC89C52單片機作為系統(tǒng)的主芯片。</p><p> STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Programabl
36、e and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。</p><p> AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫線,AT89C52可以按照常
37、規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本[5]。</p><p> 單片機總控制電路如圖2.1所示。</p><p> 圖2.1 單片機總控制電路</p><p> STC89C52具體介紹如下:</p><p> ?、?主電源引腳(2根)&l
38、t;/p><p> VCC(Pin40):電源輸入,接+5V電源</p><p> GND(Pin20):接地線</p><p> ?、谕饨泳д褚_(2根)</p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端</p><p> XTAL2(Pin20):片內(nèi)振蕩電路的輸出端</p>&l
39、t;p><b> ?、劭刂埔_(4根)</b></p><p> RST/VPP(Pin9):復位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復位。</p><p> ALE/PROG(Pin30):地址鎖存允許信號</p><p> PSEN(Pin29):外部存儲器讀選通信號</p><p> EA/
40、VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令[6]。</p><p> ?、芸删幊梯斎?輸出引腳(32根)</p><p> STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。</p><p> PO口(Pin39~Pin32
41、):8位雙向I/O口線,名稱為P0.0~P0.7。它與液晶顯示屏1602的數(shù)據(jù)輸入口DB1~DB7相接。</p><p> P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7 。其中P1.0與蜂鳴器相連,作為報警電路;P1.1和P1.2與按鍵1、2相連,它們作為調(diào)節(jié)溫度下限加減的控制接口;P1.3與P1.4與按鍵3、4相接。</p><p> P2口(Pin2
42、1~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7。 P2.3和P2.4與水位報警燈相連,作為水位控制指示燈的接口;P2.5口與1620液晶顯示器的RS端連接;P2.6與液晶顯示屏的Rw端相連;P2.7與液晶顯示屏的使能端En端相連。</p><p> P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7。其中P3.4和P3.5與水位開關相連,作為水位信號的輸入端;P3
43、.6與加熱器的控制繼電器相連,控制繼電器的開與關;P3.7與定時充氧電路相連,用于控制充氧電機的開與關。</p><p> STC89C52主要功能如表1所示。</p><p> 表1 STC89C52主要功能</p><p> 2.2 系統(tǒng)電源模塊設計</p><p> 系統(tǒng)的供電由usb直插電腦usb口提供,這能為系統(tǒng)提供穩(wěn)定
44、的+5V電壓。USB接口有四個觸點,分別是電源+5V、數(shù)據(jù)-、數(shù)據(jù)+、電源地,USB設備與計算機通過“數(shù)據(jù)+”和“數(shù)據(jù)-”通道進行數(shù)據(jù)傳輸,“+5V”、“電源地”具有為外部設備供電的能力。</p><p> 根據(jù)目前通行的USB1.1規(guī)范,USB接口可以提供5V±5%的電壓為外部設備供電,每個端口最大輸出電流為500mA,因此其輸出功率不能超過2.25W,超過了這個功率的外部設備就需要配備外置電源。&
45、lt;/p><p> 本系統(tǒng)的電源、電壓、功率的要求都比較低,因此可以USB上的電源能滿足要求。為了保護單片機的安全,在usb輸出電壓后,加了J2保險絲,用SW-SPDT開關控制電源的開與關。聯(lián)通電源后配備了一個LED指示燈d13,指示電源的聯(lián)通。具體電路圖2.2所示。</p><p> 圖2.2 電源部分原理圖</p><p> 2.3 水溫探測/水位測量模塊&
46、lt;/p><p> 水溫和水位探測電路是水族箱系統(tǒng)最重要的環(huán)境參數(shù)獲得通道。水溫傳感器探測電路獲得的水溫數(shù)據(jù)與設定溫度上限和下限的比較,獲得的結(jié)果,將直接用來驅(qū)動繼電器控制加熱器的開與關,以保持水族箱的溫度穩(wěn)定,必要時還會報警以提醒飼主。水溫傳感器選用DS18B20芯片。</p><p> 而水位傳感器采用浮子液位開關,由浮子液位開關在上、下限設定水位值產(chǎn)生的水位數(shù)據(jù)傳送到單片機后,得出
47、的控制命令會控制水閥門的開與關,保持水族箱的水位平衡。水位傳感器將選用</p><p> 2.3.1 DS18B20芯片</p><p> 美國 Dallas 半導體公司的數(shù)字化溫度傳感器 DS1820 是世界上第一片支持 "一線總線"接口的溫度傳感器,現(xiàn)在,新一代的 DS18B20 體積更小、更經(jīng)濟、更靈活。DS18B20 也支持"一線總線"接
48、口,測量溫度范圍為-55°C~+125°C,在-10~+85°C 范圍內(nèi),精度為±0.5°C。DS1822 的精度較差為±2°C?,F(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。</p><p> DS18B20 的主要特
49、性</p><p> ?。?)適應電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。</p><p> ?。?)獨特的單線接口方式,DS18B20 在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。</p><p> ?。?)DS18B20 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)
50、多點測溫。</p><p> ?。?)DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> ?。?)溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃。</p><p> (6) 可編程的分辨率為 9~12 位,對應的可分辨溫度分別為 0.5℃、0.25℃、0.125℃和0.
51、0625℃,可實現(xiàn)高精度測溫。</p><p> ?。?)測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給 CPU。</p><p> ?。?)負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作[10]。</p><p> DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH
52、 和 TL、配置寄存器。DS18B20 的管腳排列如下圖2.3所示。</p><p><b> 圖2.3 管腳圖</b></p><p> 圖2.4 內(nèi)部結(jié)構(gòu)圖</p><p> DS18B20 引腳定義:</p><p> (1) DQ 為數(shù)字信號輸入/輸出端;</p><p> (
53、2) GND 為電源地;</p><p> (3) VDD 為外接供電電源輸入端(在寄生電源接線方式時接地)。</p><p> 2.3.2 水溫探測電路</p><p> 水溫探測具體電路如圖2.5所示。</p><p> 圖2.5 DS18B20電路圖</p><p> 水溫傳感器DS18b20芯片的3個
54、引腳接法為:1腳為GND端,直接接地;2腳DQ端和STC89C52單片機的P33相連,把水溫數(shù)據(jù)直接傳輸給單片機處理;3腳VCC端給芯片提供電源,是5V的電源</p><p> 2.3.3 浮子液位開關電路 </p><p> 浮子液位開關的原理是利用浮球液位開關的磁性浮子隨液位升或降,使傳感器檢測管內(nèi)設定位置的干簧管芯片動作,發(fā)出接點開(關)轉(zhuǎn)換信號。 </p>&l
55、t;p> 在密閉的非導磁性管內(nèi)安裝有一個或多個干簧管,然后將此管穿過一個或多個中空且內(nèi)部有環(huán)形磁鐵的浮球,液體的上升或下降將帶動浮球一起上下移動,從而使該非導磁性管內(nèi)的干簧管產(chǎn)生吸合或斷開的動作,從而輸出一個開關信號 </p><p> 浮球開關是一種結(jié)構(gòu)簡單、使用方便、安全可靠的液位控制器件,它具有比一般機械開關體積小、速度快、作用壽命長,與電子開關相比,它又有抗負載沖擊能力強的特點,其在造船、造紙、
56、印刷、發(fā)電機設備、石油化工、食品工業(yè)、水處理、電工、染料工業(yè)、油壓機械等方面都得到了廣泛的應用。[7]</p><p> 圖2.6 浮球液位開關</p><p><b> 產(chǎn)品特點:</b></p><p> 1. 可做多點控制,控制開關可隨液位位置定制。 </p><p> 2. 用磁簧開關不需要單獨
57、提供電源.</p><p> 3. 單支可做多點控制,相對比其它液位開關單價底.</p><p> 4. 可靠性高,配線成本低,安裝容易.</p><p> 5. 可適用于不同密度、不同酸堿、不同壓力及溫度的液體</p><p> 具體電路圖如圖2.7所示。</p><p> 圖2.7 水位開關接口電路<
58、;/p><p> J90和J91的1、2腳分別和浮子液位開關桿上部和下部的磁簧開關相連通,當帶有磁性材料的浮子隨水位移動到水位的上下限位置時,就會觸動開關,從而產(chǎn)生開關量,經(jīng)P34和P35傳回給單片機,單片機給水泵發(fā)出控制信號,實現(xiàn)對水位的控制。</p><p> 2.4 按鍵與液晶顯示模塊</p><p> 本系統(tǒng)的顯示設備用的是QC-1602液晶顯示。<
59、/p><p> QC-1602字符型LCD有16條引腳線的LCD,多出來的2條線是背光電源線,引腳定義如下表2所示。</p><p> 表2 1602液晶管腳列表[4]</p><p><b> 續(xù)表2</b></p><p> 1602顯示器的引腳分布如圖2.8所示。</p><p>
60、 圖2.8 1602顯示器的引腳</p><p> 1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。[8]</p><p> 1602顯示器顯示的內(nèi)容為16*2,每行16個字符。1602識別的是ASC
61、II碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如'A’。它在顯示器上內(nèi)置了DDRAM,就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼。共80個字節(jié),其地址和屏幕的對應關系如表3所示。</p><p> 表3 顯示器屏幕和地址對應</p><p> 因此想在屏幕上哪一行列顯示一個字符,只要在對應的DDRAM的地址上寫入字符就可以。[4]<
62、/p><p> 本設計選用1602顯示器可以用來顯示水族箱水溫傳感器DS18B20探測的水溫溫度,具體的電路圖如圖2.9 所示。</p><p> 圖2.9 顯示器電路圖</p><p> LCD1602的D0~D7腳跟單片機的P00~P07口連接,顯示由單片機處理后的水溫溫度字符。顯示器的VL口跟可調(diào)的3296電阻相連,可以調(diào)節(jié)顯示器的清晰度。VCC接+5v的電
63、源,給顯示器供電。BL+和VSS(圖上的GND)腳接地。</p><p> 2.5 繼電器控制電動機模塊</p><p> 當在冬天時,水族箱中的水溫比較低,有時天氣發(fā)生突變,室溫過低時,這時就需要給水族箱加熱,以免讓魚類凍傷,而加熱到合適溫度時,也需要斷開加熱器。所以當水溫探傳感器DS18B20傳回的水溫數(shù)據(jù)跟單片機設定的水溫下限比較,過低時,這時單片機要發(fā)出控制指令,開動加熱器,給
64、水族箱加熱,使觀賞魚免遭凍傷。合適溫度時,單片機同樣給出指令,斷開加熱器的電源。</p><p> 對于定時充氧電路,當隔一段相同的時間時,單片機同樣給出指令,開動充氧電機,給水族箱補氧,定時的開動一段時間電機,以維持水中的含氧量。</p><p> 水族箱中的浮子液位開關當測得水位低程序設定的水位值時,這時也需要給水族箱注水,這就要開動小水泵。</p><p>
65、; 所有這些水族箱的配備電機,都需要用到繼電器弱電控制強電的原理來控制電機的開動,以便時刻控制水族箱的各種環(huán)境參數(shù),維持觀賞魚適宜的水中環(huán)境。</p><p> 2.5.1 繼電器的原理</p><p> 繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關”。故在電路中起
66、著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。</p><p> 電磁式繼電器一般由控制線圈、鐵芯、銜鐵、觸點簧片等組成,控制線圈和接點組之間是相互絕緣的,因此,能夠為控制電路起到良好的電氣隔離作用。當我們在繼電器的線圈兩頭加上其線圈的額定的電壓時,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也
67、隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電路中的接通、切斷的開關目的。</p><p> 2.5.2 繼電器的選用</p><p> 本設計選用的為HK4100F-DC5V-SHG繼電器。她有6個引腳,其中2、5腳為線圈。1、6腳為公共端。3、4腳一個常開一個常閉。如圖3.0所示。</p>&l
68、t;p> 圖3.0 繼電器引腳圖</p><p> 其內(nèi)部的原理圖如圖3.1所示。</p><p> 圖3.1 繼電器內(nèi)部原理圖</p><p> 二極管D1、電阻R3、LED9、PNP三極管T5、電阻R20是外部跟繼電器相連的輔助元件,J1和CN2是繼電器的內(nèi)部結(jié)構(gòu)。</p><p> 三極管T5的基極B接到單片機的P3.6
69、,三極管的發(fā)射極E接到繼電器線圈的一端,線圈的另一端接到+5V電源VCC上;繼電器線圈兩端并接一個二極管IN4148,用于吸收釋放繼電器線圈斷電時產(chǎn)生的反向電動勢,防止反向電勢擊穿三極管T5及干擾其他電路;R3和發(fā)光二極管LED9組成一個繼電器狀態(tài)指示電路,當繼電器吸合的時候,LED9點亮,這樣就可以直觀的看到繼電器狀態(tài)了。在原理圖中的具體電路為如圖3.2所示。</p><p> 圖3.2 兩個繼電器的電路圖&
70、lt;/p><p> 繼電器1和2接口上與定時充氧電機和加熱器相連,從而驅(qū)動外部電機的工作。其模擬圖如圖3.3所示。</p><p> 圖3.3 繼電器外部電機接線模擬圖</p><p> 2.6 指示燈電路與蜂鳴報警模塊</p><p> 為了給飼主在系統(tǒng)運行控制中更直觀的理解她的運行狀態(tài),系統(tǒng)特意設計了LED指示燈電路,電路圖如圖3.
71、4所示。</p><p> 圖3.4 指示燈電路</p><p> D1、D2分別跟單片機的P36和P37相接,當單片機分別輸出低電平控制信號,三極管導通,繼電器控制的加熱器和定時充氧泵工作。這時D1、D2導通發(fā)光,指示電機已工作。D3、D4跟單片機P23、P24端口連接,當水位在上下限時,D3、D4導通發(fā)光,提示水位已經(jīng)到了極限。</p><p> 蜂鳴器與
72、三極管E3相連,當P10低電平時,E3導通,蜂鳴器報警。當P10高電平時,三極管截止,蜂鳴器沒有接通電源,不響。</p><p> 第三章 系統(tǒng)軟件的研究與開發(fā)</p><p> 系統(tǒng)的軟件設計是控制系統(tǒng)設計的主要內(nèi)容和重點,應該根據(jù)系統(tǒng)硬件電路為基礎進行系統(tǒng)的軟件設計。軟件設計要求功能準確,閱讀調(diào)試方便,所有一般采用結(jié)構(gòu)化的程序設計方法。它包括:自頂向下的設計、模塊化編程和結(jié)構(gòu)化編程
73、。</p><p> 水族箱控制系統(tǒng)程序的設計采用單片機C語言編程進行開發(fā),系統(tǒng)程序可以分為以下幾大模塊:主程序模塊、1602顯示處理模塊、DS18B20溫度采集模塊、延時模塊、定時器設置程序模塊。</p><p> 3.1 軟件設計方法</p><p> 模塊化設計,就是把軟件按照規(guī)定的原則分為一個個較小的、相對獨立但又相關的模塊。分解、信息隱藏和模塊獨立性
74、,是實現(xiàn)模塊化設計的重要指導思想。</p><p> 對于一個軟件系統(tǒng),可以把它分解成幾個小模塊,各組成模塊之間是相互關聯(lián)的。但模塊也多,模塊的接口工作量也隨著模塊數(shù)的增加而增大。因此把模塊數(shù)控制在一個范圍內(nèi),可以使總的開發(fā)工作量保持最小。</p><p> 本系統(tǒng)的軟件設計采用Keil C51集成環(huán)境開發(fā)軟件部分,Keil C51是美國Keil Software公司出品的51系列兼容
75、單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。</p><p> 本文系統(tǒng)的程序有:主程序、1602顯示處理程序、延時處理程序、溫度采集
76、處理程序、EEPROM程序。下面就將逐一介紹各程序模塊的設計和編寫。</p><p><b> 3.2 主程序模塊</b></p><p> 主程序是檢測水族箱內(nèi)各種環(huán)境參數(shù),從而進行智能控制的主監(jiān)控程序,根據(jù)模塊化設計的根本思想,可以將系統(tǒng)功能劃分為多個子任務,每個子任務由對應的子程序運行來實現(xiàn)。整合起每個子程序,就可以實現(xiàn)溫度、水位、定時充氧等參數(shù)的采集。&l
77、t;/p><p> 系統(tǒng)監(jiān)控主程序的流程圖如3.5所示。</p><p> 圖3.5 主程序流程圖</p><p> 主程序主要完成以下工作</p><p><b> ?。?)預處理設置</b></p><p> 在主程序中首先要對系統(tǒng)進行預處理命令的包含。它們既包括有ANSIC統(tǒng)一規(guī)定的預處
78、理命令,也有本文設計的包含預處理文件。它們包括宏定義、51單片機包含文件、DS18B20讀寫函數(shù)、1602液晶驅(qū)動函數(shù)等,</p><p> ?。?)初始化和聲明部分</p><p> 這部分對系統(tǒng)進行初始化編程。硬件部分有按鍵與單片機接口定義、傳感器數(shù)據(jù)傳輸接口設置:軟件方面有各種數(shù)據(jù)的聲明和定義、溫度數(shù)據(jù)的初值設定、EEPROM的判斷初值。</p><p>
79、 (3)環(huán)境參數(shù)的采集</p><p> 獲取各種環(huán)境參數(shù)的變化情況和工作狀態(tài)。環(huán)境參數(shù)的變化包括系統(tǒng)溫度,高、低水位等,工作狀態(tài)包括溫度控制狀態(tài)、定時充氧控制狀態(tài)等。</p><p><b> ?。?)調(diào)用控制程序</b></p><p> 根據(jù)當前的環(huán)境參數(shù),單片機做出判斷,調(diào)用控制程序?qū)ο到y(tǒng)進行智能控制。實現(xiàn)對加熱器的開與關、定時充氧
80、電機的開與關、還有水閥的控制。</p><p><b> (5) 顯示處理</b></p><p> 根據(jù)DS18B20傳回的溫度數(shù)據(jù),在1602液晶上實時的進行水族箱溫度的顯示。直觀的呈現(xiàn)給飼主,讓她了解控制系統(tǒng)的工作。而還有另外的水位燈顯示程序,在水位到達設定的上下限時,水位燈會亮。</p><p><b> (6)主程序代
81、碼</b></p><p> 主程序的主要代碼如下所示:</p><p> #define uint unsigned int //定義縮寫</p><p> #define uchar unsigned char //定義縮寫</p><p> #include <REG52.H></p>
82、<p> #include <intrins.h></p><p> #include "ds18b20mul.h" //包含ds18b20讀寫函數(shù)</p><p> #include "1602.h" //包含1602液晶驅(qū)動函數(shù)</p><p> #include "
83、;timer.h"</p><p> sbit butt1=P1^1; //定義減小下限按鈕(按鈕1)</p><p> sbit butt2=P1^2; //定義增加下限按鈕(按鈕2)</p><p> sbit butt3=P1^3; //按鈕3</p><p> sbit butt4=P1^4;//按鈕4
84、</p><p> sbit beeper=P1^0; //蜂鳴</p><p> sbit water_high=P3^5; //水位開關1(上)</p><p> sbit water_low=P3^4;//水位開關2(下)</p><p> sbit o2=P3^7; //氧氣</p>
85、<p> sbit hot=P3^6;//加熱</p><p> sbit addwater=P2^5;</p><p> unsigned char num1=0;//存放實時溫度數(shù)據(jù)</p><p> unsigned int limit_high;//上限1變量聲明</p><p> unsigned int l
86、imit_low;//下限1變量聲明</p><p> sbit led1=P2^4; //水位高燈</p><p> sbit led2=P2^3; //水位低燈</p><p> void delay_50mms(unsigned int t)//簡單延時函數(shù)</p><p><b> {</b>&
87、lt;/p><p> unsigned int j; </p><p> for(;t>0;t--)</p><p> for(j=6245;j>0;j--);</p><p><b> }</b></p><p><b> main()</b><
88、/p><p><b> {</b></p><p> LCD_Initial(); //lcd初始化</p><p> limit_high=ReData(20); //讀取上次保存的上限</p><p> limit_low=ReData(21); //讀取上次保存的上限</p><
89、;p> if(limit_high==255)//防止eeprom數(shù)據(jù)丟牛</p><p><b> {</b></p><p> WrData(20,60);</p><p> WrData(21,15); </p><p> //恢復下限到30;</p><p> eepro
90、mflag=0;//將eeprom寫入標志清零</p><p><b> }</b></p><p> timer0init();//初始化定時器</p><p><b> while(1)</b></p><p><b> { </b></p>&l
91、t;p> num1=ReadTemp();//讀取溫度,賦值到num1</p><p> if(num1>=limit_high)beeper=0;else beeper=1;//如果溫度到達上限 蜂鳴報警 </p><p> if(num1<limit_low)hot=0;else hot=1;//如果溫度小于下限則
92、加熱,否則停止加熱</p><p> if(butt1==0)//按鈕1</p><p><b> {</b></p><p> delay_50mms(3);//按鍵消抖,數(shù)值越大消抖效應越強</p><p> if(butt1==0&&limit_high>0)limit_high--;
93、//消抖延時后,如果按鍵還是按下,就將上限減少1°</p><p><b> }</b></p><p> if(butt2==0)// 按鈕2</p><p><b> {</b></p><p> delay_50mms(3);//按鍵消抖,數(shù)值越大消抖效應越強</
94、p><p> if(butt2==0&&limit_high<255)limit_high++;//消抖延時后,如果按鍵還是按下,就將上限增加1°</p><p><b> }</b></p><p> if(butt3==0)//按鈕3</p><p><b> {<
95、/b></p><p> delay_50mms(3);//按鍵消抖,數(shù)值越大消抖效應越強</p><p> if(butt3==0&&limit_low>0)limit_low--;//消抖延時后,如果按鍵還是按下,就將上限減少1°</p><p><b> }</b></p><
96、;p> if(butt4==0)// 按鈕4</p><p><b> {</b></p><p> delay_50mms(3);//按鍵消抖,數(shù)值越大消抖效應越強</p><p> if(butt4==0&&limit_low<255)limit_low++;//消抖延時后,如果按鍵還是按下,就將上
97、限增加1°</p><p><b> }</b></p><p> if((butt1==0)||(butt2==0)||(butt3==0)||(butt4==0))eepromflag=0;//如果2個按鍵任意一個按下,就將eeprom操作標志清零</p><p> if((butt1==1)&&(but
98、t2==1)&&(butt3==1)&&(butt4==1)&&(eepromflag==0))</p><p> //松開所有按鍵后,并且eeprom操作標志等于0,就往20、21的eeprom地址里存入下限數(shù)據(jù),實現(xiàn)斷電也保存數(shù)據(jù)</p><p><b> {</b></p><p>
99、 WrData(20,limit_high); //寫入上限數(shù)據(jù)</p><p> WrData(21,limit_low); //寫入下限數(shù)據(jù)</p><p><b> }</b></p><p> PrintXY(0,0,"T:");</p><p> Display
100、Three(2,0,num1); </p><p> DisplayOneChar(5,0,0xdf); </p><p> PrintXY(6,0,"C"); //顯示溫度</p><p> PrintXY(0,1,"Hi:"); </p><p> DisplayThr
101、ee(3,1,limit_high); //顯示上限</p><p> PrintXY(7,1,"Lo:"); </p><p> DisplayThree(10,1,limit_low); </p><p> DisplayOneChar(14,1,0xdf); </p><p> PrintXY(1
102、5,1,"C"); //顯示下限</p><p> if(water_high==1)led1=0; else led1=1; //水位高燈操作</p><p> if(water_low==1)led2=0; else led2=1; //水位低燈操作</p><p> if(timer_state==0)o2=0;else
103、 o2=1;//定時開氧氣</p><p> if(water_low==1)addwater=0;else addwater=1;//如果水位低 , 就加水</p><p><b> }</b></p><p><b> }</b></p><p> 3.3 1602液晶顯示處理程序&
104、lt;/p><p> 顯示程序模塊是水族箱控制系統(tǒng)中很重要的人機交互窗口,主要顯示系統(tǒng)的實時溫度,提供了一個良好的人機交互界面,讓人更好的了解水族箱中的環(huán)境參數(shù)。顯示處理程序包括了:液晶內(nèi)部等待函數(shù)、寫入命令或數(shù)據(jù)、顯示模塊設置、設置輸入模式模塊、初始化液晶LCD、液晶字符輸入的位置、字符輸出到液晶顯示。</p><p><b> 程序代碼如下:</b></p&
105、gt;<p> 內(nèi)部等待函數(shù)**************************************************************************</p><p> unsigned char LCD_Wait(void)</p><p><b> {</b></p><p><b>
106、 LcdRs=0;</b></p><p> LcdRw=1;_nop_();_nop_();_nop_();_nop_();</p><p> LcdEn=1;_nop_(); _nop_();_nop_();_nop_();</p><p><b> LcdEn=0;</b></p>&
107、lt;p> return DBPort;</p><p><b> }</b></p><p> ************************************************************</p><p> #define LCD_COMMAND0 // Command</p
108、><p> #define LCD_DATA1 // Data</p><p> #define LCD_CLEAR_SCREEN0x01 // 清屏</p><p> #define LCD_HOMING 0x02 // 光標返回原點</p><p> void LCD_Write(bit s
109、tyle, unsigned char input)</p><p><b> {</b></p><p><b> LcdEn=0;</b></p><p> LcdRs=style;</p><p> LcdRw=0;_nop_();_nop_();_nop_();</p>
110、;<p> DBPort=input;_nop_();_nop_();_nop_();//注意順序</p><p> LcdEn=1;_nop_();_nop_();_nop_();//注意順序</p><p> LcdEn=0;_nop_();_nop_();_nop_();</p><p> LCD_Wait();</p&
111、gt;<p><b> }</b></p><p> //設置顯示模式************************************************************</p><p> #define LCD_SHOW0x04 //顯示開</p><p> #define LCD_HID
112、E0x00 //顯示關 </p><p> #define LCD_CURSOR0x02 //顯示光標</p><p> #define LCD_NO_CURSOR0x00 //無光標 </p><p> #define LCD_FLASH0x01 //光標閃動</p><p>
113、 #define LCD_NO_FLASH0x00 //光標不閃動</p><p> void LCD_SetDisplay(unsigned char DisplayMode)</p><p><b> {</b></p><p> LCD_Write(LCD_COMMAND, 0x08|DisplayMode);<
114、/p><p><b> }</b></p><p> //初始化LCD************************************************************</p><p> void LCD_Initial()</p><p><b> {</b></p
115、><p><b> LcdEn=0;</b></p><p> LCD_Write(LCD_COMMAND,0x38); //8位數(shù)據(jù)端口,2行顯示,5*7點陣</p><p> LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //開啟顯示, 無光標</p><p&
116、gt; LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏</p><p><b> }</b></p><p> void Print(unsigned char *str)</p><p><b> {</b></p><p> while(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水族箱造景與水草養(yǎng)殖論文
- 5.2.3水族箱植物的配置與養(yǎng)護
- 水族箱常見過濾系統(tǒng)的介紹及簡述
- 家庭供暖控制系統(tǒng)畢業(yè)論文
- 草魚苗種水族箱培育效果的研究.pdf
- 海水水族箱脫氮系統(tǒng)的建立及運行效果研究.pdf
- 家庭智能燈光控制系統(tǒng)設計【畢業(yè)論文】
- 水族箱中無機氮濃度控制的光催化工藝研究.pdf
- 畢業(yè)論文--家庭智能控制系統(tǒng)的研究與發(fā)展  
- 單片機恒溫箱控制系統(tǒng)【畢業(yè)論文】
- 畢業(yè)論文--溫度控制系統(tǒng)的研究與設計
- 基于物聯(lián)網(wǎng)的遠程可控可通信水族箱的設計實現(xiàn).pdf
- 家庭智能控制系統(tǒng)的研究與開發(fā).pdf
- 溫度控制系統(tǒng)畢業(yè)論文
- 家庭理財管理系統(tǒng)的設計與開發(fā)【畢業(yè)論文】
- 家庭理財管理系統(tǒng)設計與開發(fā)【畢業(yè)論文】
- 畢業(yè)論文--溫度控制系統(tǒng)
- 鍋爐控制系統(tǒng)畢業(yè)論文
- 帆板控制系統(tǒng)-畢業(yè)論文
- 帆板控制系統(tǒng)畢業(yè)論文
評論
0/150
提交評論