• 大小: 7KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: M62429  C51  S51  单片机  

资源简介

M62429 C51 S51 单片机 #include #define uchar unsigned char #define uint unsigned int //这是M-62429的音量表格 uchar code vol_L[4]={3,1,2,0};//大小--0----3dB uchar code vol_H[22]={ 0x15,0x05,0x19,0x09,0x11, //0-4-8-12-16 大 dB 0x01,0x1E,0x0E,0x16,0x06, //20-24-28-32-38 0x1A,0x0A,0x12,0x02,0x1C, //40-44-48-52-56 0x0C,0x14,0x04,0x18,0x08, //60-64-68-72-76 0x00,0x00 //80-&& 小 };

资源截图

代码片段和文件信息

#include

#define uchar unsigned char
#define uint unsigned int


//这是M-62429的音量表格
uchar code vol_L[4]={3120};//大小--0----3dB
uchar code vol_H[22]={
0x150x050x190x090x11      //0-4-8-12-16 大 dB
0x010x1E0x0E0x160x06     //20-24-28-32-38
0x1A0x0A0x120x020x1C   //40-44-48-52-56
0x0C0x140x040x180x08 //60-64-68-72-76
0x000x00        //80-&& 小
};

uchar vol=18;//初始音量值


sbit sda=P0^7;
sbit scl=P0^6;

sbit voladd=P1^5;
sbit voldec=P1^4;


#include

delay_ms(uint ms)
{
uint i;
for(;ms>0;ms--)
for(i=0;i<123;i++);
}

delayus()
{}


void wr_m624(uchar datuchar sun)
{  

uchar ij;
j=dat;

for(i=0;i{
   sda=0;//还必须要在时钟下降沿给SDA=0才可以,郁闷了很长时间才想到
   delayus();
   scl=0;
   delayus();
   sda=j&0x80;//放置数据到SDA上面
   delayus();
   scl=1;   //写数据上升沿有效
   delayus();
   j=j<<1;
}

}


void w_m62429(uchar dat)//写入数据到62429
{
uchar aj;
sda=1;
scl=0;

a=vol_H[dat/4];
a=a<<2;
j=a+vol_L[dat%4];
j=j<<1;

wr_m624(0x02);     //先写入001CH加二CH同+
wr_m624(j7);     //写入volume
wr_m624(0xff2);//写入11
sda=1;
delayus();//写锁信号下降沿有效
scl=0;
delayus();
scl=1;
}
                                                                                                                                                                                                                                                         
void main()
{
delay_ms(300);//等电源稳定再发数据
   Ht1621_Init();

   SRS=1;
   MVOL=0;

   JAZZ     =1;
   DEFINE   =1;
   PAUSE    =1;
   PLAY     =1;
   ROCK     =1;
   CLASSLCAL=1;
   HIP      =1;
   BULE     =1;

   Ht1621Wr5Data(vol);
w_m62429(vol);
P2=vol;
while(1)
{
//-------------------------
    if(voladd==0)
    {
     delay_ms(20);
     if(voladd==0)
     {
      if(vol>0)
      {
       vol--;
       P2=vol;
       w_m62429(vol);
      // MVOL=1;
       Ht1621Wr5Data(84-vol);
       delay_ms(100);
      // MVOL=0;
      // Ht1621Wr5Data(vol);
      }
     }
    }
    //--------------------
    if(voldec==0)
    {
     delay_ms(20);
     if(voldec==0)
     {
      if(vol<84)
      {
       vol++;
       P2=vol;
       w_m62429(vol);
      // MVOL=1;
       Ht1621Wr5Data(84-vol);
       delay_ms(100);
       //MVOL=0;
      // Ht1621Wr5Data(vol);
      }
     }
    }
}//whileend

}//main-end

/********************************************************: HT1621
ZHCE    1.0    HT1621
   
2008213
********************************************************/
//#include 
#include 
//#define uchar unsigned char
//#define uint unsigned int
#define _Nop() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
#define BIAS   0x52//0b1000 0101 0010 1/3duty 4comLCD
#define SYSDIS 0X00//0b1000 0000 0000
#define SYSEN 0X02     //0b1000 0000 0010
#define LCDOFF 0X04     //0b1000 0000 0100 LCD
#define LCDON 0X06//0b1000 0000 0110 LCD
#define XTAL   0x28     //0b1000 0010 1

评论

共有 条评论