基于單片機的語音控制小車_第1頁
基于單片機的語音控制小車_第2頁
基于單片機的語音控制小車_第3頁
基于單片機的語音控制小車_第4頁
基于單片機的語音控制小車_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、康虹:基于單片機的語言控制小車設計 基于單片機的語音控制小車設計摘要隨著電子工業(yè)的發(fā)展,具有語音控制功能的小車越來越受到人們的青睞,在人們的日常消費生活中起著不可忽視的作用。目前,聲控技術已在很多領域得到使用。本文對語音控制功能的小車概況做了闡述。在硬件設計方面,本論文以凌陽公司的SPCE061A單片機為控制核心,以語音小車控制電路板為輔,設計小車的動作。完成了電源電路、復位電路、鍵盤電路、音頻輸入電路,音頻輸出電路和無線控制電路等硬件功能模塊的設計。在軟件方面,利用C語言進行編程,進行語音的“訓練”和“識別”。設計出具有如下功能的語音聲控小車:能夠根據錄制的語音命令來控制小車的前進,后退,左

2、轉,右轉的功能。測試表明,在環(huán)境背景噪音不太大,控制者的發(fā)音清晰的前提下,語音控制小車的語音識別系統(tǒng)能對特定的語音指令做出智能反應,做出預想中的有限的動作。論文首先對系統(tǒng)的方案進行論證,然后對各單元的軟件、硬件工作原理進行了闡述,并介紹了系統(tǒng)的主要組成部分情況。關鍵詞:SPCE061A,語音識別,全橋驅動,小車VoicecontrolcardesignbasedonsinglechipmicrocomputerAbstractWiththedevelopmentoftheelectronicsindustry,thevoice-thecontrolcarbecomemoreandmorepop

3、ulartopeople.Anditplaysanimportantroleinpeoplesdailylife.Atpresent,thevoice-activatedtechnologyhashad2inmanyfields,Forexample,voice-activatedphone.Onlyifyoucalledoutthenamesyouwantanditautomaticallycalledtothetelephone.Thisarticlegivesadetailtothevoice-activatedcar.Inhardwaredesign,thepaperuseSunplu

4、sSPCE061Aasthecontrolofcore.Onthesoftware,weuseClanguageprogrammingforvoicetrainingandrecognition.Completedthepowercircuit,resetcircuit,keyboardcircuitry,audioinputcircuits,audiooutputcircuitandcontrolcircuitofwirelesshardwaresuchasthedesignoffunctionmodules.Ithasthefollowingfeatures:Accordingtoreco

5、rdedthevoicecommandtocontrolthecartostart,stop,turnright,andturnleft.Testshaveshownthatbackgroundnoiseintheenvironmentisnottoobig,thecontrollerunderthepremiseofclearpronunciation,voicecontrolcarvoicerecognitionsystemcanmakeintelligentresponsetoaparticularvoicecommands,limited,asexpected.Firstofall,c

6、cashutconfirmthesystemoftheprogram,andthendescribetheunitssoftwareandhardwareaswellasintroducethemaincomponentsofthesituation.Keywords:SPCE061A,SpeechRecognition,Full-bridge,driver,Trolley目錄TOC o 1-5 h z HYPERLINK l bookmark0 摘要I HYPERLINK l bookmark2 AbstractII HYPERLINK l bookmark12 第1章緒論-1- HYPER

7、LINK l bookmark14 選題的目的和意義-1-選題目的-1-1.1.2.選題意義-1- HYPERLINK l bookmark16 語音小車的發(fā)展及現狀-1-課題的目的任務和要求-2- HYPERLINK l bookmark18 第2章語音小車的方案論證-3- HYPERLINK l bookmark20 語音控制方案-3- HYPERLINK l bookmark22 方案論證-4-采用DSP+FPGA方案-4-采用MCS-51方案-4-采用凌陽61方案-5- HYPERLINK l bookmark24 系統(tǒng)控制方案-6- HYPERLINK l bookmark26 第3

8、章系統(tǒng)硬件設計-9- HYPERLINK l bookmark28 系統(tǒng)硬件總體設計-9-系統(tǒng)各單元設計-10-控制單元設計-10-動力單元設計-15-音頻單元設計-16-小車單元設計-19-系統(tǒng)總體電路圖-25-第4章系統(tǒng)軟件設計-26-系統(tǒng)總體程序設計-26-系統(tǒng)各分支設計-28-訓練子程序-28-語音識別子程序-29-動作子程序-31-中斷子程序-34-第5章系統(tǒng)調試-37-硬件調試-37-軟件調試-38-系統(tǒng)聯調-39-結論-41-參考文獻-43-致謝-45-附錄-47-康虹:基于單片機的語言控制小車設計華科學院本科畢業(yè)設計(論文)- - -第1章緒論選題的目的和意義選題目的通過設計一

9、個用單片機控制的語音小車來熟悉模塊化編程方法,掌握C語言匯編語言的程序設計和調試方法,并理解單片機的原理、結構、指令;運行模式及應用方法。1.1.2.選題意義語音識別系統(tǒng)的實用化研究是語音識別研究的一個主要方向。以玩具市場為例,具有高科技含量的電子玩具、智能玩具發(fā)展迅猛,電子互動式、智能化玩具已經成為玩具行業(yè)發(fā)展的主流。我國是玩具生產和出口大國,但在高科技玩具的發(fā)展方面和國外的差距很大,因此,及時投入精力廣泛開展這方面的研究,無論對技術創(chuàng)新應用,還是社會經濟發(fā)展,都有巨大的現實意義。與機器進行語音交流,讓機器明白你說什么,這是人們長期以來夢寐以求的事情。語音識別技術就是讓機器通過識別和理解過程

