打印
[51单片机]

关于AT24C02的存储

[复制链接]
1504|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ssc564023652|  楼主 | 2015-10-7 14:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ssc564023652|  楼主 | 2015-10-7 14:10 | 只看该作者
这个是第一个程序,能正常运行
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit key5=P3^0;
sbit wela=P2^7;
sbit dula=P2^6;
sbit led1=P1^0;
sbit led2=P1^1;
bit write=0; //写24C08的标志;
bit flag=0;
sbit sda=P2^0; //IIC接口SDA定义
sbit scl=P2^1; //IIC接口SCL定义
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //定义I/O

void delayms(uint);          //申明延迟函数

uchar bei,num,num1,y=0,y1=0,numt1,numt3,chu0,chu1,chu2,chu3,chu4;
uint numt0;
uchar mode=0;
unsigned long numt2;

/////////24C02读写驱动程序////////////////////
void delay1(unsigned char x) //延时子函数
{ unsigned int i;
for(i=0;i<x;i++);}
void flash() //延时子函数
{ ; ; }
void x24c08_init() //24c02初始化子程序
{scl=1; flash(); sda=1; flash();}
void start() //启动I2C总线
{sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();}
void stop() //停止I2C总线
{sda=0; flash(); scl=1; flash(); sda=1; flash();}
void writex(unsigned char j) //写一个字节
{ unsigned char i,temp;
temp=j;
for (i=0;i<8;i++)
{temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();}
scl=0; flash(); sda=1; flash();
}
unsigned char readx() //读一个字节
{
unsigned char i,j,k=0;
scl=0; flash(); sda=1;
for (i=0;i<8;i++)
{ flash(); scl=1; flash();
if (sda==1) j=1;
else j=0;
k=(k<<1)|j;
scl=0;}
flash(); return(k);
}
void clock() //I2C总线应答子函数
{
unsigned char i=0;
scl=1; flash();
while ((sda==1)&&(i<255))i++;
scl=0; flash();
}
////////从24c02的地址address中读取一个字节数据/////
unsigned char x24c08_read(unsigned char address)
{
unsigned char i;
start(); writex(0xa0);
clock(); writex(address);
clock(); start();
writex(0xa1); clock();
i=readx(); stop();
delay1(10);
return(i);
}
//////向24c02的address地址中写入一字节数据info/////
void x24c08_write(unsigned char address,unsigned char info)
{
EA=0;
start(); writex(0xa0);
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}

void display(uchar numdis)         //显示函数        mode 1
{        if(mode==3)                //显示stop
       
        {   wela=1;
                P0=0xfe;                          //  位选s
                wela=0;
                dula=1;
                P0=0x6d;          //显示s
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;
                P0=0xfd;                           //         位选t
                wela=0;
                dula=1;
                P0=0x78;          //   显示t
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选O
                P0=0xfb;
                wela=0;
                dula=1;
                P0=0x5c;                  //  显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选p
                P0=0xf7;
                wela=0;
                dula=1;
                P0=0x73;                  //  显示p
                dula=0;
                P0=0xff;
                delayms(5);
                }

        if(mode==2)
        {
               
                wela=1;
                P0=0xfe;                          //  位选G
                wela=0;
                dula=1;
                P0=0x3d;          //显示G
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;
                P0=0xfd;                           //         位选O
                wela=0;
                dula=1;
                P0=0x5c;          //   显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选O
                P0=0xfb;
                wela=0;
                dula=1;
                P0=0x5c;                  //  显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选d
                P0=0xf7;
                wela=0;
                dula=1;
                P0=0x5e;                  //  显示d
                dula=0;
                P0=0xff;
                delayms(5);


                }

        if(mode==0)
        {uchar shi,ge;
        shi=numdis%100/10;
        ge=numdis%10;
        wela=1;
        P0=0xfe;                          //  位选百位
        wela=0;
        dula=1;
        P0=0x76;          //显示百位H
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;
        P0=0xfd;                           //         位选十位
        wela=0;
        dula=1;
        P0=table[shi];          //   显示十位
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;                                        //        位选个位
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);

       
       
        /*wela=1;                                        //        位选
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge_c];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);        */
        }
       

  }

   void display1(uchar numdis1)         //显示函数1        mode 2
   {
             if(mode==1)
        {uchar shi1,ge1;
        shi1=numdis1%100/10;
        ge1=numdis1%10;
        wela=1;
        P0=0xfe;                          //  位选百位
        wela=0;
        dula=1;
        P0=0x6d;          //显示百位S
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;
        P0=0xfd;                           //         位选十位
        wela=0;
        dula=1;
        P0=table[shi1];          //   显示十位
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;                                        //        位选个位
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge1];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);
        }

   
   
   }

