×

YX5200-24SS芯片串口例程V1.6

消耗积分:0 | 格式:pdf | 大小:142KB | 2017-11-28

卢先生

分享资料个

串口语音YX5200-24SS单片机例程。

  /****************************************************************************** - 实现功能:实现芯片上电分别指定播放第一曲和第二曲,基本的程序供用户测试 - 日期 :2013-05-06 - 运行环境:STC 晶振:11.0592M 波特率:9600 - 备注 :在普中科技的 51 开发板上调试 OK --- STC89C516RD+ 1、该测试程序必须是模块或者芯片方案中有设备在线,譬如 U 盘、TF 卡、FLASH ******************************************************************************/ #include “REG52.h” #define COMM_BAUD_RATE 9600 //串口波特率 #define OSC_FREQ 11059200 //运行晶振:11.05926MHZ static INT8U Send_buf[10] = {0} ; 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-(OSC_FREQ/COMM_BAUD_RATE/32/12);//设置为 9600 波特率 TL1=256-(OSC_FREQ/COMM_BAUD_RATE/32/12); TR1 = 1; //定时器 1 打开 REN = 1; //串口 1 接收使能 ES = 1; //串口 1 中断使能 } void Uart_PutByte(INT8U ch) { SBUF = ch; while(!TI){;} TI = 0; } /****************************************************************************** - 功能描述: 串口向外发送命令[包括控制和查询] - 参数说明: CMD:表示控制指令,请查阅指令表,还包括查询的相关指令 feedback:是否需要应答[0:不需要应答,1:需要应答] data:传送的参数 ******************************************************************************/ void SendCmd(INT8U len) { INT8U i = 0 ; Uart_PutByte(0x7E); //起始 for(i=0; i》8); *(Str+i+1) = (INT8U)(xorsum & 0x00ff); } void Uart_SendCMD(INT8U CMD ,INT8U feedback , INT16U dat) { Send_buf[0] = 0xff; //保留字节 Send_buf[1] = 0x06; //长度 Send_buf[2] = CMD; //控制指令 Send_buf[3] = feedback;//是否需要反馈 Send_buf[4] = (INT8U)(dat 》》 8);//datah Send_buf[5] = (INT8U)(dat); //datal DoSum(&Send_buf[0],6); //校验 SendCmd(8); //发送此帧数据 } void main() { Serial_init() ;//串口寄存器的初始化设置 Uart_SendCMD(0x03 , 0 , 0x01) ;//播放第一首 Delay_Ms(1000) ;//延时大概 6S Uart_SendCMD(0x03 , 0 , 0x02) ;//播放第二首 Delay_Ms(1000) ;//延时大概 6S Uart_SendCMD(0x03 , 0 , 0x04) ;//播放第四首 while(

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !