标题: PT2259音量电位器单片机程序与引脚图及pdf资料下载 [打印本页]

作者: 大黄蜂886    时间: 2018-4-28 07:51
标题: PT2259音量电位器单片机程序与引脚图及pdf资料下载
PT2259引脚图


PT2259管脚功能定义:




音量电位器单片机源程序如下:
  1. void DrvPT2259VolumeCtrl(UCHAR Dat1, UCHAR Dat2)
  2. {
  3.     I2CStart();   
  4.     DelayI2c(2);
  5.     I2CWrite(0X88);
  6.     DelayI2c(1);
  7.     ACKCheck();
  8.     I2CWrite(Dat1);
  9.     DelayI2c(1);
  10.     ACKCheck();
  11.     I2CWrite(Dat2);
  12.     DelayI2c(1);
  13.     ACKCheck();
  14.     I2CStop();               
  15. }


  16. void VolumeContrlByTP2259(UCHAR selChannel, UCHAR volumeVal)
  17. {
  18.      
  19.      UCHAR BVal;
  20.      UCHAR AVal;
  21.      
  22.      //volumeVal = (UINT)(100 - volumeVal)*79/100;  //若声音从0-100范围内变化

  23.      BVal = volumeVal/10;
  24.      AVal = volumeVal%10;

  25.      switch(selChannel)
  26.      {
  27.          case R_CHANNEL:
  28.               DrvPT2259VolumeCtrl((0x30 | BVal), (0x20 | AVal));
  29.               break;

  30.          case L_CHANNEL:
  31.               DrvPT2259VolumeCtrl((0xb0 | BVal), (0xa0 | AVal));
  32.               break;

  33.          case RL_CHANNEL:
  34.               DrvPT2259VolumeCtrl((0xe0 | BVal), (0xd0 | AVal));
  35.               break;

  36.          default:
  37.               break;
  38.      }
  39. }


  40. void WriteTP2259(UCHAR Dat)  
  41. {
  42.     I2CStart();   
  43.     DelayI2c(2);
  44.     I2CWrite(0X88);
  45.     DelayI2c(1);
  46.     ACKCheck();
  47.     I2CWrite(Dat);
  48.     DelayI2c(1);
  49.     ACKCheck();
  50.     I2CStop();
  51. }


  52. void MuteTP2259(UCHAR selChannel,FLAG muteFlg)
  53. {
  54.     if(!muteFlg)
  55.     {
  56.         WriteTP2259(0x74); //mute off
  57.         return;
  58.     }
  59.    
  60.     switch(selChannel)
  61.     {       
  62.          case R_CHANNEL:
  63.               WriteTP2259(0x75); //r mute
  64.               break;

  65.          case L_CHANNEL:
  66.               WriteTP2259(0x76); //l mute
  67.               break;

  68.          case RL_CHANNEL:
  69.               WriteTP2259(0x77); //rl mute
  70.               break;

  71.          default:
  72.               break;
  73.     }  
  74. }


  75. void ClearTP2259(void)
  76. {
  77.    WriteTP2259(0XF0);
  78. }
复制代码

所有资料51hei提供下载:
PT2259驱动代码及资料.rar (406.77 KB, 下载次数: 194)



作者: cuf_1798    时间: 2019-2-15 12:33
很好的资料
作者: W123w    时间: 2019-3-17 13:11
我觉得应该很好吧。
作者: zhoualvin    时间: 2019-8-4 16:53
很有用的,明儿试试
作者: bobbey    时间: 2020-4-23 14:24
学习了,刚好有用到这个芯片,谢谢LZ
作者: EasonWuaa    时间: 2020-9-22 11:08
PT2259上电后 是不是要等待200MS以后才能正常进行I2C通信?
作者: 随意吧    时间: 2021-4-23 14:24
bobbey 发表于 2020-4-23 14:24
学习了,刚好有用到这个芯片,谢谢LZ

刚刚好我也要用到,又刚好时隔一年的此时此刻

作者: gogoto    时间: 2022-3-7 19:50
刚好用到了PT2259芯片,感谢分享。
作者: cgc2003    时间: 2022-7-14 17:00

有个项目刚好用到了PT2259芯片。非常感谢分享。
作者: 394511647    时间: 2022-8-15 11:13
感谢感谢,谢谢分享,刚好用到,官方的data里面没有IIC通讯部分,这个太好了
作者: qjy822    时间: 2022-10-8 11:51
感谢楼主分享!正想找这个!
作者: hxii    时间: 2024-1-17 09:47

感谢楼主分享
作者: 12333890    时间: 2024-4-26 09:31
pt2259和m62429哪个好?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1