版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機的貓舍環(huán)境控制系統(tǒng)設(shè)計與實現(xiàn)目錄TOC\o"1-2"\h\u25284摘要 230578第一章緒論 347231.1系統(tǒng)背景 3154861.2國內(nèi)外研究現(xiàn)狀 3314011.3研究的目的及意義 4171451.4本章小結(jié) 531364第二章硬件設(shè)計 560472.1主控模塊硬件設(shè)計 5218962.2顯示模塊 7314442.3溫度傳感器模塊 9209352.4按鍵模塊 1132262.5驅(qū)動模塊 1183382.6藍牙模塊 13197172.7紅外模塊 14116592.8水位監(jiān)測模塊 15157552.14模塊硬件集成 1639062.15本章小結(jié) 174520第三章軟件設(shè)計 17281043.3?溫度傳感器模塊軟件設(shè)計 2145113.4水位檢測模塊軟件設(shè)計 2458583.5?系統(tǒng)中斷軟件設(shè)計?? 26103503.5系統(tǒng)調(diào)試 28298863.7本章小結(jié) 307719第四章總結(jié) 3119021參考文獻?? 32摘要隨著社會的發(fā)展和人們的生活水平日益提升,越來越多的人喜歡養(yǎng)寵物貓。目前市場上有各種各樣的貓舍,進入了不同的應用場合,如家庭、賓館和商場等等,但現(xiàn)有的貓舍一般需要人為的操作,比如溫度的檢測、喂食以及防丟等,給人們帶來了很大的不便。通過對此現(xiàn)象進行調(diào)研發(fā)現(xiàn),貓舍中的溫度,清潔度有很大關(guān)系。因此,設(shè)計一套智能貓舍系統(tǒng)是非常必要的。本文設(shè)計了一套智能貓舍系統(tǒng)。選用STC單片機為主控芯片,使用溫度傳感器、紅外傳感器、水位傳感器實時采集貓舍內(nèi)環(huán)境參數(shù)。由單片機處理后,實現(xiàn)溫度控制、溫度檢測、進出檢測、紫外線燈光、APP顯示、喂食等。采集到的數(shù)據(jù),通過藍牙模塊傳輸?shù)绞謾C界面,方便用戶進行遠程控制與數(shù)據(jù)查看。在實際應用中獲得了良好的實用效果。關(guān)鍵字:單片機;傳感器;藍牙;貓舍;智能系統(tǒng)第一章緒論1.1系統(tǒng)背景隨著社會的不斷進步,科學技術(shù)的飛速發(fā)展,人們的生活水平有了很大的提高,人們也開始喜愛飼養(yǎng)寵物,如:貓。然而,人們因為各種各樣的原因,有的時候在外不能照顧到家里的貓,出門在外擔心貓咪的喂食問題。因為對貓咪的喜愛,人們也會去貓咖一類的地方和貓玩耍,放松自己,貓咖里有很多的貓,作為店主需要對貓進行統(tǒng)一的管理,全靠人力是比較費勁的,而且很難做到全面。此外城市里有很多的流浪貓,它們四處流浪,生活環(huán)境惡劣,到了晚上就會到處翻垃圾桶找東西吃,這樣不僅會對貓的身體健康造成傷害,也不利于社區(qū)的環(huán)境管理。從目前的市場來看,現(xiàn)在并沒有一套具有多功能、自動化的貓舍產(chǎn)品,目前市場上貓舍都是簡單的木制結(jié)構(gòu),裝有毛氈布、貓爬架以提供貓的睡眠和娛樂需求,但是其缺少了自動投喂的功能,故本設(shè)計一種智能貓舍用自動投喂系統(tǒng)測試裝置及方法,以解決上述問題。1.2國內(nèi)外研究現(xiàn)狀目前,貓和狗在寵物類別中仍然占據(jù)主導地位?!?019年中國寵物行業(yè)白皮書》數(shù)據(jù)顯示,分別有43.1%和54.4%的飼養(yǎng)者將貓和狗作為寵物,而水族類、爬行類、嚙齒及其他類的寵物主人占比也分別達到24.4%、13.2%和20.1%。由此可見,飼養(yǎng)者的寵物選擇和偏好更加多樣化。我們都知道它們也像人一樣,會出現(xiàn)發(fā)燒、感冒、消化不良、過敏、嘔吐等等問題的,而且通常它們生病或者不舒服的時候,往往都會找一個自己認為比較安靜或者安全的地方,類似于沙發(fā)底下或者死角里躲起來,這個時候我們往往都沒辦法及時的發(fā)現(xiàn)它們的異常,或者及時觀測它們的病情,這時候如果有了貓籠就不一樣了,鏤空的設(shè)計使我們的觀測更加方便。同時有一個貓籠,也會為疾病的治療提供更多的方便。而這里的疾病主要指的是貓?zhí)\,因為這是一種需要多曬太陽才能治好的疾病,但是很少有貓能夠一直乖乖在哪里一動不動,所以貓籠能夠限制它們的活動,使病情能夠快速好轉(zhuǎn)。同時,每天往它們的飲用水中往滴兩滴維生素B也能夠有效緩解這種疾病。而貓籠也能夠改變它們的許多壞習慣,比如說亂撒尿的問題。如果你家的貓咪有這種問題,那么你就要為它準備一個貓籠了,因為這樣可以阻止它隨地大小便,籠子里的貓砂就是它唯一的選擇了。只需要在籠中養(yǎng)上半個月,那么這個問題就能夠迎刃而解了。同時貓籠的存在也能緩解一些客人的尷尬或者恐懼,因為有人喜歡自然就有人害怕,同樣也有一些人會對貓咪的毛過敏,一旦他們來到家里做客,就把貓咪暫時先放進籠子里,等到客人走后再放出來,這樣一來也不用擔心會出現(xiàn)什么尷尬的局面了。這第五點嗎,就是籠子還可以用來對新貓進行隔離。當家里出現(xiàn)新的成員的時候,為了避免疾病的感染,或者出現(xiàn)打架事件,所以就需要先將它們隔離起來,同時貓籠也比較省地方,對于住房面積比較小的家庭來說,也是個好法子。這貓籠的最后一個作用是對于哺乳期的母貓來說的。雖然現(xiàn)在越來越多的人都選擇了給自己家的小寶貝做了絕育,但是也不排除仍有一些人會選擇讓它們進行生育,而此時籠子的重要性就顯現(xiàn)出來了。因為會有一些貓媽媽不喜歡看護、喂養(yǎng)孩子,經(jīng)常想溜出去玩,久而久之孩子就會因為奶水不足而出現(xiàn)問題,所以籠子的出現(xiàn)就會很好的緩解這個問題。同時籠子的出現(xiàn)也能給它們提供一個安全、穩(wěn)定的居住場所。1.3研究的目的及意義目的智能貓舍系統(tǒng)是在單片機的基礎(chǔ)上,結(jié)合傳感器技術(shù),設(shè)計并實現(xiàn)智能控制的集成電路,集多種功能于一體。將喂食、溫控、消毒結(jié)合為一體,解放人們的雙手,并且可在外出時放心的將寵物留在家中,減少后顧之憂,側(cè)面提升了人們的工作效率,達到貓咪生活環(huán)境合適與否了然于胸的目的。意義與傳統(tǒng)貓舍相比,智能貓舍系統(tǒng)可以避免以下問題:①避免外出喂食問題:很多人們養(yǎng)貓并不會整日在家,有時也會需要長時間在外,食物放少了擔心貓挨餓,多了又擔心貓撐著,之后的日子挨餓。智能貓舍定量投喂,精準把控。②避免貓舍衛(wèi)生問題:貓咪在舍內(nèi)排泄后,有時主人不能及時清理,易讓貓咪患病。智能貓舍可以檢測貓是否排泄以提醒主人及時清理。并在貓咪出門時開啟紫外線燈光照射殺菌。③避免貓舍溫度不適問題:貓喜歡的生活溫度在17~23℃,貓舍可以將溫度控制在這之間。1.4本章小結(jié)本章根據(jù)現(xiàn)實生活中養(yǎng)貓的一些問題,并根據(jù)數(shù)據(jù)確定智能貓舍系統(tǒng)的可行性。簡單描寫智能貓舍系統(tǒng)的目的及意義。第二章硬件設(shè)計本章內(nèi)容是介紹智能貓舍控制的硬件結(jié)構(gòu)和設(shè)計,主要包括以下設(shè)計:單片機電路模塊、按鍵模塊、顯示模塊、溫度控制模塊、藍牙模塊、電機驅(qū)動模塊、水位監(jiān)測模塊等。下文中詳細的闡述了各電路設(shè)計中芯片的選型要求,并根據(jù)其內(nèi)部組成、性能參數(shù)和功能特點等設(shè)計出了具體的硬件電路。在綜合各個電路的元件性能的前提下,保證所設(shè)計的各個電路之間可以協(xié)調(diào)工作,在主系統(tǒng)的控制和調(diào)試下可以達到方便快捷的效果,實現(xiàn)硬件部分的高效執(zhí)行性和系統(tǒng)的自動化控制。2.1主控模塊硬件設(shè)計控制系統(tǒng)以STC12C5A60S2單片機為控制核心,結(jié)合傳感器技術(shù),集多種控制功能于一體,包括檢測溫度、喂食驅(qū)動、風扇驅(qū)動、溫度顯示、紫外線驅(qū)動等,可進行手動自動控制設(shè)置,還可以通過APP實現(xiàn)對貓舍的遠程控制和管理。整個系統(tǒng)分為兩個部分:第一部分是以STC12C5A60S2為核心的控制部分,實現(xiàn)對各種控制參數(shù)的設(shè)置、存儲、和處理。第二部分是以LCD1602為核心的顯示部分,通過單片對各種傳感器的數(shù)據(jù)進行顯示,讓人可以實時看到系統(tǒng)的狀態(tài)。如下圖2-1所示:STC12C5A60S2單片機STC12C5A60S2單片機LCD顯示模塊按鍵模塊藍牙模塊溫控模塊紫外線燈光模塊水位傳感器模塊紅外感應模塊
圖2-1系統(tǒng)整體原理框圖本套系統(tǒng)采用的單片機控制芯片是宏晶科技的STC12C5A60S2,如圖2-2所示。該單片機為單時鐘/機器周期型單片機,在相同的晶振下工作速度可超過普通51單片機的8倍以上,抗干擾能力強。圖2-2STC12C5A60S2單片機單片機加上適當?shù)耐鈬骷蛻贸绦?,?gòu)成的應用系統(tǒng)稱為最小系統(tǒng)?!皢纹瑱C最小系統(tǒng),或者稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對51系列單片機來說,最小系統(tǒng)一般應該包括:單片機、電源、晶振電路、復位電路。1、單片機89C51單片機一片2、電源5V直流電源1個3、晶振電路包括12MHz晶振1只、30pF瓷片電2只。如圖2-3圖2-3STC12C5A60S2最小系統(tǒng)電路圖2.2顯示模塊采用LCD1602顯示器作為顯示模塊,LCD1602是一種工業(yè)字符型液晶顯示器,能夠同時顯示32個字符。LCD1602液晶顯示原理是利用液晶的物理特性,通過輸入電壓對其顯示區(qū)域進行控制,即可以顯示出圖形、文字、數(shù)字。雖然LCD1602需要的IO口較多,但是在本設(shè)計中AT89C52的IO足夠支持LCD1602的使用,而且調(diào)試比較方便。如下圖2-4所示:所以本設(shè)計采用LCD1602顯示屏作為顯示模塊。圖2-4LCD1206顯示模塊1602LCD引腳說明如表2-5所示。表2-51602LCD引腳說明序號名稱說明1VSS電源地2VDD接5V電源正極3V0V0為屏幕對比度調(diào)整端,接地電源時對比度最高,接電源正極時對比度最弱4RS高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器5RW高電平1時進行讀操作,低電平0時進行寫操作6EN使能端7D0-D78位雙向數(shù)據(jù)端8A背光燈電源正極9K背光燈電源負極?它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的(說明:1為高電平,0為低電平)。?指令1:清顯示,指令碼01H,光標復位到地址00H位置。?指令2:光標復位,光標返回到地址00H?。?指令3:光標和顯示模式設(shè)置?I/D:光標移動方向,高電平右移,低電平左移?。S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效?。?指令4:顯示開關(guān)控制。?D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。?C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標。?B:控制光標是否閃爍,高電平閃爍,低電平不閃爍?。?指令5:光標或顯示移位?S/C:高電平時移動顯示的文字,低電平時移動光標?。?指令6:功能設(shè)置命令?DL:高電平時為4位總線,低電平時為8位總線。N:低電平時為單行顯示,高電平時雙行顯示。?F:低電平時顯示5X7的點陣字符,高電平時顯示5x10的點陣字符(有些模塊是?DL:高電平時為8位總線,低電平時為4位總線)。?指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置?。?指令9:讀出忙信號和光標地址。?BF為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙,模塊就能接收相應的命令或者數(shù)據(jù)。?指令10:寫數(shù)據(jù)?。?指令11:讀數(shù)據(jù)?。下圖2-6為LCD1602電路圖。圖2-6:LCD1602電路2.3溫度傳感器模塊在設(shè)計溫度控制模塊過程中,選用DALLAS公司生產(chǎn)的芯片DS18B20作為核心芯片,它是一種一線式數(shù)字溫度傳感器,主要由以下四部分組成:溫度傳感器、配置寄存器、64位ROM以及非揮發(fā)的溫度報警觸發(fā)器.其溫度的測量范圍是-55~+125攝氏度,有3個引腳T0-92,是小體積的的封裝形式,其溫度的測量精確程度可以達到0.0625攝氏度,并且有9-12位的A/D轉(zhuǎn)換精度,還可以將測量到的溫度擴展為16位數(shù)字量,并通過串行的方式輸出。其工作電源有兩種方式,一是可以在遠端直接引入,二是可以通過寄生電源產(chǎn)生。如圖2-7。圖2-7溫度傳感器DS18B20數(shù)字溫度傳感器模塊的各引腳說明如表2-8所示。表2-8DS18B20數(shù)字溫度傳感器引腳說明序號名稱說明1VDD接5V電源正極2DQ數(shù)據(jù)輸出,1-Wire漏極開路接口引腳3GND地DS18B20傳感器是用來測量溫度數(shù)值,器件中間的管腳是輸出管腳,兩端的引腳分別是GND和VCC引腳。DS18B20溫度傳感器的標準電路如下圖2-9所示:圖2-9DS18B20電路圖2.4按鍵模塊采用4個按鍵作為按鍵模塊。按鍵主要為切換為手動時根據(jù)各個傳感器采集到的數(shù)據(jù)進行手動控制,采用10K的上拉電阻以及100NF的消抖電容來組成按鍵模塊。如圖2-10所示:圖2-10按鍵按鍵模塊電路圖如圖2-11所示:圖2-11按鍵模塊電路圖2.5驅(qū)動模塊在選擇電機驅(qū)動方案時,我們選擇了L9110S電機驅(qū)動這個方案。使用L9110S電機驅(qū)動模塊,該模塊的驅(qū)動電流大,可以通過IO口的配置來實現(xiàn)電機的正反轉(zhuǎn),使用方法簡單而且價格低廉,性價比極高。如圖2-13所示:圖2-13驅(qū)動模塊本套系統(tǒng)采用直流電機驅(qū)動L9110模塊,來控制電機。該模塊的各引腳說明,如表2-14所示。表2-14直流電機驅(qū)動L9110模塊引腳說明序號名稱說明1VCC外接2.5-12V電壓2GND外接GND3A-1A外接單片機IO口4A-1B外接單片機IO口5B-1A外接單片機IO口6B-1B外接單片機IO口該驅(qū)動模塊的供電電壓為2.5V-12V,可以驅(qū)動電壓在2.5V-12V,最大工作電流為0.8A的電機,市面上的大部分電機基本都處于這個區(qū)域之內(nèi)。模塊輸入部分引出了6個端口作為輸入端,分別是VCC、GND、IA1、IB1、IA2、IB2。端口中VCC接2.5V-12V電源輸出,GND接地,VCC與GND負責對驅(qū)動模塊供電,尤其要注意驅(qū)動電路與單片機要共地。IA1,IB1,IA2,IB2則與單片機的PWM輸出口相接,通過對單片機的IO口配置來改變電機的轉(zhuǎn)動速度以及電機的旋轉(zhuǎn)。而輸出部分引出的4個排針則為輸出端。輸出端的4個口接電機分兩組是沒有方向的。如果接直流電機的話一個驅(qū)動模塊可以接4個直流電機。電機驅(qū)動電路如下圖2-15所示:圖2-15:溫控模塊驅(qū)動電路2.6藍牙模塊系統(tǒng)使用HC-05模塊作為通訊電路,藍牙技術(shù),一般可采用電腦或手機來控制。它較紅外技術(shù)優(yōu)勢在于傳輸距離較遠、傳輸速度快、安全性高等。但是作為當今互聯(lián)網(wǎng)發(fā)展高速的21世紀,要想遠距離跨地域控制就難以實現(xiàn)了。如圖2-16所示:圖2-16藍牙模塊該模塊使用HC-05模塊作為通訊電路,HC-05藍牙模塊的特點:?(1)?采用CSR主流藍牙芯片,藍牙V2.0協(xié)議標準;?(2)?輸入電壓:3.6V--6V,禁止超過7V;?(3)?波特率為1200,2400,4800,9600,19200,38400,57600,115200?用戶可設(shè)置;?(4)?帶連接狀態(tài)指示燈,LED快閃表示沒有藍牙連接;LED慢閃表示進入?AT命令模式;?(5)?板載3.3V穩(wěn)壓芯片,輸入電壓直流3.6V-6V;未配對時,電流約?30mA(因LED燈閃爍,電流處于變化狀態(tài));配對成功后,電流大約10mA。?(6)?用于GPS導航系統(tǒng),水電煤氣抄表系統(tǒng),工業(yè)現(xiàn)場采控系統(tǒng);?(7)?可以與藍牙筆記本電腦、電腦加藍牙適配器等設(shè)備進行無縫連接。?(8)?HC-05?嵌入式藍牙串口通訊模塊(以下簡稱模塊)具有兩種工作模?式:命令響應工作模式和自動連接工作模式,在自動連接工作模式下模塊又可分為主(Master)?、從(Slave)和回環(huán)(Loopback)三種工作角色。當模塊處于自動連接工作模式時,將自動根據(jù)事先設(shè)定的方式連接的數(shù)據(jù)傳輸;當模塊處于命令響應工作模式時能執(zhí)行下述所有?AT?命令,用戶可向模塊發(fā)送各種?AT?指令,為模塊設(shè)定控制參數(shù)或發(fā)布控制命令。通過控制模塊外部引腳(PIO11)輸入電平,可以實現(xiàn)模塊工作狀態(tài)的動態(tài)轉(zhuǎn)換。電路圖如圖2-17所示:圖2-17:藍牙模塊電路2.7紅外模塊在紅外感應模塊的選擇時,我們了解到E18-DNK這個模塊的功能完全滿足我們系統(tǒng)的要求,此模塊通過感應接收到的紅外光,而且反應靈敏,感應范圍大,價格低廉,又可以直接和MCU相連,所以我們使用這個模塊提供紅外感應數(shù)據(jù)。E18-D80NK-N是E18-D80NK的升級版。改動部分主要是內(nèi)部電路板和外部連線。傳感器外部接線,在末端增加了杜邦頭,方便用戶使用。?E18-D80NK-N這是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經(jīng)過調(diào)制后發(fā)出,接收頭對反射光進行解調(diào)輸出。有效的避免了可見光的干擾。透鏡的使用,也使得這款傳感器最遠可以檢測80厘米距離的問題(由于紅外光的特性,不同顏色的物體,能探測的最大距離也有不同;白色物體最遠,黑色物體最近)。檢測障礙物的距離可以根據(jù)要求通過尾部的電位器旋鈕進行調(diào)節(jié)。如圖2-18所示:?圖2-18紅外傳感器該傳感器具有探測距離遠、受可見光干擾小、價格便宜、易于裝配、使用方便等特點,可以廣泛應用于機器人避障、流水線計件等眾多場合。下圖2-19為系統(tǒng)紅外傳感器電路圖。圖2-19光敏電阻模塊電路圖2.8水位監(jiān)測模塊本套系統(tǒng)采用水位傳感器進行液體高度監(jiān)測,如圖2-20所示。當水位超過或低于所設(shè)置的范圍時,自動運行執(zhí)行模塊進行水位范圍調(diào)節(jié)。圖2-20水位傳感器水位傳感器模塊的各引腳說明如表2-21所示。表2-21水位傳感器模塊引腳說明序號名稱說明1+接電源正極5V2S數(shù)據(jù)輸出3-地水位傳感器模塊的S口與STC單片機IO口直接通信,電路圖如圖2-22所示。圖2-22水位傳感器連接電路圖2.14模塊硬件集成通過上述對智能貓舍系統(tǒng)系統(tǒng)模塊組成的硬件部分詳細分析,搭建出智能貓舍系統(tǒng)的硬件環(huán)境,如圖2-23所示。圖2-23智能貓舍系統(tǒng)實物圖2.15本章小結(jié)在這一章中具體對智能貓舍系統(tǒng)的硬件部分進行了具體探究,了解了貓舍上為什么使用STC12C5A60S2單片機而不用其他單片機,隨后有選擇性的購買硬件,搭建好硬件環(huán)境。在下一章中會具體來設(shè)計智能貓舍系統(tǒng)的軟件部分。第三章軟件設(shè)計軟件設(shè)計是本次論文的中智能貓舍系統(tǒng)主要內(nèi)容和重點,主要是根據(jù)設(shè)計系統(tǒng)的功能要求,在已選好的系統(tǒng)硬件的基礎(chǔ)上進行系統(tǒng)的軟件設(shè)計。?整個單片機系統(tǒng)的程序共分為三模塊,即主程序模塊、驅(qū)動模塊、檢測模塊和顯示模塊。每個模塊都有一定的功能和作用,其中一些還包括有一些子程序,它們既相互獨立有相互聯(lián)系,低級模塊可以被高級模塊調(diào)用,共同實現(xiàn)協(xié)調(diào)統(tǒng)一。?3.1?系統(tǒng)軟件設(shè)計本設(shè)計是以STC12C5A60S2為單片機作為主要的控制核心,利用溫度傳感器、水位傳感器、紅外傳感器實時監(jiān)測智能貓舍環(huán)境參數(shù),并顯示在LCD屏幕上,而當溫度、水位、紅外超過或低于所設(shè)定的范圍時,將啟動各對應功能,自動調(diào)節(jié)環(huán)境參數(shù)至設(shè)定的范圍內(nèi),從而實現(xiàn)對智能貓舍環(huán)境的自動監(jiān)測及控制。其系統(tǒng)軟件主要流程圖如圖3-1所示。圖3-1智能貓舍系統(tǒng)主要軟件流程圖??3.2顯示模塊軟件設(shè)計系統(tǒng)采用STC12C5A60S2單片機來控制LCD的顯示,顯示模塊的主要程序流程圖如圖3-2所示。圖3-2顯示模塊的主要程序流程圖顯示模塊功能運行主要代碼如下:/*全局運行參數(shù)定義*/#defineOSC_FREQ(11059200)//振蕩器頻率值,單位Hz#defineSYS_MCLK(OSC_FREQ/12)//系統(tǒng)主時鐘頻率,即振蕩器頻率÷12#defineLCD1602_DBP2//1602液晶數(shù)據(jù)端口sbitLCD1602_RS=P0^5;//1602液晶指令/數(shù)據(jù)選擇引腳sbitLCD1602_RW=P0^6;//1602液晶讀寫引腳sbitLCD1602_EN=P0^7;//1602液晶使能引腳sbitIO_DS18B20=P3^7;//DS18B20通信引腳sbitDHT11=P3^7;//dht11data端接單片機的P1^0口//sbitbeezer=P3^6;sbitHW=P3^4;sbitDS1302_CK=P1^5;sbitDS1302_IO=P1^4;sbitDS1302_CE=P1^3;sbitJDQ=P1^0;sbitled0=P1^0;sbitDEG=P1^1;sbitled2=P1^2;sbitled3=P1^3;sbitled4=P1^4;sbitled5=P1^5;sbitled6=P1^6;sbitFS=P1^7;sbit SDA=P1^6;//IIC數(shù)據(jù)引腳定義sbit SCL=P1^7;//IIC時鐘引腳定義sbitMOTO1=P3^6;//I2C總線時鐘引腳sbitMOTO2=P3^3;//I2C總線數(shù)據(jù)引腳sbitSB=P3^3;//蜂鳴器控制引腳sbitJIARE=P3^7;//蜂鳴器控制引腳sbitBUZZER=P3^6;//蜂鳴器控制引腳//sbitIO_DS18B20=P3^2;//DS18B20通信引腳sbitIR_INPUT=P3^2;//紅外接收引腳//按鍵定義sbitkey1=P0^4;sbitkey2=P0^3;sbitkey3=P0^2;sbitkey4=P0^1;typedef unsignedchar BYTE;typedef unsignedint WORD;typedefunsignedcharBOOL;typedefunsignedcharINT8U;typedefsignedcharINT8S;typedefunsignedintINT16U;typedefsignedintINT16S;typedefunsignedlongINT32U;typedefsignedlongINT32S;#endif3.3?溫度傳感器模塊軟件設(shè)計在利用芯片DS18B20讀取溫度時,首先要取得到芯片DS18B20檢測到的溫度值,該溫度值是以BC碼的形式來顯示,然后再以十進制的形式輸出,而且輸出的溫度值會是實際檢測到的溫度值的十倍,并且會含有一位不顯示的小數(shù)。下圖3-3為溫度讀取子程序圖。開始開始指令讀取數(shù)據(jù)轉(zhuǎn)換得到溫度結(jié)束圖3-3:溫度子程序圖系統(tǒng)溫度采集功能運行主要代碼如下:/*啟動一次18B20溫度轉(zhuǎn)換,返回值-表示是否啟動成功*/bitStart18B20(){bitack;ack=Get18B20Ack();//執(zhí)行總線復位,并獲取18B20應答if(ack==0)//如18B20正確應答,則啟動一次轉(zhuǎn)換{Write18B20(0xCC);//跳過ROM操作Write18B20(0x44);//啟動一次溫度轉(zhuǎn)換}return~ack;//ack==0表示操作成功,所以返回值對其取反}/*讀取DS18B20轉(zhuǎn)換的溫度值,返回值-表示是否讀取成功*/3.4按鍵模塊軟件設(shè)計按鍵模塊軟件流程圖如圖3-4:按鍵軟件流程圖3-4按鍵模塊功能運行主要代碼如下:voideepromprogram();voidshowInit();voidShowstep(unsignedcharnum) //設(shè)置步驟步伐{ num=0;switch(step){case1:Lcd1602SetCursor(0,1); break;case2:Lcd1602SetCursor(1,1); break;case3:Lcd1602SetCursor(3,1); break;case4:Lcd1602SetCursor(4,1); break;default:break;} if(step==0) { Lcd1602WriteCmd(0x0C);//光標關(guān)閉 }else { Lcd1602WriteCmd(0x0F); }}voidInputSetStep() //key1動作{ step++; if(step>1) { step=0; } Showstep(0); }unsignedcharNumUpRegion()//上升下降數(shù)字顯示區(qū)域限制{ unsignedintdate=0; switch(step) { case1:setValue1+=1; if(setValue1>=99) { setValue1=99; date=setValue1; break; default:break; } } returndate;}unsignedcharNumDownRegion()//數(shù)字下降數(shù)字顯示區(qū)域限制{ unsignedchardate=0; switch(step) { case1:setValue1-=1; if(setValue1<=1) { setValue1=1; } date=setValue1; break; default:break; } returndate;}voidNumberUpAcktion(){ unsignedchardat; dat=NumUpRegion(); showInit(); Showstep(0);}voidNumberDownAcktion(){ unsignedchardat; dat=NumDownRegion(); showInit(); Showstep(0);}voiddelay_Nms(unsignedintNcount)//??-0.018084490741us{unsignedchara,b; Ncount=Ncount*2; while(Ncount--) { for(b=4;b>0;b--) for(a=79;a>0;a--); }}externunsignedcharcom;bitflagmotosta=0,flagmoshi=0;/*按鍵動作函數(shù),根據(jù)鍵碼執(zhí)行相應的操作,keycode-按鍵鍵碼*/voidKeyAction(unsignedcharkeycode){if(keycode==0x25||com=='1')//向左鍵,向左切換設(shè)置位{ InputSetStep(); showInit(); Showstep(1); if(step==0) eepromprogram();}3.4水位檢測模塊軟件設(shè)計水位及濁度數(shù)據(jù)采集均是通過A/D轉(zhuǎn)換模塊實現(xiàn)的,將電壓信號轉(zhuǎn)換成模擬信號給STC單片機進行處理。A/D轉(zhuǎn)換模塊流程圖如圖3-5所示。圖3-5A/D轉(zhuǎn)換模塊流程圖系統(tǒng)過A/D轉(zhuǎn)換模塊功能運行主要代碼如下:voidInitADC() { P1ASF=0x03; ADC_RES=0x00; ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START; EA=1; }voidADConvert(unsignedcharch) {unsignedintcount=0,temp=0; while(count<11) { while(!(ADC_CONTR&ADC_FLAG)); ADC_CONTR&=~ADC_FLAG; temp=ADC_RES; temp<<=2; temp|=ADC_RESL; ADCValue[count]=temp; temp=0; ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ch; ADC_RES=0; ADC_RESL=0; count++; } }unsignedintDigitalFiltering(unsignedcharch) {unsignedinti,j,voltageADC=0,temp=0; ADConvert(ch); for(i=0;i<10;i++) {for(j=0;j<(10-i);j++){if(ADCValue[j]>ADCValue[j+1]){temp=ADCValue[j];ADCValue[j]=ADCValue[j+1];ADCValue[j+1]=temp;}}}for(i=2;i<8;i++) {voltageADC+=ADCValue[i]; } returnADCValue[5]; }3.5?系統(tǒng)中斷軟件設(shè)計??系統(tǒng)中斷子程序主要為定時器中斷函數(shù)以及串口中斷函數(shù),其中定時器中斷函數(shù)主要是制定執(zhí)行機構(gòu)檢測頻率,每到時間就會觸發(fā)中斷檢測數(shù)據(jù)是否達標,不達標則觸發(fā)相應執(zhí)行機構(gòu),而串口中斷則主要是接收到信息賦予一個標志位使串口完成數(shù)據(jù)接收。如圖3-6所示:開始開始中斷配置中斷檢測中斷執(zhí)行退出中斷圖3-6:串口中斷程序系統(tǒng)中斷軟件設(shè)計運行主要代碼如下://voidUart2Send(chari)//{// unsignedchartemp=0;// // IE2&=(~ES2);//關(guān)閉串口2中斷//ES2=0;// S2CON&=(~S2TI);//S2TI=0;// S2BUF=i;//裝入數(shù)據(jù)// do// {// temp=S2CON;// temp=temp&0x02;//temp=S2TI;// }while(temp==0);//判斷是否發(fā)送完畢//// S2CON&=(~S2TI);//S2TI=0;// IE2|=ES2;//ES2=1;// //}//voidUart2Sends(char*data_at){ IE2&=(~ES2);//關(guān)閉串口2中斷//ES2=0; S2CON&=(~S2TI);//S2TI=0; while(*data_at!='\0') //判斷一串數(shù)據(jù)是否結(jié)束 { S2BUF=*(data_at++);//裝入數(shù)據(jù) while((S2CON&S2TI)==0); S2CON&=(~S2TI);//S2TI=0; } S2CON&=(~S2TI);//S2TI=0; IE2|=ES2;//ES2=1; }unsignedcharcom=0;voidInterruptUart2()interrupt8{ IE2&=(~ES2);//關(guān)閉串口2中斷//ES2=0;if(S2CON&S2RI) { S2CON&=(~S2RI); //S2RI=0; com=S2BUF; } IE2|=ES2; if(S2CON&S2TI) { S2CON&=(~S2TI); //S2TI=0; }}3.5系統(tǒng)調(diào)試編寫好程序后,給單片機燒錄程序,連接各硬件模塊,開始上電,進行系統(tǒng)調(diào)試,智能貓舍控制系統(tǒng)硬件模塊連接圖如圖3-7所示。圖3-7智能貓舍控制系統(tǒng)硬件模塊連線圖上電后,即可看到LCD顯示屏實時顯示溫度、水位。打開手機串口調(diào)試軟件,連接智能貓舍控制系統(tǒng)底層的藍牙模塊,便可以通過手機看到此時的智能貓舍環(huán)境下的溫度、水溫數(shù)據(jù),也可通過手機按鈕控制底層的直流電機等執(zhí)行部件。圖3-8為手機串口調(diào)試軟件界面。圖3-8手機串口調(diào)試軟件界面3.7本章小結(jié)在本章軟件設(shè)計中,主要詳細介紹了智能貓舍控制系統(tǒng)系統(tǒng)軟件設(shè)計的主要思路、主要流程及模塊設(shè)計流程,還介紹了系統(tǒng)調(diào)試及運行結(jié)果等。第四章總結(jié)經(jīng)過幾個月的不斷學習和努力,在曹振華老師的諄諄教導下,在其他老師及同學們的熱心幫助與指導下,智能貓舍控制系統(tǒng)即將結(jié)束,基本完成了老師所規(guī)定的各項工作任務。本論文介紹了選用STC單片機作為主控芯片,用溫度傳感器、紅外傳感器實時控制貓舍內(nèi)的環(huán)境。由單片機處理后,自動控制貓舍內(nèi)溫度及殺菌,采集到的感知數(shù)據(jù),通過藍牙模塊傳輸?shù)绞謾C界面上。在硬件調(diào)試和軟件代碼編寫調(diào)試中遇到了許許多多的問題,如紅外傳感器與電機喂食的調(diào)試,就讓我思考了許久,但在曹老師的耐心指導下,解決了該藍牙與手機通信問題。通過做本設(shè)計,我了解并掌握了傳感器的基本理論知識,更深入的掌握單片機的開發(fā)應用和藍牙無線通信控制等知識。為以后從事物聯(lián)網(wǎng)應用技術(shù)打下了良好的基礎(chǔ),并在這種能力上得到了比較充分的鍛煉。參考文獻??[1]?楊彥偉,蘇衛(wèi)紅,張灝璠.基于STC889C51的智能魚缸控制系統(tǒng)[J].?電子技術(shù)與軟件工程.?2015(22)?[2]王天鳳.
基于單片機的電子密碼鎖教學應用[J].電子技術(shù).
2018(03)[3]徐興,傅凱.基于單片機的安全守護預警器設(shè)計[J].電子制作.
2020(01)[4]黎佩偉.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年甘肅省蘭州市永登縣博物館招聘講解員(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2025廣東廣州越秀區(qū)礦泉街招聘民政前臺工作人員1人考試模擬卷附答案
- 2026中國科學院微生物研究所生物安全與動物實驗平臺招聘1人筆試模擬試題及答案解析
- 2026年河南機電職業(yè)學院高職單招職業(yè)適應性測試參考題庫帶答案解析
- 2026浙江省人民醫(yī)院轉(zhuǎn)化醫(yī)學中心招聘1人筆試模擬試題及答案解析
- 2026青海省海北州海晏縣縣直機關(guān)事業(yè)單位公益性崗位第一批招聘60人筆試備考題庫及答案解析
- 2026“重慶人力”所屬企業(yè)重慶人才服務股份有限公司招聘派往某部隊招待所餐廳服務人員筆試模擬試題及答案解析
- 2026年上海煙草集團有限責任公司應屆生招聘筆試模擬試題及答案解析
- 2026信電綜合勘察設(shè)計研究院有限公司天津分公司招聘筆試參考題庫及答案解析
- 2026年合肥郵儲銀行電銷員崗位招聘筆試備考題庫及答案解析
- 2025年國資委主任年終述職報告
- 工程顧問協(xié)議書
- 大學教學督導與課堂質(zhì)量監(jiān)控工作心得體會(3篇)
- 廣東省汕頭市金平區(qū)2024-2025學年九年級上學期期末化學試卷(含答案)
- 項目專家評審意見書標準模板
- 2025年高中計算機操作試題題庫及答案
- 2026年山西信息職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及參考答案詳解1套
- 收購軟件的合同范本
- 麻醉科麻醉后惡心嘔吐預防指南
- 04 《生于憂患死于安樂》對比閱讀(解析版)
- 外貿(mào)三方協(xié)議出口合同
評論
0/150
提交評論