




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機寵物喂食器系統(tǒng)的硬件和軟件設計案例目錄TOC\o"1-3"\h\u1525第一章課題來源 27673第二章硬件設計 27682.1硬件設計總體結構 2166782.2STC89C52單片機的簡介 386332.2.1STC系列簡介 3181452.2.2主要性能指標 3314802.2.3STC89C52引腳圖 4193172.3步進電機驅動芯片 4198132.3.1步進電機驅動電路ULN2003簡介 4772.3.228BYJ-48步進電機 6175642.4LCD1602液晶顯示芯片 628252.5DS1302時鐘電路圖 836572.6WT588D語音播報模塊電路 109951第三章軟件設計 11127603.1編程語言、開發(fā)環(huán)境及燒寫軟件 1126703.1.1編程語言 11279273.1.2開發(fā)環(huán)境 11135783.1.3燒寫軟件 11117393.2程序流程圖設計 12123203.2.1總體流程圖 121815 13156273.2.2LCD1602液晶顯示 13117933.2.3按鍵子程序 1461563.2.4WT588D語音播報 154913.2.5步進電機驅動 1628688第四章系統(tǒng)調試 18309184.1LCD1602初始化 18263274.2按鍵功能 19310614.3電機轉動和語音播報 20第一章課題來源任務書硬件設計2.1硬件設計總體結構根據(jù)給定的任務及要求,確定了寵物自動喂食器設計的總體設計原理框圖如圖2-1所示:功能按鍵功能按鍵單片機步進電動機WT588D語音芯片LCD1602顯示DS1302時鐘芯片圖2-SEQ圖_2-\*ARABIC1寵物自動喂食器原理框圖(1)功能按鍵:通過按鍵可以修改當前的實時時間和已定義的喂食時間、開啟和關閉語音播報。(2)DS1302時鐘芯片:此時鐘芯片是用來一款實時時鐘芯片,用來記錄當前時間,可以顯示年、月、日、時、分、秒、星期等,并且具有掉電保存功能。(3)步進電動機:步進電機是一種執(zhí)行機構。電機正轉模擬寵物進食,電機反轉模擬寵物停止進食。(4)WT588D語音芯片:WT588D語音芯片是一款語音單片機芯片,通過揚聲器即喇叭用來實現(xiàn)寵物自動喂食時的語音播報。(5)LCD1602顯示:通過LCD1602液晶顯示模塊顯示當前的實時時間和初始時的三次自動喂食時間。2.2STC89C52單片機的簡介2.2.1STC系列簡介STC單片機是高速、低消耗、超強抗滋擾的新一代8051單片機,與傳統(tǒng)的8051所用指令代碼完全兼容。其中子系列STC89C52是一種帶FLASH可編程可檫除只讀存儲器的低電壓,高性能的微型處理器,簡稱單片機。STC89C52芯片內部具有傳統(tǒng)51單片機所不具備的功能。在單芯片上,擁有靈活的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制系統(tǒng)提供靈活度更高、有效更強的解決途經(jīng)。2.2.2主要性能指標1.指令代碼完全兼容以往的8051單片機2.工作電壓:5.5V~3.3V3.\t"/item/STC89C52/_blank"工作頻率范圍:0~40MHz,實際工作頻率可達48MHz4.
\t"/item/STC89C52/_blank"用戶應用程序空間為8K字節(jié)5.片上集成512字節(jié)RAM6.通用I/O口(32個):P0-P3,每口各8位雙向數(shù)據(jù)接口7.可以下載用戶需要的hex后綴程序文件8.具有EEPROM功能9.內含3個\t"/item/STC89C52/_blank"定時器/計數(shù)器,均為16位,即定時器T0、定時器T1、定時器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步進電機驅動芯片2.3.1步進電機驅動電路ULN2003簡介步進電機在工作的時候是需要驅動的,因為第一電路中電流也比較小,第二單片機發(fā)出的指令步進電機那邊必須要有控制單元。所以我們需要采用驅動芯片,來進行控制和處理。ULN2003是高壓耐、電流較大的復合晶體管,由七個復合的硅晶體管組成。其特性如下:ULN2003的每一組達林頓都串聯(lián)著一個2.7K的基極電阻組成ULN2003電壓工作很高,電流工作較大。(3)ULN2003采用DIP—16或SOP—16塑料封裝。ULN2003為16腳封裝,引腳圖如圖2-3所示:圖2-SEQ圖_2-\*ARABIC3ULN2003引腳圖ULN2003是一個包含7個單元的典型非門電路,其中的每個單元都有單獨的驅動電流,電流最大可至350mA,1腳輸入,9腳置為懸空,16腳輸出。ULN2003芯片引腳介紹如表2-1:表2-SEQ表_2-\*ARABIC1ULN2003引腳介紹引腳1CPU脈沖輸入端,對應另一個脈沖信號輸出端引腳2CPU脈沖輸入端引腳3CPU脈沖輸入端引腳4CPU脈沖輸入端引腳5CPU脈沖輸入端引腳6CPU脈沖輸入端引腳7CPU脈沖輸入端引腳8接地引腳9內部7個續(xù)流二極管負極的公共端,各二極管的正極與各達林頓管的集電極與分別連接。引腳10CPU脈沖輸出端,對接7腳輸入端引腳11CPU脈沖輸出端,對接6腳輸入端引腳12CPU脈沖輸出端,對接5腳輸入端引腳13CPU脈沖輸出端,對接4腳輸入端引腳14CPU脈沖輸出端,對接3腳輸入端引腳15CPU脈沖輸出端,對接2腳輸入端引腳16CPU脈沖輸出端,對接1腳輸入端2.3.228BYJ-48步進電機步進電機是將電脈沖信號變換為角位移或線位移的執(zhí)行組織,應用極為廣泛。簡單來講:當步進驅動收到一個脈沖信號,可以驅動步進電機轉動一個角度另外要想改變電機轉動時的速度,可以通過控制電脈沖頻率,從而實現(xiàn)調速的作用。28BYJ-48是4相永磁試電機,電機的里面有6個齒(0-5),每一個齒上都有永久的磁性,它是電機的轉子;電機的外殼有八個齒(A-D),每個齒上都有纏有一個線圈繞組,正對這的線圈繞組又是鏈接在一起的如圖2-4:圖2-SEQ圖_2-\*ARABIC4步進電機內部結構示意圖步進電機一共有5根線,紅色的現(xiàn)是公共端,接5v電源,橙,黃,粉,藍,四根線就對應A,B,C,D;按照電路的設計,電機每轉動一個小的角度所對應值可以計算出來,分別是:0xe,0xc,xd,0x9,0xb,0x3,0x7,0x6;在開發(fā)過程中,可以直接按照順序,依次給控制電機的IO口給這幾個值就可以了。2.4LCD1602液晶顯示芯片LCD1602采用16引腳的標準接口,編程用到的比較主要的引腳為16個其中的3個,分別為:RS,R/W和E,下表2-2介紹了它們的功能:表2-SEQ表_2-\*ARABIC2LCD1602主要引腳介紹引腳功能詳述第4腳:RS寄存器選擇高電平(1)時選擇數(shù)據(jù)、低電時(0)時選擇指令第5腳:R/W讀寫信號線高電平(1)時執(zhí)行讀,低電平(0)時執(zhí)行寫第6腳:E使能端高電平(1)時才執(zhí)行讀取數(shù)據(jù),低電平(0)失效第7-14腳:D0-D78位雙向數(shù)據(jù)端執(zhí)行數(shù)據(jù)的傳輸此部分具體電路圖如圖2-5所示。圖2-SEQ圖_2-\*ARABIC5LCD1602電路圖LCD1602內置的控制器包含如下的11條控制指令,如圖2-6所示:圖2-SEQ圖_2-\*ARABIC6LCD內部指令圖16*2說明了LCD1602可以顯示2行數(shù)據(jù),每行可以顯示16個字符模塊或者數(shù)字模塊,共2行。而要想在屏幕上顯示字符,就要先輸入顯示字符的那個內部地址,這樣才能在屏幕上的某一位置顯示特定想要的字符或者數(shù)字,圖2-7是1602的內部顯示地址。內部顯示地址是00H,對應著第一行第一個字符的位置,但要注意寫入顯示地址時要將數(shù)據(jù)位最高位D7位始終置為高電平1,實際寫入的地址數(shù)據(jù)應為00000000B+10000000B=10000000B,即00H+80H=80H,此時寫入80H才可以將光標位置定位在在第一行第一個字符。此外,LCD1602液晶模塊的內置字符發(fā)生存儲器(CGROM)中包含了數(shù)字,字母等字符,每一個字符都有一個固定的代碼,在LCD1602中這個固定代碼即為16進制的ASCII碼表,例如字母A的ASCII為0x41,字母B的ASCII為0x42。圖2-SEQ圖_2-\*ARABIC7LCD1602內部顯示地址2.5DS1302時鐘電路圖DS1302是一種低功耗的實時時鐘芯片??梢詫δ辍⒃?、日等進行計時存儲,并且誤差比較小,此外DS1302還具有閏年自動補償。DS1302芯片包含一個靜態(tài)RAM存儲器,可用于存儲實時時鐘/日歷。它通過簡單的串行接口和單片機通訊,將當前的時鐘信息存于靜態(tài)的RAM中。DS1302芯片對于少于31天的月份所包含的天數(shù)可以進行自動調整,還可以自動對閏年進行修正。AM/PM的指示器置于內部,使得時鐘可以選擇工作在12/24兩種方式,時鐘芯片的引腳如圖2-8所示。圖2-SEQ圖_2-\*ARABIC8DS1302引腳圖各引腳的功能:表2-SEQ表_2-\*ARABIC3DS1302引腳功能引腳1:Vcc25V電源。當Vcc2>Vcc1+0.2V時,由Vcc2向DS1302供電,當Vcc2<Vcc1時,由Vcc1向DS1302供電引腳2、3晶振管腳引腳4接地引腳5:CE/RST復位腳引腳6:I/O數(shù)據(jù)輸入輸出腳引腳7:SCLK串行時鐘輸入端引腳8:Vcc1備用電源時鐘/日歷寄存器如圖2-9,數(shù)據(jù)信息是以BCD碼(二進制編碼的十進制格式)存儲時鐘/日歷寄存器中。圖2-SEQ圖_2-\*ARABIC9DS1302時鐘/日歷寄存器讀寫地址寄存器說明:第一行:秒:因為秒為60秒,十位最大是5,所以bit6,5,4位這3位足以表示秒的十位,個位最大是9,所以第3,2,1,0這4位足以表示個位。第二行:分:范圍同樣為0-59,所以與秒相同;第三行:bit7位:0表示24小時制,1表示12小時制;bit5位:12小時制時:0表示上午,1表示下午,24小時制時:和bit4位聯(lián)合表示小時的十位;其余的時間一樣的表示。倒數(shù)第二行:只看bit7位:為1時禁止寫入,所以初始寫數(shù)據(jù)時必須置0才允許寫入數(shù)據(jù);2.6WT588D語音播報模塊電路WT588D為可編輯語音芯片,WT588D的優(yōu)點在于:
FLASH可以重復進行擦寫,價格也比較便宜;
開發(fā)工具比較簡便,只要具備這樣的一個語音芯片,一個普通的USB下載器,基本了解后均可進行單片機與語音模塊的聯(lián)合研究,做出自己需要的語音模塊。3、
另外可以ISP在線下載,更換程序和語音升級都比較方便簡單,不需要將芯片與當前環(huán)境相隔離。圖2-SEQ圖_2-\*ARABIC10WT588D語音播報上圖為WT588D語言播報電路引腳圖,WT588D語音芯片,是通過外部的下載軟件下載需要的語音文件,例如想要播報“寵物開飯了”,只需要通過USBminu下載器編輯這段語音“寵物開飯了”,之后生成一個相應的地址,當STC89C52單片機檢測到喂食時間到達后,WT588D接收單片機發(fā)來指令,被控制執(zhí)行語音播報。軟件設計3.1編程語言、開發(fā)環(huán)境及燒寫軟件3.1.1編程語言由于整個程序比較復雜,且計算量較大,用到了較多的邏輯運算,所以程序的編寫采用了C語言。使用C語言相對使用匯編語言而言,有如下優(yōu)點:(1)不需要學習單片機的指令集,也不用了解單片機的存儲器結構。(2)其中的關鍵字和操作函數(shù)與人的思維更接近,有利于實現(xiàn)程序編程。(3)程序的開發(fā)、調試時間與匯編語言相比大大減短。(4)C語言比起匯編語言在功能、結構性、可讀性、可移植性、可維護性上優(yōu)勢上更加明顯。3.1.2開發(fā)環(huán)境本設計中單片機程序的編譯鏈接軟件是Keil,Keil是51系列單片機C語言開發(fā)編程必不可少的一款軟件。它的使用步驟主要為以下幾點:(1)在桌面編程軟件keil,新建一個工程文件;(2)創(chuàng)建并添加新的C文件到上面的工程文件下;(3)在C文件下設計與實現(xiàn)進行程序的主函數(shù)、子函數(shù)等。(4)對Keil配置相關重要參數(shù);(5)編譯整個工程文件,生成可執(zhí)行的hex后綴文件。3.1.3燒寫軟件STC-ISP是一款簡單的單片機程序燒寫軟件,由宏晶公司出品,具備hex文件下載,在線仿真調試和串口預覽等一系列功能,是目前51系列單片機應用不可或缺的軟件。單片機可以通過下載模塊(如:CH340等串口燒寫模塊)與計算機通信,從而下載可執(zhí)行文件到單片機,同時需要在STC-ISP軟件中選擇使用的單片機型號以及下載模塊插入計算機的串口號,一般串口號會自動識別。然后在文件地址中找到hex為后綴的可執(zhí)行文件,點擊下載就可以將程序下載到STC89C52單片機里了。3.2程序流程圖設計3.2.1總體流程圖當你按下電源開關后,先后進行LCD1602,WT588D語音模塊,步進電機的初始化,接下來會在LCD屏幕上的第一行顯示實時時間,第二行顯示第一次自動喂食時間。通過按鍵掃描若檢測到有第一個按鍵即K1按下后,會直接進入按鍵設置,在這里可以更改實時時間和喂食時間;若按下K4,K5則為手動喂食開和關。按鍵設置退出后系統(tǒng)會自動比較實時時間和喂食時間,當前者等于后者時,電機旋轉,同時語音播報吸引寵物進食。系統(tǒng)總體流程圖如下圖3-1所示:圖3-SEQ圖_3-\*ARABIC1系統(tǒng)總體程序流程圖3.2.2LCD1602液晶顯示 按下電源開關,LCD1602液晶顯示屏通電,LCD1602首先進行初始化操作,屏幕清零,并清空內部存儲。之后LCD1602和STC89C52單片機進行通信,將想要顯示的內容通過單片機顯示LCD屏幕上,延時一定時間后,將實時時間和喂食時間等內容顯示在LCD1602液晶顯示屏上。在設置好時間后,根據(jù)按鍵按下后響應的實際操作,及時響應并變換數(shù)值。單片機控制寫入引腳,然后又執(zhí)行寫入數(shù)據(jù)的命令。最后才是LCD1602顯示屏執(zhí)行指令,將修改后的內容實時顯示出來。LCD1602的顯示流程圖如圖3-2所示:圖3-SEQ圖_3-\*ARABIC2LCD1602初始化流程圖3.2.3按鍵子程序按鍵共有5個,其中k1進入設置開關,可以直接進入設置模式,循環(huán)按下12次后退出當前模式。k2,k3實現(xiàn)按鍵的加減,按鍵k4,k5為手動喂食開關。按鍵流程圖如3-3所示:圖3-SEQ圖_3-\*ARABIC3按鍵流程圖3.2.4WT588D語音播報WT588D語音芯片為本次設計中用到的語音模塊,當前需要播報當前的內容是由STC89C52單片機控制WT588D語音模塊來實現(xiàn)的,這就是而進行寵物自動喂食時需要語音播報的時候。WT588D語音芯片,是通過外部的USBminu下載器下載需要的語音文件,如想要播報語音“寵物開飯了”,只需要通過USBminu下載器編輯下載這段語音“寵物開飯了”,之后生成一個相應的地址并等待單片機調用,當STC89C52單片機檢測到喂食時間到達后,即會判斷是否播報,播報時單片機就會發(fā)送指令給WT588D,WT588D接受來自單片機的指令后,被控制執(zhí)行語音播報。語音播報流程如圖3-4所示:圖3-SEQ圖_3-\*ARA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村旅游與休閑農(nóng)業(yè)融合的旅游產(chǎn)業(yè)政策環(huán)境優(yōu)化策略分析報告
- 學會合作課件
- 下沉市場消費金融信貸產(chǎn)品創(chuàng)新與風險控制策略研究報告
- 2025年烘爐、熔爐及電爐行業(yè)當前市場規(guī)模及未來五到十年發(fā)展趨勢報告
- 2025年民用航空機場建設行業(yè)當前競爭格局與未來發(fā)展趨勢分析報告
- 2025年家居建材行業(yè)當前競爭格局與未來發(fā)展趨勢分析報告
- 2025年地暖地板行業(yè)當前發(fā)展現(xiàn)狀及增長策略研究報告
- 2025年人工智能行業(yè)當前市場規(guī)模及未來五到十年發(fā)展趨勢報告
- 2025年輪胎聯(lián)軸器行業(yè)當前發(fā)展現(xiàn)狀及增長策略研究報告
- 2025年特種油品行業(yè)當前發(fā)展現(xiàn)狀及增長策略研究報告
- 碳纖維、粘鋼加固施工方案
- 四年級數(shù)學上冊《大數(shù)的認識》單元測試卷
- DB23∕1270-2019 黑龍江省居住建筑節(jié)能設計標準
- 淺談地下室底板無梁樓蓋設計
- ISO14001內部審核檢查表
- 立柱樁施工匯總
- 雙塊式無砟軌道施工工藝及質量控制
- 管理會計知識點整理
- 導管相關血流感染的治療
- 工程進度款支付申請書
- 我國常見的草坪草
評論
0/150
提交評論