void delayms(uint xms)  //延时函数
{
        uint i,j;
        for(i=xms;i>0;i--)
         for(j=110;j>0;j--);
}

void init()                                                         //中断初始化函数
{
        TMOD=0X11;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET0=1;
        ET1=1;


}

void keyscan()   //按键扫描
{
       
        if(key1==0&&TR0==0&&mode==0)
        {
                delayms(60);                 //                    设置倒计时时间++
                if(key1==0)
                {         numt0=0;
                       
                        led1=1;
                        num++;
                        if(num==100)
                        num=0;
                    y=num;
                        while(key1==1);
                }
        }

                if(key1==0&&mode==1&&TR0==0)
        {
                delayms(60);                 //                    设置间隔时间++
                if(key1==0)
                {         numt2=0;
                        flag=0;
                        led1=1;
                        num1++;
                        if(num1==100)
                        num1=0;
                        y1=num1;
                        while(key1==1);
                }
        }

        if(key2==0&&TR0==0&&mode==0)
        {
                delayms(60);
                if(key2==0)
                {         numt0=0;
                       
                        led1=1;
                        if(num==0)                           //                   设置倒计时时间--
                        num=100;
                        num--;
                        y=num;
                        while(key2==1);

                }
        }

                if(key2==0&&mode==1&&TR0==0)
        {
                delayms(60);
                if(key2==0)
                {         numt2=0;
                        flag=0;
                        led1=1;
                        if(num1==0)                           //                   设置间隔时间--
                        num1=100;
                        num1--;
                        y1=num1;
                        while(key2==1);

                }
        }
                 if(key3==0)
        {          
                delayms(10);
                while(key3==0)                         //        模式++       
                {        delayms(300);
                        mode++;
                       
               
                       
                        }
                if(mode>=2)
                        {
                                mode=0;               

                                }
        }
        if(key4==0)
        {
               
                delayms(10);
                                                           //开启中断,程序开始
                if(key4==0)
                {
                        while(!key4);
                        TR0=1;
                     
                       
       
                }
        }         
         
           if(key5==0)
        {
               
                delayms(10);
               
                if(key5==0)
                {       
                        while(!key5);
                        TR0=0;
                       
                        mode=3;
                        display(y);
                       
               
                }
        }         
}

void main()
{       
         init();
         init();
         x24c08_init(); //初始化24C08
        y=x24c08_read(10); //读出保存的数据赋于y
        num=x24c08_read(20);
        y1=x24c08_read(30);
        num1=x24c08_read(40);
        numt0=x24c08_read(50);
        numt2=x24c08_read(60);

         while(1)
         {
         
                 keyscan();
               
               
                {display(y);
                if(write==1) //判断计时器是否计时一秒
                {
                        write=0; //清零
                        x24c08_write(10,y); //在24c02的地址2中写入数据y
                        x24c08_write(20,num);
                        x24c08_write(50,numt0);        
               
                }
                display1(y1);
                {
                        write=0; //清零
                        x24c08_write(30,y1);
                        x24c08_write(40,num1);
                        x24c08_write(60,numt2);
                        x24c08_write(70,flag);
       
                }



            }







               
         }
   

}

void T0_time() interrupt 1
{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        if(flag==0)
  {       
        numt0++;
        numt1++;

        if(numt1==19)
        {led1=0;}
        if(numt1==20)
        {
                write=1; //1秒写一次24C02
                led1=1;
                numt1=0;
        }

        if(numt0==100)                           //numt0=20间隔1S numt0=1200间隔1分钟
        {
                numt0=0;
                y--;
               
                if(y==0)
                {
               
                                               
                   flag=1;
                   y=num;

                }
                  
        }
        }
        if(flag==1)
        {       
                numt2++;
                numt3++;

        if(numt3==19)
        {led2=0;}
        if(numt3==20)
        {
                write=1; //1秒写一次24C02
                led2=1;
                numt3=0;
        }

        if(numt2==100)                           //numt0=20间隔1S numt0=1200间隔1分钟
        {
                numt2=0;
                y1--;
               
                if(y1==0)
                {
                                               
                   flag=0;
                   y1=num1;

                }
                  
        }
           }

}

