• 大小: 124KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: ld3320  语音识别  

资源简介

该程序由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个文件信息

评论

共有 条评论