SYN6288语音播报模块代码(51单片机)

您所在的位置:网站首页 蛋糕店语音播报内容范文图片 SYN6288语音播报模块代码(51单片机)

SYN6288语音播报模块代码(51单片机)

2024-07-04 12:03:21| 来源: 网络整理| 查看: 265

SYN6288语音播报模块代码(51单片机) SYN6288简介模块接线代码

SYN6288简介

SYN6288 中文语音合成芯片是北京宇音天下科技有限公司于2010年初推出的一款性/价比更高,效果更自然的一款中高端语音合成芯片。SYN6288通过异步串口(UART)通讯方式,接收待合成的文本数据实现文本到语音(或TTS语音)的转换。 宇音天下于2002年最早研制出国内首款语音合成芯片OSYNO6188。公司最新推出的SYN6288语音合成芯片,继承了OSYNO6188语音芯片的优秀特点:最小SSOP28L贴片封装、硬件接口简单、低功耗、音色清亮圆润、极高的性/价比;除此之外,SYN6288在识别文本/数字/字符串更智能、更准确,语音合成自然度更好、可懂度更高。SYN6288语音合成效果和智能化程度均得到大幅度提高,是一款真正面向中高端行业应用领域的中文语音合成芯片。 SYN6288语音合成芯片的诞生,将推动TTS语音合成技术的行业应用走向更深入、更广泛! 在这里插入图片描述

模块接线

使用了STC12C5A60S2单片机作为MCU,接线引脚为P3.1和P3.2,程序可直接移植到STV89C52/51单片机 在这里插入图片描述

代码

SYN6288.c

#include"MAIN.h" #include"SYN6288.h" /* * 作者:PrairieOne * csdn:PrairieOne * 邮箱:[email protected] * 嵌入式技术交流群:826251093 */ #define SYN6288_Send_Char(X) UART1_SendChar(X) /**************芯片设置命令*********************/ uint8_t SYN_StopCom[] = {0xFD, 0X00, 0X02, 0X02, 0XFD}; //停止合成 uint8_t SYN_SuspendCom[] = {0XFD, 0X00, 0X02, 0X03, 0XFC}; //暂停合成 uint8_t SYN_RecoverCom[] = {0XFD, 0X00, 0X02, 0X04, 0XFB}; //恢复合成 uint8_t SYN_ChackCom[] = {0XFD, 0X00, 0X02, 0X21, 0XDE}; //状态查询 uint8_t SYN_PowerDownCom[] = {0XFD, 0X00, 0X02, 0X88, 0X77}; //进入POWER DOWN 状态命令 //串口1初始化 void UART1_Init(void) { SCON = 0x50; //8位数据,可变波特率 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xFD; //设定定时初值 TH1 = 0xFD; //设定定时器重装值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 ES = 1; EA = 1; } //串口2发送一字节数据 void UART1_SendByte(uint8_t DAT) { SBUF = DAT; while(TI == 0); TI=0; } //串口2发送字符串数据 void UART1_SendString(uint8_t *DAT, uint8_t len) { uint8_t i; for(i = 0; i if(RI) { RI=0; } } //Music: 0:无背景音乐 1~15:选择背景音乐 void SYN_FrameInfo(uint8_t Music, uint8_t *HZdata) { /****************需要发送的文本**********************************/ uint8_t Frame_Info[50]; uint8_t HZ_Length; uint8_t ecc = 0; //定义校验字节 uint8_t i = 0; HZ_Length = strlen((char*)HZdata); //需要发送文本的长度 /*****************帧固定配置信息**************************************/ Frame_Info[0] = 0xFD ; //构造帧头FD Frame_Info[1] = 0x00 ; //构造数据区长度的高字节 Frame_Info[2] = HZ_Length + 3; //构造数据区长度的低字节 Frame_Info[3] = 0x01 ; //构造命令字:合成播放命令 Frame_Info[4] = 0x01 | Music ecc = ecc ^ (HZdata[i]); //对发送的字节进行异或校验 } /*******************发送帧信息***************************************/ memcpy(&Frame_Info[5], HZdata, HZ_Length); Frame_Info[5 + HZ_Length] = ecc; UART1_SendString(Frame_Info, 5 + HZ_Length + 1); }

SYN6288.h

#ifndef __SYN6288_H__ #define __SYN6288_H__ //void SYN6288_PlayString(uint8_t *String); void UART1_Init(void); void SYN_FrameInfo(uint8_t Music, uint8_t *HZdata); #endif // 注意事项 // 1. 模块老版本供电3.3V,新版本供电支持3.3/5.0V。 // 老版本为引线外置喇叭的模块 // 新版本为带4个安装孔和板载喇叭的模块。 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 2. 接线时最精简接法为只接模组RXD线, // 如果使用UART1与模块通信 单片机P3.1为TXD 接 模块RXD引脚。 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 3.串口需要提前初始化 波特率9600,程序默认单片机使用UART1与模块通信。 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

遇事不决,可问春风



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