syn6288语音播放模块(终极版).doc

上传人:F****n 文档编号:98042804 上传时间:2019-09-07 格式:DOC 页数:11 大小:329.50KB
返回 下载 相关 举报
syn6288语音播放模块(终极版).doc_第1页
第1页 / 共11页
syn6288语音播放模块(终极版).doc_第2页
第2页 / 共11页
syn6288语音播放模块(终极版).doc_第3页
第3页 / 共11页
syn6288语音播放模块(终极版).doc_第4页
第4页 / 共11页
syn6288语音播放模块(终极版).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《syn6288语音播放模块(终极版).doc》由会员分享,可在线阅读,更多相关《syn6288语音播放模块(终极版).doc(11页珍藏版)》请在金锄头文库上搜索。

1、SYN6288语音播放模块制作1、SYN6288语音芯片封装图:2、 通信方式:2.1 异步串行通讯(UART)接口SYN 6288 提供一组全双工的异步串行通讯(UART)接口,实现与微处理器或PC 的数据传输。SYN 6288利用TxD 和RxD 以及GND 实现串口通信。其中GND 作为地信号。SYN 6288 芯片支持UART 接口通讯方式,通过UART 接口接收上位机发送的命令和数据,允许发送数据的最大长度为206 字节。2.2 通讯传输字节格式1、初始波特率:9600 bps2、起始位: 13、数据位:84、校验位:无5、停止位:16、流控制:无与51单片机通信时,可以用单片机的串

2、行通信方式1。3、 硬件电路搭建:3.1 外接电源组接法备注:SYN 6288共有6组外接电源,每组电源均使用一个47uF和一个0.1uF的电容;如果用户想节省成本,用户可以在每组电源上均使用0.1uF的电容,并对VDDPP、和VDDA两组电源,各加上一47uF的电容。3.2 复位电路及状态指示电路备注:Ready/Busy 此STATUS引脚信号为低电平时说明芯片正在等待接收数据。在系统设计时可以将此引脚接在MCU的中断输入源上,产生一个下降沿中断请求发送数据,以示上位机MCU可以向语音合成芯片发送数据。3.3 SYN6288 的扬声器输出(1) 为了在用户应用中输出声音, SYN6288

3、内置了推挽式(Push-Pull)的 DAC ,可直接驱动喇叭,进行声音播报。并且SYN6288 内置的DAC 电路模块,使用了VDDPP/VSSPP 供电电源模块,具体电路说明部分请参见(10.1)和(10.2)节,其供电电压值可独立于其它电源组的供电。(见右图)3.4 SYN6288 外接高速晶振3.5 SYN6288 串口通信的参考电路备注:上位机发送数据给SYN6288 时,中间须加有反向器。在实际电路中,我们用三极管做了一个反向器,电路如下图:该电路的原理是:MCU的TXD输出电平为0时,NPN三极管截止,RXD收到的电平为1。MCU的TXD输出电平为1时,NPN三极管导通,RXD收

4、到的电平为0。3.6 Res 引脚(即第5 引脚)的接法3.7 总体电路原理图:4、 程序的编写:4.1 命令帧格式:芯片支持以下命令帧格式:“帧头FD + 数据区长度+数据区”格式。(最大206个字节)注意:数据区(含命令字,命令参数,待发送文本,异或校验)的实际长度必须与帧头后定义的数据区长度严格一致,否则芯片会报接收失败。4.2 语音合成播放命令举例:上位机发送给 SYN6288 芯片的所有命令和数据都需要用“帧”的方式进行封装后传输。其它命令请自行参考SYN6288芯片手册:http:/ 文本程序发送:中文系统电脑的文本编码格式一般为:ANSI即GB2312 编码体系,这个可以用二进制

