freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于spce061a單片機的語音遙控小車的設(shè)計-資料下載頁

2024-11-17 21:46本頁面

【導讀】本人的畢業(yè)論文(設(shè)計)是在指導教師的指導下獨立撰寫完成的。摘要隨著電子、信息技術(shù)的飛速發(fā)展,語音識別被廣泛的應(yīng)用在各個領(lǐng)域。進”,小車根據(jù)命令向前行駛一段距離,輸入“左轉(zhuǎn)”,小車向左轉(zhuǎn)彎。替了傳統(tǒng)的遙控手動控制。小車接收命令的同時,向外界發(fā)出語音信號,從而實現(xiàn)人車。之間的簡單的交互。SPCE061A單片機控制系統(tǒng),第一個專門負責語音信號的采集,然后發(fā)送語音命令的編碼。另外一個根據(jù)接收的語音命令編碼,來控制小車的行駛狀態(tài)。采用固定碼PT2262無線。發(fā)射模塊和PT2272接收模塊。

  

【正文】 : 20201212 //======================================================== include include define P_IOA_Data (volatile unsigned int *)0x7000 define P_IOA_Dir (volatile unsigned int *)0x7002 define P_IOA_Attrib (volatile unsigned int *)0x7003 define P_IOB_Data (volatile unsigned int *)0x7005 define P_IOB_Dir (volatile unsigned int *)0x7007 define P_IOB_Attrib (volatile unsigned int *)0x7008 define P_TimerA_Data (volatile unsigned int *)0x700A define P_TimerA_Ctrl (volatile unsigned int *)0x700B define P_TimerB_Data (volatile unsigned int *)0x700C define P_TimerB_Ctrl (volatile unsigned int *)0x700D define P_Watchdog_Clear (volatile unsigned int *)0x7012 define P_INT_Mask (volatile unsigned int *)0x702D define P_INT_Clear (volatile unsigned int *)0x7011 25 define NAME_ID 0x100 define COMMAND_GO_ID 0x101 define COMMAND_BACK_ID 0x102 define COMMAND_LEFT_ID 0x103 define COMMAND_RIGHT_ID 0x104 define S_NAME 0 //給我取個名字吧 define S_ACT1 1 //前進 define S_ACT2 2 //倒車,請注意 define S_ACT3 3 //左拐 define S_ACT4 4 //右拐 define S_RDY 5 //Yeah define S_AGAIN 6 //請再說一遍 define S_NOVOICE 7 //沒有聽到任何聲音 define S_CMDDIFF 8 //說什么暗語呀 define S_NOISY 8 //說什么暗語呀 define S_START 9 //準備就緒,開始辨識 define S_GJG 10 //拐就拐 define S_DCZY 11 //倒車,請注意 extern unsigned int BSR_SDModel[100]。 //外部變量 BSR_SDModel[100],辨識器自帶 extern void F_FlashWrite1Word(unsigned int addr,unsigned int Value)。 extern void F_FlashErase(unsigned int sector)。 unsigned int uiTimeset = 3。 //運行時間定時,調(diào)整該參數(shù)控制運行時間 unsigned int uiTimecont。 //運行時間計時 //============================================================= // 語法格式: void Delay()。 // 實現(xiàn)功能: 延時 // 參數(shù): 無 // 返回值: 無 //============================================================= void Delay() { unsigned int i。 for(i=0。i0xffff。i++) { *P_Watchdog_Clear=0x0001。 } } //============================================================= // 語法格式: void PlaySnd(unsigned SndIndex,unsigned DAC_Channel)。 26 // 實現(xiàn)功能: 語音播放函數(shù) // 參數(shù): SndIndex播放語音資源索引號 // DAC_Channel播放聲道選擇 // 返回值: 無 //============================================================= void PlaySnd(unsigned SndIndex,unsigned DAC_Channel) { BSR_StopRecognizer()。 //停止識別器 SACM_S480_Initial(1)。 //初始化為自動播放 SACM_S480_Play(SndIndex, DAC_Channel, 3)。 //開始播放一段語音 while((SACM_S480_Status()amp。0x0001)!= 0) //是否播放完畢? { SACM_S480_ServiceLoop()。 //解碼并填充隊列 *P_Watchdog_Clear=0x0001。 //清看門狗 } SACM_S480_Stop()。 //停止播放 BSR_InitRecognizer(BSR_MIC)。 //初始化識別器 } //============================================================= // 語法格式: int TrainWord(int WordID,int SndID)。 // 實現(xiàn)功能: 訓練一條指令 // 參數(shù): WordID指令編碼 // SndID指令提示音索引號 // 返回值: 無 //============================================================= int TrainWord(unsigned int WordID,unsigned int SndID) { int Result。 PlaySnd(SndID,3)。 //引導訓練,播放指令對應(yīng)動作 while(1) { Result = BSR_Train(WordID,BSR_TRAIN_TWICE)。 //訓練兩次,獲得訓練結(jié)果 if(Result==0)break。 switch(Result) { case 1: //沒有檢測出聲音 PlaySnd(S_NOVOICE,3)。 return 1。 case 2: //需要訓練第二次 PlaySnd(S_AGAIN,3)。 break。 case 3: //環(huán)境太吵 PlaySnd(S_NOISY,3)。 return 3。 27 case 4: //數(shù)據(jù)庫滿 return 4。 case 5: //檢測出聲音不同 PlaySnd(S_CMDDIFF,3)。 return 5。 case 6: //序號錯誤 return 6。 default: break。 } } return 0。 } //============================================================= // 語法格式: void TrainSD()。 // 實現(xiàn)功能: 訓練函數(shù) // 參數(shù): 無 // 返回值: 無 //============================================================= void TrainSD() { while(TrainWord(NAME_ID,S_NAME) != 0) 。 //訓練名稱 while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) 。 //訓練第 1 個動作 while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) 。 //訓練第 2 個動作 while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) 。 //訓練第 3 個動作 while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) 。 //訓練第 4 個動作 } //============================================================= // 語法格式: void StoreSD()。 // 實現(xiàn)功能: 存儲語音模型函數(shù) // 參數(shù): 無 // 返回值: 無 //============================================================= void StoreSD() { unsigned int ulAddr,i,mandID,g_Ret。 F_FlashWrite1Word(0xef00,0xaaaa)。 F_FlashErase(0xe000)。 F_FlashErase(0xe100)。 F_FlashErase(0xe200)。 ulAddr=0xe000。//******** for(mandID=0x100。mandID0x105。mandID++) { g_Ret=BSR_ExportSDWord(mandID)。 while(g_Ret!=0) //模型導出成功? 28 g_Ret=BSR_ExportSDWord(mandID)。 for(i=0。i100。i++) //保存語音模型 SD1(0xe0000xe063) { F_FlashWrite1Word(ulAddr,BSR_SDModel[i])。 ulAddr+=1。 } } } //============================================================= // 語法格式: void StoreSD()。 // 實現(xiàn)功能: 裝載語音模型函數(shù) // 參數(shù): 無 // 返回值: 無 //============================================================= void LoadSD() { unsigned int *p,k,jk,Ret,g_Ret。 p=(int *)0xe000。 for(jk=0。jk5。jk++) { for(k=0。k100。k++) { Ret=*p。 BSR_SDModel[k]=Ret。 //裝載語音模型 p+=1。 } g_Ret=BSR_ImportSDWord()。 while(g_Ret!=0) //模型裝載成功? g_Ret=BSR_ImportSDWord()。 } } //============================================================= // 語法格式: void GoAhead()。 // 實現(xiàn)功能: 前進子函數(shù) // 參數(shù): 無 // 返回值: 無 //===========================
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1