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

正文內(nèi)容

語音控制小車的設(shè)計與實現(xiàn)-文庫吧資料

2025-07-13 15:41本頁面
  

【正文】 車采用C語言進行編程,采用一個主程序和四個子程序控制方法對其進行控制。這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現(xiàn)轉(zhuǎn)彎。 其次,為什么已經(jīng)訓(xùn)練過的系統(tǒng)在重新運行時還要進行模型裝載? 在首次訓(xùn)練完成之后,辨識器中保存著訓(xùn)練的模型,但是系統(tǒng)一旦復(fù)位辨識器中的模型就會丟失,所以在重新運行時必須把存儲在 Flash 中的語音模型裝載到辨識器(RAM)中去。 當(dāng) Flash在初始化以后,或者在擦除后為 0xffff,在成功訓(xùn)練并存儲后為 0x0055(該值由辨識器自動生成) 。 } *P_INT_Clear = 0x0004。圖 2Hz定時中斷子函數(shù)void IRQ5(void)__attribute__((ISR))。為了防止出現(xiàn)這種情況,加入了時間控制,在啟動小車運行的同時啟動定時器,定時器時間到停止小車的運行,該定時器借助于 2Hz 時基中斷完成,圖 所示為該程序的流程圖。 //停車 PlaySnd(S_RDY,3)。}//=============================================================// 語法格式: void Stop()。 //以下為中斷定時操作 __asm(int fiq,irq)。 //延時 *P_IOB_Data=0x0900。 //語音提示 *P_IOB_Data=0x0500。}//=============================================================// 語法格式: void TurnRight()。 //以下為中斷定時操作 __asm(int fiq,irq)。 //延時 *P_IOB_Data=0x0500。 *P_IOB_Data=0x0900。}//=============================================================// 語法格式: void TurnLeft()。 //以下為中斷定時操作 __asm(int fiq,irq)。 //提示 *P_IOB_Data=0x0200。}//=============================================================// 語法格式: void BackUp()。 //以下為中斷定時操作 __asm(int fiq,irq)。 //提示 *P_IOB_Data=0x0100。 注:在轉(zhuǎn)彎之前首先讓前輪朝目標(biāo)方向的反方向偏轉(zhuǎn),然后再讓前輪朝目標(biāo)方向偏轉(zhuǎn),這樣前輪的擺動范圍更大,慣性更大,擺幅也最大,能更好實現(xiàn)轉(zhuǎn)彎。 右轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車右轉(zhuǎn)需要兩個條件:,這時對應(yīng)的 I/O 狀態(tài)為:IOBIOB11 為高電平,IOBIOB10 為低電平。 左轉(zhuǎn):由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:小車左轉(zhuǎn)需要兩個條件:,這時對應(yīng)的 I/O 狀態(tài)為:IOBIOB10 為高電平,IOBIOB11 為低電平。 倒車:由小車的結(jié)構(gòu)原理分析和驅(qū)動電路分析知:只要IOB9 為高電平,IOB8,IOB10,IOB11全部為低電平即可實現(xiàn)小車的倒退。 前進:由小車的結(jié)構(gòu)原理和驅(qū)動電路分析知:只要IOB8 為高電平,IOB9,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的前進。 default: break。 case COMMAND_RIGHT_ID: //識別出第四條命令 TurnRight()。 case COMMAND_LEFT_ID: //識別出第三條命令 TurnLeft()。 case COMMAND_BACK_ID://識別出第二條命令 BackUp()。 case COMMAND_GO_ID: //識別出第一條命令 GoAhead()。 //臨時停車 switch(Result) { case NAME_ID: //識別出名稱命令 Stop()。 //辨識結(jié)果寄存 Result = BSR_GetResult()。注:語音識別程序在語音中斷函數(shù)中進行。 //訓(xùn)練第4個動作}: 語音識別流程如圖 :首先獲取辨識器的辨識結(jié)果,判斷是否有語音觸發(fā),如果有語音觸發(fā)則會返回識別結(jié)果的ID號,ID號對應(yīng)名稱或者對應(yīng)不同的動作。 //訓(xùn)練第2個動作 while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) 。 //訓(xùn)練名稱 while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) 。依次訓(xùn)練小車的名稱—前進指令—倒車指令—左轉(zhuǎn)指令—右轉(zhuǎn)指令,全部訓(xùn)練成功子程序返回,訓(xùn)練結(jié)束。::當(dāng)程序檢測到訓(xùn)練標(biāo)志位BS_Flag內(nèi)容為0xffff,就會要求操作者對它進行訓(xùn)練操作,訓(xùn)練操作的過程如圖 :訓(xùn)練采用兩次訓(xùn)練獲取結(jié)果的方式,以訓(xùn)練名字為例:小車首先會提示:給我取個名字吧, 這時你可以告訴它一個名字 (比如Jack) ; 然后它會提示: 請再說一遍, 這時再次告訴它名字 (Jack) ,如果兩次的聲音差別不大,小車就能夠成功的建立模型,名稱訓(xùn)練成功;如果沒能夠成功的建立模型,小車會告知失敗的原因并要求重新訓(xùn)練。復(fù)位后,程序重新執(zhí)行,當(dāng)檢測到訓(xùn)練標(biāo)志位為0xffff時會要求重新對其進行訓(xùn)練。如果辨識結(jié)果為動作指令小車會語音告知相應(yīng)動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。程序一開始判斷小車是否被訓(xùn)練過,如果沒有訓(xùn)練過則要求對其進行訓(xùn)練,并且會在訓(xùn)練成功之后將訓(xùn)練的模型存儲到FLASH,在以后使用時不需要重新訓(xùn)練;如果已經(jīng)訓(xùn)練過會把存儲在FLASH 中的模型調(diào)出來裝載到辨識器中。必要時還要有對應(yīng)的輸入端設(shè)置和PWM 端口設(shè)置等。 5 系統(tǒng)軟件設(shè)計 系統(tǒng)的總體程序流程 系統(tǒng)的總體程序流程如圖 所示:圖 系統(tǒng)總體程序流程圖,分為四大部分:初始化部分、訓(xùn)練部分、識別部分、重訓(xùn)操作。前輪電機控制前輪的方向,后輪電機控制后輪的驅(qū)動。 :IOB11IOB10IOB9IOB8后電機前電機小車0000停轉(zhuǎn)停轉(zhuǎn)停0001正轉(zhuǎn)停轉(zhuǎn)前進0010反轉(zhuǎn)停轉(zhuǎn)倒退0101正轉(zhuǎn)正轉(zhuǎn)左前轉(zhuǎn)1001正轉(zhuǎn)反轉(zhuǎn)右前轉(zhuǎn)另外還有一些不常用的運行狀態(tài),比如右后轉(zhuǎn)、左后轉(zhuǎn)等,結(jié)合以上對前輪和后輪的狀態(tài)分析,其端口對照如表 所示:IOB11IOB10IOB9IOB8后電機前電機小車0110正轉(zhuǎn)正轉(zhuǎn)右后轉(zhuǎn)1010正轉(zhuǎn)反轉(zhuǎn)左后轉(zhuǎn)注意:為了小車的安全請不要出現(xiàn)以下兩種組合情況:表 禁止的輸入狀態(tài)列表IOB11IOB10IOB9IOB8后電機前電機小車**11停轉(zhuǎn)*停11***停轉(zhuǎn)停本章是對小車的硬件進行設(shè)計。在實際應(yīng)用時注意避免出現(xiàn)橋臂短路的情況,這會給電路帶來很大的危害,嚴(yán)重的會燒毀電路。這樣就實現(xiàn)了電機的正轉(zhuǎn)、反轉(zhuǎn)、停止三態(tài)控制。如果讓 2 導(dǎo)通 4 關(guān)斷,如圖 ,此時電流將會流經(jīng) Q負載、Q2 組成的回路,電機正轉(zhuǎn) 如果讓 2 關(guān)斷 4 導(dǎo)通,此時電流將會流經(jīng) Q負載、Q4 組成的回路,電機反轉(zhuǎn)。 保護,D1可以防止電源接反燒壞61板。系統(tǒng)供電由電池提供,控制板直接采用電池供電(VCC),然后經(jīng)二極管D1后產(chǎn)生61板電源(VCC_61),通過61板的Vio跳線產(chǎn)生61板的端口電源(V1)。 接口電路:接口電路負責(zé)將61板的I/O接口信號傳送給控制電路板,I/O信號主要為控制電機需要的IOB8~IOB11這四路信號,同時為了方便后續(xù)的開發(fā)和完善,預(yù)留了IOB12~IOB15以及IOA8~IOA15接口,可以在這些接口上添加一些傳感器。右轉(zhuǎn):前輪電機反轉(zhuǎn),后輪電機正轉(zhuǎn),這時小車就會在前后輪共同作用下朝右側(cè)前進。如圖59所示。直走:由小車的結(jié)構(gòu)分析,在自然狀態(tài)下,前輪在彈簧作用下保持中間狀態(tài),這是只要后輪電機正轉(zhuǎn)小車就會前進。后面兩個車輪由后輪電機驅(qū)動,為整個小車提供動力。其中前面兩個車輪由前輪電機控制,在連桿和支點作用下控制前輪左右擺動,來調(diào)節(jié)小車的前進方向。 MCU連接電路微處理電路即其小系統(tǒng)電路如圖58所示,也是整個設(shè)計的核心部分,此單片機是16位單片機具有強大的處理功能,外部的其它信息由其處理后在傳出,以達到控制效果。 數(shù)模轉(zhuǎn)換電路 按鍵、LED和復(fù)位電路此電路主要是對電源和睡眠指示作用以及復(fù)位重新訓(xùn)練小車等作用如圖示。 SPY0030A工作原理圖 數(shù)摸轉(zhuǎn)換電路凌陽SPCE061A單片機自帶雙通道DAC音頻輸出,DACDAC2轉(zhuǎn)換輸出的模擬量電流信號分別通過AUD1和AUD2管腳輸出,DAC輸出為電流型輸出,所以DAC輸出經(jīng)過SPY0030音頻放大,以驅(qū)動喇叭放音,放大電路如圖54(只列出DAC1,DAC2類似),這為單片機的音頻設(shè)計提供了極大方便。 音頻電路音頻輸入部分如圖 ,MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個端口處形成兩路反相的波形,再經(jīng)過兩級運放放大,把放大的語音信號交給ADC轉(zhuǎn)換為數(shù)字量,這個時候就可以通過單片機編程對這些數(shù)據(jù)進行處理,比如說進行語音數(shù)據(jù)壓縮、語音識別等。圖中的 SPY0030 是凌陽的一款音頻放大芯片,可以工作在 ~6V范圍內(nèi),最大輸出功率可達 700mW。 圖 音頻電路音頻電路由音頻輸出和音頻輸入兩部分組成。加入SPY0029A三端穩(wěn)壓器。SPY0029 是凌陽公司設(shè)計的電壓調(diào)整 IC,采用 CMOS 工藝,具有靜態(tài)電流低、驅(qū)動能力強、線性調(diào)整出色等特點, VDDH3 為 SPCE061A的 I/O電平參考,如果該點接 SPCE061A(PLCC84 封裝,下面的介紹中當(dāng)出現(xiàn) SPCE061A的引腳描述時,均指此封裝的芯片)的 51 腳,可使 I/O輸出高電平為 ;VDDP為PLL鎖相環(huán)電源, 接SPCE061A的7腳; VDD和VDDA分別為數(shù)字電源與模擬電源, 分別接SPCE061A的15腳和36腳; AVSS1是模擬地, 接SPCE061A的24腳; VSS是數(shù)字地, 接SPCE061A的38腳; AVSS2接音頻輸出電路的 AVSS2。4 系統(tǒng)硬件設(shè)計 SPCE061A 最小系統(tǒng)SPCE061A 最小系統(tǒng)中,包括 SPCE061A 芯片及其外圍的基本模塊,其中外圍的基本模塊有:晶振輸入模塊(OSC) 、鎖相環(huán)外圍電路(PLL) 、復(fù)位電路(RESET) 、指示燈(LED)等。語音控制:通過語音觸發(fā)小車動作。圖 6PROBE/連接線、計算機三者之間的連接圖 本章對聲控小車方案進行確認(rèn),最終確定以凌陽61板為主板,小車控制板為輔助板。這樣,就不需要再用仿真器和編程器了,只要按圖 3 所示將其連接好,就可以通過它在PC 機上調(diào)試程序、在線仿真、最后將程序下載到芯片中,完成程序的燒寫。(圖沒有啊?。? 在線調(diào)試器(PROBE)和EZPROBE 接口. 為PROBE 的接口,該接口有5 針,其中兩個分別是地(VSS) 電源(VCC)。SPY0030 是凌陽的芯片,相當(dāng)于LM386,但是比386 音質(zhì)好。3 音頻輸入/輸出接口正如我們在前面介紹的 61 板具有強大的語音處理功能,如圖 2 所示,X1 是語音的MIC 輸入端,帶自動增益(AGC)控制。非懸浮輸入又可以設(shè)置為上拉輸入或是下拉輸入。而且該I/O 口是可編程的,即可以設(shè)置為輸入或輸出。3V 供電電路PLL鎖向環(huán)外部電路Power-電源指示燈Sleep-睡眠指示燈RESET復(fù)位電路K4復(fù)位按鍵PROBE在線調(diào)試器串行5 針接口S5EZPROBE 和PROBE 切換的撥斷開關(guān)J1J3耳機插孔和兩針喇叭插針DAC一路音頻輸出電路,采用SPY0030 集成音頻放大器MIC麥克風(fēng)輸入電路OSC32768 晶振電路VREFA/D 轉(zhuǎn)換外部參考電壓輸入接口R/C芯片其他外圍電阻、電容電路1 SPCE061A功能 61板上有調(diào)試器接口(Probe 接口)以及下載線(EZ_Probe)接口,分別可接凌陽科技的在線調(diào)試器、簡易下載線,配合 unSP IDE,可方便地在板上實現(xiàn)程序的下載、在線仿真調(diào)試。61板”除了具備單片機最小系統(tǒng)電路外,還包括有電源電路、復(fù)位電路、ICE 電路、音頻電路(含 MIC 輸入部分和 DAC 音頻輸出部分)等。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實現(xiàn)C語言與凌陽匯編語言的互相調(diào)用,并且提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會很容易完成語音錄放,這些都為軟件開發(fā)提供了方便的條件?!痭SP?為核心的SPCE061A微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟的選擇。因此,與SPCE500A相比,以amp。micro。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。micro。只要按照該單片機的要求對其編制程序就可以實現(xiàn)很多不同的功能。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就可以很容易的完成語音
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1