资源简介
基于ArduinoUNO的LD3320语音识别+SYN6288语音合成的智能分类垃圾桶
这学期跟同学一起计划实现一 项小制作,对最主要的LD3320语音识别模块做一个小说明,因为在我们设计的过程中,网上都有很多这种
类似的文章,但是跟Arduino交互的好像还没有。成品还没做出来,毕竟要求创新,后期会考虑加一些独到的功能。都是新手,-起交流
学习才能进步。该模块用Arduino实现起来较为简单,要还是靠店家给的单片机里面代码。
代码片段和文件信息
/***************************绿深旗舰店****************************
** CPU: STC11L08XE
** 晶振:22.1184MHZ
** 波特率:9600 bit/S
** 口令模式: 即每次识别时都需要说“小杰”这个口令 ,才能够进行下一级的识别
/****************************绿深旗舰店*****************************/
#include “config.h“
extern void delay(unsigned long uldata);
uint8 idata ucRegVal;
extern uint8 idata nAsrStatus;
void ProcessInt0(void);
/************************************************************************
功能描述: 复位LD模块
入口参数: none
返 回 值: none
其他说明: none
**************************************************************************/
void LD_Reset()
{
RSTB=1;
delay(5);
RSTB=0;
delay(5);
RSTB=1;
delay(5);
CSB=0;
delay(5);
CSB=1;
delay(5);
}
/************************************************************************
功能描述: LD模块命令初始化
入口参数: none
返 回 值: none
其他说明: 该函数为出厂配置,一般不需要修改;
有兴趣的客户可对照开发手册根据需要自行修改。
**************************************************************************/
void LD_Init_Common()
{
LD_ReadReg(0x06);
LD_WriteReg(0x17 0x35);
delay(10);
LD_ReadReg(0x06);
LD_WriteReg(0x89 0x03);
delay(5);
LD_WriteReg(0xCF 0x43);
delay(5);
LD_WriteReg(0xCB 0x02);
/*PLL setting*/
LD_WriteReg(0x11 LD_PLL_11);
LD_WriteReg(0x1E0x00);
LD_WriteReg(0x19 LD_PLL_ASR_19);
LD_WriteReg(0x1B LD_PLL_ASR_1B);
LD_WriteReg(0x1D LD_PLL_ASR_1D);
delay(10);
LD_WriteReg(0xCD 0x04);
// LD_WriteReg(0x17 0x4c);
delay(5);
LD_WriteReg(0xB9 0x00);
LD_WriteReg(0xCF 0x4F);
LD_WriteReg(0x6F 0xFF);
}
/************************************************************************
功能描述: LD模块 ASR功能初始化
入口参数: none
返 回 值: none
其他说明: 该函数为出厂配置,一般不需要修改;
有兴趣的客户可对照开发手册根据需要自行修改。
**************************************************************************/
void LD_Init_ASR()
{
LD_Init_Common();
LD_WriteReg(0xBD 0x00);
LD_WriteReg(0x17 0x48);
delay( 10 );
LD_WriteReg(0x3C 0x80);
LD_WriteReg(0x3E 0x07);
LD_WriteReg(0x38 0xff);
LD_WriteReg(0x3A 0x07);
LD_WriteReg(0x40 0);
LD_WriteReg(0x42 8);
LD_WriteReg(0x44 0);
LD_WriteReg(0x46 8);
delay( 1 );
}
/************************************************************************
功能描述: 中断处理函数
入口参数: none
返 回 值: none
其他说明: 当LD模块接收到音频信号时,将进入该函数,
判断识别是否有结果,如果没有从新配置寄
存器准备下一次的识别。
**************************************************************************/
void ProcessInt0(void)
{
uint8 nAsrResCount=0;
EX0=0;
ucRegVal = LD_ReadReg(0x2B);
LD_WriteReg(0x290) ;
LD_WriteReg(0x020) ;
if((ucRegVal & 0x10) &&
LD_ReadReg(0xb2)==0x21 &&
LD_ReadReg(0xbf)==0x35) /*识别成功*/
{
nAsrResCount = LD_ReadReg(0xba);
if(nAsrResCount>0 && nAsrResCount<=4)
{
nAsrStatus=LD_ASR_FOUNDOK;
}
else
{
nAsrStatus=LD_ASR_FOUNDZERO;
}
} /*没有识别结果*/
else
{
nAsrStatus=LD_ASR_FOUNDZERO;
}
LD_WriteReg(0x2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2725 2020-04-27 18:13 arduino_code\arduino_code.ino
文件 724 2019-10-26 09:06 arduino_code\带一级口令程序(垃圾桶)\code\config.h
文件 8674 2020-04-26 13:43 arduino_code\带一级口令程序(垃圾桶)\code\LDChip.c
文件 2038 2019-10-26 09:06 arduino_code\带一级口令程序(垃圾桶)\code\LDChip.h
文件 5773 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\code\main.c
文件 699 2019-10-26 09:06 arduino_code\带一级口令程序(垃圾桶)\code\Reg_RW.c
文件 304 2019-10-13 18:10 arduino_code\带一级口令程序(垃圾桶)\code\Reg_RW.h
文件 17732 2019-10-26 09:06 arduino_code\带一级口令程序(垃圾桶)\code\STC11XX.H
文件 15074 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\LDChip.lst
文件 11174 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\main.lst
文件 1864 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\Reg_RW.lst
文件 3084 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\usart.lst
文件 31639 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\V07A.m51
文件 70226 2020-04-27 17:53 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7.uvgui.QinBoc
文件 90762 2019-11-19 15:41 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7.uvgui.Tree
文件 70228 2020-04-27 10:43 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7.uvgui_QinBoc.bak
文件 7046 2020-04-27 17:53 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7.uvopt
文件 13994 2020-04-06 20:19 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7.uvproj
文件 7048 2020-04-27 10:43 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7_uvopt.bak
文件 13994 2020-04-06 20:16 arduino_code\带一级口令程序(垃圾桶)\keil4 APP\YS-V0.7_uvproj.bak
文件 17207 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\LDChip.obj
文件 14318 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\main.obj
文件 5076 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\Reg_RW.obj
文件 6903 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\usart.obj
文件 39499 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\V07A
文件 1031 2019-11-19 15:39 arduino_code\带一级口令程序(垃圾桶)\obj\V07A.build_log.htm
文件 6920 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\V07A.hex
文件 123 2020-04-27 10:17 arduino_code\带一级口令程序(垃圾桶)\obj\V07A.lnp
文件 228 2020-04-27 17:38 arduino_code\带一级口令程序(垃圾桶)\obj\V07A.plg
文件 1443 2020-04-22 21:48 arduino_code\带一级口令程序(垃圾桶)\user\usart.c
............此处省略10个文件信息
- 上一篇:MvCameraNode.xlsx
- 下一篇:ALU Verilog计组实验文件
评论
共有 条评论