




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于單片機(jī)的寵物自動(dòng)喂食器結(jié)構(gòu)設(shè)計(jì)摘要基于單片機(jī)的寵物自動(dòng)喂食器,在本次畢業(yè)設(shè)計(jì)中,該系統(tǒng)實(shí)現(xiàn)了根據(jù)系統(tǒng)初始時(shí)設(shè)定的三個(gè)喂食時(shí)間對(duì)寵物進(jìn)行自動(dòng)喂食,并通過語音模塊播放語音吸引寵物進(jìn)食,并控制電機(jī)自動(dòng)流出定量的食物,解決家中無人時(shí)寵物的自動(dòng)喂養(yǎng)問題。寵物自動(dòng)喂食器采用單片機(jī)技術(shù),在研究中用到的主要模塊為STC89C52單片機(jī)主控制模塊,按鍵設(shè)置模塊,LCD1602顯示模塊,步進(jìn)電機(jī)驅(qū)動(dòng)模塊,WT588D語音模塊等。寵物喂食器的喂食模式:通過系統(tǒng)初始化定義的三個(gè)自動(dòng)喂食時(shí)間,當(dāng)DS1302的實(shí)時(shí)時(shí)間依次到達(dá)這三個(gè)時(shí)間后,系統(tǒng)會(huì)自動(dòng)進(jìn)行語音播報(bào)吸引寵物進(jìn)食,并通過電機(jī)正反轉(zhuǎn)模擬寵物開始進(jìn)食和停止進(jìn)食。這樣解決了主人不在時(shí)無法按時(shí)給寵物喂食時(shí)的困擾,避免了寵物由于飲食異常而帶來的問題。整個(gè)系統(tǒng)中主要由STC89C52單片機(jī)對(duì)其他分系統(tǒng)模塊實(shí)施控制。LCD1602在屏幕上顯示三個(gè)喂食時(shí)間,同時(shí)DS1302時(shí)鐘芯片可以獲取實(shí)時(shí)時(shí)間,單片機(jī)不停地讀取這個(gè)實(shí)時(shí)時(shí)間與三個(gè)喂食時(shí)間對(duì)比,這樣來判斷寵物喂食時(shí)間是否到達(dá)。關(guān)鍵詞:定時(shí);單片機(jī);智能化目錄TOC\o"1-3"\h\u14401摘要 127278目錄 311238第一章緒論 5209171.1設(shè)計(jì)背景及意義 5267991.2國內(nèi)外研究現(xiàn)狀 5309101.2.1國內(nèi)研究現(xiàn)狀 5161341.2.2國外研究現(xiàn)狀 5267551.3設(shè)計(jì)任務(wù)及要求 66146第二章硬件設(shè)計(jì) 7252982.1硬件設(shè)計(jì)總體結(jié)構(gòu) 779092.2STC89C52單片機(jī)的簡介 8235092.2.1STC系列簡介 8157352.2.2主要性能指標(biāo) 8193112.2.3STC89C52引腳圖 9216032.3步進(jìn)電機(jī)驅(qū)動(dòng)芯片 9324192.3.1步進(jìn)電機(jī)驅(qū)動(dòng)電路ULN2003簡介 9223962.3.228BYJ-48步進(jìn)電機(jī) 1144382.4LCD1602液晶顯示芯片 12299602.5DS1302時(shí)鐘電路圖 1415071時(shí)鐘/日歷寄存器如圖2-9,數(shù)據(jù)信息是以BCD碼(二進(jìn)制編碼的十進(jìn)制格式)存儲(chǔ)時(shí)鐘/日歷寄存器中。 15267582.6WT588D語音播報(bào)模塊電路 1511324第三章軟件設(shè)計(jì) 17236933.1編程語言、開發(fā)環(huán)境及燒寫軟件 17299363.1.1編程語言 1773473.1.2開發(fā)環(huán)境 17194143.1.3燒寫軟件 1780943.2程序流程圖設(shè)計(jì) 18172503.2.1總體流程圖 18279553.2.2LCD1602液晶顯示 1971343.2.3按鍵子程序 20201883.2.4WT588D語音播報(bào) 21276033.2.5步進(jìn)電機(jī)驅(qū)動(dòng) 2223118第四章系統(tǒng)調(diào)試 24187324.1LCD1602初始化 2419394.2按鍵功能 24184044.3電機(jī)轉(zhuǎn)動(dòng)和語音播報(bào) 2512325結(jié)論 2721371參考文獻(xiàn) 28緒論設(shè)計(jì)背景及意義單片機(jī)自20世紀(jì)70年代問世以來,已廣泛應(yīng)用于機(jī)電一體化設(shè)備、汽車電子、家用電器工業(yè)自動(dòng)化、主動(dòng)控制與檢測(cè)、智能儀表儀器、消費(fèi)型電子產(chǎn)品、網(wǎng)絡(luò)通訊、裝備用武器等各個(gè)方面。單片機(jī)就是在一片半導(dǎo)體硅片上,集成了中央處理單元(CPU)、存儲(chǔ)器(RAM、ROM)、并行口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、系統(tǒng)時(shí)鐘電路及系統(tǒng)總線的,用于測(cè)控領(lǐng)域的單片微型計(jì)算機(jī),簡稱單片機(jī)。目前飼養(yǎng)貓、狗和其他寵物的家庭逐漸增多,但可能由于主人工作等原因,不在家時(shí)就無法抽出時(shí)間來按時(shí)地為家中的寵物喂食,從而導(dǎo)致了寵物進(jìn)食出現(xiàn)不規(guī)律或異常等問題。為解決這一困擾,寵物自動(dòng)喂食器完全可以在主人不在的時(shí)候自動(dòng)按照設(shè)置好的喂食時(shí)間為寵物喂食,從而解決寵物喂食問題,保障寵物進(jìn)食需求,而且系統(tǒng)的設(shè)計(jì)比較方便簡單,且具備實(shí)用性和智能性。國內(nèi)外研究現(xiàn)狀國內(nèi)研究現(xiàn)狀自動(dòng)喂食器在第二屆中國北京國際寵物用品展覽會(huì)上成為展示焦點(diǎn),此次在特裝展臺(tái)亮相的有德國特瑞士中國運(yùn)營中心、青島特瑞士國際貿(mào)易有限公司,向到場(chǎng)觀眾展示了各種各樣的自動(dòng)喂食器,無不表明,寵物用品市場(chǎng)發(fā)展逐漸趨于自動(dòng)化、智能化。這些公司均認(rèn)為,不光寵物用品市場(chǎng)的發(fā)展逐漸趨于自動(dòng)化和智能化,人類生活中用到的日常用品也一定會(huì)向便攜化發(fā)展,單片機(jī)在這方面的應(yīng)用將更加“智能化”,且具有軟硬件結(jié)合、體積小等優(yōu)勢(shì),很容易嵌入各種應(yīng)用系統(tǒng)。國外研究現(xiàn)狀從20世紀(jì)80年代到二十一世紀(jì)初,國外設(shè)計(jì)類相關(guān)書籍的出版提供了許多設(shè)計(jì)類產(chǎn)品的資料,他們其中的許多觀點(diǎn)和主張都對(duì)對(duì)中國地域內(nèi)的寵物產(chǎn)品極具沖擊性和指導(dǎo)性的意義。不得不承認(rèn),海外對(duì)于寵物產(chǎn)品連同其他相似產(chǎn)業(yè)領(lǐng)域的研究比之中國確實(shí)遙遙領(lǐng)先,此外,國外寵物經(jīng)濟(jì)發(fā)展人性化的趨勢(shì)在新興的寵物保險(xiǎn)行業(yè)中別具一格。不難發(fā)現(xiàn),國外相對(duì)于中國的寵物產(chǎn)品領(lǐng)域的研究和提出,問題探索的深度和廣度都比較超前。國外產(chǎn)品與寵物之間的協(xié)調(diào)關(guān)系,使得寵物產(chǎn)品更能滿足寵物的各種需求,同時(shí),這也是判斷寵物用品是否能被人們廣泛交易的標(biāo)準(zhǔn)?,F(xiàn)在從進(jìn)口的寵物用品,可以發(fā)現(xiàn)不外乎兩種,一種是歐美國家生產(chǎn)寵物產(chǎn)品,他們生產(chǎn)的產(chǎn)品種類繁多并且能滿足各種各樣的寵物需求,額外附加價(jià)值高;另一種恰是東南亞各國生產(chǎn)的無法滿足寵物實(shí)際需求的各式低價(jià)位產(chǎn)品,不得不說,這是兩個(gè)極端。設(shè)計(jì)任務(wù)及要求設(shè)計(jì)目標(biāo)為基于單片機(jī)的寵物自動(dòng)喂食器,要求包括以下幾點(diǎn):定時(shí)喂食:能夠定時(shí)按照設(shè)置好的三個(gè)喂食時(shí)間為寵物喂食。語音播報(bào):時(shí)間到達(dá)后,通過語音播報(bào)模塊借助揚(yáng)聲器進(jìn)行語音播報(bào),吸引寵物進(jìn)食。顯示時(shí)間:LCD1602屏幕上可以實(shí)時(shí)地顯示當(dāng)前時(shí)間和內(nèi)部時(shí)定義的三個(gè)寵物自動(dòng)喂食時(shí)間。修改時(shí)間:可以通過按鍵對(duì)實(shí)時(shí)時(shí)間和自動(dòng)喂食時(shí)間進(jìn)行修改(自動(dòng)喂食時(shí)間為三次)。食物投放:利用電機(jī)驅(qū)動(dòng)原理拉動(dòng)食物盛器底蓋進(jìn)行寵物食物喂養(yǎng)。硬件設(shè)計(jì)2.1硬件設(shè)計(jì)總體結(jié)構(gòu)根據(jù)給定的任務(wù)及要求,確定了寵物自動(dòng)喂食器設(shè)計(jì)的總體設(shè)計(jì)原理框圖如圖2-1所示:功能按鍵功能按鍵單片機(jī)步進(jìn)電動(dòng)機(jī)WT588D語音芯片LCD1602顯示DS1302時(shí)鐘芯片圖2-SEQ圖_2-\*ARABIC1寵物自動(dòng)喂食器原理框圖(1)功能按鍵:通過按鍵可以修改當(dāng)前的實(shí)時(shí)時(shí)間和已定義的喂食時(shí)間、開啟和關(guān)閉語音播報(bào)。(2)DS1302時(shí)鐘芯片:此時(shí)鐘芯片是用來一款實(shí)時(shí)時(shí)鐘芯片,用來記錄當(dāng)前時(shí)間,可以顯示年、月、日、時(shí)、分、秒、星期等,并且具有掉電保存功能。(3)步進(jìn)電動(dòng)機(jī):步進(jìn)電機(jī)是一種執(zhí)行機(jī)構(gòu)。電機(jī)正轉(zhuǎn)模擬寵物進(jìn)食,電機(jī)反轉(zhuǎn)模擬寵物停止進(jìn)食。(4)WT588D語音芯片:WT588D語音芯片是一款語音單片機(jī)芯片,通過揚(yáng)聲器即喇叭用來實(shí)現(xiàn)寵物自動(dòng)喂食時(shí)的語音播報(bào)。(5)LCD1602顯示:通過LCD1602液晶顯示模塊顯示當(dāng)前的實(shí)時(shí)時(shí)間和初始時(shí)的三次自動(dòng)喂食時(shí)間。2.2STC89C52單片機(jī)的簡介2.2.1STC系列簡介STC單片機(jī)是高速、低消耗、超強(qiáng)抗滋擾的新一代8051單片機(jī),與傳統(tǒng)的8051所用指令代碼完全兼容。其中子系列STC89C52是一種帶FLASH可編程可檫除只讀存儲(chǔ)器的低電壓,高性能的微型處理器,簡稱單片機(jī)。STC89C52芯片內(nèi)部具有傳統(tǒng)51單片機(jī)所不具備的功能。在單芯片上,擁有靈活的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制系統(tǒng)提供靈活度更高、有效更強(qiáng)的解決途經(jīng)。2.2.2主要性能指標(biāo)1.指令代碼完全兼容以往的8051單片機(jī)2.工作電壓:5.5V~3.3V3.\t"/item/STC89C52/_blank"工作頻率范圍:0~40MHz,實(shí)際工作頻率可達(dá)48MHz4.
\t"/item/STC89C52/_blank"用戶應(yīng)用程序空間為8K字節(jié)5.片上集成512字節(jié)RAM6.通用I/O口(32個(gè)):P0-P3,每口各8位雙向數(shù)據(jù)接口7.可以下載用戶需要的hex后綴程序文件8.具有EEPROM功能9.內(nèi)含3個(gè)\t"/item/STC89C52/_blank"定時(shí)器/計(jì)數(shù)器,均為16位,即定時(shí)器T0、定時(shí)器T1、定時(shí)器T210.\t"/item/STC89C52/_blank"外部中斷4路,下降沿中斷或低電平觸發(fā)電路11.異步通用\t"/item/STC89C52/_blank"串行口12.工作溫度范圍:-40~+85℃13.PDIP封裝2.2.3STC89C52引腳圖圖2-SEQ圖_2-\*ARABIC2STC89C52雙列直插式引腳圖2.3步進(jìn)電機(jī)驅(qū)動(dòng)芯片2.3.1步進(jìn)電機(jī)驅(qū)動(dòng)電路ULN2003簡介步進(jìn)電機(jī)在工作的時(shí)候是需要驅(qū)動(dòng)的,因?yàn)榈谝浑娐分须娏饕脖容^小,第二單片機(jī)發(fā)出的指令步進(jìn)電機(jī)那邊必須要有控制單元。所以我們需要采用驅(qū)動(dòng)芯片,來進(jìn)行控制和處理。ULN2003是高壓耐、電流較大的復(fù)合晶體管,由七個(gè)復(fù)合的硅晶體管組成。其特性如下:ULN2003的每一組達(dá)林頓都串聯(lián)著一個(gè)2.7K的基極電阻組成ULN2003電壓工作很高,電流工作較大。(3)ULN2003采用DIP—16或SOP—16塑料封裝。ULN2003為16腳封裝,引腳圖如圖2-3所示:圖2-SEQ圖_2-\*ARABIC3ULN2003引腳圖ULN2003是一個(gè)包含7個(gè)單元的典型非門電路,其中的每個(gè)單元都有單獨(dú)的驅(qū)動(dòng)電流,電流最大可至350mA,1腳輸入,9腳置為懸空,16腳輸出。ULN2003芯片引腳介紹如表2-1:表2-SEQ表_2-\*ARABIC1ULN2003引腳介紹引腳1CPU脈沖輸入端,對(duì)應(yīng)另一個(gè)脈沖信號(hào)輸出端引腳2CPU脈沖輸入端引腳3CPU脈沖輸入端引腳4CPU脈沖輸入端引腳5CPU脈沖輸入端引腳6CPU脈沖輸入端引腳7CPU脈沖輸入端引腳8接地引腳9內(nèi)部7個(gè)續(xù)流二極管負(fù)極的公共端,各二極管的正極與各達(dá)林頓管的集電極與分別連接。引腳10CPU脈沖輸出端,對(duì)接7腳輸入端引腳11CPU脈沖輸出端,對(duì)接6腳輸入端引腳12CPU脈沖輸出端,對(duì)接5腳輸入端引腳13CPU脈沖輸出端,對(duì)接4腳輸入端引腳14CPU脈沖輸出端,對(duì)接3腳輸入端引腳15CPU脈沖輸出端,對(duì)接2腳輸入端引腳16CPU脈沖輸出端,對(duì)接1腳輸入端2.3.228BYJ-48步進(jìn)電機(jī)步進(jìn)電機(jī)是將電脈沖信號(hào)變換為角位移或線位移的執(zhí)行組織,應(yīng)用極為廣泛。簡單來講:當(dāng)步進(jìn)驅(qū)動(dòng)收到一個(gè)脈沖信號(hào),可以驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一個(gè)角度另外要想改變電機(jī)轉(zhuǎn)動(dòng)時(shí)的速度,可以通過控制電脈沖頻率,從而實(shí)現(xiàn)調(diào)速的作用。28BYJ-48是4相永磁試電機(jī),電機(jī)的里面有6個(gè)齒(0-5),每一個(gè)齒上都有永久的磁性,它是電機(jī)的轉(zhuǎn)子;電機(jī)的外殼有八個(gè)齒(A-D),每個(gè)齒上都有纏有一個(gè)線圈繞組,正對(duì)這的線圈繞組又是鏈接在一起的如圖2-4:圖2-SEQ圖_2-\*ARABIC4步進(jìn)電機(jī)內(nèi)部結(jié)構(gòu)示意圖步進(jìn)電機(jī)一共有5根線,紅色的現(xiàn)是公共端,接5v電源,橙,黃,粉,藍(lán),四根線就對(duì)應(yīng)A,B,C,D;按照電路的設(shè)計(jì),電機(jī)每轉(zhuǎn)動(dòng)一個(gè)小的角度所對(duì)應(yīng)值可以計(jì)算出來,分別是:0xe,0xc,xd,0x9,0xb,0x3,0x7,0x6;在開發(fā)過程中,可以直接按照順序,依次給控制電機(jī)的IO口給這幾個(gè)值就可以了。2.4LCD1602液晶顯示芯片LCD1602采用16引腳的標(biāo)準(zhǔn)接口,編程用到的比較主要的引腳為16個(gè)其中的3個(gè),分別為:RS,R/W和E,下表2-2介紹了它們的功能:表2-SEQ表_2-\*ARABIC2LCD1602主要引腳介紹引腳功能詳述第4腳:RS寄存器選擇高電平(1)時(shí)選擇數(shù)據(jù)、低電時(shí)(0)時(shí)選擇指令第5腳:R/W讀寫信號(hào)線高電平(1)時(shí)執(zhí)行讀,低電平(0)時(shí)執(zhí)行寫第6腳:E使能端高電平(1)時(shí)才執(zhí)行讀取數(shù)據(jù),低電平(0)失效第7-14腳:D0-D78位雙向數(shù)據(jù)端執(zhí)行數(shù)據(jù)的傳輸此部分具體電路圖如圖2-5所示。圖2-SEQ圖_2-\*ARABIC5LCD1602電路圖LCD1602內(nèi)置的控制器包含如下的11條控制指令,如圖2-6所示:圖2-SEQ圖_2-\*ARABIC6LCD內(nèi)部指令圖16*2說明了LCD1602可以顯示2行數(shù)據(jù),每行可以顯示16個(gè)字符模塊或者數(shù)字模塊,共2行。而要想在屏幕上顯示字符,就要先輸入顯示字符的那個(gè)內(nèi)部地址,這樣才能在屏幕上的某一位置顯示特定想要的字符或者數(shù)字,圖2-7是1602的內(nèi)部顯示地址。內(nèi)部顯示地址是00H,對(duì)應(yīng)著第一行第一個(gè)字符的位置,但要注意寫入顯示地址時(shí)要將數(shù)據(jù)位最高位D7位始終置為高電平1,實(shí)際寫入的地址數(shù)據(jù)應(yīng)為00000000B+10000000B=10000000B,即00H+80H=80H,此時(shí)寫入80H才可以將光標(biāo)位置定位在在第一行第一個(gè)字符。此外,LCD1602液晶模塊的內(nèi)置字符發(fā)生存儲(chǔ)器(CGROM)中包含了數(shù)字,字母等字符,每一個(gè)字符都有一個(gè)固定的代碼,在LCD1602中這個(gè)固定代碼即為16進(jìn)制的ASCII碼表,例如字母A的ASCII為0x41,字母B的ASCII為0x42。圖2-SEQ圖_2-\*ARABIC7LCD1602內(nèi)部顯示地址2.5DS1302時(shí)鐘電路圖DS1302是一種低功耗的實(shí)時(shí)時(shí)鐘芯片??梢詫?duì)年、月、日等進(jìn)行計(jì)時(shí)存儲(chǔ),并且誤差比較小,此外DS1302還具有閏年自動(dòng)補(bǔ)償。DS1302芯片包含一個(gè)靜態(tài)RAM存儲(chǔ)器,可用于存儲(chǔ)實(shí)時(shí)時(shí)鐘/日歷。它通過簡單的串行接口和單片機(jī)通訊,將當(dāng)前的時(shí)鐘信息存于靜態(tài)的RAM中。DS1302芯片對(duì)于少于31天的月份所包含的天數(shù)可以進(jìn)行自動(dòng)調(diào)整,還可以自動(dòng)對(duì)閏年進(jìn)行修正。AM/PM的指示器置于內(nèi)部,使得時(shí)鐘可以選擇工作在12/24兩種方式,時(shí)鐘芯片的引腳如圖2-8所示。圖2-SEQ圖_2-\*ARABIC8DS1302引腳圖各引腳的功能:表2-SEQ表_2-\*ARABIC3DS1302引腳功能引腳1:Vcc25V電源。當(dāng)Vcc2>Vcc1+0.2V時(shí),由Vcc2向DS1302供電,當(dāng)Vcc2<Vcc1時(shí),由Vcc1向DS1302供電引腳2、3晶振管腳引腳4接地引腳5:CE/RST復(fù)位腳引腳6:I/O數(shù)據(jù)輸入輸出腳引腳7:SCLK串行時(shí)鐘輸入端引腳8:Vcc1備用電源時(shí)鐘/日歷寄存器如圖2-9,數(shù)據(jù)信息是以BCD碼(二進(jìn)制編碼的十進(jìn)制格式)存儲(chǔ)時(shí)鐘/日歷寄存器中。圖2-SEQ圖_2-\*ARABIC9DS1302時(shí)鐘/日歷寄存器讀寫地址寄存器說明:第一行:秒:因?yàn)槊霝?0秒,十位最大是5,所以bit6,5,4位這3位足以表示秒的十位,個(gè)位最大是9,所以第3,2,1,0這4位足以表示個(gè)位。第二行:分:范圍同樣為0-59,所以與秒相同;第三行:bit7位:0表示24小時(shí)制,1表示12小時(shí)制;bit5位:12小時(shí)制時(shí):0表示上午,1表示下午,24小時(shí)制時(shí):和bit4位聯(lián)合表示小時(shí)的十位;其余的時(shí)間一樣的表示。倒數(shù)第二行:只看bit7位:為1時(shí)禁止寫入,所以初始寫數(shù)據(jù)時(shí)必須置0才允許寫入數(shù)據(jù);2.6WT588D語音播報(bào)模塊電路WT588D為可編輯語音芯片,WT588D的優(yōu)點(diǎn)在于:
FLASH可以重復(fù)進(jìn)行擦寫,價(jià)格也比較便宜;
開發(fā)工具比較簡便,只要具備這樣的一個(gè)語音芯片,一個(gè)普通的USB下載器,基本了解后均可進(jìn)行單片機(jī)與語音模塊的聯(lián)合研究,做出自己需要的語音模塊。3、
另外可以ISP在線下載,更換程序和語音升級(jí)都比較方便簡單,不需要將芯片與當(dāng)前環(huán)境相隔離。圖2-SEQ圖_2-\*ARABIC10WT588D語音播報(bào)上圖為WT588D語言播報(bào)電路引腳圖,WT588D語音芯片,是通過外部的下載軟件下載需要的語音文件,例如想要播報(bào)“寵物開飯了”,只需要通過USBminu下載器編輯這段語音“寵物開飯了”,之后生成一個(gè)相應(yīng)的地址,當(dāng)STC89C52單片機(jī)檢測(cè)到喂食時(shí)間到達(dá)后,WT588D接收單片機(jī)發(fā)來指令,被控制執(zhí)行語音播報(bào)。軟件設(shè)計(jì)3.1編程語言、開發(fā)環(huán)境及燒寫軟件3.1.1編程語言由于整個(gè)程序比較復(fù)雜,且計(jì)算量較大,用到了較多的邏輯運(yùn)算,所以程序的編寫采用了C語言。使用C語言相對(duì)使用匯編語言而言,有如下優(yōu)點(diǎn):(1)不需要學(xué)習(xí)單片機(jī)的指令集,也不用了解單片機(jī)的存儲(chǔ)器結(jié)構(gòu)。(2)其中的關(guān)鍵字和操作函數(shù)與人的思維更接近,有利于實(shí)現(xiàn)程序編程。(3)程序的開發(fā)、調(diào)試時(shí)間與匯編語言相比大大減短。(4)C語言比起匯編語言在功能、結(jié)構(gòu)性、可讀性、可移植性、可維護(hù)性上優(yōu)勢(shì)上更加明顯。3.1.2開發(fā)環(huán)境本設(shè)計(jì)中單片機(jī)程序的編譯鏈接軟件是Keil,Keil是51系列單片機(jī)C語言開發(fā)編程必不可少的一款軟件。它的使用步驟主要為以下幾點(diǎn):(1)在桌面編程軟件keil,新建一個(gè)工程文件;(2)創(chuàng)建并添加新的C文件到上面的工程文件下;(3)在C文件下設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行程序的主函數(shù)、子函數(shù)等。(4)對(duì)Keil配置相關(guān)重要參數(shù);(5)編譯整個(gè)工程文件,生成可執(zhí)行的hex后綴文件。3.1.3燒寫軟件STC-ISP是一款簡單的單片機(jī)程序燒寫軟件,由宏晶公司出品,具備hex文件下載,在線仿真調(diào)試和串口預(yù)覽等一系列功能,是目前51系列單片機(jī)應(yīng)用不可或缺的軟件。單片機(jī)可以通過下載模塊(如:CH340等串口燒寫模塊)與計(jì)算機(jī)通信,從而下載可執(zhí)行文件到單片機(jī),同時(shí)需要在STC-ISP軟件中選擇使用的單片機(jī)型號(hào)以及下載模塊插入計(jì)算機(jī)的串口號(hào),一般串口號(hào)會(huì)自動(dòng)識(shí)別。然后在文件地址中找到hex為后綴的可執(zhí)行文件,點(diǎn)擊下載就可以將程序下載到STC89C52單片機(jī)里了。3.2程序流程圖設(shè)計(jì)3.2.1總體流程圖當(dāng)你按下電源開關(guān)后,先后進(jìn)行LCD1602,WT588D語音模塊,步進(jìn)電機(jī)的初始化,接下來會(huì)在LCD屏幕上的第一行顯示實(shí)時(shí)時(shí)間,第二行顯示第一次自動(dòng)喂食時(shí)間。通過按鍵掃描若檢測(cè)到有第一個(gè)按鍵即K1按下后,會(huì)直接進(jìn)入按鍵設(shè)置,在這里可以更改實(shí)時(shí)時(shí)間和喂食時(shí)間;若按下K4,K5則為手動(dòng)喂食開和關(guān)。按鍵設(shè)置退出后系統(tǒng)會(huì)自動(dòng)比較實(shí)時(shí)時(shí)間和喂食時(shí)間,當(dāng)前者等于后者時(shí),電機(jī)旋轉(zhuǎn),同時(shí)語音播報(bào)吸引寵物進(jìn)食。系統(tǒng)總體流程圖如下圖3-1所示:圖3-SEQ圖_3-\*ARABIC1系統(tǒng)總體程序流程圖3.2.2LCD1602液晶顯示 按下電源開關(guān),LCD1602液晶顯示屏通電,LCD1602首先進(jìn)行初始化操作,屏幕清零,并清空內(nèi)部存儲(chǔ)。之后LCD1602和STC89C52單片機(jī)進(jìn)行通信,將想要顯示的內(nèi)容通過單片機(jī)顯示LCD屏幕上,延時(shí)一定時(shí)間后,將實(shí)時(shí)時(shí)間和喂食時(shí)間等內(nèi)容顯示在LCD1602液晶顯示屏上。在設(shè)置好時(shí)間后,根據(jù)按鍵按下后響應(yīng)的實(shí)際操作,及時(shí)響應(yīng)并變換數(shù)值。單片機(jī)控制寫入引腳,然后又執(zhí)行寫入數(shù)據(jù)的命令。最后才是LCD1602顯示屏執(zhí)行指令,將修改后的內(nèi)容實(shí)時(shí)顯示出來。LCD1602的顯示流程圖如圖3-2所示:圖3-SEQ圖_3-\*ARABIC2LCD1602初始化流程圖3.2.3按鍵子程序按鍵共有5個(gè),其中k1進(jìn)入設(shè)置開關(guān),可以直接進(jìn)入設(shè)置模式,循環(huán)按下12次后退出當(dāng)前模式。k2,k3實(shí)現(xiàn)按鍵的加減,按鍵k4,k5為手動(dòng)喂食開關(guān)。按鍵流程圖如3-3所示:圖3-SEQ圖_3-\*ARABIC3按鍵流程圖3.2.4WT588D語音播報(bào)WT588D語音芯片為本次設(shè)計(jì)中用到的語音模塊,當(dāng)前需要播報(bào)當(dāng)前的內(nèi)容是由STC89C52單片機(jī)控制WT588D語音模塊來實(shí)現(xiàn)的,這就是而進(jìn)行寵物自動(dòng)喂食時(shí)需要語音播報(bào)的時(shí)候。WT588D語音芯片,是通過外部的USBminu下載器下載需要的語音文件,如想要播報(bào)語音“寵物開飯了”,只需要通過USBminu下載器編輯下載這段語音“寵物開飯了”,之后生成一個(gè)相應(yīng)的地址并等待單片機(jī)調(diào)用,當(dāng)STC89C52單片機(jī)檢測(cè)到喂食時(shí)間到達(dá)后,即會(huì)判斷是否播報(bào),播報(bào)時(shí)單片機(jī)就會(huì)發(fā)送指令給WT588D,WT588D接受來自單片機(jī)的指令后,被控制執(zhí)行語音播報(bào)。語音播報(bào)流程如圖3-4所示:圖3-SEQ圖_3-\*ARABIC4語音播報(bào)流程圖3.2.5步進(jìn)電機(jī)驅(qū)動(dòng)首先,假設(shè)我們讓B線導(dǎo)通,此時(shí)轉(zhuǎn)子0和3都對(duì)應(yīng)B有一個(gè)吸引力;可以看到的是,A和2之間有一個(gè)很小的夾角,當(dāng)我們導(dǎo)通A時(shí),轉(zhuǎn)子就會(huì)順時(shí)針轉(zhuǎn)動(dòng)對(duì)齊A,此時(shí)我們D和4之間的夾角也減到了最?。ㄔ傩【褪钦龑?duì)),為了讓轉(zhuǎn)子向一個(gè)方向旋轉(zhuǎn),我們可以先關(guān)閉A,導(dǎo)通D,此時(shí)4和D之間產(chǎn)生的吸引力,使電機(jī)又順時(shí)針轉(zhuǎn)動(dòng)了一點(diǎn)。步進(jìn)電機(jī)有紅,橙,黃,粉,藍(lán)5根線,其中紅色為公共端,接5v電源。A,B,C,D分別對(duì)應(yīng)橙,黃,粉,藍(lán)4根線;根據(jù)電路的設(shè)計(jì)原理,電機(jī)每次轉(zhuǎn)動(dòng)一個(gè)微小角度的值可以計(jì)算出來,分別是:0xe,0xc,xd,0x9,0xb,0x3,0x7,0x6;在開發(fā)過程中,可以直接按照順序,依次給控制電機(jī)的IO口給這幾個(gè)值即可。電機(jī)驅(qū)動(dòng)流程圖如圖3-5所示。圖3-SEQ圖_3-\*ARABIC5步進(jìn)電機(jī)驅(qū)動(dòng)流程圖系統(tǒng)調(diào)試4.1LCD1602初始化按下電源開關(guān)屏幕會(huì)顯示兩行數(shù)據(jù),第一行顯示當(dāng)前時(shí)間,第二行顯示第一次喂食時(shí)間。圖4-SEQ圖_4-\*ARABIC1LCD初始化顯示圖4.2按鍵功能按鍵1:設(shè)置當(dāng)前時(shí)間和喂食時(shí)間按鍵2:加按鍵3:減按鍵4:手動(dòng)喂食開按鍵5:手動(dòng)喂食關(guān)圖4-SEQ圖_4-\*ARABIC2按鍵1設(shè)置圖4-SEQ圖_4-\*ARABIC3按鍵2、3加減4.3電機(jī)轉(zhuǎn)動(dòng)和語音播報(bào)當(dāng)當(dāng)前時(shí)間分別到達(dá)設(shè)置的三個(gè)喂食時(shí)間時(shí),電機(jī)正轉(zhuǎn)模擬進(jìn)行喂食,同時(shí)進(jìn)行語音播報(bào),電機(jī)停止等待寵物進(jìn)食,一定時(shí)間后,電機(jī)反轉(zhuǎn)模擬停止喂食。圖4-SEQ圖_4-\*ARABIC4電機(jī)轉(zhuǎn)動(dòng)和語音播報(bào)結(jié)論單片機(jī)開發(fā)的創(chuàng)新學(xué)習(xí)并不難,但作為硬件設(shè)計(jì)卻是一個(gè)十分重要的過程,因?yàn)樵趺慈?gòu)建硬件整體框圖和實(shí)踐運(yùn)用學(xué)到的C語言編程就在這時(shí)構(gòu)成的,良好的查閱參考文獻(xiàn)和程序習(xí)慣也在這個(gè)階段養(yǎng)成。學(xué)習(xí)硬件的程序設(shè)計(jì)要注重理解一些重要的概念,詳讀官方給的硬件中文手冊(cè),在keil這種自行動(dòng)手編寫程序,親自動(dòng)手進(jìn)行C語言設(shè)計(jì)是創(chuàng)造性思維應(yīng)用的體現(xiàn),是培養(yǎng)邏輯思維的好方法。所以必須要多進(jìn)行手編寫程序,并且要從小程序開發(fā)開始,并且逐步解決編程中出現(xiàn)的小問題,才能逐漸提
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年物聯(lián)網(wǎng)技術(shù)專利申請(qǐng)與保護(hù)考試要點(diǎn)解析試題
- 2025年危險(xiǎn)化學(xué)品安全作業(yè)特種操作證考試試卷(春季高頻考點(diǎn)實(shí)戰(zhàn)解析)
- 2025年事業(yè)單位招聘考試綜合類專業(yè)能力測(cè)試試卷(旅游類)旅游市場(chǎng)細(xì)分與定位試題
- 2025年事業(yè)單位招聘考試衛(wèi)生類護(hù)理學(xué)專業(yè)知識(shí)試卷(護(hù)理技術(shù)操作試題庫)
- 2025年室內(nèi)裝飾設(shè)計(jì)師(項(xiàng)目管理)考試試卷
- 2025年事業(yè)單位招聘考試計(jì)算機(jī)類專業(yè)能力測(cè)試試卷(嵌入式系統(tǒng)方向)
- 2025年數(shù)字合成師考試數(shù)字音頻處理與音效設(shè)計(jì)試題
- 2025年西班牙語DELEC2級(jí)考試寫作技巧提升試卷
- 2025年四川省事業(yè)單位招聘考試綜合類專業(yè)能力測(cè)試試卷(法律類)法學(xué)理論
- 2025年事業(yè)單位招聘考試教師信息技術(shù)學(xué)科專業(yè)知識(shí)試卷(深化)
- 國家建設(shè)工程項(xiàng)目施工安全生產(chǎn)標(biāo)準(zhǔn)化工地
- 語言接觸與混合語現(xiàn)象-洞察及研究
- 咨詢行業(yè)流程管理制度
- JG/T 210-2018建筑內(nèi)外墻用底漆
- 2025叉車?yán)碚摽荚囋囶}及答案
- 2024-2025年度建筑施工項(xiàng)目管理評(píng)審計(jì)劃
- 2025年中國不銹鋼寬幅網(wǎng)市場(chǎng)調(diào)查研究報(bào)告
- 《支氣管鏡檢查技術(shù)》課件
- 解讀2025年金融行業(yè)的重要事件試題及答案
- 建筑吊籃培訓(xùn)課件
- 企業(yè)差旅費(fèi)管理制度
評(píng)論
0/150
提交評(píng)論