10、把語音信號轉變?yōu)橄鄳奈谋净蛎畹母呒夹g。近二十年來,語音識別技術取得顯著進步,開始從實驗室走向市場。語音識別功能大大增加了玩具使用的樂趣,并使玩具體現出一定的智能性,因此成為大部分電子玩具、智能玩具設計中使用的關鍵技術。本文利用凌陽單片機設計一個具有語音識別功能的智能遙控小車。該設計將遙控車由傳統(tǒng)的手動遙控改成了語音識別遙控,集成了先進的語音識別技術,加上小車的機動靈活的特點,使控制者可以通過語音控制小車實現預設動作,從而釋放控制者的雙手,而且小車和控制者之間還具有一定的交互功能。所以此次研究具有較強的實用性和發(fā)展前景。語音小車的發(fā)展及現狀隨著微電子技術、計算機技術、及傳感器技術的迅速發(fā)展,

11、現今聲控技術已經應用到社會中的各個角落,為人們提供著各種便利。1、聲控玩具車:進一步提高系統(tǒng)的濾噪性能,和識別的準確率,并利用已有的軟件開發(fā)出獨具特色的語音芯片,并將其集成在遙控上即可做出聲控玩具車。2、能識別主人的看門狗:在本系統(tǒng)的基礎上擴充對說話者的識別功能,并將軟件硬件化,集成在芯片上。將芯片置于防盜門上,使之可以完成主人叫門即開門的功能。3、真實汽車上的聲控系統(tǒng):在駕駛的過程中,不便于用手來完成的其它操作可以用聲控系統(tǒng)來實現。這于我們的系統(tǒng)是極其相似的。但是實際的汽車中可能存在著大量的噪聲,所以,濾噪便成為最為關鍵的技術。聲控技術雖然是一項比較先進的技術。但是,聲控技術在無限傳輸時的合

12、成的質量不是很好,它還需進一步提高,因為無線環(huán)境中的背景噪音太大了,當然還有其他方面的因素影響著聲控功能的發(fā)揮,具體來說表現在以下幾個方面:1、時效型。從發(fā)出指令到執(zhí)行指令,有一段延遲時間,雖已降低到盡可能的小,但還是很明顯??尚械姆椒ň褪歉挠酶咝У腄SP芯片,這在經費上和時間上都是不允許的。2.、對環(huán)境的適應。如果環(huán)境噪聲很大,或偶爾出現較大的噪聲,則會出現誤識。這個不足之處還沒有很有效的解決方案。3、多人識別。各人的發(fā)音不盡相同,因此該系統(tǒng)還限于單人識別。若要做多人識別,則識別的時效性會降低,即有很大的延遲。另外,多人識別,也沒有較為有效、成熟的算法供參考。1.3課題的目的任務和要求聲控小

13、車其技術要求是通過相關語音對小車進行操作控制。使用了“前、后、左、右停”五個字作為小車行駛的指令。本畢業(yè)設計有助于培養(yǎng)我們的獨立動手能力、思考能力。具體的項目制作過程分為兩部分:軟件部分和硬件部分。其目的讓我們熟悉61板的設計與制作,并掌握其原理;學會運用C語言進行編程且運用。語音控制小車的主要功能:可以通過簡單的I/O操作實現小車的前進、后退、左轉、右轉功能;配合SPCE061A的語音特色,利用系統(tǒng)的語音播放和語音識別資源,實現語音控制的功能;可以在行走過程中聲控改變小車運動狀態(tài);在超出語音控制范圍時能夠自動停車。第2章語音小車的方案論證2.1語音控制方案基本原理機器語音識別、處理的過程與人

14、對語音識別、理解過程基本上是一致的,目前主流的語音識別技術是基于統(tǒng)計模式識別的基本理論。一個完整的語音識別系統(tǒng)可大致分為語音特征提取、聲學模型與模式匹配(識別算法)和語義理解3部分。其基本原理如圖2.1所示。訓練參考模板模式匹配參數修正結果_輸出識別一圖2.1語音識別系統(tǒng)原理框圖從圖中我們可以看出語音識別一般分為2個步驟:第一步是系統(tǒng)“學習”或“訓練”階段這一個階段的任務是建立識別基本單元的聲學模型以及進行文法分析的語言模型,即構建參考模式庫;第二步是“識別”或“測試”階段,根據識別系統(tǒng)的類型選擇能夠滿足要求的識別方法,采用語音分析方法分析出這種識別方法所要求的語音特征參數,按照一定的準則和測

15、度與參考模式庫中的模型進行比較,通過判決得出結果。語音識別系統(tǒng)的構成語音識別系統(tǒng)的基本結構主要包括預處理、A/D轉換、起止點識別、特征提取和識別判斷等部分,結構如下圖2.2所示。圖2.2語音識別系統(tǒng)的基本結構2.2方案論證采用DSP+FPGA方案語音識別根據實際需要和應用場合的不同,可以分為孤立詞識別和連續(xù)語音識別、特定人識別和非特定人識別。語音識別追求的主要指標為高識別率、實時性和大詞匯量;而對于一個語音識別系統(tǒng),還應考慮軟硬件設計簡單、價格低廉、外圍控制靈活、人機交互便捷等特點?,F在應用于語音識別的芯片主要為DSP(數字信號處理器)芯片:如TI公司的TMS320系列。然而,將DSP芯片用于

