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

正文內(nèi)容

語音控制小車設(shè)計(jì)方案-閱讀頁

2025-05-14 02:19本頁面
  

【正文】 /FIFO_EXT 上限高8位 LD_WriteReg(0x40, 0)。 //FIFO_EXT MCU水線高8位 LD_WriteReg(0x44, 0)。 //FIFO_EXT DSP水線高8位 delay( 1 )。 EX0=0。 //查看中斷請(qǐng)求編號(hào) LD_WriteReg(0x29,0)。 if((ucRegVal amp。amp。amp。 //讀取候選識(shí)別結(jié)果 if(nAsrResCount0 amp。 nAsrResCount=4) { nAsrStatus=LD_ASR_FOUNDOK。 } } /*沒有識(shí)別結(jié)果*/ else { nAsrStatus=LD_ASR_FOUNDZERO。 LD_WriteReg(0x1C,0)。 LD_WriteReg(0x02,0) 。 LD_WriteReg(0xBA, 0)。 LD_WriteReg(0x08,1)。 /*清除FIFO_DATA后 再次寫0*/ EX0=1。 uint8 asrflag=0。 i3。 // LD3320芯片內(nèi)部出現(xiàn)不正常,立即重啟LD3320芯片 delay(50)。 } asrflag=1。開始等待LD3320送出的中斷信號(hào) break。}uint8 LD_Check_ASRBusyFlag_b2(){ uint8 j。 for (j=0。 j++) //多判斷幾次,不是一次就能準(zhǔn)確判斷的 { if (LD_ReadReg(0xB2) == 0x21) //0x21表示空閑, 查詢到閑狀態(tài)可以進(jìn)行下一步ASR識(shí)別 { flag = 1。 } delay(10)。}void LD_AsrStart(){ LD_Init_ASR()。 LD_WriteReg(0x35, MIC_VOL)。 //ADC 保留命令字 LD_WriteReg(0xBD, 0x20)。 //第0位寫入1(即0x01)表示清除FIFO_DATE delay( 1 )。 //清除之后還要寫入0x00 delay( 1 )。 } LD_WriteReg(0x1C, 0x0b)。 delay( 1 )。 // 通知DSP開始識(shí)別語音,但在下發(fā)命令之前要檢查B2寄存器的狀態(tài) delay( 1 )。 //兩次是為了確保對(duì)0x37設(shè)置成功 delay( 5 )。 // 第二位寫1, FIFO中斷允許 LD_WriteReg(0xBD, 0x00)。 return 1。 uint8 nAsrAddLength。 /*添加關(guān)鍵詞,用戶修改*/ uint8 code pCode[DATE_A] = {CODE_CMD,\CODE_TC,\ CODE_TC1,\CODE_QJ,\CODE_HT,\CODE_ZZ,\CODE_YZ,\ CODE_JIASU,\ CODE_JIANSU,\ CODE_FJ,\ }。 for (k=0。 k++) { if(LD_Check_ASRBusyFlag_b2() == 0) //返回0表示忙狀態(tài) { flag = 0。 } LD_WriteReg(0xc1, pCode[k] )。 //識(shí)別字添加需寫入0x00 LD_WriteReg(0x08, 0x04)。 LD_WriteReg(0x08, 0x00)。 for (nAsrAddLength=0。 nAsrAddLength++) { if(sRecog[k][nAsrAddLength] == 0) //如果到了字符串末尾,NUL字節(jié),break, 進(jìn)入下個(gè)讀音 break。 //FIFO_EXT寫入 sRecog[k][nAsrAddLength] } LD_WriteReg(0xb9, nAsrAddLength)。 LD_WriteReg(0x37, 0x04)。}uint8 LD_GetResult(){ return LD_ReadReg(0xC5 )。sbit enB=P1^1。sbit in2=P1^3。sbit in4=P1^5。void go(uint8_t l,uint8_t r)。void turnleft(uint8_t l,uint8_t r)。void stop()。uint8_t Lspeed=0,Rspeed=0。= 0xF0。 //TIM0 處在工作方式1 TH0=(6553610)/256。 EA=1。 //打開TIM0中斷 TR0=1。 enB=0。 in2=1。 in4=1。 Rspeed=r。 in2=1。 in4=1。 Rspeed=r。 in2=0。 in4=0。 Rspeed=r。 in2=0。 in4=1。 Rspeed=r。 in2=1。 in4=0。 Rspeed=0。 in2=0。 in4=0。 // TL0=(6553610)%256。 if(countLspeed) { enA=1。 } if(countRspeed) { enB=1。 } if(count==100) { count=0。 /*讀寫模式選擇*/sbit RSTB=P3^5。 /*模塊片選端口*///函數(shù)聲明void LD_WriteReg( unsigned char address, unsigned char dataout )。endif//://include //硬件實(shí)現(xiàn)并行讀寫 define LD_INDEX_PORT (*((volatile unsigned char xdata*)(0x8100))) define LD_DATA_PORT (*((volatile unsigned char xdata*)(0x8000))) //STC11L板上 MCU的A8() 連接到 LD芯片的AD(LD_A0) // MCU的A9() 連接到 LD芯片的CSB // MCU的RD、WR 連接 LD芯片的RD、WR (xdata 讀寫時(shí)自動(dòng)產(chǎn)生低信號(hào))// //0x8100的二進(jìn)制是10000001 00000000 CSB=0 AD=1 // ^^ //0x8000的二進(jìn)制是10000000 00000000 CSB=0 AD=0 // ^^ void LD_WriteReg( unsigned char address, unsigned char dataout ) { LD_INDEX_PORT = address。 } unsigned char LD_ReadReg( unsigned char address ) { LD_INDEX_PORT = address。 };⑤使用的范圍比較廣。表52 L298N信號(hào)引腳和電機(jī)運(yùn)動(dòng)狀態(tài)關(guān)系表使能端左電機(jī)右電機(jī)左電機(jī)狀態(tài)右電機(jī)狀態(tài)小車運(yùn)行狀態(tài)ENAENBIN1IN2IN3IN400111010正轉(zhuǎn)正轉(zhuǎn)前進(jìn)110101反轉(zhuǎn)反轉(zhuǎn)后退111001正轉(zhuǎn)反轉(zhuǎn)左轉(zhuǎn)110110反轉(zhuǎn)正轉(zhuǎn)右轉(zhuǎn)11100(1)0(1)正轉(zhuǎn)停止以左電機(jī)為中心左轉(zhuǎn)110(1)0(1)10停止正轉(zhuǎn)以右電機(jī)為中心右轉(zhuǎn)110(1)0(1)0(1)0(1)停止停止快速停止3 語音小車軟件設(shè)計(jì) 系統(tǒng)軟件流程圖在這次的軟件設(shè)計(jì)當(dāng)中,通過針對(duì)本系統(tǒng)所要達(dá)到前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速和停止等效果,把本系統(tǒng)分為以下幾塊進(jìn)行編寫:?jiǎn)纹瑱C(jī)的初始化、語音芯片的復(fù)位、軟件設(shè)計(jì)的PWM信號(hào)、延時(shí)函數(shù)和中斷處理函數(shù)以及運(yùn)行自動(dòng)語音識(shí)別ASR的識(shí)別流程;設(shè)計(jì)完成后的,整個(gè)系統(tǒng)能夠?qū)崿F(xiàn)的流程圖如圖31所示:開始單片機(jī)LD3320初始化非特定人的語音輸入LD3320語音檢測(cè)LD3320語音識(shí)別單片機(jī)讀取寄存器內(nèi)識(shí)別結(jié)果電機(jī)執(zhí)行相應(yīng)的動(dòng)作檢測(cè)到語音輸入識(shí)別成功未識(shí)別成功未檢測(cè)到語音輸入圖31 系統(tǒng)流程圖程序在剛剛開始的后初始化部分:主要是單片機(jī)將P0~P4口置為低電平狀態(tài),設(shè)置單片機(jī)與LD3320為并行的讀寫方式,提高工作效率,設(shè)置EA為高電平即打開中斷允許控制位,設(shè)置EX0、IE0即外部中斷0請(qǐng)求標(biāo)志位和外部中斷0中斷允許位為高電平,復(fù)位定時(shí)器/計(jì)數(shù)器T0,~;設(shè)置好語音模塊復(fù)位,使內(nèi)部的寄存器回到初始狀態(tài)等。 LD語音模塊設(shè)計(jì)首先將LD3320模塊復(fù)位,除對(duì)此模塊復(fù)位后,還需要對(duì)LD模塊中的寄存器進(jìn)行初始化以及對(duì)ASR功能進(jìn)行初始化,在這些寄存器當(dāng)中,我們可以設(shè)置我們所需要的寄存器配置,在一般情況下,該芯片寄存器里已是設(shè)置好默認(rèn)的值了;整個(gè)語音模塊的識(shí)別順序?yàn)椋孩?RunASR()實(shí)現(xiàn)一次完整的ASR語音識(shí)別流程;② LD_AsrStart()實(shí)現(xiàn)ASR的初始化;③ LD_AsrAddFixed()實(shí)現(xiàn)了添加關(guān)鍵詞語到LD3320芯片里面;④ LD_AsrRun()函數(shù)啟動(dòng)一次ASR語音識(shí)別流程。下面為向LD芯片添加關(guān)鍵詞語的程序:uint8 LD_AsrAddFixed(){ uint8 k, flag。 define DATE_A 10 /*數(shù)組二維數(shù)值*/ define DATE_B 20 /*數(shù)組一維數(shù)值*/ uint8 code sRecog[DATE_A][DATE_B] = {xiao bao,\ting che,\tin ce,\qian jin,\hou tui,\zuo zhuan,\you zhuan,\jia su,\jian su,\fu jian }。 /*添加識(shí)別碼,用戶修改*/ flag = 1。 kDATE_A。 break。 LD_WriteReg(0xc3, 0x00 )。 //第二位寫入1(即0x04)表示清除FIFO_EXT delay(1)。 //清除之后還要寫入0x00 delay(1)。 nAsrAddLengthDATE_B。 LD_WriteReg(0x5,sRecog[k][nAsrAddLength])。 //每添加一個(gè)關(guān)鍵詞要設(shè)定一次 LD_WriteReg(0xb2, 0xff)。 //通知 DSP要添加一項(xiàng)識(shí)別句 } return flag。PWM的設(shè)計(jì)主要是通過對(duì)定時(shí)計(jì)數(shù)器T0的設(shè)置來控制小車的速度,程序中設(shè)置T0定時(shí)器的工作方式,裝入初值,并打開中斷。 // TL0=(6553610)%256。 if(countLspeed) { enA=1。 } if(countRspeed) { enB=1。 } if(count==100) { count=0。PWM調(diào)速在電機(jī)中是最常用的,其調(diào)速原理也容易理解,就是用開關(guān)的關(guān)斷時(shí)間來控制速度,開關(guān)關(guān)斷的頻率是固定的,所以控制了電機(jī)通斷,使得電機(jī)通斷時(shí)間也是固定的,在這一個(gè)固定的周期中,改變通斷所占據(jù)的不同時(shí)間寬度,就能改變電機(jī)電樞上的壓降,也就是所謂的電樞上得電的占空比,再由公式算出,得到不同的輸出電壓值,因電壓值與電機(jī)轉(zhuǎn)速成正比,所以不同的電壓輸出,就控制不同的電機(jī)轉(zhuǎn)速。 uvision4Keil μVision4的版本發(fā)布于2009年2月,與之前不同的是,Keil μVision4版本的開發(fā)引入了非常靈活的窗口化管理系統(tǒng),能夠使得開發(fā)者可以使用多臺(tái)的監(jiān)視器,同時(shí)可以在任何的位置,通過軟件進(jìn)行控制操作;軟件桌面管理的設(shè)計(jì),為使用者提供了一個(gè)整潔、高效的環(huán)境,讓人視野清凈,能安心編寫開發(fā)程序代碼。Keil μVision5版本于2013年10月由Keil公司正式發(fā)布。4 系統(tǒng)調(diào)試 軟件調(diào)試在軟件方面,主要是通過對(duì)語音模塊編程進(jìn)行編程測(cè)試;在整個(gè)的硬件系統(tǒng)完成后,了解對(duì)各引腳的功能特點(diǎn),進(jìn)行編寫程序,根據(jù)硬件的結(jié)構(gòu),在軟件中做相關(guān)的宏定義和聲明有關(guān)的變量相關(guān)變量如圖41所示。圖42 語音模塊測(cè)試程序圖在測(cè)試程序編譯通過后,打開STCISP軟件,使用usb轉(zhuǎn)TTL串口下載器下載到芯片里面,在此具體操作如下圖43
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1