版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件設(shè)計因為本設(shè)計方案選擇的是單片機板和安卓手機軟件組合設(shè)計和實現(xiàn)語音控制的智能車,并且使用了兩塊單片機板,因此本章節(jié)主要講述兩個單片機系統(tǒng)的軟件設(shè)計以及開發(fā)安卓軟件的軟件設(shè)計。首先介紹一下單片機代碼編程軟件和安卓開發(fā)環(huán)境,然后開始介紹終端中智能車通信控制系統(tǒng)的軟件設(shè)計、智能車運動系統(tǒng)的軟件設(shè)計和客戶端中安卓手機軟件的系統(tǒng)設(shè)計,最后詳細講述上述三個系統(tǒng)中主要程序的邏輯與設(shè)計。2.1編程軟件介紹2.1.1開發(fā)軟件KeiluVision5與STC-ISP的介紹本次畢業(yè)設(shè)計所需要的智能車系統(tǒng)的程序開發(fā)需要進行軟件編程,因此需要一款功能強大,簡潔好用的開發(fā)軟件,而所編寫的代碼基本上是用的C語言,因此使用Keil軟件,并且使用的是C51的版本,同時在代碼編寫完成后,需要另一款軟件將程序燒錄進單片機中,從而讓單片機按照所編寫的程序進行工作運行,實現(xiàn)所需要的功能,因此選擇了STC-ISP軟件。接下來對這兩個軟件做一個簡單的介紹。系統(tǒng)概述:KeilC51擁有著十分強大的功能,而且功能的種類也十分多,還有這各種各樣的函數(shù)組成的庫,并著有著優(yōu)秀的界面,使得在操作上基本上和操作電腦界面一樣,成為了現(xiàn)在單片機開發(fā)時需要對代碼進行編程的使用最多的代碼編寫軟件。KeilC51運行是需要合適的開發(fā)環(huán)境的,需要在Windows系統(tǒng)上安裝軟件并進行相應(yīng)的配置,軟件中代碼的編寫主要是通過.c文件實現(xiàn)的,我們建立一個.c文件后在該文件中將我們寫的代碼進行編譯,經(jīng)過軟件一系列的處理,看是否有錯誤,在沒有錯誤之后會提示我們,之后如果我們想驗證代碼的正確與否,可以使用軟件的調(diào)試功能,或者生成.hex文件,利用程序燒寫程序,將生成的.hex文件下載到單片機上。該軟件因為使用的是C語言的編程,利用C語言的優(yōu)點,可以有許多的函數(shù)可以使用,實現(xiàn)各種各樣的功能,而且還因為C語言有著很好的可以在其他地方稍作修改就可以使用的特點,使得這個軟件成為非常適合編寫代碼并且有一定的糾錯和調(diào)試的軟件。STC-ISP軟件的主要作用是將單片機代碼編寫軟件編寫好的對應(yīng)程序下載到單片機上,是專門開發(fā)出來的軟件,為了讓STC系列的單片機可以進行程序文件的燒錄,基本上只要是STC單片機,該軟件都可以正常工作,并且操作也不復(fù)雜,下載的流程也十分的簡單,成為開發(fā)者的主要的使用的軟件。STC-ISP的軟件操作界面如圖5—1所示。圖5—1軟件操作界面圖2.1.2安卓開發(fā)編程環(huán)境在安卓開發(fā)的編程環(huán)境中,我選擇了MIT開發(fā)的圖形化編程軟件APPInventor2。作為AppInventor新版本的APPInventor2,完全基于瀏覽器,開發(fā)者除了瀏覽器不需要額外安裝任何軟件。圖形化的界面、云積木的方式,使得安卓軟件開發(fā)變得便利簡單,使用起來也不會有太大的難度,做出的功能也能夠滿足基本的設(shè)計要求,而且網(wǎng)站上也具有調(diào)試功能,通過安裝調(diào)試助手,將開發(fā)的程序運行在調(diào)試助手上,省去了每次都要將程序打包,安裝,再進行驗證調(diào)試的步驟,而且也能實時的報錯提示,對開發(fā)者找到軟件的錯誤所在提供了幫助。2.2智能車通信與控制系統(tǒng)軟件設(shè)計智能車通信與控制系統(tǒng)是基于STC12單片機實現(xiàn),因此該系統(tǒng)設(shè)計的主程序是完成STC12單片機與STC89單片機的串口通信、STC12單片機與手機軟件通信和實現(xiàn)使用智能車的功能模塊:測速模塊、數(shù)碼管顯示模塊、紅外避障模塊和循跡模塊。2.2.1工作流程圖5—2STC12單片機系統(tǒng)流程圖STC12單片機系統(tǒng)流程圖如圖5—2所示。STC12單片機板上電啟動后,首先對測速功能、兩個串口通信功能所需要的中斷和一些定時器以及寄存器進行配置和初始化,等待手機連接上單片機板上的藍牙,建立起通信后,開始接收測速模塊的速度數(shù)據(jù)信息顯示在數(shù)碼管上,并通過藍牙發(fā)送速度數(shù)據(jù)信息至手機,并時刻監(jiān)測并驗證是否手機發(fā)來的指令信息是否正確,當接受到正確的指令信息時,單片機會根據(jù)程序中的狀態(tài)機機制將發(fā)送對應(yīng)指令信息的控制指令至STC89單片機板,并回復(fù)客戶端對應(yīng)指令操作已完成。如果所接收到的控制指令需要小車的一些信息,便會發(fā)送相關(guān)數(shù)據(jù),如進行速度設(shè)置后需要將目前速度值發(fā)送至客戶端,該系統(tǒng)會發(fā)送當前速度設(shè)置值。2.2.2串口通信和藍牙串口通信軟件設(shè)計因為STC12單片機有兩個串口,可用于藍牙通信以及和STC89單片機的串口通信,首先對串口所需要的波特率進行配置和初始化,利用單片機上的獨立波特率發(fā)生器作為波特率的發(fā)生器,兩個串口可使用同一個波特率,串口初始化程序如下:對于數(shù)據(jù)處理,在串口2中斷中進行數(shù)據(jù)的接收,設(shè)置每一次接收到的指令字節(jié)為3,并判斷接受的數(shù)據(jù)是否正確,如果正確,則保存至字符串數(shù)組,并將設(shè)置接收完畢標志位和接收正確標志位,串口中斷數(shù)據(jù)接收判斷程序如下:2.2.3速度測量功能設(shè)計為了能夠得知智能車的速度,以便我們更好的控制智能車的速度,利用速度測量模塊和固定在電機上并隨之同步運動的碼盤,電機每轉(zhuǎn)一圈,測量模塊輸出20個低電平信號,利用STC12單片機設(shè)置單位時間為1s,獲得接收到的脈沖信號個數(shù)以及利用輪胎的周長,經(jīng)過計算得出1s內(nèi)智能車行駛的路程,從而得到智能車的速度相關(guān)數(shù)據(jù)。定時器和外部中斷設(shè)置程序如下:2.3智能車運動系統(tǒng)軟件設(shè)計2.3.1工作流程STC89單片機板上電啟動后,首先對PWM波速度控制功能,串口通信功能所需要的中斷和一些定時器以及寄存器進行配置和初始化,并設(shè)置一些數(shù)據(jù)的初始值,如智能車的速度、當前智能車的狀態(tài)。建立起和STC12單片機板的通信后,智能車處于停止狀態(tài),等待STC12單片機板發(fā)送控制指令,接收到指令后,利用程序中的狀態(tài)機機制,完成對應(yīng)功能,如前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、循跡功能、速度控制功能和避障功能,并在數(shù)碼管上顯示不同的數(shù)字代表處于不同的狀態(tài)下。STC89單片機系統(tǒng)流程圖如圖5—3所示。圖5—3STC89單片機系統(tǒng)流程圖2.3.2電機驅(qū)動與速度控制設(shè)計因為L298N電機驅(qū)動模塊(簡稱驅(qū)動板)有A、B通道使能端(簡稱使能端)和四個單片機IO控制輸入端(簡稱輸入端),只有兩個使能端為高電平時,驅(qū)動板才可以通過輸出端口驅(qū)動兩路的直流電機,因此對于速度的控制有兩種方案:第一種方案是STC89單片機輸出四路PWM波輸出至驅(qū)動板的輸入端,第二種方案是STC89單片機輸出兩路PWM波輸出至驅(qū)動板的使能端。第二種方案僅僅需要兩路PWM波便可以實現(xiàn)對智能車速度控制,因此選擇方案二實現(xiàn)速度控制。PWM波輸出實現(xiàn)程序如下:首先利用對定時器進行初始化,設(shè)置每1ms進行一次定時器中斷,在定時器中斷程序中對定時器的寄存器再次重新賦值再次開始計時,并記錄中斷次數(shù),通過中斷次數(shù)的處理獲得更為準確并且足夠長的時間,從而實現(xiàn)PWM波的周期、占空比的設(shè)置。速度控制程序如下(左右電機速度控制程序基本相同,只需要介紹一個程序):程序說明:通過設(shè)置20ms周期的時間,即定時器1ms的中斷次數(shù)為20次時,將次數(shù)賦值為0,重新計數(shù),我們通過調(diào)節(jié)占空比(push_val_right),當中斷次數(shù)小于或等于控制占空比的變量值時,使得控制右電機的使能端為高電平,當中斷次數(shù)大于控制占空比的變量值時,使得控制右電機的使能端為低電平,從而控制驅(qū)動板的電機驅(qū)動是否工作,從而實現(xiàn)PWM波的輸出,并利用驅(qū)動板的四個輸入端實現(xiàn)電機的正轉(zhuǎn)、反轉(zhuǎn)、停止,通過左右電機的配合實現(xiàn)智能車的左右轉(zhuǎn)、直行和停止,并調(diào)節(jié)PWM波的占空比,實現(xiàn)控制電機一個工作周期內(nèi)的工作時間,從而實現(xiàn)對智能車的速度控制。2.4安卓手機軟件系統(tǒng)設(shè)計2.4.1工作流程手機軟件流程圖如圖5—4所示,手機客戶端主界面如圖5—5所示,手動模式界面圖如圖5—6所示。圖5—4手機軟件流程圖首先等待藍牙連接按鈕按下,選擇連接的藍牙,連接成功后會在界面上顯示藍牙的信息以及連接成功的提示,接收到STC12單片機上藍牙模塊發(fā)送來的智能車速度數(shù)據(jù)進行處理并顯示在客戶端界面上,當開始按鍵按下,調(diào)用語音識別等待語音識別結(jié)束后,分析處理語音信息,利用藍牙發(fā)送對應(yīng)的指令數(shù)據(jù),接收處理智能車回復(fù)的數(shù)據(jù)并顯示在客戶端對應(yīng)界面上,當手動模式按鈕按下時,會換到界面2,顯示手動模式下的按鈕,(與智能車的通信會中斷一下后自動重新連接)相應(yīng)指令按下后發(fā)送對應(yīng)指令至智能車,實現(xiàn)智能車手動按鈕控制,按返回按鈕回到主界面。手機客戶端主界面主要分為四個區(qū)域:藍牙連接與斷開區(qū)、藍牙信息顯示區(qū)、速度顯示與速度手動控制區(qū)、用戶交互與通信區(qū)、功能區(qū)。藍牙連接與斷開區(qū)負責手機藍牙與智能車系統(tǒng)上藍牙模塊的連接與斷開,并在藍牙信息顯示區(qū)顯示藍牙信息及是否連接成功提示。可通過調(diào)節(jié)速度顯示與速度手動控制區(qū)的水平滑動條,根據(jù)滑塊所在位置設(shè)置智能車不同的速度檔位,接受到智能車系統(tǒng)發(fā)來的相關(guān)速度數(shù)據(jù),安卓手機進行處理后,換算成智能車的速度數(shù)據(jù),在速度顯示與速度手動控制區(qū)中顯示。用戶交互和通信區(qū)則負責實現(xiàn)交互信息的顯示以及顯示智能車系統(tǒng)發(fā)送過來的數(shù)據(jù),也方便了后續(xù)的調(diào)試,在與智能車建立起藍牙通信后,便會在用戶交互和通信區(qū)提示用戶可選用的功能,即對智能車的速度控制、循跡模式以及運動控制,用戶可以點擊功能區(qū)的開始按鈕進行語音指令輸入,也會顯示智能車發(fā)送過來的通信數(shù)據(jù)。最后的功能區(qū)主要包含兩個功能:語音識別功能和手動遙控智能車功能,當開始按鈕按下,啟動語音識別功能,根據(jù)語音指令調(diào)用不同的功能,并將語音信息顯示在用戶交互與功能區(qū),當手動模式按鈕按下時則會跳轉(zhuǎn)到界面2,即手動模式界面,在手動模式界面中主要為三個區(qū):返回區(qū)、藍牙信息區(qū)和手動控制區(qū)。在返回區(qū)中主要負責退出手動控制智能車功能,返回主界面。當返回按鈕按下時,返回主界面,退出手動控制智能車功能。藍牙信息區(qū)負責顯示藍牙信息和提示是否連接藍牙成功。手動控制區(qū)主要包括五個按鈕,負責智能車的運動控制,按下按鈕后便會通過藍牙通信發(fā)送對應(yīng)的控制指令,實現(xiàn)遠程手動控制智能車。圖5—5手機客戶端主界面圖圖5—6手動模式界面圖2.4.2藍牙連接程序設(shè)計主要程序如下:圖5—7藍牙連接程序頁面一程序說明:當點擊連接按鈕時,會獲取手機的藍牙列表供我們選擇,當選擇完成,并成功連接時會提示我們連接成功,否則則會提示連接失敗,連接成功后會將所連接的藍牙保存至微數(shù)據(jù)庫,方便下次連接,并且顯示該藍牙相關(guān)信息,運行主界面函數(shù),提示用戶可以選擇的功能。2.4.3語音識別程序設(shè)計主要程序如下:圖5—8藍牙連接程序頁面二圖5—9藍牙連接程序頁面三程序說明:當開始按鈕按下時,調(diào)用語音識別器識別語音,識別結(jié)束時調(diào)用功能函數(shù),例如前進函數(shù)中,判斷語音識別器的識別結(jié)果是否為前進或者向前,如果是則調(diào)用藍牙發(fā)送控制文本。2.4.4手動功能程序設(shè)計因為通過語音控制智能車有時候確實很方便,但需要一段時間進行語音識別的處理,因此添加了一個附加功能,基于藍牙實現(xiàn)手動操控智能車,從而實現(xiàn)基本上較為精準的智能車控制。但實現(xiàn)遙控智能車需要一個手動功能的界面設(shè)計,此時出現(xiàn)了一個問題,在界面的轉(zhuǎn)換時,手機與智能車的藍牙連接會中斷,因此需要解決界面變換
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療健康智能穿戴設(shè)備
- 醫(yī)用設(shè)備在傳染病治療中的應(yīng)用
- 2025年負責任投資咨詢項目可行性研究報告
- 醫(yī)療設(shè)備產(chǎn)業(yè)鏈協(xié)同創(chuàng)新與升級
- 會計課程設(shè)計做賬
- 小升初英語復(fù)習課程講義:第十一講:連詞(學生版)
- 2025年智能監(jiān)控系統(tǒng)實施可行性研究報告
- 2025年城市污水處理升級改造可行性研究報告
- 2025年律師資格證考試輔導協(xié)議
- 人工智能在疾病預(yù)測與預(yù)防中的應(yīng)用
- 腹腔感染護理查房
- 包裝木箱定制合同協(xié)議書
- 汽輪機葉片振動監(jiān)測非接觸測量法:原理、應(yīng)用與展望
- 經(jīng)營性公路建設(shè)項目投資人招標文件
- 任務(wù)二餐具我來擺(教案)-浙教版勞動一年級上冊
- 工程結(jié)算審核實務(wù):重點難點解析及解決方案
- 中國藝術(shù)歌曲賞析及實踐知到課后答案智慧樹章節(jié)測試答案2025年春四川音樂學院
- 藥膳店創(chuàng)業(yè)計劃書
- 國家開放大學行管本科《西方行政學說》期末紙質(zhì)考試總題庫2025春期版
- 人工智能在口腔種植體周圍炎診斷中的應(yīng)用-深度研究
- 《硬科技早期投資-機構(gòu)評估指南》
評論
0/150
提交評論