TONEE 发表于 2011-6-18 23:21

终于搞出来的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;

}

huangjingjie 发表于 2011-7-25 19:51

支持楼主。谢分享。。

zds4468 发表于 2016-1-20 17:20

按键部分如何处理的?
页: [1]
查看完整版本: 终于搞出来的M62429音量控制上传代码大家分享