历史上的今天

今天是:2024年08月25日(星期日)

正在发生

2020年08月25日 | 基于51单片机的语音合成模块

发布者:SparklingRiver 来源: 51hei关键字:51单片机  语音合成模块  串口 手机看文章 扫描二维码
随时随地手机看文章

#include "main.h"


bit bSysHalfSec;

u8 TimeWaitCnt = 0;


u8 code PrevFile[] = {0xAA, 0x05,0x00, 0xAF};/*此数组指令可以直接由上位机生成,复制过来即可  */

u8 code NextFile[] = {0xAA, 0x06, 0x00, 0xB0};

u8 code Path[] = {0xAA, 0x08, 0x10, 0x02, 0x2F, 0xB9, 0xE3, 0xB8, 0xE6, 0x2A, 0x2F, 0xD0, 0xA1, 0xC3, 0xD7, 0x2A, 0x4D, 0x50, 0x33, 0x8B, }; // flash   /广告*/小米*MP3




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


本程序为MP3串口模块测试程序C51版本,测试芯片采用 STC12C5A32S2,外部晶振,11.0592MHZ

串口设置:9600




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


u8 UartData = 0xff;

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

函 数 名  : Timer0Init

功能描述  : 定时器初使化 定时2毫秒@11.0592MHz

输入参数  : void

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2013年3月26日

    作    者   : Blueice

    修改内容   : 新生成函数


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

void Timer0Init ( void )

{

    AUXR |= 0x80;        /*定时器时钟1T模式  */

    TMOD &= 0xF0;        /*设置定时器模式  */

    TMOD |= 0x01;        /*设置定时器模式  */

    TL0 = 0x9A;            /*设置定时初值  */

    TH0 = 0xA9;            /*设置定时初值  */

    TF0 = 0;            /*清除TF0标志  */

    TR0 = 1;            /*定时器0开始计时  */

    ET0 = 1;

}

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

函 数 名  : SysInit

功能描述  : 系统初使化

输入参数  : void

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2013年3月24日

    作    者   : Blueice

    修改内容   : 新生成函数


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

void SysInit ( void )

{

    Timer0Init();

    UartInit();

    EA = 1;/*开总中断  */

}

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

函 数 名  : Delay1us

功能描述  : 1微秒延时函数

输入参数  : int T

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2016年2月19日

    作    者   : wskblueice

    修改内容   : 新生成函数


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

void Delay1us ( int T )

{

    T = T - 70;

    do

    {

        ;

    }

    while ( T-- );

}

#define  sda   P01 /*一线串口发送引脚  */

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

函 数 名  : SendData

功能描述  : 一线串口发送函数

输入参数  : u16 N

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2014年8月17日

    作    者   : wskblueice

    修改内容   : 新生成函数


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

void SendData ( u8 addr )

{

    u8 i;


    EA = 0;/*发送时关掉中断,防止中断影响时序  */


    sda = 1;/*开始拉搞  */

    Delay1us ( 1000 );

    sda = 0;/*开始引导码*/

    Delay1us ( 2200 );/*此处延时最少要大于2ms,此参数延时为310ms  */


    for ( i = 0; i < 8; i++ ) /*总共8位数据  */

    {

        sda = 1;

        if ( addr & 0x01 ) /*3:1表示数据位1,每个位用两个脉冲表示  */

        {

            Delay1us ( 500 );

            sda = 0;

            Delay1us ( 210 );

        }

        else              /*1:3表示数据位0 ,每个位用两个脉冲表示  */

        {

            Delay1us ( 210 );

            sda = 0;

            Delay1us ( 500 );

        }

        addr >>= 1;

    }

    sda = 1;

    EA = 1;

}

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

函 数 名  : UartSendData

功能描述  : 两线串口发送指令

输入参数  : u8 *Buff

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2016年5月1日

    作    者   : wskblueice

    修改内容   : 新生成函数


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

void UartSendData ( u8 *Buff, u8 Len )

{

    u8 i;

    for ( i = 0 ; i < Len ; i++ )

    {

        UartPutByte ( Buff[i] );

    }

}

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

函 数 名  : main

功能描述  : 系统主循环

输入参数  : void

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2013年2月21日

    作    者   : Blueice

    修改内容   : 新生成函数


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

void main ( void )

{


    SysInit();

    P0M0 |= BIT ( 0 ) | BIT ( 1 );

    UartSendData ( Path, 20 );

    while ( 1 )

    {

        if ( TimeWaitCnt == 4 ) /*每隔两秒会自动发下一曲指令  */

        {

            TimeWaitCnt = 0;

            SendData ( 0x15 );//next file

            //UartSendData ( NextFile,4 );

        }

    }

}

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

函 数 名  : tm0_isr

功能描述  : 定时中断

输入参数  : 无

输出参数  : 无

返 回 值  :

调用函数  :

被调函数  :


修改历史      :

  1.日    期   : 2013年3月26日

    作    者   : Blueice

    修改内容   : 新生成函数


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

void Timer0_isr() interrupt 1

{

    static u8 TimeCnt;


    TL0 = 0x9A;        /*设置定时初值  */

    TH0 = 0xA9;        /*设置定时初值  */


    TimeCnt++;

    if ( ( TimeCnt % 5 ) == 0 )

    {



    }

    if ( ( TimeCnt % 250 ) == 0 )

    {

        TimeCnt = 0;

        bSysHalfSec = !bSysHalfSec;

        P00 = !P00;

        TimeWaitCnt++;

    }


}


  • 程序截图

    程序截图

  • 电路图

    电路图


