基于LD3320语音识别技术的小灯控制系统程序

发布者:那是一条路都最新更新时间:2020-01-23 来源: 51hei关键字:LD3320  语音识别技术  小灯控制系统 手机看文章 扫描二维码
随时随地手机看文章

资料描述:

1.本设计完成一个语音识别控制灯系统的设计,基于LD3320芯片的语音识别系统。最基本的要求做到语音说出一些简单的命令,系统会识别并且做出相应地动作或运作,以此来控制灯的亮和灭。

2.里面有LD3320的全部资料,里面有很多例程

资料包含:原理图+程序,相关资料等等

51hei.png

单片机源程序如下:

/************************************************************************************

**        CPU: AT89S52

**        晶振:22.1184MHZ

**        波特率:9600 bit/S

**        语音识别模块:LD3320         

**  版本:C106_yysb_V1.0

/************************************************************************************/

#include "config.h"


/************************************************************************************/

//        nAsrStatus 用来在main主程序中表示程序运行的状态,不是LD3320芯片内部的状态寄存器

//        LD_ASR_NONE:                表示没有在作ASR识别

//        LD_ASR_RUNING:                表示LD3320正在作ASR识别中

//        LD_ASR_FOUNDOK:                表示一次识别流程结束后,有一个识别结果

//        LD_ASR_FOUNDZERO:        表示一次识别流程结束后,没有识别结果

//        LD_ASR_ERROR:                表示一次识别流程中LD3320芯片内部出现不正确的状态

/***********************************************************************************/

uint8 idata nAsrStatus=0;        

extern void   _nop_     (void); 

void MCU_init(); 

uint8 RunASR();

void ProcessInt0(); //识别处理函数

void  delay(unsigned long uldata);

/************************************************************************

功能描述: 主函数程序入口

入口参数:        none

返 回 值:         none

其他说明:        none

**************************************************************************/

void  main()

{

        uint8 idata nAsrRes;

        uint8 i=0;


        MCU_init();

        LD_Reset();

        UartIni(); /*串口初始化*/

        nAsrStatus = LD_ASR_NONE;                //        初始状态:没有在作ASR

        PrintCom("串口运行中....n"); /*text.....*/

        PrintCom("口令:1、开机n"); /*text.....*/

        PrintCom("        2、开灯n"); /*text.....*/

        PrintCom("        3、关灯n"); /*text.....*/


        while(1)

        {

                switch(nAsrStatus)

                {

                        case LD_ASR_RUNING:

                        case LD_ASR_ERROR:                

                                break;

                        case LD_ASR_NONE:

                        {

                                nAsrStatus=LD_ASR_RUNING;

                                if (RunASR()==0)        /*        启动一次ASR识别流程:ASR初始化,ASR添加关键词语,启动ASR运算*/

                                {

                                        nAsrStatus = LD_ASR_ERROR;

                                }

                                break;

                        }


                        case LD_ASR_FOUNDOK: /*        一次ASR识别流程结束,去取ASR识别结果*/

                        {

                                

                                nAsrRes = LD_GetResult();                /*获取结果*/

                                PrintCom("n识别码:"); /*text.....*/

        UARTSendByte(nAsrRes+0x30); /*text.....*/                                

                                 switch(nAsrRes)                   /*对结果执行相关操作,客户修改*/

                                  {

                                          case CODE_DMCS:                        /*命令“测试”*/

                                                        PrintCom("“开机”命令识别成功n"); /*text.....*/

                                                                                                                 break;

                                                case CODE_KFBYZ:         /*命令“全开”*/

                                                        PrintCom("“开灯”命令识别成功n"); /*text.....*/

                                                                                                                 break;

                                                case CODE_JCWB:                /*命令“复位”*/

                                

                                                        PrintCom("“开灯”命令识别成功n"); /*text.....*/

                                                                                                                break;

                                                default:break;

                                        }                                


                                nAsrStatus = LD_ASR_NONE;

                                break;

                        }

                        case LD_ASR_FOUNDZERO:

                        default:

                        {

                                nAsrStatus = LD_ASR_NONE;

                                break;

                        }

                }// switch         

        }// while


}

/************************************************************************

功能描述:         单片机初始化

[1] [2]
关键字:LD3320  语音识别技术  小灯控制系统 引用地址:基于LD3320语音识别技术的小灯控制系统程序

上一篇:单片机驱动带编码器直流电机 源程序
下一篇:单片机电梯控制器代码

推荐阅读最新更新时间:2024-10-10 20:03

语音识别技术未来会成为你的“数字版双胞胎”
语音命令是与电子设备互动的一种更自然的方式,尤其是无需笨拙的拨弄按钮和触控屏幕。最近几年以来,语音助手的普及程度突飞猛进,现在我们几乎所有能想到的家用智能设备都已经可以使用语音助手来控制。 而现在一家名叫XMOS公司的努力使这种技术的进一步增长成为可能。也许你这个名字可能不太熟悉,但如果你曾经使用过亚马逊Echo智能音箱,那么就从这种技术中受益过。 XMOS是一家专注于语音处理的无晶圆片半导体公司,它的算法能够检测整个房间的轻声语音指令,即使是在非常有挑战性的条件下(比如有很多杂物或墙壁的房间里)。那么,为什么语音技术进步得如此之快呢? XMOS算法工程师亚历克斯·克拉辛(Alex Craciun)表示:“我认为是语音技术让生活变
[安防电子]
战Siri?英特尔芯片将集成语音识别技术
    据外媒报道,英特尔目前宣布,已与语音识别技术公司Sensory达成了合作,将在以后的Intel最新的芯片中集成整合Sensory公司的TrulyHandsfree语音识别技术。 英特尔芯片将集成语音识别技术(图片来自cnbeta)   TrulyHandsfree语音识别技术支持低功耗状态的随时语音唤醒,这就像使用“Hey Siri”和“Okay Google”语音指令唤醒语音识别功能一样。不过 Sensory宣称TrulyHandsfree语音识别技术在背景噪音嘈杂的环境下,识别更加准确。   Sensory的CEO Todd Mozer称“通过与英特尔的深度合作,英特尔将在最新的芯片中深度嵌入TrulyHa
[安防电子]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved