亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        凌陽語音控制小車在單片機(jī)教學(xué)中的應(yīng)用及改進(jìn)

        2017-10-18 01:28:53郭俊俊趙志源
        隴東學(xué)院學(xué)報(bào) 2017年5期
        關(guān)鍵詞:命令小車語音

        郭俊俊,趙志源,王 鵬

        (隴東學(xué)院 信息工程學(xué)院,甘肅 慶陽 745000)

        凌陽語音控制小車在單片機(jī)教學(xué)中的應(yīng)用及改進(jìn)

        郭俊俊,趙志源,王 鵬

        (隴東學(xué)院 信息工程學(xué)院,甘肅 慶陽 745000)

        為激發(fā)學(xué)生學(xué)習(xí)興趣,在單片機(jī)教學(xué)中采用項(xiàng)目教學(xué)法,以具有趣味性的凌陽語音控制小車作為開發(fā)平臺(tái),完成了小車的基本功能、調(diào)速功能和語音識別功能,并在此基礎(chǔ)上進(jìn)行二次開發(fā),即采用nRF2401無線模塊傳輸語音命令,減小了小車電機(jī)噪聲的影響,增大了語音控制距離;采用SYN6288中文語音合成模塊擴(kuò)展了小車的語音輸出功能。教學(xué)內(nèi)容由易到難,包括單片機(jī)及其外圍電路硬件和軟件的設(shè)計(jì),教學(xué)過程循序漸進(jìn),不僅提高了學(xué)生應(yīng)用單片機(jī)的能力,而且培養(yǎng)了學(xué)生的創(chuàng)新意識。

        單片機(jī);語音識別;無線通信

        Abstract: The method of project teaching is used to stimulate students’ interest in microcontroller teaching.Sunplus voice control car was used as the development platform.It was completed with basic function,speed control function and voice recognition function.Then,the add-on functions were developed.The wireless module nRF2401 was used to transmit voice commands.The influence of motor noise was reduced and the distance of voice control was increased.The Chinese speech synthesis module SYN6288 was used to extend the voice output function.The teaching content was designed from easy to difficult.It involved the hardware and software design of microcontroller and its peripheral circuit.The teaching process was designed step by step.These not only improved students’ ability of microcontroller application,but also trained students’ consciousness of innovation.

        Keywords: microcontroller;voice recognition;wireless communication

        《單片機(jī)原理及應(yīng)用》是高校電子信息工程專業(yè)開設(shè)的一門專業(yè)必修課,教學(xué)內(nèi)容一般包括單片機(jī)的硬件結(jié)構(gòu)、指令系統(tǒng)、編程語言、接口技術(shù)和應(yīng)用系統(tǒng)的設(shè)計(jì)等;該課程具有實(shí)踐性強(qiáng)、技術(shù)更新快、入門較難等特點(diǎn),傳統(tǒng)教學(xué)多以理論介紹為主,實(shí)踐內(nèi)容偏少,教學(xué)內(nèi)容與實(shí)際應(yīng)用脫節(jié),造成學(xué)生學(xué)習(xí)積極性不高、學(xué)生單片機(jī)應(yīng)用能力培養(yǎng)不足等問題[1-4]。凌陽語音控制小車是凌陽大學(xué)計(jì)劃推出的基于SPCE061A單片機(jī)的產(chǎn)品,具有很強(qiáng)的趣味性,它除了語音功能外,還綜合了SPCE061A單片機(jī)的眾多功能,可以進(jìn)行二次開發(fā),因此非常適合作為單片機(jī)教學(xué)開發(fā)平臺(tái)。本文提出在單片機(jī)教學(xué)中采用項(xiàng)目教學(xué)法[5],實(shí)現(xiàn)凌陽語音控制小車的基本功能、調(diào)速功能和語音識別功能,并通過二次開發(fā)改進(jìn)調(diào)試中發(fā)現(xiàn)的問題。

        1 凌陽語音控制小車

        1.1SPCE061A單片機(jī)

        SPCE061A單片機(jī)作為凌陽語音控制小車的核心,它是一款16位微處理器,工作電壓VDD為3.0V~3.6V;內(nèi)置2K SRAM(Static Random Access Memory,靜態(tài)隨機(jī)存取存儲(chǔ)器)和32K Flash閃存;具有2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器;2個(gè)10位DAC(Digital to Analog Converter,數(shù)模轉(zhuǎn)換器)輸出通道;32位通用可編程I/O(Input/Output,輸入/輸出)端口,I/O端口工作電壓為VDD~5.5V;兩級中斷,14個(gè)中斷源;7通道10位電壓ADC(Analog to Digital Converter,模數(shù)轉(zhuǎn)換器)和單通道聲音ADC;聲音ADC輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制功能;具備UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)接口;還具有看門狗等功能。由于SPCE061A單片機(jī)內(nèi)置資源豐富,處理速度快,語音性能出色,使其在語音識別領(lǐng)域應(yīng)用廣泛[6]。

        1.2凌陽語音控制小車的組成

        凌陽語音控制小車是基于SPCE061A單片機(jī)的代表性產(chǎn)品,實(shí)物如圖1所示,主要由61板、控制板和車體3部分組成。61板上有SPCE061A單片機(jī)最小系統(tǒng)、麥克風(fēng)輸入和DAC音頻輸出電路等,它負(fù)責(zé)整個(gè)小車控制信號的產(chǎn)生,以及語音識別和播放功能的實(shí)現(xiàn)??刂瓢遑?fù)責(zé)將來自61板的控制信號轉(zhuǎn)化為能夠驅(qū)動(dòng)電機(jī)的信號。車體主要包括結(jié)構(gòu)件、前輪方向電機(jī)、后輪動(dòng)力電機(jī)和電池盒。車體電池盒可以安裝4節(jié)5號電池,采用電壓為1.5V的電池,則小車電池電源為6V,控制板直接采用電池電源供電,61板需要5V和3.3V兩種電源,其中5V電源由電池電源通過二極管IN4007降壓后產(chǎn)生,5V電源通過三端穩(wěn)壓器SPY0029產(chǎn)生3.3V電源。61板和控制板通過結(jié)構(gòu)件固定在車體上,它們之間的控制信號和電源通過杜邦線連接。

        圖1 凌陽語音控制小車實(shí)物圖

        凌陽語音控制小車貼近實(shí)際生活,具有趣味性,開發(fā)規(guī)模適中,涉及到SPCE061A單片機(jī)的I/O端口、定時(shí)器/計(jì)數(shù)器、ADC、DAC、Flash等知識點(diǎn),還可以通過擴(kuò)展外圍電路模塊進(jìn)行二次開發(fā),具有較強(qiáng)的實(shí)踐性,適合于項(xiàng)目教學(xué)法。

        2 凌陽語音控制小車在教學(xué)中的應(yīng)用

        下面以凌陽語音控制小車作為開發(fā)平臺(tái),依次實(shí)現(xiàn)小車的基本功能、調(diào)速功能和語音識別功能,整個(gè)過程由易到難,循序漸進(jìn)。

        2.1基本功能的實(shí)現(xiàn)

        該小車的基本功能包括前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)等,其中前進(jìn)和后退通過控制后輪動(dòng)力電機(jī)正轉(zhuǎn)和反轉(zhuǎn)實(shí)現(xiàn),左轉(zhuǎn)和右轉(zhuǎn)通過控制前輪方向電機(jī)正轉(zhuǎn)和反轉(zhuǎn)實(shí)現(xiàn)。在SPCE061A單片機(jī)的32位I/O端口中,IOA0~I(xiàn)OA2為61板的3個(gè)按鍵輸入,IOB7為UART接口的接收信號RX,IOB10為UART接口的發(fā)送信號TX,考慮后面要實(shí)現(xiàn)調(diào)速功能和使用UART接口,所以選擇IOB8和IOB9控制后輪動(dòng)力電機(jī),IOB11和IOB12控制前輪方向電機(jī),控制原理框圖如圖2所示:

        圖2 I/O端口控制電機(jī)原理框圖

        后輪動(dòng)力電機(jī)和前輪方向電機(jī)均為直流電機(jī),二者的驅(qū)動(dòng)電路相同。后輪動(dòng)力電機(jī)的全橋驅(qū)動(dòng)電路如圖3所示,連接器J3連接電機(jī)的兩個(gè)端子,VCC為控制板工作電源,Q1、Q2、Q3、Q4四個(gè)三極管組成四個(gè)橋臂,Q1和Q4組成一組,Q2和Q3組成一組,Q5控制Q2、Q3的導(dǎo)通與關(guān)斷,Q6控制Q1和Q4的導(dǎo)通與關(guān)斷,而Q5、Q6由IOB9和IOB8兩個(gè)信號控制,給IOB8和IOB9輸入相應(yīng)的高低電平就可控制四個(gè)橋臂的導(dǎo)通與關(guān)斷,從而實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)或者停轉(zhuǎn)。所以配置SPCE061A單片機(jī)的IOB8、IOB9、IOB11和IOB12輸出就能實(shí)現(xiàn)小車的基本功能,表1是小車運(yùn)行狀態(tài)與I/O端口輸出對照表。

        圖3 后輪動(dòng)力電機(jī)的全橋驅(qū)動(dòng)電路圖

        表1 小車運(yùn)行狀態(tài)與I/O端口輸出對照表

        I/O端口配置代碼如下:

        *P_IOB_Dir=0xff00;

        *P_IOB_Attrib=0xff80;

        *P_IOB_Data=0x0400;

        其中寄存器P_IOB_Dir配置I/O端口為輸入或輸出,寄存器P_IOB_Attrib配置輸入為懸浮或上下拉、輸出電平反轉(zhuǎn)或不反轉(zhuǎn),寄存器P_IOB_Data配置輸入為上拉或下拉、輸出為高電平或低電平。配置后,IOB15~I(xiàn)OB8中除IOB10為高電平輸出外,其余為低電平輸出;IOB7~I(xiàn)OB0中除IOB7為帶喚醒功能的懸浮輸入外,其余為下拉輸入。小車停止、前進(jìn)、后退、左前轉(zhuǎn)和右前轉(zhuǎn)的代碼如下:

        *P_IOB_Data=*P_IOB_Data&0xe4ff;//停止

        *P_IOB_Data=(*P_IOB_Data&0xe4ff)|0x0200;//前進(jìn)

        *P_IOB_Data=(*P_IOB_Data&0xe4ff)|0x0100;//后退

        *P_IOB_Data=(*P_IOB_Data&0xe4ff)|0x1200;//左前轉(zhuǎn)

        *P_IOB_Data=(*P_IOB_Data&0xe4ff)|0x0a00;//右前轉(zhuǎn)

        為方便調(diào)用,可以將上述代碼封裝到函數(shù)中,比如停止函數(shù)stop()、前進(jìn)函數(shù)go_ahead()等。

        2.2調(diào)速功能的實(shí)現(xiàn)

        基本功能實(shí)現(xiàn)后小車就可以行駛了,但行駛速度是固定的,以前進(jìn)為例,此時(shí)IOB9為1,IOB8為0,加在后輪動(dòng)力電機(jī)上的電壓始終為控制板工作電壓VCC,所以電機(jī)的轉(zhuǎn)速不變。而當(dāng)IOB9為0,IOB8為0時(shí),加在后輪動(dòng)力電機(jī)上的電壓為0V。如果交替地向IOB9和IOB8端口輸出這兩種組合,那么加在小車電機(jī)兩端的電壓就在VCC和0V之間不停地跳變,對應(yīng)的波形稱為PWM(Pulse Width Modulation,脈沖寬度調(diào)制)波形,如圖4所示:

        圖4 PWM波形圖

        此時(shí)加在電機(jī)兩端的平均電壓Uo與波形的高電平時(shí)間Th和低電平時(shí)間Tl的關(guān)系為:

        Uo=Th/(Th+Tl)*VCC

        通過改變Th和Tl的比值,即調(diào)整PWM波形的占空比,可以改變電機(jī)兩端電壓Uo的大小,從而改變電機(jī)的轉(zhuǎn)速。

        PWM波形可用定時(shí)器配合軟件的方法產(chǎn)生,但SPCE061A單片機(jī)本身具有PWM輸出功能,IOB8是定時(shí)器/計(jì)數(shù)器A的PWM輸出,IOB9是定時(shí)器/計(jì)數(shù)器B的PWM輸出。若要調(diào)速前進(jìn),則配置定時(shí)器/計(jì)數(shù)器B的寄存器P_TimerB_Ctrl;若要調(diào)速后退,則配置定時(shí)器/計(jì)數(shù)器A的寄存器P_TimerA_Ctrl,如果需要IOB9輸出占空比為50%的PWM波形,配置代碼為:

        *P_TimerB_Ctrl=0x0200;

        配置完成后下載程序,用數(shù)字示波器實(shí)測的IOB9輸出波形如圖5所示,頻率為23.58Hz,占空比為50.9%,與配置的結(jié)果基本一致。

        圖5 實(shí)測IOB9輸出的PWM波形圖

        2.3語音識別功能的實(shí)現(xiàn)

        圖6 語音識別流程圖

        SPCE061A單片機(jī)只支持特定人語音識別[7],所以在“識別”前需要進(jìn)行“訓(xùn)練”。在訓(xùn)練階段,61板上的麥克風(fēng)將語音命令轉(zhuǎn)變成模擬電壓信號,SPCE061A單片機(jī)通過其內(nèi)部的聲音ADC將模擬電壓信號轉(zhuǎn)變?yōu)閿?shù)字信號,然后對其進(jìn)行分析處理,從中提取特征信息,建立一個(gè)特征模型并存儲(chǔ)到Flash中,不同的語音命令對應(yīng)不同的特征模型,然后向訓(xùn)練標(biāo)志單元寫入固定數(shù)據(jù);在識別階段,單片機(jī)對采集到的語音命令進(jìn)行類似的處理,提取出語音的特征信息,然后將這個(gè)特征信息與Flash中的特征模型進(jìn)行對比,如果二者達(dá)到了一定的匹配度,則輸入的語音被識別。在實(shí)際使用中,小車可以被重新訓(xùn)練,把61板的KEY3鍵定義為重新訓(xùn)練按鈕,如果KEY3鍵按下,那么程序會(huì)把訓(xùn)練標(biāo)志單元的數(shù)據(jù)擦除,當(dāng)程序檢測到訓(xùn)練標(biāo)志單元內(nèi)容已被擦除時(shí),就會(huì)對它進(jìn)行重新訓(xùn)練,圖6為語音識別流程圖。

        為了減小開發(fā)難度,程序設(shè)計(jì)時(shí)直接調(diào)用SPCE061A單片機(jī)函數(shù)庫中的語音函數(shù),語音訓(xùn)練和識別的具體代碼如下:

        BSR_DeleteSDGroup(0);//初始化RAM存儲(chǔ)器

        BS_Flag=*(unsigned int *)0xfa00;//讀Flash存儲(chǔ)單元0xfa00的數(shù)據(jù)

        if(BS_Flag!=0xaaaa)//判斷是否完成訓(xùn)練,如果Flash存儲(chǔ)單元0xfa00的數(shù)據(jù)不是0xaaaa,則重新訓(xùn)練

        {

        F_FlashErase(0xf000);//擦除將要存儲(chǔ)5條語音命令的Flash空間

        F_FlashErase(0xf000+100);

        F_FlashErase(0xf000+200);

        F_FlashErase(0xf000+300);

        F_FlashErase(0xf000+400);

        TrainFiveCommand0();//訓(xùn)練五條語音命令

        SaveFiveCommand(0xf000);//存儲(chǔ)五條語音命令的特征模型

        F_FlashWrite1Word(0xfa00,0xaaaa);//給訓(xùn)練標(biāo)志單元即Flash的0xfa00單元寫入數(shù)據(jù)0xaaaa,表示完成訓(xùn)練

        }

        ImportFiveCommand(0xf000);//語音特征模型載入識別器

        BSR_InitRecognizer(BSR_MIC);//初始化識別器

        while(1)

        {

        *P_Watchdog_Clear=0x01;//清看門狗

        uiRes=BSR_GetResult();//取得識別結(jié)果

        if(uiRes > 0)//判斷識別結(jié)果是否有效

        {

        switch(uiRes)

        {

        case0x100://識別出為第一條命令

        ……;//執(zhí)行相應(yīng)的操作

        break;

        ……

        case0x104: //識別出為第五條命令

        ……;//執(zhí)行相應(yīng)的操作

        break;

        }

        }

        }

        3 對凌陽語音控制小車的改進(jìn)

        至此,小車已能通過語音命令對其行駛狀態(tài)進(jìn)行控制,但在調(diào)試中發(fā)現(xiàn)兩個(gè)問題:第一,小車在行駛過程中語音識別能力下降,在發(fā)音者距麥克風(fēng)的有效距離過長時(shí),識別效果明顯變差,甚至完全不能識別;第二,雖然SPCE061A單片機(jī)具有DAC音頻輸出電路,能夠?qū)⒄Z音數(shù)據(jù)轉(zhuǎn)換為模擬電壓信號,最后通過喇叭播放出聲音,但語音數(shù)據(jù)一般需要較大的存儲(chǔ)空間,比如采用凌陽音頻編碼SACM_S240方式,每秒語音需占2.4Kb存儲(chǔ)空間,而SPCE061A單片機(jī)的Flash容量只有32KB,能容納的語音數(shù)據(jù)有限,使用不夠方便。為解決這兩個(gè)問題,對語音控制小車進(jìn)行了二次開發(fā),實(shí)現(xiàn)了無線語音傳輸功能,同時(shí)還擴(kuò)展了語音輸出功能。

        3.1無線語音傳輸功能的實(shí)現(xiàn)

        由于在語音命令訓(xùn)練階段小車通常是停止的,發(fā)音者距麥克風(fēng)的距離也是固定的,所以存入Flash的是固定距離下沒有電機(jī)聲音的語音命令特征模型,但在語音識別階段,小車可能正在行駛,電機(jī)轉(zhuǎn)動(dòng)會(huì)發(fā)出聲音,同時(shí)麥克風(fēng)在61板上隨小車行駛,與發(fā)音者的距離也在變化,導(dǎo)致單片機(jī)提取出的特征信息中語音強(qiáng)弱不同,同時(shí)夾雜著電機(jī)聲音,與特征模型的匹配度下降,從而影響語音的正確識別。為解決這些問題,將語音輸入電路和語音識別電路從小車中獨(dú)立出來,采用無線通信技術(shù)傳輸語音命令,既可以減小電機(jī)噪聲的干擾,同時(shí)也擴(kuò)大了語音控制范圍。

        圖7 改進(jìn)后的語音控制小車系統(tǒng)框圖

        圖7為改進(jìn)后的語音控制小車系統(tǒng)框圖,主要由語音識別終端和小車兩部分組成。語音識別終端包括61板(I)和nRF2401無線模塊(I),61板(I)負(fù)責(zé)語音命令的輸入和識別,并根據(jù)表2將語音命令轉(zhuǎn)換為預(yù)先約定的固定碼,nRF2401無線模塊(I)將固定碼發(fā)送給小車;小車包括61板(II)、nRF2401無線模塊(II)、控制板和車體,nRF2401無線模塊(II)接收到固定碼值后,將其輸入到61板(II),61板(II)根據(jù)表2執(zhí)行相應(yīng)的小車功能。比如語音識別終端識別結(jié)果是“左轉(zhuǎn)”,則nRF2401無線模塊(I)應(yīng)該發(fā)送0x13,nRF2401無線模塊(II)接收到0x13后,小車執(zhí)行左前轉(zhuǎn)動(dòng)作。

        表2 語音命令與固定碼的對應(yīng)關(guān)系表

        nRF2401是單片射頻收發(fā)芯片,工作在2.4~2.5GHz ISM(Industrial Scientific Medical,工業(yè)、科學(xué)和醫(yī)用)頻段;輸出功率和通信頻道可通過軟件進(jìn)行配置,共有125個(gè)頻道可使用,而且最高速率可達(dá)1Mb/s。芯片具有1.9~3.6V寬工作電壓,I/O端口電壓最大可為5V,工作能耗非常低,靈敏度為-90dBm,無線傳輸距離長。語音識別終端和小車上的nRF2401無線模塊與61板的硬件連接完全相同,連接關(guān)系如表3所示:

        表3 nRF2401模塊與61板的信號連接關(guān)系表

        語音識別終端程序和小車程序分別設(shè)計(jì),語音識別終端程序是在語音識別功能上新增nRF2401無線模塊(I)的代碼。小車程序是在基本功能和調(diào)速功能上新增nRF2401無線模塊(II)的代碼。語音識別功能、基本功能和調(diào)速功能之前已經(jīng)完成,下面的關(guān)鍵任務(wù)是nRF2401無線模塊的編程。

        編程時(shí)先初始化nRF2401無線模塊,配置工作方式和接收端地址,將語音識別終端的nRF2401無線模塊(I)配置為發(fā)送方,小車的nRF2401無線模塊(II)配置為接收方,再調(diào)用nRF2401.C的相關(guān)函數(shù)。部分關(guān)鍵代碼如下:

        發(fā)送方:

        nRF2401_SendByte(0x13);//發(fā)送左前轉(zhuǎn)命令的固定碼

        Delay_Us(100);//延時(shí)

        接收方:

        if((nRF2401_RxStatus())==1)//判斷是否有接收數(shù)據(jù)請求

        {

        nRF2401_ReceiveByte(RxBuf);//接收數(shù)據(jù)

        switch(RxBuf[0])//根據(jù)接收到的固定碼執(zhí)行相應(yīng)功能

        {

        ……

        case 0x13: //左轉(zhuǎn)命令的固定碼

        *P_IOB_Data=(*P_IOB_Data&0xe4ff)|0x1200;//左前轉(zhuǎn)

        break;

        ……

        }

        }

        3.2語音輸出功能的擴(kuò)展

        采用北京宇音天下科技有限公司的SYN6288中文語音合成模塊實(shí)現(xiàn)語音輸出功能擴(kuò)展,SYN6288通過UART接口接收61板發(fā)送的待合成文本,并能夠?qū)崿F(xiàn)文本到聲音的轉(zhuǎn)換,而文本需要的存儲(chǔ)空間遠(yuǎn)遠(yuǎn)小于語音數(shù)據(jù),相同容量的Flash可以支持更多語音的輸出。SYN6288模塊與61板的連接關(guān)系如表4所示:

        表4 SYN6288模塊與61板的信號連接關(guān)系表

        SYN6288模塊只負(fù)責(zé)接收,所以BY和TXD信號不需要連接。軟件設(shè)計(jì)中采用匯編語言和C語言混合編程的方法,集兩種語言的優(yōu)點(diǎn)于一體,極大地簡化了編程過程。編寫了匯編語言源程序UART.asm,其中定義了UART初始化函數(shù)UART_Init()、延時(shí)函數(shù)UART_Delay()、UART發(fā)送一個(gè)字節(jié)函數(shù)F_UARTsendByte();編寫了C語言源程序SYN6288.c,其中調(diào)用UART.asm定義了發(fā)送文本到SYN6288模塊的函數(shù)SYN_FrameInfo(),代碼如下:

        void SYN_FrameInfo(unsigned char Music,unsigned char *HZdata)

        {

        /***需要發(fā)送的文本***/

        unsigned char Frame_Info[50];

        unsigned char HZ_Length;

        unsigned char ecc =0;//定義校驗(yàn)字節(jié)

        unsigned int i=0;

        HZ_Length=strlen(HZdata);//需要發(fā)送文本的長度

        /***幀固定配置信息***/

        Frame_Info[0]=0xFD;//構(gòu)造幀頭FD

        Frame_Info[1]=0x00;//構(gòu)造數(shù)據(jù)區(qū)長度的高字節(jié)

        Frame_Info[2]=HZ_Length+3;//構(gòu)造數(shù)據(jù)區(qū)長度的低字節(jié)

        Frame_Info[3]=0x01;//構(gòu)造命令字:合成播放命令

        Frame_Info[4]=0x01 | Music<<4;//構(gòu)造命令參數(shù):背景音樂設(shè)定

        /***校驗(yàn)碼計(jì)算***/

        for(i=0;i<5;i++)//依次發(fā)送構(gòu)造好的5個(gè)幀頭字節(jié)

        {

        ecc=ecc^(Frame_Info[i]);//對發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)

        }

        for(i=0;i

        {

        ecc=ecc^(HZdata[i]);//對發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)

        }

        /***發(fā)送幀信息***/

        memcpy(&Frame_Info[5],HZdata,HZ_Length);

        Frame_Info[5+HZ_Length]=ecc;

        PrintCom(Frame_Info,5+HZ_Length+1);

        }

        實(shí)際應(yīng)用中,調(diào)用SYN_FrameInfo()函數(shù)即可輸出語音,非常方便和靈活,比如要播放“準(zhǔn)備就緒”四個(gè)字的語音,調(diào)用形式如下:

        SYN_FrameInfo(0,“準(zhǔn)備就緒”);

        圖8 語音識別終端實(shí)物圖

        經(jīng)過二次開發(fā)后,語音識別終端實(shí)物圖如圖8所示,小車實(shí)物圖如圖9所示。語音識別終端與小車之間通過nRF2401無線模塊進(jìn)行通信,小車上擴(kuò)展的SYN6288中文語音合成模塊可以輸出任意語音。經(jīng)過測試,所有功能運(yùn)行正常。

        圖9 改進(jìn)后的小車實(shí)物圖

        4 結(jié)語

        通過凌陽語音控制小車開發(fā)項(xiàng)目驅(qū)動(dòng)單片機(jī)教學(xué),實(shí)現(xiàn)了小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等基本功能、調(diào)速功能和語音識別功能,同時(shí)啟發(fā)學(xué)生進(jìn)行二次開發(fā),采用語音識別終端與小車分離的方法,通過無線通信技術(shù)傳輸語音命令,降低了語音識別中電機(jī)噪聲的影響,擴(kuò)大了語音的有效控制距離,增加了語音識別的準(zhǔn)確度,最后對語音輸出功能進(jìn)行了擴(kuò)展,可以輸出任意語音。經(jīng)過測試所有功能均可正常運(yùn)行。整個(gè)教學(xué)過程循序漸進(jìn),不僅提高了學(xué)生的單片機(jī)應(yīng)用能力,還培養(yǎng)了學(xué)生的創(chuàng)新意識,更重要的是提高了學(xué)生發(fā)現(xiàn)問題和解決問題的能力。

        [1]趙月靜,陳繼榮,張永弟.單片機(jī)原理及應(yīng)用課程創(chuàng)新實(shí)踐教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(1):176-179.

        [2]朱敏杰,羅珩,余亞東.改革單片機(jī)教學(xué)培養(yǎng)應(yīng)用型人才[J].實(shí)驗(yàn)室研究與探索,2012,31(2):144-147.

        [3]黃偉軍,肖金球,張兄武,等.“單片機(jī)原理與應(yīng)用”課程教學(xué)改革的研究[J].電氣電子教學(xué)學(xué)報(bào),2010,32(6):29-30.

        [4]崔勇,袁海文,王秋生,等.卓越工程師培養(yǎng)目標(biāo)下的單片機(jī)教學(xué)改革探討[J].中國電力教育,2013(5):80-85.

        [5]徐肇杰.任務(wù)驅(qū)動(dòng)教學(xué)法與項(xiàng)目教學(xué)法之比較[J].教育與職業(yè),2008(11):36-37.

        [6]羅亞非.凌陽16位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2005:9-10.

        [7]董曉寧,張萌.基于凌陽單片機(jī)的語音識別系統(tǒng)設(shè)計(jì)[J].電子工程師,2008,34(2):18-21.

        【責(zé)任編輯朱世廣】

        TheApplicationandImprovementofSunplusVoiceControlCarinMicrocontrollerTeaching

        GUO Jun-jun,ZHAO Zhi-yuan,WANG Peng

        (CollegeofInformationEngineering,LongdongUniversity,Qingyang745000,Gansu)

        TP368.1

        A

        1674-1730(2017)05-0019-06

        2016-11-25

        2015年國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目《語音遙控智能小車的設(shè)計(jì)與實(shí)現(xiàn)》(201510738009)

        郭俊俊(1984—),男,甘肅慶陽人,助教,碩士,主要從事嵌入式系統(tǒng)和光電子技術(shù)的應(yīng)用研究。

        猜你喜歡
        命令小車語音
        只聽主人的命令
        快樂語文(2020年36期)2021-01-14 01:10:32
        自制小車來比賽
        魔力語音
        基于MATLAB的語音信號處理
        電子制作(2019年14期)2019-08-20 05:43:38
        基于MQ3與MP3的價(jià)廉物美的酒駕語音提醒器
        電子制作(2019年9期)2019-05-30 09:42:10
        對方正在輸入……
        小說界(2018年5期)2018-11-26 12:43:42
        劉老師想開小車
        文苑(2018年22期)2018-11-19 02:54:18
        兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2018年8期)2018-06-26 06:43:02
        移防命令下達(dá)后
        国产av无码专区亚洲av琪琪| 日本午夜精品一区二区三区| 区二区三区亚洲精品无| 国产免费一区二区三区在线观看 | 国产卡一卡二卡3卡4乱码| 国产精品亚洲综合色区| 亚洲精品夜夜夜| 伊人久久一区二区三区无码 | 乱伦一区二| 国产免费无码9191精品| 国产成人福利av一区二区三区| 亚洲中字永久一区二区三区| 全亚洲高清视频在线观看| 99视频在线精品免费观看6| 48沈阳熟女高潮嗷嗷叫| 亚洲欧美中文在线观看4| 亚洲av永久青草无码精品| 毛片精品一区二区二区三区| 丁香花五月六月综合激情| 亚洲av一二三区成人影片| 中文字幕日韩人妻不卡一区| 国产成人综合久久精品推| 亚洲三级在线播放| aa日韩免费精品视频一| 亚洲国产成人av二区| 亚洲国产精品无码中文字| 无码精品日韩中文字幕| 国产精品视频一区日韩丝袜 | 小sao货水好多真紧h无码视频| 亚洲乱码av中文一区二区| 日韩一区二区不卡av| 一区二区三区四区四色av| 亚洲国产精品一区二区久久恐怖片 | 四虎国产精品永久在线| 怡红院a∨人人爰人人爽| 欧美亚洲国产人妖系列视| 日本一区二区三区资源视频| 免费看黄色亚洲一区久久| 亚洲一区二区三区影院| 无码人妻一区二区三区免费| 中文字幕久热精品视频免费|