新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于SPCE061A的小車語音控制系統(tǒng)

基于SPCE061A的小車語音控制系統(tǒng)

作者: 時間:2011-09-19 來源:網(wǎng)絡 收藏

初始化部分的初始化操作會將SPCE061A單片機上的IOB13~IOB10設置為輸出端,用以控制電機。將其IOA的低8位IOA0~IOA7設置為下拉的輸入端,用來連接按鍵。

  訓練部分完成的工作是建立語音模型。程序一開始會判斷小車是否被訓練過,如果沒有訓練過,系統(tǒng)會要求對其進行訓練,并且會在訓練成功之后將訓練的模型存儲到Flash中;如果已經(jīng)訓練過則會把存儲在Flash中的模型調(diào)出,裝載到辨識器中。

  在識別環(huán)節(jié)當中,如果辨識結果是名字,直接置待命標志,然后等待動作命令。只有檢測到待命標志,小車才會根據(jù)相應的辨識結果執(zhí)行動作。如果沒有待命標志,即使識別到動作命令也不會執(zhí)行動作。小車在執(zhí)行完對應的命令之后清除待命標志,結束待命狀態(tài)。

  考慮到有重新訓練的需求,這里設置了重新訓練的按鍵。程序運行時循環(huán)掃描該按鍵,什么時間檢測到此鍵按下,則將擦除語音模型存儲區(qū)首單元(0xe000)所在的頁,等待復位到來。復位后,程序重新從頭開始執(zhí)行,當檢測到語音模型存儲區(qū)首地址為0xffff(擦除后的值)時,系統(tǒng)會要求重新對其進行訓練。

  FIQ中斷


  FIQ中斷用來調(diào)用語音辨識子程序,并對a2000格式的語音進行解碼播放。

  調(diào)試及性能分析

  系統(tǒng)的調(diào)試以程序為主。硬件調(diào)試時,首先檢查電路的焊接是否正確,然后用萬用表測試或通電檢測。軟件調(diào)試則需要分別進行主程序、FIQ中斷、顯示子程序等的編程及調(diào)試。本程序采用單片機匯編語言編寫,用KEILuVision2編譯器。軟件調(diào)試直到語音能夠控制小車的行駛狀態(tài),并顯示出小車的行駛距離等功能為止。

  結語

  本文設計的系統(tǒng)主要采用16位單片機SPCE061A來實現(xiàn)。軟件編程則是采用C語言和匯編語言的混合編程來實現(xiàn)的,集兩種語言的優(yōu)點于一體,實現(xiàn)對硬件的實時控制。通過實驗驗證,該系統(tǒng)主要可實現(xiàn)以下功能:

  (1)可以通過語音命令來控制小車的行駛狀態(tài),實現(xiàn)前進、后退、左轉、右轉等功能;

  (2)顯示小車的運行時間以及運行路程;

  (3)可以擴展控制板的調(diào)速環(huán)節(jié),利用系統(tǒng)的PWM資源,實現(xiàn)小車的PWM調(diào)速;

  (4)預留多路開關型傳感器接口,可以自行安裝各類傳感器,配合程序實現(xiàn)小車的循跡、避障等功能。

霍爾傳感器相關文章:霍爾傳感器工作原理


霍爾傳感器相關文章:霍爾傳感器原理

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