使用特权

评论回复
板凳
ssc564023652|  楼主 | 2015-10-7 14:12 | 只看该作者
这个是第二个程序,只不过把numt0和numt2换成8位保存而已,但是运行有问题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit key5=P3^0;
sbit wela=P2^7;
sbit dula=P2^6;
sbit led1=P1^0;
sbit led2=P1^1;
bit write=0; //写24C08的标志;
bit flag=0;
sbit sda=P2^0; //IIC接口SDA定义
sbit scl=P2^1; //IIC接口SCL定义
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //定义I/O

void delayms(uint);          //申明延迟函数

uchar bei,num,num1,y=0,y1=0,numt1,numt3,data8_1,data8_2,data8_3,data8_4,data8_5,data8_6;
uint numt0;
uchar mode=0;
ulong numt2;

/////////24C02读写驱动程序////////////////////
void delay1(unsigned char x) //延时子函数
{ unsigned int i;
for(i=0;i<x;i++);}
void flash() //延时子函数
{ ; ; }
void x24c08_init() //24c02初始化子程序
{scl=1; flash(); sda=1; flash();}
void start() //启动I2C总线
{sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();}
void stop() //停止I2C总线
{sda=0; flash(); scl=1; flash(); sda=1; flash();}
void writex(unsigned char j) //写一个字节
{ unsigned char i,temp;
temp=j;
for (i=0;i<8;i++)
{temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();}
scl=0; flash(); sda=1; flash();
}
unsigned char readx() //读一个字节
{
unsigned char i,j,k=0;
scl=0; flash(); sda=1;
for (i=0;i<8;i++)
{ flash(); scl=1; flash();
if (sda==1) j=1;
else j=0;
k=(k<<1)|j;
scl=0;}
flash(); return(k);
}
void clock() //I2C总线应答子函数
{
unsigned char i=0;
scl=1; flash();
while ((sda==1)&&(i<255))i++;
scl=0; flash();
}
////////从24c02的地址address中读取一个字节数据/////
unsigned char x24c08_read(unsigned char address)
{
unsigned char i;
start(); writex(0xa0);
clock(); writex(address);
clock(); start();
writex(0xa1); clock();
i=readx(); stop();
delay1(10);
return(i);
}
//////向24c02的address地址中写入一字节数据info/////
void x24c08_write(unsigned char address,unsigned char info)
{
EA=0;
start(); writex(0xa0);
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}

void display(uchar numdis)         //显示函数        mode 1
{        if(mode==3)                //显示stop
       
        {   wela=1;
                P0=0xfe;                          //  位选s
                wela=0;
                dula=1;
                P0=0x6d;          //显示s
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;
                P0=0xfd;                           //         位选t
                wela=0;
                dula=1;
                P0=0x78;          //   显示t
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选O
                P0=0xfb;
                wela=0;
                dula=1;
                P0=0x5c;                  //  显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选p
                P0=0xf7;
                wela=0;
                dula=1;
                P0=0x73;                  //  显示p
                dula=0;
                P0=0xff;
                delayms(5);
                }

        if(mode==2)
        {
               
                wela=1;
                P0=0xfe;                          //  位选G
                wela=0;
                dula=1;
                P0=0x3d;          //显示G
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;
                P0=0xfd;                           //         位选O
                wela=0;
                dula=1;
                P0=0x5c;          //   显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选O
                P0=0xfb;
                wela=0;
                dula=1;
                P0=0x5c;                  //  显示O
                dula=0;
                P0=0xff;
                delayms(5);
                wela=1;                                        //        位选d
                P0=0xf7;
                wela=0;
                dula=1;
                P0=0x5e;                  //  显示d
                dula=0;
                P0=0xff;
                delayms(5);


                }

        if(mode==0)
        {uchar shi,ge;
        shi=numdis%100/10;
        ge=numdis%10;
        wela=1;
        P0=0xfe;                          //  位选百位
        wela=0;
        dula=1;
        P0=0x76;          //显示百位H
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;
        P0=0xfd;                           //         位选十位
        wela=0;
        dula=1;
        P0=table[shi];          //   显示十位
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;                                        //        位选个位
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);

       
       
        /*wela=1;                                        //        位选
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge_c];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);        */
        }
       

  }

   void display1(uchar numdis1)         //显示函数1        mode 2
   {
             if(mode==1)
        {uchar shi1,ge1;
        shi1=numdis1%100/10;
        ge1=numdis1%10;
        wela=1;
        P0=0xfe;                          //  位选百位
        wela=0;
        dula=1;
        P0=0x6d;          //显示百位S
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;
        P0=0xfd;                           //         位选十位
        wela=0;
        dula=1;
        P0=table[shi1];          //   显示十位
        dula=0;
        P0=0xff;
        delayms(5);
        wela=1;                                        //        位选个位
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge1];                  //  显示个位
        dula=0;
        P0=0xff;
        delayms(5);
        }

   
   
   }