16、小型語音識別系統(tǒng)中,其不足之處是很明顯的:引腳多、價格貴、使用繁瑣;控制功能弱,常需要與單片機或FPGA(現場可編程門陣列)結合,來實現人機交互;常需要外接A/D轉換芯片;引腳為3.3V,與單片機、FPGA、Flash存儲器等連接時,要考慮電平匹配。這些將使整個系統(tǒng)結構龐大,設計繁瑣。采用MCS-51方案采用MCS-51系列單片機實現,由于有語音識別和語音播放功能,所以需要擴展語音識別模塊和語音播放模塊,這樣必然造成端口的資源緊張,所以還必須加入接口擴展芯片。該實現方案結構如圖2.3所示。圖2.3采用MCS-51系列單片機實現語音控制小車采用凌陽61方案SPCE061A是凌陽科技推出的一個16

17、位結構的微控制器CPU時鐘頻率為0.3249.152MHz,具有較高的處理速度,可使unSPTM能夠非常容易、快速地處理復雜的數字信號;擁有可編程音頻處理;內置2KWord的SRAM和32KWord的FLASH;2個16位可編程定時器/計數器(可自動預置初始計數值),2個10位DAC輸出通道,32位通用可編程輸入輸出端口。它是數字語音識別應用領域產品中的一種比較經濟的選擇。圖2.4基于SPCE061A的語音控制小車實現方案本案采用采用SPCE061A實現語音控制小車方案。系統(tǒng)結構框圖2.5如下:圖2.5結構系統(tǒng)圖系統(tǒng)組成主要包括以下兩部分:SPCE061A精簡開發(fā)板、語音小車控制電路板。圖中的

18、語音輸入部分MIC_IN、按鍵輸入KEY、聲音輸出部分的功率放大環(huán)節(jié)等已經做到了精簡開發(fā)板61板上,為我們使用提供了很大的方便。在電機的驅動方面,采用全橋驅動技術,利用四個I/O端口分為兩組分別實現兩個電機的正傳、反轉和停三態(tài)運行。2.3系統(tǒng)控制方案小車的運動控制采用語音控制和中斷定時控制相結合,通過語音觸發(fā)小車動作,小車動作之后,隨時可以通過語音指令改變小車的運動狀態(tài)。在每一次動作觸發(fā)的同時啟動定時器,如果小車由于某些原因不能正常的接收語音指令,則只要定時時間到,中斷服務程序會發(fā)出指令讓小車停下來。第3章系統(tǒng)硬件設計3.1系統(tǒng)硬件總體設計系統(tǒng)的硬件方面,由于大部分的功能實現都是在61板上完成

19、的,只有電機控制部分電路另外設計在一塊獨立的電路板上,我們稱之為控制板。下面詳細的介紹小車的結構和運行原理以及控制電路板的結構和功能實現。圖3.1總體設計框圖3.2系統(tǒng)各單元設計3.2.1控制單元設計SPCE061A最小系統(tǒng)中,包括SPCE061A芯片及其外圍的基本模塊,其中外圍的基本模塊有:晶振輸入模塊(OSC)燈(LED)等。IO.PORTKEYSPCE061APLCC84梧茴實駙坂V1.6、鎖相環(huán)外圍電路(PLL)、復位電路(RESET)、指示圖3.361板最小系統(tǒng)SPCE061A芯片特性簡介SPCE061A是一種十六位單片機,使用它可以非常方便靈活的實現語音的錄放,該芯片擁有8路10位

20、精度的ADC,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現語音錄入提供了方便的硬件條件。兩路10位精度的DAC,只需要外接功放(SPY0030A)即可完成語音的播放。另外十六位單片機具有一套易學易用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準C語言編程,也支持C語言與匯編語言的互相調用。另外還提供了語音錄放的庫函數,只要了解庫函數的使用,就可以很容易的完成語音的錄放、識別等功能,這些都為軟件開發(fā)提供了方便的條件。SPCE061是一款擁有2KRAM、32KFlash、32個I/O口,并集成了AD/DA功能強大的16位微處理器,它還擁有豐富的語音處理功能,為小車的功能擴展提供了相當

21、大的空間。只要按照該單片機的要求對其編制程序就可以實現很多不同的功能。SPCE061A是繼nSP系列產品SPCE500A等之后凌陽科技推出的又一款16位結構的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調試等功能,SPCE061A里只內嵌32K字的閃存(FLASH)。較高的處理速度使nSP能夠非常容易地、快速地處理復雜的數字信號。因此,與SPCE500A相比,以nSP為核心的SPCE061A微控制器是適用于數字語音識別應用領域產品的一種最經濟的選擇。SPCE061A特性:16位nSP微處理器;工作電壓:內核工作電壓VDD為3.0V3.6V(CPU

22、),I/O口工作電壓VDDH為VDD5.5V(I/O);CPU時鐘:0.32MHz49.152MHz;內置2K字SRAM;內置32K閃存ROM;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電小于2pA3.6V;2個16位可編程定時器/計數器(可自動預置初始計數值);2個10位DAC(數-模轉換)輸出通道;32位通用可編程輸入/輸出端口;14個中斷源可來自定時器A/B,時基,2個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數據;鎖相環(huán)PLL振蕩器提供系統(tǒng)時鐘信號;32768Hz實時時鐘;7通道

