当前位置:   article > 正文

MP3-TF-16P语音播放模块——C51串口控制程序_c51单片机语音播报模块程序

c51单片机语音播报模块程序

模块

模块图
VCC_电源5V
GND_电源地
RX_
TX_
SPK1/SPK2为喇叭两个引脚
由于程序是对串口进行配置,故其他引脚的连接不过多陈述

程序

MAIN文件

/******************************************************************************************************************
        
							+--------------------------------------------------+
							             	 主函数部分
							+--------------------------------------------------+

 - 实现功能:

 - 目前进展:
 - 日期    :2013-05-06

 - 作者    :

 - 运行环境:STC   晶振:11.0592M     波特率:9600

 - 备注    :在普中科技的51开发板上调试OK --- STC89C516RD+
 
 1、实现芯片上电分别指定播放第一曲和第二曲,基本的程序供用户测试
 2、该测试程序必须是模块或者芯片方案中,有设备在线,譬如U盘、TF卡、FLASH等等
 3、
******************************************************************************************************************/
#include "STK6037.h"

//运行晶振:11.05926MHZ
#define TIMER0_H   (65536-1800)/256//定时2Ms
#define TIMER0_L   (65536-1800)%256

#define SYS_Fosc        11059200  //晶振频率			   
#define COMM_BAUD_RATE  9600      //串口波特率

#define OSC_FREQ        11059200  //11059200  


static INT8U Send_buf[10] = {0} ;
static INT8U Recv_buf[10] = {0} ;

static INT8U SendDataLen = 0 ;
static INT8U ResendDataLen = 0 ;

/******************************串口1的波特率********************************/
//T1作波特率发生器
//在波特率加倍情况下 
#define BAUD_57600    			256 - (OSC_FREQ/192L)/57600L    // 254 FF
#define BAUD_28800    			256 - (OSC_FREQ/192L)/28800L    // 254 FE
#define BAUD_19200    			256 - (OSC_FREQ/192L)/19200L    // 253 FD
#define BAUD_14400    			256 - (OSC_FREQ/192L)/14400L    // 252 FC
#define BAUD_9600     			256 - (OSC_FREQ/192L)/9600L     // 250 FA

/*****************************************************************************************************
 - 功能描述:10us的延时函数
 - 隶属模块:常用函数库(内部)
 - 参数说明:无
 - 返回参数:无
 - 注: 在这里的运行环境是51,晶振为12MHZ		
*****************************************************************************************************/
void Delay_Us(INT32U z)
{
	while(z--);
}

/***********************毫秒级别延时************************/

void Delay_Ms(INT32U z)
{
	INT32U x=0 , y=0;
	for(x=110 ; x>0 ;x--)
	for(y=z; y>0;y-- );
}

/*****************************************************************************************************
 - 功能描述: 串口1初始化
 - 隶属模块: 外部
 - 参数说明: 无
 - 返回说明: 无
 - 注:	      都是9600波特率
*****************************************************************************************************/
void Serial_init(void)
{
	TMOD = 0x20;                // 设置 T1 为波特率发生器
	SCON = 0x50;                // 0101,0000 8位数据位, 无奇偶校验
				   		
	PCON = 0x00;                //PCON=0;

	TH1=256-(SYS_Fosc/COMM_BAUD_RATE/32/12);//设置为9600波特率
	TL1=256-(SYS_Fosc/COMM_BAUD_RATE/32/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/835907
推荐阅读
相关标签
  

闽ICP备14008679号