PT2259引脚图
PT2259管脚功能定义:
音量电位器单片机源程序如下:
- void DrvPT2259VolumeCtrl(UCHAR Dat1, UCHAR Dat2)
- {
- I2CStart();
- DelayI2c(2);
- I2CWrite(0X88);
- DelayI2c(1);
- ACKCheck();
- I2CWrite(Dat1);
- DelayI2c(1);
- ACKCheck();
- I2CWrite(Dat2);
- DelayI2c(1);
- ACKCheck();
- I2CStop();
- }
- void VolumeContrlByTP2259(UCHAR selChannel, UCHAR volumeVal)
- {
-
- UCHAR BVal;
- UCHAR AVal;
-
- //volumeVal = (UINT)(100 - volumeVal)*79/100; //若声音从0-100范围内变化
- BVal = volumeVal/10;
- AVal = volumeVal%10;
- switch(selChannel)
- {
- case R_CHANNEL:
- DrvPT2259VolumeCtrl((0x30 | BVal), (0x20 | AVal));
- break;
- case L_CHANNEL:
- DrvPT2259VolumeCtrl((0xb0 | BVal), (0xa0 | AVal));
- break;
- case RL_CHANNEL:
- DrvPT2259VolumeCtrl((0xe0 | BVal), (0xd0 | AVal));
- break;
- default:
- break;
- }
- }
- void WriteTP2259(UCHAR Dat)
- {
- I2CStart();
- DelayI2c(2);
- I2CWrite(0X88);
- DelayI2c(1);
- ACKCheck();
- I2CWrite(Dat);
- DelayI2c(1);
- ACKCheck();
- I2CStop();
- }
- void MuteTP2259(UCHAR selChannel,FLAG muteFlg)
- {
- if(!muteFlg)
- {
- WriteTP2259(0x74); //mute off
- return;
- }
-
- switch(selChannel)
- {
- case R_CHANNEL:
- WriteTP2259(0x75); //r mute
- break;
- case L_CHANNEL:
- WriteTP2259(0x76); //l mute
- break;
- case RL_CHANNEL:
- WriteTP2259(0x77); //rl mute
- break;
- default:
- break;
- }
- }
- void ClearTP2259(void)
- {
- WriteTP2259(0XF0);
- }
复制代码
所有资料51hei提供下载:
PT2259驱动代码及资料.rar
(406.77 KB, 下载次数: 181)
|