23、10位電壓模-數轉換器(ADC)和單通道聲音模-數轉換器;聲音模-數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能;具備串行設備接口;低電壓復位(LVR)功和低電壓監(jiān)測(LVD)功能;內置在線仿真板另外,SPCE061A單片機具有易學易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標準C語言,可以實現C語言與凌陽匯編語言的互相調用,并且提供了語音錄放的庫函數,只要了解庫函數的使用,就會很容易完成語音錄放,這些都為軟件開發(fā)提供了方便的條件。精簡開發(fā)板61板SPCE061A精簡開發(fā)板(簡稱61板,SPCE061AEMUBOARD的簡稱),是以凌陽16位單片機SPCE061A

24、為核心的精簡開發(fā)仿真實驗板,是“凌陽科技大學計劃”專為大學生、電子愛好者等進行電子實習、課程設計、畢業(yè)設計、電子制作及電子競賽所設計的,也可作為單片機項目初期研發(fā)使用。61板”除了具備單片機最小系統(tǒng)電路外,還包括有電源電路、復位電路、ICE電路、音頻電路(含MIC輸入部分和DAC音頻輸出部分)等?!?1板”可以采用電池供電。1.SPCE061A功能61板上有調試器接口(Probe接口)以及下載線(EZ_Probe)接口,分別可接凌陽科技的在線調試器、簡易下載線,配合unSPIDE,可方便地在板上實現程序的下載、在線仿真調試。0POWER0SLEEPPLLRESETK474HC244P_OB=S

25、PY0030MICR/CSPCE061A(PLCC84)K3uo-u.dsun.MAWPORTPORTAPOWER5V&3V供電電路PLL鎖向環(huán)外部電路Power一電源指示燈Sleep一睡眠指示燈RESET復位電路K4復位按鍵PROBE在線調試器串行5針接口ESPs框圖表3.1框圖說明S5EZ-PROBE和PROBE切換的撥斷開關J12、J3耳機插孔和兩針喇叭插針DAC一路音頻輸出電路,采用SPY0030集成音頻放大器MIC麥克風輸入電路OSC32768晶振電路VREFA/D轉換外部參考電壓輸入接口R/C芯片其他外圍電阻、電容電路K1K1K3擴展的按鍵:接IOA0IOA2SPCE061A61板

26、核心:16位微處理器PORTA/B32個I/O口61板接口說明如圖3.3所示:2.61板輸入/輸出(I/O)接口61板將SPCE061A的32個I/O口IOAOIOA15,I0B0I0B15全部引出,對應的引腳為:A口,4148、53、5460;B口,51、8176、6864。而且該I/O口是可編程的,即可以設置為輸入或輸出。設置為輸入時,分為懸浮輸入或非懸浮輸入。非懸浮輸入又可以設置為上拉輸入或是下拉輸入。在5V情況下,上拉電阻為150K,下拉電阻為110K;設置為輸出時,可以選擇同向輸出或者反相輸出。電源指睡眠指示賀示燈電源PROBE3PIN單排針EZ_PR0BE*音頻輸出麥克輸入OO1J

27、4PROBEEZ_PROBEJUXIJ3OJ10POWERSLEEPRESETK3K2KI0000000000000000000000000000000000000000I0B7I0B15I0B0I0B8I0A7I0A15IOAOI0A8圖3.5SPCE061板接口說明圖3音頻輸入/輸出接口正如我們在前面介紹的61板具有強大的語音處理功能,如圖3.5所示,XI是語音的MIC輸入端,帶自動增益(AGC)控制。J12和J3都是語音輸出接口,一個是耳機插孔;另一個是兩針的插針外接喇叭,由DAC輸出引腳21或22經語音集成放大器SPY0030放大,然后輸出。SPY0030是凌陽的芯片,相當于LM386

28、,但是比386音質好。它可以工作在2.46.0V范圍內,最大輸出功率可達700mW(LM386必須工作在4V以上,而且功率只有100mW)。4在線調試器(PROBE)和EZ-PR0BE接口.圖3.5中J4為PROBE的接口,該接口有5針,其中兩個分別是地(VSS)和3.3V電源(VCC)。此接口與PROBE的5針接口相連,PROBE的另一端接PC機25針并口。這樣,就不需要再用仿真器和編程器了,只要按如圖3.4所示將其連接好,就可以通過它在PC機上調試程序、在線仿真、最后將程序下載到芯片中,完成程序的燒寫。如圖3.5中的J11是EZ-PROBE的接口,我們提供一根轉接線用作EZ-PROBE的下

29、載,一端連接PC機的25針并口,另外一端連接61板的5針EZ-PROBE接口,如圖3.6所示:圖3.661、PROBE/連接線、計算機三者之間的連接圖3.2.2動力單元設計電源部分的電路,由電池盒提供的4.5V直流電壓經過SPY0029后產生3.3V給整個系統(tǒng)供電。SPY0029是凌陽公司設計的電壓調整IC,采用CMOS工藝,具有靜態(tài)電流低、驅動能力強、線性調整出色等特點,如圖3.7圖中的VDDH3為SPCE061A的I/O電平參考,如果該點接SPCE061A(PLCC84封裝,下面的介紹中當出現SPCE061A的引腳描述時,均指此封裝的芯片)的51腳,可使I/O輸出高電平為3.3V;VDDP

