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

📄 vs1003.h

📁 mp3编解码芯片VS1003驱动程序
💻 H
字号:
#ifndef VS10XX_H
#define VS10XX_H

/* Include processor definition */
#include <LPC213x.H>

//vs1003相关宏定义 
#define VS_WRITE_COMMAND 0x02
#define VS_READ_COMMAND 0x03
#define SPI_MODE        0x0   
#define SPI_STATUS      0x1   
#define SPI_BASS        0x2   
#define SPI_CLOCKF      0x3   
#define SPI_DECODE_TIME 0x4   
#define SPI_AUDATA      0x5   
#define SPI_WRAM        0x6   
#define SPI_WRAMADDR    0x7   
#define SPI_HDAT0       0x8   
#define SPI_HDAT1       0x9   
#define SPI_AIADDR      0xa   
#define SPI_VOL         0xb   
#define SPI_AICTRL0     0xc   
#define SPI_AICTRL1     0xd   
#define SPI_AICTRL2     0xe   
#define SPI_AICTRL3     0xf   
#define SM_DIFF         0x01   
#define SM_JUMP         0x02   
#define SM_RESET        0x04   
#define SM_OUTOFWAV     0x08   
#define SM_PDOWN        0x10   
#define SM_TESTS        0x20   
#define SM_STREAM       0x40   
#define SM_PLUSV        0x80   
#define SM_DACT         0x100   
#define SM_SDIORD       0x200   
#define SM_SDISHARE     0x400   
#define SM_SDINEW       0x800   
#define SM_ADPCM        0x1000   
#define SM_ADPCM_HP     0x2000 

//LPC213x与vs1003的接口定义
/*
  I/O         NAME
  P0.2        /xCS
  P0.3        /xDCS
  P0.4        SCLK
  P0.5        SO
  P0.6        SI        
  P0.30       DREQ    
  P0.31       /xRESET 
*/
#define MP3_XRESET   ( 1 << 31 )
 
#define Mp3PutInReset()  { IO0CLR = MP3_XRESET; }  //xReset = 0
 
#define Mp3ReleaseFromReset()  { IO0SET = MP3_XRESET; }//xReset = 1
 
#define MP3_XCS  ( 1 << 2 )
 
#define Mp3SelectControl()  { IO0CLR = MP3_XCS; }//xCS = 0
 
#define Mp3DeselectControl()  { IO0SET = MP3_XCS; }//xCS = 1
 
#define MP3_XDCS ( 1 << 3 )

#define Mp3SelectData()		{ IO0CLR = MP3_XDCS; }//xDCS = 0

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

#define MP3_DREQ ( 1 << 30 )

#define SPIWait()	{ while((S0SPSR & 0x80) == 0); }//等待SPI将数据发送完毕

#define SPI_RESULT_BYTE  S0SPDR

#define Mp3SetVolume(leftchannel,rightchannel){\
		Mp3WriteRegister(11,(leftchannel),(rightchannel));}//音量设置 
		
		 
void  MSPI_Init(void);  //SPI初始化
void  InitPortVS1003(void);//LPC213x与vs1003的接口的初始化
void  SPIPutChar(unsigned char c);//通过SPI发送一个字节的数据
void  Mp3SoftReset(void);//vs1003的软件复位	
void  Mp3Reset(void);//vs1003的硬件复位
void  VsSineTest(void);//vs1003的正弦测试
void  Mp3WriteRegister(unsigned char addressbyte,unsigned char highbyte,unsigned char lowbyte);//写vs1003寄存器
unsigned int Mp3ReadRegister(unsigned char addressbyte);//读vs1003寄存器

#endif

⌨️ 快捷键说明

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