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

正文內容

語音控制小車設計方案-資料下載頁

2025-04-29 02:19本頁面
  

【正文】 ;⑤使用的范圍比較廣。該芯片工作電壓為5V,其輸入端為圖中的VSS;VS表示的是供給電機工作的電壓,其最小值需要比輸入的低電平電壓高;SENSA、SENSB分別為其內部兩個H橋的電流反饋腳,在一般的小型電機的使用中,將它們接在公共端;ENA、ENA為使能端,用于輸入PWM信號;引腳ININININ4為輸入端,與單片機I/O連接,接收TTL邏輯電平信號;管腳OUTOUT2(1通道)和OUTOUT4(2通道)為兩組輸出端,ENA為高電平時,選擇1通道輸出,ENB為高電平時,選擇2通道輸出,該兩個分別接兩個電機;在通電的時候,電機本身具有很大的感性,如果電流突然的斷掉,或者突變很厲害的話,會產生一個很大的反向電流,此時該電流很容易把L298N芯片給燒掉,所以在芯片的外圍加上D1~D8續(xù)流二極管,它們的作用是保護芯片的輸出端不受過高的反電壓擊穿而燒壞;該模塊輸入信號主要由單片機控制,單片機通過改變I/O口的高低電平,控制使能端,就可以對小車電機進行左右轉、前進后退、停止等操作,具體的控制信號引腳和電機的邏輯關系如列表52所示。表52 L298N信號引腳和電機運動狀態(tài)關系表使能端左電機右電機左電機狀態(tài)右電機狀態(tài)小車運行狀態(tài)ENAENBIN1IN2IN3IN400111010正轉正轉前進110101反轉反轉后退111001正轉反轉左轉110110反轉正轉右轉11100(1)0(1)正轉停止以左電機為中心左轉110(1)0(1)10停止正轉以右電機為中心右轉110(1)0(1)0(1)0(1)停止停止快速停止3 語音小車軟件設計 系統(tǒng)軟件流程圖在這次的軟件設計當中,通過針對本系統(tǒng)所要達到前進、后退、左轉、右轉、加速、減速和停止等效果,把本系統(tǒng)分為以下幾塊進行編寫:單片機的初始化、語音芯片的復位、軟件設計的PWM信號、延時函數和中斷處理函數以及運行自動語音識別ASR的識別流程;設計完成后的,整個系統(tǒng)能夠實現(xiàn)的流程圖如圖31所示:開始單片機LD3320初始化非特定人的語音輸入LD3320語音檢測LD3320語音識別單片機讀取寄存器內識別結果電機執(zhí)行相應的動作檢測到語音輸入識別成功未識別成功未檢測到語音輸入圖31 系統(tǒng)流程圖程序在剛剛開始的后初始化部分:主要是單片機將P0~P4口置為低電平狀態(tài),設置單片機與LD3320為并行的讀寫方式,提高工作效率,設置EA為高電平即打開中斷允許控制位,設置EX0、IE0即外部中斷0請求標志位和外部中斷0中斷允許位為高電平,復位定時器/計數器T0,~;設置好語音模塊復位,使內部的寄存器回到初始狀態(tài)等。LD3320語音識別部分:在語音識別里面使用的是中斷識別的工作方式,在識別之初,對LD模塊進行復位以及LD模塊命令的初始化和LD模塊自動語音識別(ASR)的初始化,其執(zhí)行流程圖如圖32所示:LD模塊初始化運行ASR識別流程ASR識別啟動成功ASR識別沒有啟動成功上傳識別結果結束未檢測到信號,過一段時間也會發(fā)出一個中斷信號檢測到信號響應中斷檢測音頻信號獲取識別結果圖32 語音識別流程圖在ASR識別流程里面,主要是測試LD3320芯片是否正常工作,如果不正常工作的話需要重新啟動芯片,當ASR流程啟動成功,說明芯片工作正常,此時在程序里面就會相應的設置好關鍵詞語列表,在此語音識別的啟動我使用的是口令模式,即在關鍵詞里把口令設置為“小寶”,當芯片接收到這個口令并且識別成功后,會把一個LED給亮起來,說明芯片可以進入到語音識別;在此,內設的關鍵詞語有:“停車”、 “前進”“后退”“左轉”“右轉”“加速”“減速”以及一些不相關詞匯:“開燈”“關燈”“北京”等,在設置的時候不能超過50條詞匯;在接收到聲音信號后,就會產生一個中斷信號并進入到中斷處理函數,處理相關的數據,并把識別的結果存儲到芯片的寄存器當中,整個過程可以概括為是對語音信號處理,并對應相應的關鍵詞語列表,找出最為匹配的識別碼,把相應的結果存儲到其內部的寄存器中,發(fā)出一個信號給單片機來判斷結果并發(fā)出相應的控制信號讓電機運動起來。 LD語音模塊設計首先將LD3320模塊復位,除對此模塊復位后,還需要對LD模塊中的寄存器進行初始化以及對ASR功能進行初始化,在這些寄存器當中,我們可以設置我們所需要的寄存器配置,在一般情況下,該芯片寄存器里已是設置好默認的值了;整個語音模塊的識別順序為:① RunASR()實現(xiàn)一次完整的ASR語音識別流程;② LD_AsrStart()實現(xiàn)ASR的初始化;③ LD_AsrAddFixed()實現(xiàn)了添加關鍵詞語到LD3320芯片里面;④ LD_AsrRun()函數啟動一次ASR語音識別流程。初始化開始,每一次的語音識別流程都要按照這個順序要控制。下面為向LD芯片添加關鍵詞語的程序:uint8 LD_AsrAddFixed(){ uint8 k, flag。 uint8 nAsrAddLength。 define DATE_A 10 /*數組二維數值*/ define DATE_B 20 /*數組一維數值*/ 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 }。 /*添加關鍵詞,用戶修改*/ 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 }。 /*添加識別碼,用戶修改*/ flag = 1。 for (k=0。 kDATE_A。 k++) { if(LD_Check_ASRBusyFlag_b2() == 0) //返回0表示忙狀態(tài) { flag = 0。 break。 } LD_WriteReg(0xc1, pCode[k] )。 LD_WriteReg(0xc3, 0x00 )。 //識別字添加需寫入0x00 LD_WriteReg(0x08, 0x04)。 //第二位寫入1(即0x04)表示清除FIFO_EXT delay(1)。 LD_WriteReg(0x08, 0x00)。 //清除之后還要寫入0x00 delay(1)。 for (nAsrAddLength=0。 nAsrAddLengthDATE_B。 nAsrAddLength++) {if(sRecog[k][nAsrAddLength] == 0) // 在字符串末尾,0字節(jié)停止,進入下個音 break。 LD_WriteReg(0x5,sRecog[k][nAsrAddLength])。 //FIFO_EXT寫入sRecog[k][nAsrAddLength] } LD_WriteReg(0xb9, nAsrAddLength)。 //每添加一個關鍵詞要設定一次 LD_WriteReg(0xb2, 0xff)。 LD_WriteReg(0x37, 0x04)。 //通知 DSP要添加一項識別句 } return flag。} PWM模塊設計,在這個震蕩頻率的工作下,T0最長定時時間為:6553612/10^6=,設置定時器在工作模式1下,通過計數的方式,在計10個數后(1012/10^6=),給變量count加1,當 count計滿100個數后清零重新計數,這就使得整個PWM的周期為100=,通過對count計50個數,設計出小車在前進后退時的速度占空比為50%,輸出電壓為:VS*50%;通過對變量count計45個數,設計出小車減速時占空比為45%,輸出電壓為VS*45%;通過對變量count計60個數,設計出小車減速時占空比為60%,輸出電壓為VS*60%;單片機控制引腳信號,實現(xiàn)不同的運動狀態(tài)。PWM的設計主要是通過對定時計數器T0的設置來控制小車的速度,程序中設置T0定時器的工作方式,裝入初值,并打開中斷。其主要程序設計段為:void timer0() interrupt 1{TH0=(6553610)/256。 // TL0=(6553610)%256。 count++。 if(countLspeed) { enA=1。 } else { enA=0。 } if(countRspeed) { enB=1。 } else { enB=0。 } if(count==100) { count=0。 }}在對小車電機的調速上,本次應用到軟件PWM調節(jié)速度的方法。PWM調速在電機中是最常用的,其調速原理也容易理解,就是用開關的關斷時間來控制速度,開關關斷的頻率是固定的,所以控制了電機通斷,使得電機通斷時間也是固定的,在這一個固定的周期中,改變通斷所占據的不同時間寬度,就能改變電機電樞上的壓降,也就是所謂的電樞上得電的占空比,再由公式算出,得到不同的輸出電壓值,因電壓值與電機轉速成正比,所以不同的電壓輸出,就控制不同的電機轉速。圖33為占空比和平均電壓的關系圖圖33 占空比與平均電壓關系如上圖33,開關管在一個周期T內導通的時間為t1,如果電機始終通電,就是指電機一直獲得最高的電壓輸出,此時電機轉速最快;如果此時通電時間的占空比為α=t1/T,可以由公式: 計算得到電機輸出電壓,也可得到相應電機速度;由此可見,想要得到不同的電機速度,只需要改變高電平的占空比就可以實現(xiàn);在硬件的設計上,PWM信號采用軟件方法實現(xiàn),、ENB連接,~~IN4,通過改變高低電平的變化就可以控制小車的運動狀態(tài)。 uvision4Keil μVision4的版本發(fā)布于2009年2月,與之前不同的是,Keil μVision4版本的開發(fā)引入了非常靈活的窗口化管理系統(tǒng),能夠使得開發(fā)者可以使用多臺的監(jiān)視器,同時可以在任何的位置,通過軟件進行控制操作;軟件桌面管理的設計,為使用者提供了一個整潔、高效的環(huán)境,讓人視野清凈,能安心編寫開發(fā)程序代碼。在2011年3月份,ARM公司發(fā)布了其最新的集成開發(fā)環(huán)境RealView MDK開發(fā)工具,并在這里面集成了最新版本的Keil μVision4軟件,在這款軟件中,編譯器、模擬調試工具很實用,能夠和ARM的器件表現(xiàn)出最完美匹配。Keil μVision5版本于2013年10月由Keil公司正式發(fā)布。 USB轉串口下載器工具在芯片的測試中以及后續(xù)程序的下載都用到這個工具,下載安裝好相關的驅動,在這里我所用到的驅動是usbserial ch 340,在下載好兼容的驅動程序后,開始安裝使用,該工具的結構主要是使用CH340芯片,這塊芯片特點有:①在硬件上擁有全雙工的串口,其內部設置有緩沖區(qū)域,用于緩存接收和發(fā)送數據②支持外加電平的轉換元器件,提供有RS42RS485以及rs232接口;③支持RTS、DTR、DSR、RIC、TS、DCD常用的聯(lián)絡信號;④非常高速的USB設備接口,在外圍的元器件上,就只需要電容和時鐘晶振即可;⑤串口程序兼容windows系統(tǒng)。4 系統(tǒng)調試 軟件調試在軟件方面,主要是通過對語音模塊編程進行編程測試;在整個的硬件系統(tǒng)完成后,了解對各引腳的功能特點,進行編寫程序,根據硬件的結構,在軟件中做相關的宏定義和聲明有關的變量相關變量如圖41所示。圖41 小車程序宏定義及頭文件通過逐步的編寫程序,根據整個工作流程完成編譯;語音模塊是一個重要的點,如果這個模塊工作不正常的話,是不能夠完成整個語音小車的操作的,所以在程序的編寫上,必須做一個語音模塊的程序測試,測試一下語音模塊是否是工作正常的,假如工作不正常,重新調試程序,或檢查硬件,在這次的調試過程中,語音模塊的測試主要是使用如圖42程序圖。圖42 語音模塊測試程序圖在測試程序編譯通過后,打開STCISP軟件,使用usb轉TTL串口下載器下載到芯片里面,在此具體操作如下圖43所示。圖43 軟件下載圖選擇芯片型號、相應的串口以及
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1