5、文本编辑器(如BinaryEditor)打开并对照GB2312编码表察看。参考程序:/speaker.c#include #include #include #include typedef.h#include SPEAKER.hvoid delayMs(uint16 xms)uint16 i,j;for (i=0;ixms;i+)for (j=0;j123;j+);/语音模块初始化void SpeakerInit()/*串口的初始化*/TL1=0XFA;/在11.0592MHZ下,设置波特率9600bps,工作方式2TH1=0XFA;TMOD=0X20;SCON=0X50; /串口工作方式1

6、,允许接收PCON=0X80;EA=0;REN=1;TI=0; /发生中断标志位置零RI=0;/接收中断标志位置零TR1=1;/定时器1用做波特率发生/语音播报程序uint8 Speaker(char * pString)uint8 headOfFrame5;uint8 length;/定义字符串长度uint8 ecc = 0; /定义校验字节uint16 i = 0;if (pString = NULL)/空字符串return -1;/*发送过程*/ headOfFrame0=0XFD; /构造帧头FDheadOfFrame1=0X00; /构造数据区长度的高字节length = strle

7、n(pString);/需要发送文本的长度headOfFrame2=length+3;/构造数据区长度的低字节headOfFrame3=0X01;/构造命令字:合成播放命令headOfFrame4=0X00;/构造命令参数:编码格式为GB2312for(i=0;i5;i+) /依次发送构造好的5个帧头字节 ecc=ecc(headOfFramei); /对发送的字节进行异或校验SBUF=headOfFramei;while (TI=0); /等待发送中断标志置位TI=0; /发送中断标志位清零 for(i=0;ilength;i+) /依次发送待合成的文本数据 ecc=ecc(*pString

8、);SBUF = (*pString);pString +;while(TI=0);TI=0; SBUF=ecc; while(TI=0); TI=0; return 0;/成功返回0/语音读整数uint8 SpeakerInt(int ida)uint8 i;uint8 negative=0;/负数标志位uint8 intLen=5;char cdat6=0;if (ida 0)/若为负数取绝对值ida = abs(ida);negative = 1;cdat 0 = (char)(ida / 10000 ) ;cdat 1 = (char)(ida % 10000) /1000);cdat

9、 2 = (char)(ida % 1000) /100);cdat 3 = (char)(ida % 100) /10);cdat 4 = (char)(ida % 10) /1);for (i=0;i5;i+)cdati = cdati + 48;if (cdat0 = 0)intLen = 4;if (cdat1 = 0)intLen = 3;if (cdat2 = 0)intLen = 2;if (cdat3 = 0)intLen = 1;if (negative = 1)Speaker(零下);delayMs(1000);Speaker(& cdat5-intLen);return

10、0;/语音读小数uint8 SpeakerFloat(float fda,uint8 dNum)/fda 为传入的小数,dNum为其小数位数uint8 negative=0;int ida;/整数部分float dec;/小数部分long idec;/转化后的小数部分if (fda = 5)/如果是尾数x999的情况idec += 10;idec /= 10;SpeakerInt(idec);delayMs(3000);Speaker(n2);delayMs(200);return 0;void main()SpeakerInit();while(1)Speaker(现在的室外温度是);del

11、ayMs(3000);SpeakerInt(-37);delayMs(1500);SpeakerFloat(-32.23,3);delayMs(3000);Speaker(度);delayMs(1000);/Speaker.h#ifndef _SPEAKER_H_#define _SPEAKER_H_extern void SpeakerInit();/语音初始化程序extern uint8 Speaker(char * pString);/语音播放程序extern uint8 SpeakerInt(int ida);/语音读整数#endif/typedef.h#ifndef TYPEDEF_H_#define TYPEDEF_H_typedef unsigned char uint8;typedef unsigned int uint16;typedef unsigned long uint32;#endif解决党委自身和基层党支部存在的的突出问题,发挥各村、社区、机关单位党支部在当前城市征迁、园区建设、招商引资、服务群众、维护稳定的作用,我镇党委高度重视,制定了切合临淮实际的活动实施方案,按照中央规定的活动步骤和要求扎实有效的开展了基层组织建设年活动。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号