新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于凌陽SPCE061A單片機的音控小車的設計

        基于凌陽SPCE061A單片機的音控小車的設計

        作者: 時間:2009-10-26 來源:網絡 收藏

        語音識別主要分為“訓練”和“識別”兩個階段。在訓練階段,對采集到的語音樣本進行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,對采集到的語音樣本也進行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。
        語音識別過程分為以下4大部分:
        (1)初始化部分:初始化操作將 IOB8~IOB11 設置為輸出端,用以控制電機。必要時還要有對應的輸入端設置。整個的行駛狀態由2個電機來控制,電機1控制左拐和右拐,電機2控制前進、倒退。具體行使狀態控制如表1所示。

        本文引用地址:http://www.104case.com/article/173580.htm

        (2)訓練部分:訓練部分完成的工作就是建立語音模型。程序一開始判斷是否被訓練過,如果沒有訓練過則要求對其進行訓練,整個訓練過程共有 5 次,依次為:名稱―前進―倒車―左拐―右拐。在訓練成功之后將訓練的模型存儲到 FLASH,在以后使用時不需要重新訓練;如果已經訓練過會把存儲在 FLASH 中的模型調出來裝載到辨識器中。
        (3)識別部分:在識別環節當中,如果辨識結果是名字,停止當前的動作并進入待命狀態,然后等待動作命令。如果辨識結果為動作指令,小車會語音告知相應動作,并執行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。
        (4)重訓操作:考慮到有重新訓練的需求,設置了重新訓練的按鍵(61 板的 KEY3),循環掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志位(0xe000 單元),并等待復位。復位后,程序重新執行,當檢測到訓練標志位為 0xffff 時會要求重新對其進行訓練。小車訓練流程圖如圖5所示[5]



        2. 2系統的軟件流程圖
        系統的軟件流程如圖6所示。本采用C語言和匯編語言聯合編程的方法。其中,C語言作為主程序編程,可以充分利用C語言的優點,調用其他程序模塊。匯編語言主要用在子程序的模塊中,利用它的中斷、延時等方面的優點。匯編語言的主要優點是占用硬件資源少、程序直接對硬件操作加快了處理速度。本設計的所有程序均在集成開發環境IDE中進行。本系統的軟件部分采用模塊化程序結構,其軟件設計主要包括初始化、系統主程序、語音提示程序、小車微調程序等部分。



        本文設計并制作的小車以單片機為控制核心,完成了語音辨識功能,并在實現語音控制的基礎上擴展了I/O接口,實現了緊急避障微調功能,能夠按照語音指令很好地完成前進、倒車、左轉、右轉以及倒庫。能夠識別人的語音命令,并根據命令的含義執行相應的動作。整個部分設計合理,小車運行正常。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黔江区| 西安市| 家居| 石屏县| 吉林市| 开江县| 漠河县| 广水市| 堆龙德庆县| 溧水县| 浦东新区| 衡南县| 泌阳县| 宿州市| 葫芦岛市| 本溪市| 临夏市| 黔西县| 南溪县| 那坡县| 葫芦岛市| 辽阳市| 定边县| 眉山市| 衢州市| 万山特区| 安福县| 丰原市| 永嘉县| 泽普县| 象山县| 陆良县| 敖汉旗| 宁阳县| 五华县| 富民县| 贞丰县| 玉屏| 玉龙| 伊吾县| 白银市|