Lark7618初始设置及和51单片机联调

作者: 半落空城
上传时间为: 2016-09-18 09:18 AM
2016-09-18
阅读:

算算日子,收到开发板已经有差不多十来天了,一开始就对这个语音开发板很期待很好奇的。收到包裹时,比我预想中的重一点,拆开看的时候,也比我预想的大一点。

一层厚厚的亚克力板封装着,上电以后,模块自动播报“主人您好,正在为您联网”,感觉这个语音输出还是可以的,不论是语调还是语速都还过的去。这一点感觉很不错。

但是,由于外面的一层严密的封装,使得里面的一些东西不能用,比如电源自锁开关,这样就不好重启了。这一点不是很好。

由于我电脑以前装过相关驱动,打开宇音天下Lark7618资源管理工具,进行相应配置

同时,可以添加编辑相关的命令词条等,生成资源文件然后上传(需要注册),然后模块重启,开发板就回通过WiFi模块联网,下载最近的资源文件更新原有文件。

通过官方的相关使用手册以及说明书等文件,通过keil4进行软件编程和开发板通过串口进行通信。

局部程序:

/****************串口的初始化************************************/

TL1 = 0xFA;

TH1 = 0xFA;

TMOD = 0x20;

SCON = 0x50; 

PCON = 0x80;

EA = 0;

REN = 1;

TI = 0; 

RI = 0;

TR1 = 1; 

/*****************发送过程**************************************/

headOfFrame[0] = 0xFD ; //构造帧头FD

headOfFrame[1] = 0x00 ; //构造数据区长度的高字节

headOfFrame[3] = 0x01 ; //构造命令字:合成播放命令

headOfFrame[4] = 0x01 ; //构造命令参数:编码格式为GBK

while(1)

{

unsigned char temp, key;

P3 = 0xfe;

temp = P3;

temp = temp & 0xf0;

if(temp!0xf0)

{

delayms(10);

temp = P3;

temp = temp & 0xf0;

if(temp != 0xf0)

{

temp = P3;

switch(temp)

case 0xee:

j=0;

break;

case 0xde:

j=1;

break;

case 0xbe:

j=2

break;

case 0x7e:

j=3;

break;

}

while(temp!=0xf0)

{

temp = P3;

temp = temp&0xf0;

}

headOfFrame[2] = length[j] + 2; //构造数据区长度的低字节

for(i = 0; i<5; i++) //依次发送构造好的5 个帧头字节

{

SBUF = headOfFrame[i];

while (TI== 0) {;} //等待发送中断标志位置位

TI = 0; //发送中断标志位清零

}

for(i = 0; i<length[j]; i++) //依次发送待合成的文本数据

{

SBUF = text[i];

while (TI== 0) {;}

TI = 0;

}

}

}

通过这个模块可以和一些单片机,ARM,FPGA之类的做数据交互, 从而开发出一个和语音识别相关的项目或者产品出来。而且普通用户也可以通过一些简单的操作来自己更新资源。

相关经验
全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示