> 文档中心 > DY-SV17F语音播放模块应用篇二 【UART 串口模式】

DY-SV17F语音播放模块应用篇二 【UART 串口模式】

UART 串口模式 是采用波特率为 9600 的全双工串口通信。

  1. 语音模块做为从机处理,上电默认等待状态,所有播放操作全由主机控制。
  2. 从机不会主动发起通信,所有通信都是由主机发起。

串口模式接线图:

使用串口可以存放65535曲目(需要注意模块只有4m内存),通过通信指令可以实现多种模式播放,具体如下:

控制指令 :

设置指令 :

查询指令

      指令太多,就不全部介绍了,本文只使用指定播放功能:

 

 AA 07 02 前三位固定的,不用管;

后三位分别是 曲目高8位 曲目低8位 SM

                    其中高8位和低8位刚好组成16进制,如0xFFFF刚好对应65535。

                    SM和检验,代表前面几个数据的和。

介绍完毕(细节操作过程请看第一章)

代码部分:

#include typedef unsigned char u8;u8 Music_Cmd_Appoint[] = {0xAA,0x07,0x02,0x00,0x00,0x00};//播放指定曲目初始化数组 //AA 07 02 曲目高8位 曲目低8位 SM(和检验,前面所有字节之和)void UartInit(void)//9600波特率 @11.0592MHz{PCON &= 0x7F;//波特率不倍速SCON = 0x50;//8位数据,可变波特率TMOD &= 0x0F;//设置定时器模式TMOD |= 0x20;//设置定时器模式TL1 = 0xFD;//设置定时初始值TH1 = 0xFD;//设置定时重载值ET1 = 0;//禁止定时器%d中断TR1 = 1;//定时器1开始计时}void UartSendByte(u8 C)//串口数据发送{    SBUF = C;    while(!TI);//等待发送完成    TI = 0;//软件置0}/*  说明:播放指定曲目  参数1:数组  参数2:播放第x首曲目*/void USART_MUSIC(u8 *mdate, u8 num)   {u8 i;mdate[4] = num;//写入播放曲目mdate[5] = 0;for(i=0; i<5; i++)//SM 把前面 数组0~4 总共5个数加起来{mdate[5] += mdate[i];}for(i=0; i<6; i++)//把修改后的曲目发送出去(每次发送一个数据,分6次发送完){UartSendByte(mdate[i]);}}void main()//主程序{UartInit();//串口初始化USART_MUSIC(Music_Cmd_Appoint, 2);//指定播放第二首while(1){}}

//完。

相关资料:

DY-SV17F语音播放模块应用篇一 【IO独立模式】_啊维的博客-CSDN博客