搜档网
当前位置:搜档网 › C语言m62429音量控制程序

C语言m62429音量控制程序

uchar LR=0x00;//声道控制位

void VolSet(uint Volume)

{
uint Dat=0;
uchar i;
EA=0;
DAT=0;
CLK=0;

//Volume=87-Volume; //加上此句最大为0db,最小为87
Dat=(((Volume<<5)&0x60)|((Volume>>2)&0x1f))|0x80;//得到要控制的数值(看数据手册)

/*************************************************/
for (i=0;i<2;i++) //发送2位数据,控制声道 D0,D1
{
DAT=LR&0x01;
_nop_();_nop_();_nop_();_nop_();
CLK=1;
_nop_();_nop_();_nop_();_nop_();
DAT=0;
_nop_(); _nop_();_nop_();_nop_();
CLK=0;
LR=LR>>1;
}

/*************************************************/
for (i=0;i<8;i++) //发送8位数据,控制音量 D2....D9
{
DAT=Dat&0x01;
_nop_();_nop_();_nop_();_nop_();
CLK=1;
_nop_();_nop_();_nop_();_nop_();
DAT=0;
_nop_(); _nop_();_nop_();_nop_();
CLK=0;
Dat=Dat>>1;
}

/*************************************************/
DAT=1; //发送最后1位数据, D10=1
_nop_();_nop_();_nop_();_nop_();
CLK=1;
_nop_();_nop_();_nop_();_nop_();
CLK=0;
// DAT=0;
EA=1;

}

相关主题