30、為PLL鎖相環(huán)電源,接SPCE061A的7腳;VDD和VDDA分別為數字電源與模擬電源,分別接SPCE061A的15腳和36腳;AVSS1是模擬地,接SPCE061A的24腳;VSS是數字地,接SPCE061A的38腳;AVSS2接音頻輸出電路的AVSS2。圖中前后兩組電容用來去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標準的3.3V電壓,加入SPY0029A三端穩(wěn)壓器。兩個二極管D3和D4,是為防止誤將電源接反造成不必要損失而設置的,注意在操作過程中千萬不要將電源接反,因為反向電壓超過一定的值,二極管將會被損壞,達不到保護的目的。音頻單元設計音頻電路由音頻輸出和音頻輸入兩部分組成。SP

31、CE061A內置2路10位精度的DAC,只需要外接功放電路即可完成語音的播放。圖中的SPY0030是凌陽的一款音頻放大芯片,可以工作在2.46V范圍內,最大輸出功率可達700mW。SPCE061A芯片中已經集成了音頻輸入專用ADC以及AGC放大電路,因此芯片外部的電路比較簡單。圖3.8音頻電路音頻輸入部分如圖3.9,MICP和MICN將隨著MIC產生的波形變化,并在兩個端口處形成兩路反相的波形,再經過兩級運放放大,把放大的語音信號交給ADC轉換為數字量,這個時候就可以通過單片機編程對這些數據進行處理,比如說進行語音數據壓縮、語音識別等。C9r104圖3.9音頻輸入外圍電路音頻輸出部分SPY00

32、30A是凌陽公司開發(fā)的專門用于語音信號放大的芯片,它的增益為:Gain=2*5000/(5000+R1),如圖3.10是SPY0030的典型應用電路。104ACCOhilVDDH_C20rkmSPVC030R1DC23224100u|S*peaer圖3.10SPY0030A工作原理圖數摸轉換電路凌陽SPCE061A單片機自帶雙通道DAC音頻輸出,DAC1、DAC2轉換輸出的模擬量電流信號分別通過AUDI和AUD2管腳輸出,DAC輸出為電流型輸出,所以DAC輸出經過SPY0030音頻放大,以驅動喇叭放音,放大電路(只列出DAC1,DAC2類似),這為單片機的音頻設計提供了極大方便。在它們后面接一

33、個簡單的音頻放大電路和喇叭即可實現語音播報功能。DAC20CON3123AVSS2224圖3.11數模轉換電路按鍵、LED和復位電路此電路主要是對電源和睡眠指示作用以及復位重新訓練小車等作用如3.12圖示??岛纾夯趩纹瑱C的語言控制小車設計華科學院本科畢業(yè)設計(論文)- -圖3.17車體側視圖- -LEDRESETR12圖3.13復位電路3.6下載線接口電路和在線調制電路圖3.14LED電路此電路主要是下載程序代碼和在線調試程序,為其那片機提供靈魂。如圖3.15所示。EZ-PROBEPROBEGNDCON3ICEENICESCKICESDAU4CON5PD0L,1A11Y1T8ICESCKIC

34、ESDA4,1A21Y2T66,1A31Y314GND81A41Y412PD111,2A12Y19ICESDAR270)/有語音觸發(fā)?*P_IOB_Data=0 x0000;/臨時停車switch(Result)caseNAME_ID:/識別出名稱命令Stop();/停車待命break;caseCOMMAND_GO_ID:/識別出第一條命令GoAhead();/執(zhí)行動作一:直走break;caseCOMMAND_BACK_ID:/識別出第二條命令BackUp();/執(zhí)行動作二:倒車break;caseCOMMAND_LEFT_ID:/識別出第三條命令TurnLeft();/執(zhí)行動作三:左轉br

35、eak;caseCOMMAND_RIGHT_ID:/識別出第四條命令TurnRight();/執(zhí)行動作四:右轉break;default:break;動作子程序動作子程序包括:前進、倒車、左拐、右拐、停車子程序。前進:由小車的結構原理和驅動電路分析知:只要IOB8為高電平,IOB9,IOBIO,I0B11全部為低電平即可實現小車的前進。前進子程序包括語音提示、置端口數據、啟動定時器操作。倒車:由小車的結構原理分析和驅動電路分析知:只要IOB9為高電平,IOB8,IOB1O,IOB11全部為低電平即可實現小車的倒退。倒退子程序包括語音提示、置端口數據、啟動定時器操作。左轉:由小車的結構原理分析和

36、驅動電路分析知:小車左轉需要兩個條件:1.前輪左偏2.后輪前進,這時對應的I/O狀態(tài)為:IOB8、IOB1O為高電平,IOB9、IOB11為低電平。左轉子程序包括語音提示、置端口數據、啟動定時器操作。右轉:由小車的結構原理分析和驅動電路分析知:小車右轉需要兩個條件:1.前輪右偏2.后輪前進,這時對應的I/O狀態(tài)為:IOB8、IOB11為高電平,IOB9、IOB1O為低電平。右轉子程序包括語音提示、置端口數據、啟動定時器操作。注:在轉彎之前首先讓前輪朝目標方向的反方向偏轉,然后再讓前輪朝目標方向偏轉,這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現轉彎。voidGoAhead()/前進P

37、laySnd(S_ACT1,3);*P_IOB_Data=0 x0100;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/提示/前進/以下為中斷定時操作/=/語法格式:voidBackUp();/實現功能:后退子函數/參數:無/返回值:無/倒退/提示/倒退/以下為中斷定時操作/voidBackUp()PlaySnd(S_DCZY,3);*P_IOB_Data=0 x0200;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/=/語法格式:voidTurnLeft();/實現功能:左轉子

