第一范文网 - 专业文章范例文档资料分享平台

音乐播放器课程设计报告

来源:用户分享 时间:2025/6/10 17:17:49 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

//WM8978 MIC增益设置(不包括BOOST的20dB,MIC-->ADC输入部分的增益) //gain:0~63,对应-12dB~35.25dB,0.75dB/Step void WM8978_MIC_Gain(u8 gain) { }

//WM8978 L2/R2(也就是Line In)增益设置(L2/R2-->ADC输入部分的增益) //gain:0~7,0表示通道禁止,1~7,对应-12dB~6dB,3dB/Step void WM8978_LINEIN_Gain(u8 gain) {

u16 regval; gain&=0X07;

regval=WM8978_Read_Reg(47); //读取R47 regval&=~(7<<4);

//清除原来的设置

gain&=0X3F;

WM8978_Write_Reg(45,gain);

//R45,左通道PGA设置

WM8978_Write_Reg(46,gain|1<<8); //R46,右通道PGA设置

WM8978_Write_Reg(47,regval|gain<<4);//设置R47

regval=WM8978_Read_Reg(48); //读取R48 regval&=~(7<<4);

//清除原来的设置

WM8978_Write_Reg(48,regval|gain<<4);//设置R48 }

//WM8978 AUXR,AUXL(PWM音频部分)增益设置(AUXR/L-->ADC输入部分的增益) //gain:0~7,0表示通道禁止,1~7,对应-12dB~6dB,3dB/Step void WM8978_AUX_Gain(u8 gain)

16

{

u16 regval; gain&=0X07;

regval=WM8978_Read_Reg(47); //读取R47 regval&=~(7<<0);

//清除原来的设置

WM8978_Write_Reg(47,regval|gain<<0);//设置R47

regval=WM8978_Read_Reg(48); //读取R48 regval&=~(7<<0);

//清除原来的设置

WM8978_Write_Reg(48,regval|gain<<0);//设置R48 }

//设置I2S工作模式

//fmt:0,LSB(右对齐);1,MSB(左对齐);2,飞利浦标准I2S;3,PCM/DSP; //len:0,16位;1,20位;2,24位;3,32位; void WM8978_I2S_Cfg(u8 fmt,u8 len) {

fmt&=0X03;

len&=0X03;//限定范围

WM8978_Write_Reg(4,(fmt<<3)|(len<<5)); //R4,WM8978工作模式设置

}

//设置耳机左右声道音量 //voll:左声道音量(0~63) //volr:右声道音量(0~63)

void WM8978_HPvol_Set(u8 voll,u8 volr)

17

{

voll&=0X3F;

volr&=0X3F;//限定范围

if(voll==0)voll|=1<<6;//音量为0时,直接mute if(volr==0)volr|=1<<6;//音量为0时,直接mute WM8978_Write_Reg(52,voll);

//R52,耳机左声道音量设置

WM8978_Write_Reg(53,volr|(1<<8)); //R53,耳机右声道音量设置,同步更新(HPVU=1)

}

//设置喇叭音量

//voll:左声道音量(0~63) void WM8978_SPKvol_Set(u8 volx) {

volx&=0X3F;//限定范围

if(volx==0)volx|=1<<6;//音量为0时,直接mute

//R54,喇叭左声道音量设置

WM8978_Write_Reg(54,volx);

WM8978_Write_Reg(55,volx|(1<<8)); //R55,喇叭右声道音量设置,同步更新(SPKVU=1)

}

//设置3D环绕声

//depth:0~15(3D强度,0最弱,15最强) void WM8978_3D_Set(u8 depth) {

depth&=0XF;//限定范围

WM8978_Write_Reg(41,depth); //R41,3D环绕设置

18

}

//设置EQ/3D作用方向 //dir:0,在ADC起作用 // 1,在DAC起作用(默认) void WM8978_EQ_3D_Dir(u8 dir) {

u16 regval;

regval=WM8978_Read_Reg(0X12); if(dir)regval|=1<<8; else regval&=~(1<<8);

WM8978_Write_Reg(18,regval);//R18,EQ1的第9位控制EQ/3D方向 }

//设置EQ1

//cfreq:截止频率,0~3,分别对应:80/105/135/175Hz //gain:增益,0~24,对应-12~+12dB void WM8978_EQ1_Set(u8 cfreq,u8 gain) {

u16 regval;

cfreq&=0X3;//限定范围 if(gain>24)gain=24; gain=24-gain;

regval=WM8978_Read_Reg(18); regval&=0X100;

regval|=cfreq<<5; //设置截止频率

19

搜索更多关于: 音乐播放器课程设计报告 的文档
音乐播放器课程设计报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8rkwu6lxvy072ie1yi364bptb11x4w00mg0_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top