幸运时时彩平台

基于51单片机的LD3320的例程(口令模式+IO口控制程序)

2020-01-29来源: 51hei关键字:51单片机  LD3320  口令模式  IO口控制

幸运时时彩平台1、本工程采用 KEIL4 版本建立


2、本工程为口令模式+IO口控制方式,每次识别都需要喊“小杰”然后才可以喊其他二级的口令,另外IO口的输出可以查看程序PAx的端口利用情况


V0.7 语音识别程序:口令模式+IO口控制

本工程采用keil 4建立,如您打不开,可参考以下格式进行工程建立。

  

单片机源程序如下:

/***************************飞音云电子****************************

**  工程名称:YS-V0.7语音识别模块驱动程序

**        CPU: STC11L08XE

**        晶振:22。1184MHZ

**        波特率:9600 bit/S

**        配套产品信息:YS-V0.7语音识别开发板

**  作者:zdings


**  说明:口令模式+IO控制: 即每次识别时都需要说“小杰”这个口令 ,才能够进行下一级的识别

/***************************飞音云电子******************************/

#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;        

void MCU_init(); 

幸运时时彩平台void ProcessInt0(); //识别处理函数

幸运时时彩平台void  delay(unsigned long uldata);

幸运时时彩平台void         User_handle(uint8 dat);//用户执行操作函数

void Led_test(void);//单片机工作指示

void Delay200ms();

uint8_t G0_flag=DISABLE;//运行标志,ENABLE:运行。DISABLE:禁止运行 

sbit LED=P4^2;//信号指示灯

//应用IO口定义 (模块标注 P2)

sbit PA1=P4^1; //对应板上标号 P4。1 

sbit PA2=P2^7;  //对应板上标号 P2.7

sbit PA3=P2^6;  //.....

sbit PA4=P2^5;  //。。。。。

幸运时时彩平台sbit PA5=P2^4;  //.....

幸运时时彩平台sbit PA6=P2^3;  //.....

sbit PA7=P3^3;  //对应板上标号 IT1

sbit PA8=P3^4;  //对应板上标号 T0



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

幸运时时彩平台* 名    称: void  main(void)

* 功    能: 主函数        程序入口

幸运时时彩平台* 入口参数:  

* 出口参数:

幸运时时彩平台* 说    明:                                          

* 调用方法: 

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

void  main(void)

{

        uint8 idata nAsrRes;

        uint8 i=0;

        Led_test();

        MCU_init();

        LD_Reset();

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

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

        

幸运时时彩平台        #ifdef TEST        

    PrintCom("一级口令:小杰rn"); /*text。。。。。*/

        PrintCom("二级口令:1、代码测试rn"); /*text.....*/

        PrintCom("        2、开发板验证rn"); /*text.....*/

        PrintCom("        3、开灯rn"); /*text.....*/

        PrintCom("        4、关灯rn"); /*text.....*/

        PrintCom("  5、北京rn"); /*text.....*/

        PrintCom("        6、上海rn"); /*text.....*/

        PrintCom("        7、广州rn"); /*text.....*/

        #endif


        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();                /*获取结果*/

                                User_handle(nAsrRes);//用户执行函数 

                                nAsrStatus = LD_ASR_NONE;

                                break;

                        }

                        case LD_ASR_FOUNDZERO:

                        default:

                        {

                                nAsrStatus = LD_ASR_NONE;

                                break;

                        }

幸运时时彩平台                }// switch                                 

        }// while


}

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

* 名    称:          LED灯测试

* 功    能: 单片机是否工作指示

* 入口参数: 无 

* 出口参数:无

* 说    明:                                          

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

void Led_test(void)

{

        LED=~ LED;

        Delay200ms();

        LED=~ LED;

幸运时时彩平台        Delay200ms();

幸运时时彩平台        LED=~ LED;

        Delay200ms();

        LED=~ LED;

幸运时时彩平台        Delay200ms();

        LED=~ LED;

        Delay200ms();

幸运时时彩平台        LED=~ LED;

}

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

* 名    称: void MCU_init()

* 功    能: 单片机初始化

* 入口参数:  

* 出口参数:

* 说    明:                                          

* 调用方法: 

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

void MCU_init()