void delayms(uint xms)  //延时函数
{
        uint i,j;
        for(i=xms;i>0;i--)
         for(j=110;j>0;j--);
}

void init()                                                         //中断初始化函数
{
        TMOD=0X11;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET0=1;
        ET1=1;


}

void keyscan()   //按键扫描
{
       
        if(key1==0&&TR0==0&&mode==0)
        {
                delayms(60);                 //                    设置倒计时时间++
                if(key1==0)
                {         numt0=0;
                       
                        led1=1;
                        num++;
                        if(num==100)
                        num=0;
                    y=num;
                        while(key1==1);
                }
        }

                if(key1==0&&mode==1&&TR0==0)
        {
                delayms(60);                 //                    设置间隔时间++
                if(key1==0)
                {         numt2=0;
                        flag=0;
                        led1=1;
                        num1++;
                        if(num1==100)
                        num1=0;
                        y1=num1;
                        while(key1==1);
                }
        }

        if(key2==0&&TR0==0&&mode==0)
        {
                delayms(60);
                if(key2==0)
                {         numt0=0;
                       
                        led1=1;
                        if(num==0)                           //                   设置倒计时时间--
                        num=100;
                        num--;
                        y=num;
                        while(key2==1);

                }
        }

                if(key2==0&&mode==1&&TR0==0)
        {
                delayms(60);
                if(key2==0)
                {         numt2=0;
                        flag=0;
                        led1=1;
                        if(num1==0)                           //                   设置间隔时间--
                        num1=100;
                        num1--;
                        y1=num1;
                        while(key2==1);

                }
        }
                 if(key3==0)
        {          
                delayms(10);
                while(key3==0)                         //        模式++       
                {        delayms(300);
                        mode++;
                       
               
                       
                        }
                if(mode>=2)
                        {
                                mode=0;               

                                }
        }
        if(key4==0)
        {
               
                delayms(10);
                                                           //开启中断,程序开始
                if(key4==0)
                {
                        while(!key4);
                        TR0=1;
                     
                       
       
                }
        }         
         
           if(key5==0)
        {
               
                delayms(10);
               
                if(key5==0)
                {       
                        while(!key5);
                        TR0=0;
                       
                        mode=3;
                        display(y);
                       
               
                }
        }         
}

void main()
{       
         init();
         init();
         x24c08_init(); //初始化24C08
        y=x24c08_read(1); //读出保存的数据赋于sec
        num=x24c08_read(2); //读出保存的数据赋于sec
        y1=x24c08_read(5); //读出保存的数据赋于sec
        num1=x24c08_read(6); //读出保存的数据赋于sec
//        numt0=x24c08_read(0x50); //读出保存的数据赋于sec
//        numt2=x24c08_read(0x60); //读出保存的数据赋于sec
        flag=x24c08_read(7);
        data8_1=x24c08_read(3);
        data8_2=x24c08_read(4);
        data8_3=x24c08_read(8);
        data8_4=x24c08_read(9);
        data8_5=x24c08_read(10);
        data8_6=x24c08_read(11);
        numt0=((uint)data8_1 << 8) | (uint)(data8_2);
        numt2=((ulong)data8_3 << 24) | ((ulong)data8_4 << 16) | ((ulong)data8_5 << 8) | ((ulong)data8_6) ;
       
       
         while(1)
         {
         
                 keyscan();
               
               
                {display(y);
                if(write==1) //判断计时器是否计时一秒
                {
                        write=0; //清零
                        x24c08_write(1,y); //在24c02的地址1中写入数据y
                        x24c08_write(2,num);
        //                x24c08_write(50,numt0);
                        x24c08_write(3,data8_1);
                        x24c08_write(4,data8_2);
               
                }
                display1(y1);
                  
                        if(write==1)
                {
               
                               
                        write=0; //清零
                        x24c08_write(5,y1); //在24c02的地址5中写入数据y1
                        x24c08_write(6,num1);
        //                x24c08_write(60,numt2);
                        x24c08_write(7,flag);
                        x24c08_write(8,data8_3);
                        x24c08_write(9,data8_4);
                        x24c08_write(10,data8_5);
                        x24c08_write(11,data8_6);
       
       
                }



            }







               
         }
   

}