38、函數/參數:無/返回值:無/左轉/=voidTurnLeft()PlaySnd(S_GJG,3);康虹:基于單片機的語言控制小車設計華科學院本科畢業(yè)設計(論文)- - -*P_IOB_Data=0 x0900;Delay();*P_IOB_Data=0 x0500;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);/右轉/延時/左轉/以下為中斷定時操作uiTimecont=0;/=/語法格式:voidTurnRight();/實現功能:右轉子函數/參數:無/返回值:無/voidTurnRight()PlaySnd(S_GJG,3);*P_IOB_Data=0 x050

39、0;Delay();*P_IOB_Data=0 x0900;*P_INT_Mask|=0 x0004;_asm(intfiq,irq);uiTimecont=0;/右轉/語音提示/左轉/延時/右轉/以下為中斷定時操作/=/語法格式:voidStop();/實現功能:停車子函數/參數:無/返回值:無/=voidStop()*P_IOB_Data=0 x0000;PlaySnd(S_RDY,3);/停車/停車/語音提示中斷子程序雖然已經有了前進、后退以及停車(通過直接呼叫小車的名字使其停車)等語音控制指令,但是考慮環(huán)境的干擾因素,小車運行時的噪音影響和有效距離的限制,小車運行后可能接收不到語音指令

40、而一直運行。為了防止出現這種情況,加入了時間控制,在啟動小車運行的同時啟動定時器,定時器時間到停止小車的運行,該定時器借助于2Hz時基中斷完成,所示為該程序的流程圖??梢栽诔绦蛑行薷膗iTimeset參數來控制運行時間,當uiTimeset=2時,運行時間為1s,以此類推。voidIRQ5(void)_attribute_(ISR);/運動定時控制voidIRQ5(void)if(uiTimecont+=uiTimeset)*P_IOB_Data=0 x0000;*P_INT_Clear=0 x0004;程序中需要說明的幾個問題在程序中可能有幾個地方不易理解,下面我向大家說明一下:首先,小車有

41、沒有被訓練過是怎么知道的?在這里利用了一個特殊的Flash單元,語音模型存儲區(qū)首單元(該示例程序中為OxeOOO單元)。當Flash在初始化以后,或者在擦除后為Oxffff,在成功訓練并存儲后為0 x0055(該值由辨識器自動生成)。這樣就可以根據這個單元的值來判斷是否經過訓練。其次,為什么已經訓練過的系統(tǒng)在重新運行時還要進行模型裝載?在首次訓練完成之后,辨識器中保存著訓練的模型,但是系統(tǒng)一旦復位辨識器中的模型就會丟失,所以在重新運行時必須把存儲在Flash中的語音模型裝載到辨識器(RAM)中去。第三,在轉彎時為什么前輪要先做一個反方向的擺動?這是為了克服車體的限制,由于前輪電機的驅動能力有限

42、,有時會出現前輪偏轉不到位的情況,所以在轉彎前首先讓前輪朝反方向擺動,然后再朝目標方向擺動。這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現轉彎。第四,關于語音的一些具體問題,關于語音的一些具體問題請參看SPCE061A相關書籍中關于語音的詳細介紹。第5章系統(tǒng)調試5.1硬件調試一、硬件鏈接語音控制小車電路包括兩大部分:61板部分和控制板部分,硬件部分的連接。主要用到SPCE061A的IOB8IOB11來控制小車的狀態(tài)。電源部分連接:電池電源直接接控制板電源接口J1,J2接61板的電源,連接時注意電源極性。61板和控制板的I/O連接有兩種情況:采用I/O排針向下的61板,直接將61板和控

43、制板扣接在一起即可,61板的IOBH通過J6與控制電路連通;采用I/O排針向上的61板,直接用排線將61板的IOBH和J5相連接即可。二、硬件模塊連線圖圖5.1連線圖三、功能說明小車運動控制:通過SPCE061A的I/O端口,驅動控制板的H橋電路,進而控制前輪電機和后輪電機。聲控功能:利用特定人語音識別實現小車的名稱和動作訓練,并根據相應語音指令輸入執(zhí)行前進、后退、左轉、右轉、停車等動作。定時控制功能:利用時基定時器設定運行時間,小車運行同時啟動定時器,時間到小車停止運行。5.2軟件調試一、下載代碼硬件連接完成之后,檢查無誤,接下來就可以下載程序了具體的步驟為:第一步:打開集成開發(fā)環(huán)境,打開“

44、CarDemo.spj”文件,編譯鏈接。(注意:如果看不到CarDemo.spj,請在彈出的對話框中選擇打開類型為spj或者所有文件)第二步:點擊菜單ProjectSelectBody,或者直接點擊圖標打開如圖5.2所示的對話框:圖5.2SelectBody對話框第三步:在彈出的對話框中選擇BodyName為SPCE060A_061A,選擇Probe為Auto,點擊OK按鈕確定。第四步:點擊IDE工具欄上的圖標頑選擇UseICE模式。第五步:按F8快捷下載按鈕,下載代碼。二、訓練小車成功下載程序以后,去掉下載線并復位系統(tǒng)(如果使用EZ-Probe還應將Probe選擇跳線S5拔去),小車就會提示

45、對它進行訓練。訓練采用應答式訓練,每條指令的訓練次數為兩次,每一條命令的訓練過程都是一樣的,以“前進”為例說明:步驟一:小車提示“前進”;步驟二:告訴小車“前進”;步驟三:小車提示“請再說一遍”(重復訓練提示音);步驟四:再次告訴小車“前進”(重復訓練一次)。這是一個完整的訓練過程,如果訓練成功,小車會自動進入下一條指令的訓練,并會提示下一條指令對應的動作;如果沒有訓練成功,小車會提示“說什么暗語呀”或者“沒有聽到任何聲音”等信息,這樣的話就要重復剛才所說的四個步驟,直到成功為止。整個的訓練過程共有5次這樣的訓練,依次為:名稱前進后退左拐右拐。整個的訓練流程如圖5.3所示:開始訓練訓練倒車指令

