void AVjustVol(u8 Volume)
{
u8 i;
Volume=87-Volume;
VolDate=(u16)(Volume&0x7c); //装入衰减数; 双声道都有;
VolDate=VolDate|(u16)((Volume&0x03)<<7); //D7,D8 装入衰减数 ;
VolDate=VolDate|0x0600;
GPIO_WriteBit(GPIOB, GPIO_Pin_7, Bit_RESET);
GPIO_WriteBit(GPIOB, GPIO_Pin_6, Bit_RESET);
for (i=0;i<10;i++)
{
if((VolDate&0x01)==0)
{GPIO_WriteBit(GPIOB, GPIO_Pin_7, Bit_RESET);}
else
{GPIO_WriteBit(GPIOB, GPIO_Pin_7, Bit_SET);}
I2C_Delay(10);
GPIO_WriteBit(GPIOB, GPIO_Pin_6, Bit_SET);
I2C_Delay(10);
GPIO_WriteBit(GPIOB, GPIO_Pin_7, Bit_RESET);
I2C_Delay(10);
GPIO_WriteBit(GPIOB, GPIO_Pin_6, Bit_RESET);
I2C_Delay(10);
VolDate=VolDate>>1;
}
} |