{

        P0 = 0xff;

幸运时时彩平台        P1 = 0xff;

        P2 = 0xff;

        P3 = 0xff;

        P4 = 0xff;

LD_MOD

[1] [2] [3] [4] [5] [6]
关键字:51单片机  LD3320  口令模式  IO口控制 编辑:什么鱼 引用地址:http://news.sonata9.com/mcu/ic486671.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:幸运时时彩平台51单片机+LCD12864的万年历Proteus仿真
下一篇:一文掌握全部单片机硬件抗干扰技术

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

51单片机幸运时时彩平台控制+MAX7219+DS1302 电子钟
;   ***************************************************/#include <reg52.h>#include <intrins.h>   #define uchar unsigned char#define uint unsigned intsbit sclk=P1^0;sbit io=P1^1;sbit ce=P1^2;uchar time_data[]={13,6,4,17,21,51,30};//? ? ? ? ? ? ?uchar write_add[]={0x8c,0x8a,0x88
发表于 2020-09-16
51单片机控制两相四线步进电机
最近学习步进电机的驱动原理,照着教材自己实践了一下用ULN2003驱动28BYJ-48两相5线步进电机,可以正常转动。手头有一个旧光驱,拆开发现里面有三个电机,其中有一个控制激光头寻迹的两相四线步进电机,我就用51的单片机让它也转起来。一开始照葫芦画瓢用ULN2003驱动,结果发现无论如何也不行。原来ULN2003基本没输出电流,只能驱动有公共端的两相五线、两相六线步进电机,不能驱动2相4线步进电机。然后改用L293D驱动,可以转动。通过按钮控制正反转时发现,按键释放后,电机迅速发热,烫手。用万用表测量,发现电机A,A-或B,B-直接存在电位差!应该是按键释放时,IN1-IN4没有归零。找到问题,就容易解决了。修改程序,可以完美
发表于 2020-09-16
51单片机lcd1602d电子时钟设计
由于课程设计需要,本人做了一个基于51单片机控制的lcd1602d显示的电子时钟电子设计产品。可以显示万年历,星期。本来还想加上温湿度的检测,发现屏幕空间不够用了。。有需要可以再另外共享那个设计。第一次单片机源程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit rs=P1^0;                                 
发表于 2020-09-16
<font color='red'>51单片机</font>lcd1602d电子时钟设计
KEIL-51单片机实现自定义bootloader,用于程序更新
本文原创作者: 少占鱼大神关于8051的bootloader实现方式一,基本硬件需求要实现IAP功能,需要51单片机可以在程序里修改代码空间的Flash,或者至少可以修改用户程序区的Flash,新出的51大部分都能满足这个要求二,空间划分一般bootloader位于单片机代码空间的起始地址,用户程序在后面。这个需要根据实际的需求来决定,bootloader功能简单,就少占用一些,bootloader功能复杂的就多占用一些。除此之外,一般还要根据Flash的页为界线划分。附带的工程模板里,bootloader使用0x0000-0x0fff区间,用户程序使用0x1000以后的空间。三,中断的处理51单片机的中断入口一般位于0地址
发表于 2020-09-16
KEIL-<font color='red'>51单片机</font>实现自定义bootloader,用于程序更新
P10点阵屏C51单片机程序
P10点阵屏C51程序1/4扫描,四扫下行,1路16行,数据低OE高(04-P16-08)适用于HUB12接口单色P10串口模式0,普通左移,亮度速度可调,6个IO口,用的STC8F1K08,最多231个字制作出来的实物图如下: 单片机源程序如下:#include <STC8.H>#include <intrins.h>#include <string.h>#define                DATA        P30   
发表于 2020-09-16
P10点阵屏C<font color='red'>51单片机</font>程序
51单片机制作电容电感测表
单片机源程序如下:#include "reg52.h"#include "intrins.h"//-------宏定义---------#define u8 unsigned char#define u16 unsigned int#define u32 unsigned long#define Cref 2200      //基准电容值(单位pF)#define LCD_DATA P0    //LCD数据口(8位)//-------I/O定义--------sbit LCD_BUSY = P0^7; //LCD忙信号sbit LCD
发表于 2020-09-15
<font color='red'>51单片机</font>制作电容电感测表
小广播
换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 幸运时时彩平台电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 sonata9.com, Inc. All rights reserved
内蒙古快3 亿信彩票网站 500彩票网 小米彩票是真的吗 五分时时彩 大资本网址 疯狂斗牛 江苏快三质合走势图 北京pk10 北京两步彩走势图