关键字:51单片机  语音合成模块  串口 引用地址:基于51单片机的语音合成模块

上一篇:基于51单片机的蔬菜大棚温湿度智能控制系统
下一篇:单片机+MAX6675热电偶(热电堆)智能体温检测系统

推荐阅读

随着人们生活水平的不断提高,对产品服务的要求也发生了变化,消费端开始升级并带来新的挑战和机遇。而服务机器人似乎为新的时代而生,逐步开始进入社会,进入家庭,服务于平民大众。在2018世界机器人大会上,北京康力优蓝机器人科技有限公司创始人兼首席执行官刘雪楠认为,服务机器人最大的市场是面向家庭的服务机器人,如果从商业价值的角度来讲,最大的...
日本首相安倍晋三曾把2015年称作是机器人元年。原因在于东京奥运会申办成功后,日本在2015年开始启动机器人产业巨额投资。考虑到奥运会期间东京的外国游客将达到3300万人,可能会引发导游、警备、运输等人手不足,众多大学、企业都在为此研发相关机器人。对日本政府而言,机器人产业成了振兴经济的引擎。 在中国市场,机器人产业同样在迎来热潮。和日本...
由于冠状病毒流行,智能手机出货量在最近一个季度表现不佳。病毒流行不仅导致智能手机出货量下降,而且还影响了零部件的出货量。根据 UBI Research 的最新报告,今年第二季度,用于智能手机的 OLED 显示面板的出货量下降至 8700 万片。与去年同期相比下降了 23.1%。与第一季度的数据相比,2020 年第二季度的数字也下降了 17%。报告称,第二季...
据路透社报道,韩国议会立法和司法委员会预计将于周二批准一项被称为“反谷歌法”的电信商业法修正案,禁止谷歌和苹果等应用商店运营商利用其垄断地位,从开发者应用内购买收入中抽取佣金。该法案如果得到批准,会在周三进行最终投票,落地后会禁止谷歌和苹果向软件开发者收取应用内购买的佣金,这是世界主要经济体之一首次采取此类限制措施,可能会损害科...

史海拾趣

问答坊 | AI 解惑

电源转换

进口电动工具是交流110V的 大约1Kw 不想用传统笨重的铁心变压器 请问有什么其他方法 谢谢!…

查看全部问答∨

仪器仪表常用术语

性能特性 performance characteristic 确定仪器仪表功能和能力的有关参数及其定量的表述。 参比性能特性 reference performance characteristic 在参比工作条件下达到的性能特性。 范围 range 由上、下限所限定的一个量的区间。 注: ...…

查看全部问答∨

图说首届时代民芯大赛颁奖典礼

2010年6月21日,时代民芯公司在长峰假日酒店举行了首届“时代民芯”杯电子设计大赛颁奖典礼,共颁发了包括特等奖在内的十一个奖项,总奖金额高达24万元。工业和信息化部电子产品司丁文武副司长为特等奖获得者颁奖中国半导体行业协会执行副理事长徐 ...…

查看全部问答∨

请各位前辈给点意见

我现在在做嵌入式linux的平台的开发,现在想做个短信网关,用的是SIEMENS-MC55的模块。用超级终端通过串口也成功实现发短信了。但在开发linux应用程序时对于那些应答该做怎么样的处理(因为指令的应答看上去有点复杂),他们应该采用什么样的格式封 ...…

查看全部问答∨

新手求助~~关于ISA中断边沿触发的问题

用IOCONNECTINTERRUPT挂接好中断服务程序后,设置为LATCHED方式。 发现这个中断服务程序只能在下降沿被触发,但是我用的ISA板卡中断是上升沿触发,我想问下各位高手,WINDOWS下只能下降沿触发中断吗?有什么方法能解决这个问题呢? 为什么DOS下的 ...…

查看全部问答∨

串口通信控制iPod

有人做过串口通信控制iPod吗?都需要哪些方面的知识啊?高手指点一下。…

查看全部问答∨

evc怎么加载JPG的图片啊?

请问各位怎么加载JPG的图片啊?还有我的帖子到期了可每次我揭贴都说我没权限的,不知道怎么的…

查看全部问答∨

求HH mount极轴座冷门性价比高之设计方案,包括所用单片机源代码(最好是C)。可联系我

要求符合DisEqC 1.2 协议,选择的单片机最好相对冷门,性价比要高。可联系我:价格可议。 陈先生 alexchen1980@163.com …

查看全部问答∨

智能车资料整理

本帖最后由 paulhyde 于 2014-9-15 03:22 编辑  主要是论文,也包含一些程序,有红外的、GPS的、电机的等。 依据红外线光电传感器对被检测物体遮挡或反射光束的反应原理,将光的强弱变化转化为电流的变化,检测障碍物和采集地面信息,再由同 ...…

查看全部问答∨

wince5.0 pxa270 有关主USB的问题

wince5.0 pxa270  有关主USB的问题,问题如下:当把U盘插到板子上,U盘的指示灯是亮的,但在板子上没有找到U盘,把板子与PC机相连,在PC机上也找不到U盘了,各位知道一般什么原因会造成这样了,是不是注册表配置有问题了,我的注册表配置如下[ ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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