久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 14636|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

LD3320語(yǔ)音識(shí)別模塊系列單片機(jī)程序代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
熟悉可以互相交流一下

本工程為口令模式+IO口控制方式,每次識(shí)別都需要喊“小杰”然后才可以喊其他二級(jí)的口令,另外IO口的輸出可以查看程序PAx的端口利用情況

本工程采用keil 4建立,如您打不開,可參考以下格式進(jìn)行工程建立。


單片機(jī)源程序如下:
  1. /***************************飛音云電子****************************
  2. **  工程名稱:YS-V0.7語(yǔ)音識(shí)別模塊驅(qū)動(dòng)程序
  3. **        CPU: STC11L08XE
  4. **        晶振:22.1184MHZ
  5. **        波特率:9600 bit/S
  6. **        配套產(chǎn)品信息:YS-V0.7語(yǔ)音識(shí)別開發(fā)板
  7. **  說明:普通+按鍵觸發(fā)模式: 即每次識(shí)別時(shí)都需要說“小杰”這個(gè)口令 ,才能夠進(jìn)行下一級(jí)的識(shí)別
  8. /***************************飛音云電子******************************/
  9. #include "config.h"
  10. /************************************************************************************/
  11. //        nAsrStatus 用來在main主程序中表示程序運(yùn)行的狀態(tài),不是LD3320芯片內(nèi)部的狀態(tài)寄存器
  12. //        LD_ASR_NONE:                表示沒有在作ASR識(shí)別
  13. //        LD_ASR_RUNING:                表示LD3320正在作ASR識(shí)別中
  14. //        LD_ASR_FOUNDOK:                表示一次識(shí)別流程結(jié)束后,有一個(gè)識(shí)別結(jié)果
  15. //        LD_ASR_FOUNDZERO:        表示一次識(shí)別流程結(jié)束后,沒有識(shí)別結(jié)果
  16. //        LD_ASR_ERROR:                表示一次識(shí)別流程中LD3320芯片內(nèi)部出現(xiàn)不正確的狀態(tài)
  17. /***********************************************************************************/
  18. uint8 idata nAsrStatus=0;       
  19. void MCU_init();
  20. void ProcessInt0(); //識(shí)別處理函數(shù)
  21. void  delay(unsigned long uldata);
  22. void         User_handle(uint8 dat);//用戶執(zhí)行操作函數(shù)
  23. void Led_test(void);//單片機(jī)工作指示
  24. uint8_t G0_flag=DISABLE;//運(yùn)行標(biāo)志,ENABLE:運(yùn)行。DISABLE:禁止運(yùn)行
  25. sbit LED=P4^2;//信號(hào)指示燈
  26. void Delay200ms();
  27. sbit CMD_KE=P4^1;//觸發(fā)按鍵

  28. /***********************************************************
  29. * 名    稱: void  main(void)
  30. * 功    能: 主函數(shù)        程序入口
  31. * 入口參數(shù):  
  32. * 出口參數(shù):
  33. * 說    明:                                          
  34. * 調(diào)用方法:
  35. **********************************************************/
  36. void  main(void)
  37. {
  38.         uint8 idata nAsrRes;
  39.         uint8 i=0;
  40.         Led_test();
  41.         MCU_init();
  42.         LD_Reset();
  43.         UartIni(); /*串口初始化*/
  44.         nAsrStatus = LD_ASR_NONE;                //        初始狀態(tài):沒有在作ASR
  45.        
  46.         #ifdef TEST
  47.        
  48.         PrintCom("串口運(yùn)行中....\r\n"); /*text.....*/
  49.         PrintCom("口令:1、代碼測(cè)試\r\n"); /*text.....*/
  50.         PrintCom("        2、開發(fā)板驗(yàn)證\r\n"); /*text.....*/
  51.         PrintCom("        3、開燈\r\n"); /*text.....*/
  52.         PrintCom("        4、關(guān)燈\r\n"); /*text.....*/
  53.         PrintCom("    5、北京\r\n"); /*text.....*/
  54.         PrintCom("        6、上海\r\n"); /*text.....*/
  55.         PrintCom("        7、廣州\r\n"); /*text.....*/
  56.         #endif

  57.         while(1)
  58.         {
  59.                 switch(nAsrStatus)
  60.                 {
  61.                         case LD_ASR_RUNING:
  62.                         case LD_ASR_ERROR:               
  63.                                 break;
  64.                         case LD_ASR_NONE:
  65.                         {
  66.                                 nAsrStatus=LD_ASR_RUNING;
  67.                                 if (RunASR()==0)        /*        啟動(dòng)一次ASR識(shí)別流程:ASR初始化,ASR添加關(guān)鍵詞語(yǔ),啟動(dòng)ASR運(yùn)算*/
  68.                                 {
  69.                                         nAsrStatus = LD_ASR_ERROR;
  70.                                 }
  71.                                 break;
  72.                         }
  73.                         case LD_ASR_FOUNDOK: /*        一次ASR識(shí)別流程結(jié)束,去取ASR識(shí)別結(jié)果*/
  74.                         {                               
  75.                                 nAsrRes = LD_GetResult();                /*獲取結(jié)果*/
  76.                                 User_handle(nAsrRes);//用戶執(zhí)行函數(shù)
  77.                                 nAsrStatus = LD_ASR_NONE;
  78.                                 break;
  79.                         }
  80.                         case LD_ASR_FOUNDZERO:
  81.                         default:
  82.                         {
  83.                                 nAsrStatus = LD_ASR_NONE;
  84.                                 break;
  85.                         }
  86.                 }// switch                                
  87.         }// while

  88. }
  89. /***********************************************************
  90. * 名    稱:          LED燈測(cè)試
  91. * 功    能: 單片機(jī)是否工作指示
  92. * 入口參數(shù): 無
  93. * 出口參數(shù):無
  94. * 說    明:                                          
  95. **********************************************************/
  96. void Led_test(void)
  97. {
  98.         LED=~ LED;
  99.         Delay200ms();
  100.         LED=~ LED;
  101.         Delay200ms();
  102.         LED=~ LED;
  103.         Delay200ms();
  104.         LED=~ LED;
  105.         Delay200ms();
  106.         LED=~ LED;
  107.         Delay200ms();
  108.         LED=~ LED;
  109. }
  110. /***********************************************************
  111. * 名    稱: void MCU_init()
  112. * 功    能: 單片機(jī)初始化
  113. * 入口參數(shù):  
  114. * 出口參數(shù):
  115. * 說    明:                                          
  116. * 調(diào)用方法:
  117. **********************************************************/
  118. void MCU_init()
  119. {
  120.         P0 = 0xff;
  121.         P1 = 0xff;
  122.         P2 = 0xff;
  123.         P3 = 0xff;
  124.         P4 = 0xff;

  125.         P1M0=0XFF;        //P1端口設(shè)置為推挽輸出功能,即提高IO口驅(qū)動(dòng)能力,從驅(qū)動(dòng)繼電器模塊工作
  126.         P1M1=0X00;

  127.         LD_MODE = 0;                //        設(shè)置MD管腳為低,并行模式讀寫
  128.         IE0=1;
  129.         EX0=1;
  130.         EA=1;
  131. }
  132. /***********************************************************
  133. * 名    稱:        延時(shí)函數(shù)
  134. * 功    能:
  135. * 入口參數(shù):  
  136. * 出口參數(shù):
  137. * 說    明:                                          
  138. * 調(diào)用方法:
  139. **********************************************************/
  140. void Delay200us()                //@22.1184MHz
  141. {
  142.         unsigned char i, j;
  143.         _nop_();
  144.         _nop_();
  145.         i = 5;
  146.         j = 73;
  147.         do
  148.         {
  149.                 while (--j);
  150.         } while (--i);
  151. }

  152. void  delay(unsigned long uldata)
  153. {
  154.         unsigned int j  =  0;
  155.         unsigned int g  =  0;
  156.         while(uldata--)
  157.         Delay200us();
  158. }

  159. void Delay200ms()                //@22.1184MHz
  160. {
  161.         unsigned char i, j, k;

  162.         i = 17;
  163.         j = 208;
  164.         k = 27;
  165.         do
  166.         {
  167.                 do
  168.                 {
  169.                         while (--k);
  170.                 } while (--j);
  171.         } while (--i);
  172. }

  173. /***********************************************************
  174. * 名    稱: 中斷處理函數(shù)
  175. * 功    能:
  176. * 入口參數(shù):  
  177. * 出口參數(shù):
  178. * 說    明:                                          
  179. * 調(diào)用方法:
  180. **********************************************************/
  181. void ExtInt0Handler(void) interrupt 0  
  182. {        
  183.         ProcessInt0();                                /*        LD3320 送出中斷信號(hào),包括ASR和播放MP3的中斷,需要在中斷處理函數(shù)中分別處理*/
  184. }
  185. /***********************************************************
  186. * 名    稱:用戶執(zhí)行函數(shù)
  187. * 功    能:識(shí)別成功后,執(zhí)行動(dòng)作可在此進(jìn)行修改
  188. * 入口參數(shù): 無
  189. * 出口參數(shù):無
  190. * 說    明:                                          
  191. **********************************************************/
  192. void         User_handle(uint8 dat)
  193. {
  194. if(CMD_KE==0)//按鍵按下。 只有當(dāng)按鍵按下時(shí)才對(duì)識(shí)別結(jié)果進(jìn)行處理
  195. {
  196.      //UARTSendByte(dat);//串口識(shí)別碼(十六進(jìn)制)

  197. ……………………

  198. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
LDV7語(yǔ)音模塊驅(qū)動(dòng)程序.zip (627.33 KB, 下載次數(shù): 236)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:815648 發(fā)表于 2020-9-27 19:30 | 只看該作者
感謝樓主,原來我的資料是打不開的,用了你的這個(gè)版本的程序就能打開了,十分感謝
回復(fù)

使用道具 舉報(bào)

板凳
ID:813152 發(fā)表于 2020-11-10 13:49 | 只看該作者
小白一枚,學(xué)習(xí)了,準(zhǔn)備轉(zhuǎn)物聯(lián)網(wǎng)應(yīng)用了,
回復(fù)

使用道具 舉報(bào)

地板
ID:835242 發(fā)表于 2021-3-28 20:26 | 只看該作者
請(qǐng)問,博主,這個(gè)語(yǔ)音模塊怎樣實(shí)現(xiàn)與單片機(jī)的通信,進(jìn)一步實(shí)現(xiàn)控制,比如燈光控制
回復(fù)

使用道具 舉報(bào)

5#
ID:385637 發(fā)表于 2021-3-29 11:29 | 只看該作者
這個(gè)語(yǔ)音識(shí)別是類似小愛師兄或小度這樣的識(shí)別嗎?不知敏感度高不高?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 草草视频在线观看 | 四虎永久免费地址 | 精品伦精品一区二区三区视频 | 91资源在线 | 国产免费色 | 日韩欧美网| 国产精品久久久久久久免费观看 | 久久久精品 | 人人种亚洲 | 日韩精品影院 | 亚洲网在线 | 亚洲免费三级 | 欧美在线一区二区三区 | 狠狠操网站 | 日韩精品一区二区三区 | 国产精品女人久久久 | 亚洲视频观看 | 国产午夜精品一区二区三区嫩草 | 久久精品日产第一区二区三区 | 国产一区二区视频免费在线观看 | 午夜影院在线观看免费 | 91 久久| 国产日韩精品一区 | 欧美日韩一区二区在线 | 欧美日韩第一页 | 精品欧美黑人一区二区三区 | 欧美性生活网 | 国产成人免费视频网站视频社区 | 亚洲国产乱码 | 久久久久久综合 | 日韩at| av黄色免费在线观看 | 91在线观看视频 | 亚洲国产高清高潮精品美女 | 日韩精品在线观看免费 | 一二三四在线视频观看社区 | 色视频欧美 | 午夜一区二区三区在线观看 | www.国产一区 | 欧美精品一区三区 | 国产成人综合一区二区三区 |