⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vs1003.h

📁 MSP430控制VS1003播放SD卡中的音乐
💻 H
字号:

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

        +-----------------------------------------+
        |              VS1003模块                   |
        +-----------------------------------------+
使用UART1串口SPI模式控制SD卡存储  端口选择 P5.4=/xCS,
    P5.5=/xDCS ,P5.3=SCLK,P5.2=SO,P5.1=SI,P5.6=DREQ ,   
    P5.0=/xRESET   
vs1003的底层驱动程序,主控芯片为msp340-149;
其他的微处理器(带SPI接口的)只需稍加修改即可适用;

             ->产品咨询 QQ:461693690 
		       MSN:ly461693690@hotmail.com
	                    
说明:VS1003模块 通过测试,确保其正确性与稳定性,请放心使用,
      			  
***********************************************************/

#ifndef VS10XX_H
#define VS10XX_H

/* Include processor definition */
#include <msp430x14x.h>

//vs1003相关宏定义 
#define VS_WRITE_COMMAND 0x02    //写命令
#define VS_READ_COMMAND  0x03    //读命令
#define SPI_MODE         0x00    //控制模式   
#define SPI_STATUS       0x01    //VS1003 状态   
#define SPI_BASS         0x02    //内置高/低音增强器   
#define SPI_CLOCKF       0x03    //时钟频率 + 倍频数   
#define SPI_DECODE_TIME  0x04    //每秒解码次数  
#define SPI_AUDATA       0x05    //音频数据   
#define SPI_WRAM         0x06    //RAM 读写  
#define SPI_WRAMADDR     0x07    //RAM 读写地址  
#define SPI_HDAT0        0x08    //流头数据0  
#define SPI_HDAT1        0x09    //流头数据1  
#define SPI_AIADDR       0x0A    //应用程序起始地址  
#define SPI_VOL          0x0B    //音量控制  
#define SPI_AICTRL0      0x0C    //应用控制寄存器0 
#define SPI_AICTRL1      0x0D    //应用控制寄存器1   
#define SPI_AICTRL2      0x0E    //应用控制寄存器2  
#define SPI_AICTRL3      0x0F    //应用控制寄存器3  

//msp430-149与vs1003的接口定义
/*
  I/O         NAME
  P5.4      /xCS
  P5.5        /xDCS
  P5.3        SCLK
  P5.2        SO
  P5.1        SI        
  P5.6        DREQ    
  P5.0       /xRESET 
*/
#define MP3_XRESET   ( 1 << 0)
 
#define Mp3PutInReset()  { P5OUT &= ~MP3_XRESET; }  //xReset = 0
 
#define Mp3ReleaseFromReset()  { P5OUT |= MP3_XRESET; }//xReset = 1
 
#define MP3_XCS  ( 1 << 4)
#define Mp3SelectControl()  {P5OUT &= ~MP3_XCS; }//xCS = 0
 
#define Mp3DeselectControl()  {P5OUT |= MP3_XCS; }//xCS = 1
 
#define MP3_XDCS ( 1 << 5 )

#define Mp3SelectData()		{ P5OUT &= ~MP3_XDCS; }//xDCS = 0

#define Mp3DeselectData()	{ P5OUT |= MP3_XDCS; }//xDCS = 1

#define MP3_DREQ ( 1 << 6 )

			 

void VS_Reset(); //VS1003软复位及初始化
void VS_Write_Reg(unsigned char addr,unsigned char hdat,unsigned char ldat); //向VS1003的功能寄存器写入一个字
unsigned int VS_Read_Reg(unsigned char addr); //从VS1003的功能寄存器读取一个字
void VS_Send_Dat(unsigned char dat); //向VS1003发送音频数据
void VS_Flush_Buffer(); //清空VS1003的数据缓冲区
void VS_sin_test(unsigned char x); //正弦测试

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -