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

📄 vs1003.c

📁 用atmega64+ch375(usb控制器)制成的板子用来读取USB中的数据的程序
💻 C
字号:
#include <iom64v.h>
#include <macros.h>

#include "vs1003.h"



void spi_init(void)
{
 /*DDRB = 0xFF;
 DDRE = 0xFF;
 DDRF = 0xFF;*/
 SPCR = 0x53; //setup SPI
 SPSR = 0x00; //setup SPI
}
void mp3_port_init()
{
 spi_init();
 MP3_DDRB|= MP3_SI | MP3_SCK;
 MP3_DDRE|= MP3_DATA_REST;
 MP3_DDRF|= MP3_CMD_CS | MP3_DATA_CS;
 MP3_DDRE&=~MP3_DATA_REQ;
 MP3_PORTF|= MP3_DATA_CS |MP3_CMD_CS;
 MP3_PORTE|= MP3_DATA_REST;
}

void Write_Byte_MMC(unsigned char byte)
{   
    SPDR = byte;
    while (!(SPSR & (1<<SPIF)));
}

unsigned char Read_Byte_MMC(void)
{   
    SPDR = 0xFF;
    while (!(SPSR &(1<<SPIF)));
    return SPDR;
}
void vs1003_data_write(uchar data)
{
 	MP3_PORTF&=~MP3_DATA_CS;         //MP3_DATA_CS=0;
	Write_Byte_MMC(data);
	MP3_PORTF|=MP3_DATA_CS;         //MP3_DATA_CS=1;	
}

void vs1003_cmd_write(uchar address,uint data)
{ 

  	MP3_PORTF&=~MP3_CMD_CS;       //MP3_CMD_CS=0;
	Write_Byte_MMC(0x02);      //VS1011的写命令

	Write_Byte_MMC(address);   //地址
	Write_Byte_MMC(data>>8);
	Write_Byte_MMC(data);

	MP3_PORTF|=MP3_CMD_CS;       //MP3_CMD_CS=1;
}

void vs1003_init(void)
{
 	vs1003_cmd_write(0x00,0x0800);     //NEW MODE
	vs1003_cmd_write(0x02,0x75);   //BASS
	vs1003_cmd_write(0x03,0x9800);   //CLOCK F
	vs1003_cmd_write(0x0b,0x2020);  //VOLUME
}

⌨️ 快捷键说明

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