46、倒車訓練成功Y11T訓練名稱N名稱訓練成功訓練前進指令前進訓練成功左轉訓練成一_功1_=一亠Y1r訓練右轉指令一右轉訓練成功Y11訓練成功提示1一一一_訓練結束111F_一一一1訓練左轉指令圖5.3小車訓練流程5.3系統(tǒng)聯調一、訓練小車訓練完小車之后,怎樣進行聲控操作,讓小車運動或者停下來呢?可以直接對小車說前進,或者倒車、左拐、右拐等,小車如果識別出指令會有一個回應信號,告知你它要執(zhí)行的動作,然后執(zhí)行該動作。如果想要小車執(zhí)行其它動作,直接告訴小車將要執(zhí)行動作對應的指令即可。比如在前進時告訴小車“倒車”,小車識別出之后就會直接倒車。如果在小車運動的過程中想要小車停下來,可以直接呼叫小車的名字,

47、小車準確識別之后就會停下來。二、重新訓練在實際的使用過程當中,可能會對訓練的結果不滿意,或者其他人也想對它進行訓練、控制。這樣就要求小車可以被重新訓練。為此,我們把61板的KEY3鍵定義為重新訓練按鈕,系統(tǒng)運行之后就會不斷的掃描61板的KEY3鍵。如果檢測到KEY3鍵按下,那么程序首先會把訓練標志位(OxeOOO)單元擦除,并會進入一個死循環(huán)等待復位的到來。復位到來之后,程序檢測到訓練標志單元內容為Oxffff,認為小車沒有經過訓練,就會要求對它進行訓練。結論本設計綜合應用了SPCE061A豐富的軟硬件資源,成功的實現了語音控制功能。下面簡單的介紹一下實際應用中的一些資源優(yōu)勢:在硬件方面,較高

48、的執(zhí)行速度、內置的硬件乘法器、ADC和DAC功能、內置的AGC自動增益環(huán)節(jié),這些為語音處理提供了強大基礎。在軟件方面,標準的C語言編程,豐富的語音資源函數為編程提供了很大的方便。該設計方案結構簡單,以單芯片實現了語音播放與識別以及電機控制功能,相當于“語音識別芯片+普通單片機”的功能。但是比“語音識別芯片+普通單片機”方案實現起來要簡單很多,而且成本也會降低很多。該語音控制小車操作比較簡單,訓練和識別成功的幾率也比較高,是一個典型的語音識別應用方案。設計初期,我開始了我的畢業(yè)論文工作,時至今日,論文基本完成。最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,歷經了幾個月的奮戰(zhàn),緊張而又充實的

49、畢業(yè)設計終于落下了帷幕?;叵脒@段日子的經歷和感受,我感慨萬千,在這次畢業(yè)設計的過程中,我擁有了無數難忘的回憶和收獲。在與導師的交流討論中我的題目定了下來,是:基于單機的語音控制小車設計。當選題報告,開題報告定下來的時候,我當時便立刻著手資料的收集工作中,不知如何下手。我將這一困難告訴了導師,在導師細心的指導下,終于使我對自己現在的工作方向和方法有了掌握。在搜集資料的過程中,我認真準備了一個筆記本。我在學校圖書館搜集資料,還在網上查找各類相關資料,將這些寶貴的資料全部記在筆記本上,盡量使我的資料完整、精確、數量多,這有利于論文的撰寫。然后我將收集到的資料仔細整理分類,及時拿給導師進行溝通。資料已

50、經查找完畢了,我開始著手論文的寫作。在寫作過程中遇到困難我就及時和導師聯系,并和同學互相交流,在大家的幫助下,困難一個一個解決掉,論文也慢慢成型。開始進行相關圖形的繪制工作和電路的設計工作。為了畫出自己滿意的電路圖,圖表等,我仔細學習了Excel的繪圖技術。在設計電路初期,由于沒有設計經驗,覺得無從下手,空有很多設計思想,卻不知道應該選哪個,經過導師的指導,我的設計漸漸有了頭緒,通過查資料,逐漸確立系統(tǒng)方案。這次畢業(yè)論文的制作過程是我的一次再學習,再提高的過程。在論文中我充分地運用了大學期間所學到的知識。我不會忘記這難忘的幾個月的時間。畢業(yè)論文的制作給了我難忘的回憶。我從資料的收集中,掌握了很

51、多單片機、語音控制、軟件程序的知識,讓我對我所學過的知識有所鞏固和提高,并且讓我對當今單片機、語音技術、軟件程序最新發(fā)展技術有所了解。在整個過程中,我學到了新知識,增長了見識。在今后的日子里,我仍然要不斷地充實自己,爭取在所學領域有所作為。腳踏實地,認真嚴謹,實事求是的學習態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學習和工作有很大的幫助。在這次畢業(yè)設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。在此更要感

