资源简介
该程序由ld3320控制 开发板所用芯片为STC10L08XE
功能描述:说“你好”8位数码管的7,8位显示01,一次累加
说“再见”8位数码管的5,6位显示01,一次累加
说“谢谢”8位数码管的3,4位显示01,一次累加
说“欢迎”8位数码管的1,2位显示01,一次累加
8位数码管是有8个74HC595控制 采用级联发。用3个口即可控制8个数码管。
代码片段和文件信息
#include “STC10F08XE.H“
#include “LDChip.h“
#include “Reg_RW.h“
#include “IO_DEF.H“
#include “AsrItem.h“
#include “SubFuncs.h“
sbit RSTB=P3^3;
sbit CSB=P2^6;
uint8 idata nLD_Mode = LD_MODE_IDLE; // 用来记录当前是在进行ASR识别还是在播放MP3
uint8 idata ucRegVal;
extern uint8 idata nAsrStatus;
void ProcessInt0();
/************************************************************************************/
// 这个C文件里面包含的函数,相当于LD3320的驱动,以C语言源代码的形式提供
// 开发者在没有调试通过之前,一定不要修改这里面的函数
//
// LD_ReloadMp3Data()函数由于牵涉到主控MCU向外部存储芯片读取MP3数据的操作
// 所以开发者应该根据自己的实际使用的存储芯片,去修改这个函数
// 但是要保证对于LD3320芯片的操作不改变
//
// LD_GetResult()函数目前只简单取了第一候选结果作为识别结果
// 开发者应该根据自己产品设计,决定是否要读取其他的识别候选结果
/************************************************************************************/
void LD_reset()
{
RSTB=1;
delay(1);
RSTB=0;
delay(1);
RSTB=1;
delay(1);
CSB=0;
delay(1);
CSB=1;
delay(1);
}
void LD_Init_Common()
{
bMp3Play = 0;
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);
}
void LD_Init_ASR()
{
nLD_Mode=LD_MODE_ASR_RUN;
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 );
}
void ProcessInt0() //收到语音识别结果,进入外部中断处理函数
{
uint8 nAsrResCount=0;
EX0=0; //关闭外部中断,处理完数据后重新开启
ucRegVal = LD_ReadReg(0x2B);
if(nLD_Mode == LD_MODE_ASR_RUN)
{
// 语音识别产生的中断
// (有声音输入,不论识别成功或失败都有中断)
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(0x2b 0);
LD_WriteReg(0x1C0);
return;
}
delay_2(10);
EX0=1; //处理完外部数据,重新允许外部中断
}
uint8 LD_Check_ASRBusyFlag_b2()
{
uint8 j;
uint8 flag = 0;
for (j=0; j<10; j++)
{
if (LD_ReadReg(0xb2) == 0x21)
{
flag = 1;
break;
}
delay(10);
}
return flag;
}
void LD_AsrStart()
{
LD_Init_ASR();
}
// Return 1: success.
uint8 LD_AsrRun()
{
SendString(“LD_AsrRun().“);
SendLineEnd();
LD_WriteReg(0x35 MIC_VOL);
LD_Wri
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1817 2013-03-13 12:43 语音识别程序\AsrItem.h
文件 694 2012-05-02 14:23 语音识别程序\FlashDef.h
文件 848 2013-03-12 16:55 语音识别程序\IO_DEF.H
文件 8018 2013-03-13 12:43 语音识别程序\LDChip.c
文件 2287 2013-03-13 12:05 语音识别程序\LDChip.h
文件 16216 2013-03-13 13:09 语音识别程序\LDChip.LST
文件 26025 2013-03-13 13:09 语音识别程序\LDChip.OBJ
文件 62762 2013-03-11 15:52 语音识别程序\LQ_JDQ
文件 54240 2013-03-11 15:52 语音识别程序\LQ_JDQ.M51
文件 199 2013-03-12 14:04 语音识别程序\LQ_JDQ.plg
文件 61346 2012-05-08 22:28 语音识别程序\LQ_LD3320demo
文件 79 2012-05-08 22:28 语音识别程序\LQ_LD3320demo.lnp
文件 52748 2012-05-08 22:28 语音识别程序\LQ_LD3320demo.M51
文件 1662 2013-03-12 14:04 语音识别程序\LQ_LD3320demo.Opt
文件 428 2012-05-08 22:28 语音识别程序\LQ_LD3320demo.plg
文件 1665 2013-03-11 15:53 语音识别程序\LQ_LD3320demo_Opt.Bak
文件 2065 2013-03-11 15:44 语音识别程序\LQ_LD3320demo_Uv2.Bak
文件 49859 2013-03-13 13:09 语音识别程序\LQ_LD3320onlyASR
文件 8028 2013-03-13 13:09 语音识别程序\LQ_LD3320onlyASR.hex
文件 41828 2013-03-13 13:09 语音识别程序\LQ_LD3320onlyASR.M51
文件 2171 2013-03-13 13:15 语音识别程序\LQ_LD3320onlyASR.Opt
文件 774 2013-03-13 13:15 语音识别程序\LQ_LD3320onlyASR.plg
文件 2090 2013-03-11 15:43 语音识别程序\LQ_LD3320onlyASR.Uv2
....... 2171 2013-03-13 13:02 语音识别程序\LQ_LD3320onlyASR_Opt.Bak
文件 2209 2012-04-28 18:12 语音识别程序\LQ_LD3320onlyASR_Uv2.Bak
文件 10554 2013-03-13 13:00 语音识别程序\main.c
文件 22470 2013-03-13 13:09 语音识别程序\main.LST
文件 25054 2013-03-13 13:09 语音识别程序\main.OBJ
文件 5831 2012-09-19 22:56 语音识别程序\Reg_RW.c
文件 1310 2012-09-19 22:59 语音识别程序\Reg_RW.h
............此处省略11个文件信息
- 上一篇:S7-200PLC控制步进电机两轴运动
- 下一篇:500强企业的kpi指标
相关资源
- DTW算法C源码语音识别算法
- 百度语音识别 Unity插件
- labview语音识别系统设计
- SpeechSDK Demo微软语音识别演示中文和日
- kaldi语音识别教程
- AVR单片机语音识别电路模块设计
- 采用FPGA语音识别系统电路设计
- unity讯飞语音识别demowindows平台
- Unity语音识别Demo,基于百度AI,全平台
- STM32F103的LD3320驱动程序
- 基于STMF103C8T6与LD3320语音模块带STC11识
- pocketsphinx在windows下的中文语音识别
- 语音识别测试
- unity接科大讯飞语音识别Windows平台包
- UrbanSound8K数据集.zip
- STM32F103C8T6开发LD3320语言识别
- 语音识别,智能机器人聊天,手机A
- 基于凌阳SPCE061A的语音识别系统设计
- labview语音识别和朗读系统源程序
- 说话人语音识别
- 基于嵌入式Linux的语音识别系统硬软件
- 一个基于DTW的语音识别系统
- 1~10语音样本
- Qt访问百度语音识别服务器,获取to
- 基于tensorflow的语音识别
- 语音识别模块源码及Arduinon应用
- 基于LabVIEW的语音识别源代码vi
- 语音识别哪家强
- .net版本语音识别(十分经典)
评论
共有 条评论