void T0_time() interrupt 1
{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        if(flag==0)
  {       
        numt0++;
        numt1++;

        if(numt1==19)
        {led1=0;}
        if(numt1==20)
        {   data8_1 = (uchar)(numt0 >> 8);
                data8_2 = (uchar)numt0 ;
                write=1; //1秒写一次24C02
                led1=1;
                numt1=0;
        }

        if(numt0==100)                           //numt0=20间隔1S numt0=1200间隔1分钟
        {
                numt0=0;
                y--;
               
                if(y==0)
                {
               
                                               
                   flag=1;
                   y=num;

                }
                  
        }
        }
        if(flag==1)
        {       
                numt2++;
                numt3++;

        if(numt3==19)
        {led2=0;}
        if(numt3==20)
        {        data8_3 = (uchar)(numt2 >> 24);
                data8_4 = (uchar)(numt2 >> 16);
                data8_5 = (uchar)(numt2 >> 8);
                data8_6 = (uchar)numt2  ;
                write=1; //1秒写一次24C02
                led2=1;
                numt3=0;
        }

        if(numt2==100)                           //numt0=20间隔1S numt0=1200间隔1分钟
        {
                numt2=0;
                y1--;
               
                if(y1==0)
                {
                                               
                   flag=0;
                   y1=num1;

                }
                  
        }
           }

}

使用特权

评论回复
地板
ningling_21| | 2015-10-8 15:03 | 只看该作者
操作EEPROM期间是否关闭中断?

使用特权

评论回复
5
专注于嵌入式| | 2015-10-8 16:11 | 只看该作者
郭天祥害人啊,这程序风格,我也是汗颜。

使用特权

评论回复
6
xyz549040622| | 2015-10-9 07:41 | 只看该作者
风格要变好点。看完也不知道楼主出问题到底是啥问题

使用特权

评论回复
7
ayb_ice| | 2015-10-9 08:20 | 只看该作者
ssc564023652 发表于 2015-10-7 14:12
这个是第二个程序,只不过把numt0和numt2换成8位保存而已,但是运行有问题
                                                                                                                                                                                                                     ...

估计是页写的问题

使用特权

评论回复
8
单片机开发| | 2015-10-9 08:59 | 只看该作者
专注于嵌入式 发表于 2015-10-8 16:11
郭天祥害人啊,这程序风格,我也是汗颜。

;P

使用特权

评论回复
9
ssc564023652|  楼主 | 2016-7-5 16:08 | 只看该作者
哦,这个问题过了好久了,后来发现了,保存2个数据之间间隔时间太短,AT24C02都没有存到,稍加延迟就可以了

使用特权

评论回复
10
ningling_21| | 2016-7-5 16:56 | 只看该作者
ssc564023652 发表于 2016-7-5 16:08
哦,这个问题过了好久了,后来发现了,保存2个数据之间间隔时间太短,AT24C02都没有存到,稍加延迟就可以了 ...

这类器件在页写时需加延时才行

使用特权

评论回复
11
NE5532| | 2016-7-5 17:05 | 只看该作者
ssc564023652 发表于 2016-7-5 16:08
哦,这个问题过了好久了,后来发现了,保存2个数据之间间隔时间太短,AT24C02都没有存到,稍加延迟就可以了 ...

人家本来就有忙标志,你没注意看资料哈。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

42

帖子

0

粉丝