52、謝我的導師是你的細心指導和關懷,使我能夠順利的完成畢業(yè)論文。在我的學業(yè)和論文的研究工作中無不傾注著老師們辛勤的汗水和心血。老師的嚴謹治學態(tài)度、淵博的知識、無私的奉獻精神使我深受啟迪。從尊敬的導師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。在此我要向我的導師致以最衷心的感謝和深深的敬意。參考文獻于平.移動機器人核心控制系統(tǒng)研制開發(fā)D哈爾濱理工大學,2005.陳全福.智能移動機器人平臺控制系統(tǒng)設計D哈爾濱工程大學,2006.華亮.多功能移動機器人運動機構及控制系統(tǒng)的研究與實現D浙江工業(yè)大學,2007.美DavidCook畢樹生李大寨譯.機器人制作提高篇M北京:北京航空航天大學出版社

53、.2005趙亮.單片機應用系統(tǒng)設計與產品開發(fā)M.北京:人民郵電出版社.2004AdelS.SedraandKenneth.SmithM:MicroelectronicCircuits,4rded,OxfordUniversityPress.Inc,1998.2058.談世哲、胡少宏.電路設計與制版Protel98.人民郵電出版社.1998張毅剛.單片機原理及應用.北京高等教育出版社.2003李華.MCS-51系列單片機實用接口技術.北京航空航天大學出版社.1993童詩白,華成英模擬電子技術基礎(第三版)M.高等教育出版社,2000.雷思孝,李伯成等單片機原理及實用技術-凌陽16位單片機原理及應

54、用M.西安:西安電子科技大學,2004.彭為,黃科,雷道仲單片機典型系統(tǒng)設計實例精講M.電子工業(yè)出版社,2006.張友德單片微型機原理、應用于實驗M.3版上海:復旦大學出版社,2000.黃根春,陳小橋,張望先電子設計教程M.北京:電子工業(yè)出版社,2007.李玉賢,歐陽斌林基于SPCE061A單片機的語音識別系統(tǒng)的研究.優(yōu)秀碩士學位論文庫.張震宇,王華.基于凌陽單片機的語音識別技術及應用.微計算機信息,2007,8-2:23.INTEGRATEDCIRCUITSDATAHANDBOOK80C51-based8-bitmicrocontrollersPHILIPS,1992AdelS.Sedra,

55、KennethC.Smith:MicroelectronicsCircuits,3rdEdition,HoltRinehartandWinston,Inc.,1991V.Yu.Teplov,A.V.Anisimov.ThermostattingSystemUsingaSingle-ChipMicrocomputerandThermoelectricModulesBasedonthePeltierEffectJ,2002YeagerBrent.HowtotroubleshootyourelectronicscaleJ.PowderandBulkEngineering.1995MeehanJoan

56、ne,MuirLindsey.SCMinMerseysideSMEs:BenefitsandbarriersJ.TQMJournal.2008華科學院本科畢業(yè)設計(論文)華科學院本科畢業(yè)設計(論文)- #- -致謝此次畢業(yè)實習、畢業(yè)設計和畢業(yè)論文撰寫過程中,得到了王老師、同學和朋友的關心、指導和幫助。課題選定后,在指導老師辛勤工作和教誨下,我能順利地完成了本次設計。在此過程中,我系統(tǒng)地學習了單片機的相關知識,把以前所學習的知識螎匯貫通,連成一片,使我在綜合素質提高、專業(yè)理論知識學習和實踐工作能力等各方面都受益匪淺。經過幾個月的忙碌和學習,本次畢業(yè)論文設計已經接近尾聲。作為一個本科生的畢業(yè)設計,

57、由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有指導教師的的督促指導,想要完成這個設計是難以想象的。在這里我要衷心地感謝我的論文指導老師。王玉杰老師平日里工作繁多,但在我做畢業(yè)設計的每個階段,從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調整等各個環(huán)節(jié)中都給予了我悉心的指導。除了王玉杰老師的專業(yè)水平外,他的治學嚴謹和科學研究的精神也是我永遠學習的榜樣,并將積極影響我今后的學習和工作。為我以后的揚帆遠航注入了動力。感謝四年以來眾多同學和朋友的幫助,大家一起在緊張的學習之余度過了許多愉快的時光。感謝父母多年來的關愛!康虹:基于單片機的語言控制小車設計康虹:基于單片機的語言控制小

58、車設計華科學院本科畢業(yè)設計(論文)- - - -附錄附1主要程序:工程名稱:Car_Demo涉及的庫:CMacro1016.libbsrv222SDL.libsacmv26e.lib組成文件:main.cFlash.asm,hardware.asm,ISR.asmhardware.h,s480.h,hardware.inc硬件連接:IOA0KEY1IOA1KEY2IOA2KEY3IOB8前進IOB9倒車IOB10左拐IOB11右拐#includes480.h#includebsrsd.h#defineP_IOA_Data#defineP_IOA_Dir#defineP_IOA_Attrib#d

59、efineP_IOB_Data#defineP_IOB_Dir#defineP_IOB_Attrib#defineP_TimerA_Data(volatileunsignedint*)0 x7000(volatileunsignedint*)0 x7002(volatileunsignedint*)0 x7003(volatileunsignedint*)0 x7005(volatileunsignedint*)0 x7007(volatileunsignedint*)0 x7008(volatileunsignedint*)0 x700A#defineP_TimerA_Ctrl#define

60、P_TimerB_Data#defineP_TimerB_Ctrl#defineP_Watchdog_Clear#defineP_INT_Mask#defineP_INT_Clear#defineNAME_ID#defineCOMMAND_GO_ID#defineCOMMAND_BACK_ID#defineCOMMAND_LEFT_ID(volatileunsignedint*)0 x700B(volatileunsignedint*)0 x700C(volatileunsignedint*)0 x700D(volatileunsignedint*)0 x7012(volatileunsign

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論