导航:首页 > 操作系统 > 温控单片机

温控单片机

发布时间:2022-01-25 14:51:56

1. 用单片机做温控系统的程序谁懂

我去年做了一个差不多的,也是报警控制的,你借鉴一下吧:
软件设计:

有两个文件,DS18B20.c和DS18B20.h,将这两个文件添加到工程里即可。

DS18B20.c:

/******************************************************************
程序名称:DS18B20温度测量、报警系统
简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度
可设置上限报警温度、下限报警温度
即高于上限值或者低于下限值时蜂鸣器报警
默认上限报警温度为32℃、默认下限报警温度为10℃
报警值可设置范围:最低上限报警值等于当前下限报警值
最高下限报警值等于当前上限报警值
将下限报警值调为0时为关闭下限报警功能

******************************************************************/
#include <AT89X52.h>
#include "DS18B20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P3_1 //定义调整键
#define DEC P3_2 //定义减少键
#define ADD P3_3 //定义增加键
#define BEEP P3_7 //定义蜂鸣器
#define JDQ P3_5
bit shanshuo_st; //闪烁间隔标志
bit beep_st; //蜂鸣器间隔标志
sbit DIAN = P2^7; //小数点
uchar x=0; //计数器
signed char m; //温度值全局变量
uchar n; //温度值全局变量
uchar set_st=0; //状态标志
signed char shangxian=70; //上限报警温度,默认值为70
signed char xiaxian=0; //下限报警温度,默认值为0
uchar code LEDData[]=;

/*****延时子程序*****/
void Delay(uint num)
{
while( --num );
}
void shortdelay(void) //误差 0us
{
unsigned char a,b,c;
for(c=165;c>0;c--)
for(b=100;b>0;b--)
for(a=150;a>0;a--);
_nop_; //if Keil,require use intrins.h
_nop_; //if Keil,require use intrins.h
}

/*****初始化定时器0*****/
void InitTimer(void)
{
TMOD=0x1;
TH0=0x3c;
TL0=0xb0; //50ms(晶振12M)
}

/*****定时器0中断服务程序*****/
void timer0(void) interrupt 1
{
TH0=0x3c;
TL0=0xb0;
x++;
}

/*****外部中断0服务程序*****/
void int0(void) interrupt 0
{

EX0=0; //关外部中断0
if(DEC==0&&set_st==1)
{
shangxian--;
if(shangxian<xiaxian)shangxian=xiaxian;
}
else if(DEC==0&&set_st==2)
{
xiaxian--;
if(xiaxian<0)xiaxian=0;
}
}

/*****外部中断1服务程序*****/
void int1(void) interrupt 2
{
EX1=0; //关外部中断1
if(ADD==0&&set_st==1)
{
shangxian++;
if(shangxian>99)shangxian=99;
}
else if(ADD==0&&set_st==2)
{
xiaxian++;
if(xiaxian>shangxian)xiaxian=shangxian;
}
}

/*****读取温度*****/
void check_wen(void)
{
uint a,b,c;
c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差
a=c/100; //计算得到十位数字
b=c/10-a*10; //计算得到个位数字
m=c/10; //计算得到整数位
n=c-a*100-b*10; //计算得到小数位
if(m<0) //设置温度显示上限
if(m>99) //设置温度显示上限
}

/*****显示开机初始化等待画面*****/
Disp_init()
{
P2 = 0xbf; //显示-
P1 = 0xf7;
Delay(200);
P1 = 0xfb;
Delay(200);
P1 = 0xfd;
Delay(200);
P1 = 0xfe;
Delay(200);

P1 = 0xff; //关闭显示
}

/*****显示温度子程序*****/
Disp_Temperature() //显示温度
{
P2 =0xc6; //显示C
P1 = 0xf7;
Delay(300);

P2 =LEDData[n]; //显示个位
P1 = 0xfb;
Delay(300);

P2 =LEDData[m%10]; //显示十位
DIAN = 0; //显示小数点
P1 = 0xfd;
Delay(300);

P2 =LEDData[m/10]; //显示百位
P1 = 0xfe;
Delay(300);

P1 = 0xff; //关闭显示
}

/*****显示报警温度子程序*****/
Disp_alarm(uchar baojing)
{
P2 =0xc6; //显示C
P1 = 0xf7;
Delay(200);

P2 =LEDData[baojing%10]; //显示十位
P1 = 0xfb;
Delay(200);

P2 =LEDData[baojing/10]; //显示百位
P1 = 0xfd;
Delay(200);

if(set_st==1)P2 =0x89;
else if(set_st==2)P2 =0xc7; //上限H、下限L标示
P1 = 0xfe;
Delay(200);

P1 = 0xff; //关闭显示
}

/*****报警子程序*****/
void Alarm()
{
if(x>=10)
if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0;
else BEEP=1;
if((m>=shangxian)||(m<xiaxian))
{shortdelay();
JDQ=0;}
else JDQ=1;
}

/*****主函数*****/
void main(void)
{
uint z;
InitTimer(); //初始化定时器
EA=1; //全局中断开关
TR0=1;
ET0=1; //开启定时器0
IT0=1;
IT1=1;
check_wen();
check_wen();
for(z=0;z<300;z++)
{
Disp_init();
}
while(1)
{
if(SET==0)
{
Delay(2000);
do{}while(SET==0);
set_st++;x=0;shanshuo_st=1;
if(set_st>2)set_st=0;
}
if(set_st==0)
{
EX0=0; //关闭外部中断0
EX1=0; //关闭外部中断1
check_wen();
Disp_Temperature();
Alarm(); //报警检测
}
else if(set_st==1)
{
BEEP=1; //关闭蜂鸣器
EX0=1; //开启外部中断0
EX1=1; //开启外部中断1
if(x>=10)
if(shanshuo_st)
}
else if(set_st==2)
{
BEEP=1; //关闭蜂鸣器
EX0=1; //开启外部中断0
EX1=1; //开启外部中断1
if(x>=10)
if(shanshuo_st)
}
}
}

/*****END*****/

DS18B20.h:

#include <AT89X52.h>
#define DQ P3_6 //定义DS18B20总线I/O

/*****延时子程序*****/
void Delay_DS18B20(int num)
{
while(num--) ;
}

/*****初始化DS18B20*****/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
Delay_DS18B20(8); //稍做延时
DQ = 0; //单片机将DQ拉低
Delay_DS18B20(80); //精确延时,大于480us
DQ = 1; //拉高总线
Delay_DS18B20(14);
x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败
Delay_DS18B20(20);
}

/*****读一个字节*****/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
Delay_DS18B20(4);
}
return(dat);
}

/*****写一个字节*****/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
Delay_DS18B20(5);
DQ = 1;
dat>>=1;
}
}

/*****读取温度*****/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器
a=ReadOneChar(); //读低8位
b=ReadOneChar(); //读高8位
t=b;
t<<=8;
t=t|a;
tt=t*0.0625;
t= tt*10+0.5; //放大10倍输出并四舍五入
return(t);
}

/*****END*****/

其中控制部分我用的是5V继电器,可以直接控制你的电机了。

两个电路图都差不多的,只不过我的多了几个调整按键,报警温度可以调的。我的这个程序你完全可以用到你的电路里德

2. 51单片机温度控制系统温控模块要怎么做

你好

温度控制可以用18b20,可以根据18b20的地址,实现多点温度控制

也可以通过串口将温度传到上位机电脑

3. 请教关于单片机温控程序

我在10年做了一个差不多的,也是报警控制的,你借鉴一下吧:

软件设计:

有两个文件,DS18B20.c和DS18B20.h,将这两个文件添加到工程里即可。

DS18B20.c:

/******************************************************************

程序名称:DS18B20温度测量、报警系统

简要说明:DS18B20温度计,温度测量范围0~99.9摄氏度

可设置上限报警温度、下限报警温度

即高于上限值或者低于下限值时蜂鸣器报警

默认上限报警温度为32℃、默认下限报警温度为10℃

报警值可设置范围:最低上限报警值等于当前下限报警值

最高下限报警值等于当前上限报警值

将下限报警值调为0时为关闭下限报警功能

******************************************************************/

#include<AT89X52.h>

#include"DS18B20.h"

#defineuintunsignedint

#defineucharunsignedchar//宏定义

#defineSETP3_1//定义调整键

#defineDECP3_2//定义减少键

#defineADDP3_3//定义增加键

#defineBEEPP3_7//定义蜂鸣器

#defineJDQP3_5

bitshanshuo_st;//闪烁间隔标志

bitbeep_st;//蜂鸣器间隔标志

sbitDIAN=P2^7;//小数点

ucharx=0;//计数器

signedcharm;//温度值全局变量

ucharn;//温度值全局变量

ucharset_st=0;//状态标志

signedcharshangxian=70;//上限报警温度,默认值为70

signedcharxiaxian=0;//下限报警温度,默认值为0

ucharcodeLEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};

/*****延时子程序*****/

voidDelay(uintnum)

{

while(--num);

}

voidshortdelay()(void)//误差0us

{

unsignedchara,b,c;

for(c=165;c>0;c--)

for(b=100;b>0;b--)

for(a=150;a>0;a--);

_nop_;//ifKeil,requireuseintrins.h

_nop_;//ifKeil,requireuseintrins.h

}

/*****初始化定时器0*****/

voidInitTimer(void)

{

TMOD=0x1;

TH0=0x3c;

TL0=0xb0;//50ms(晶振12M)

}

/*****定时器0中断服务程序*****/

voidtimer0(void)interrupt1

{

TH0=0x3c;

TL0=0xb0;

x++;

}

/*****外部中断0服务程序*****/

voidint0(void)interrupt0

{

EX0=0;//关外部中断0

if(DEC==0&&set_st==1)

{

shangxian--;

if(shangxian<xiaxian)shangxian=xiaxian;

}

elseif(DEC==0&&set_st==2)

{

xiaxian--;

if(xiaxian<0)xiaxian=0;

}

}

/*****外部中断1服务程序*****/

voidint1(void)interrupt2

{

EX1=0;//关外部中断1

if(ADD==0&&set_st==1)

{

shangxian++;

if(shangxian>99)shangxian=99;

}

elseif(ADD==0&&set_st==2)

{

xiaxian++;

if(xiaxian>shangxian)xiaxian=shangxian;

}

}

/*****读取温度*****/

voidcheck_wen(void)

{

uinta,b,c;

c=ReadTemperature()-5;//获取温度值并减去DS18B20的温漂误差

a=c/100;//计算得到十位数字

b=c/10-a*10;//计算得到个位数字

m=c/10;//计算得到整数位

n=c-a*100-b*10;//计算得到小数位

if(m<0){m=0;n=0;}//设置温度显示上限

if(m>99){m=99;n=9;}//设置温度显示上限

}

/*****显示开机初始化等待画面*****/

Disp_init()

{

P2=0xbf;//显示-

P1=0xf7;

Delay(200);

P1=0xfb;

Delay(200);

P1=0xfd;

Delay(200);

P1=0xfe;

Delay(200);

P1=0xff;//关闭显示

}

/*****显示温度子程序*****/

Disp_Temperature()//显示温度

{

P2=0xc6;//显示C

P1=0xf7;

Delay(300);

P2=LEDData[n];//显示个位

P1=0xfb;

Delay(300);

P2=LEDData[m%10];//显示十位

DIAN=0;//显示小数点

P1=0xfd;

Delay(300);

P2=LEDData[m/10];//显示百位

P1=0xfe;

Delay(300);

P1=0xff;//关闭显示

}

/*****显示报警温度子程序*****/

Disp_alarm(ucharbaojing)

{

P2=0xc6;//显示C

P1=0xf7;

Delay(200);

P2=LEDData[baojing%10];//显示十位

P1=0xfb;

Delay(200);

P2=LEDData[baojing/10];//显示百位

P1=0xfd;

Delay(200);

if(set_st==1)P2=0x89;

elseif(set_st==2)P2=0xc7;//上限H、下限L标示

P1=0xfe;

Delay(200);

P1=0xff;//关闭显示

}

/*****报警子程序*****/

voidAlarm()

{

if(x>=10){beep_st=~beep_st;x=0;}

if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0;

elseBEEP=1;

if((m>=shangxian)||(m<xiaxian))

{shortdelay()();

JDQ=0;}

elseJDQ=1;

}

/*****主函数*****/

voidmain(void)

{

uintz;

InitTimer();//初始化定时器

EA=1;//全局中断开关

TR0=1;

ET0=1;//开启定时器0

IT0=1;

IT1=1;

check_wen();

check_wen();

for(z=0;z<300;z++)

{

Disp_init();

}

while(1)

{

if(SET==0)

{

Delay(2000);

do{}while(SET==0);

set_st++;x=0;shanshuo_st=1;

if(set_st>2)set_st=0;

}

if(set_st==0)

{

EX0=0;//关闭外部中断0

EX1=0;//关闭外部中断1

check_wen();

Disp_Temperature();

Alarm();//报警检测

}

elseif(set_st==1)

{

BEEP=1;//关闭蜂鸣器

EX0=1;//开启外部中断0

EX1=1;//开启外部中断1

if(x>=10){shanshuo_st=~shanshuo_st;x=0;}

if(shanshuo_st){Disp_alarm(shangxian);}

}

elseif(set_st==2)

{

BEEP=1;//关闭蜂鸣器

EX0=1;//开启外部中断0

EX1=1;//开启外部中断1

if(x>=10){shanshuo_st=~shanshuo_st;x=0;}

if(shanshuo_st){Disp_alarm(xiaxian);}

}

}

}

/*****END*****/

DS18B20.h:

#include<AT89X52.h>

#defineDQP3_6//定义DS18B20总线I/O

/*****延时子程序*****/

voidDelay_DS18B20(intnum)

{

while(num--);

}

/*****初始化DS18B20*****/

voidInit_DS18B20(void)

{

unsignedcharx=0;

DQ=1;//DQ复位

Delay_DS18B20(8);//稍做延时

DQ=0;//单片机将DQ拉低

Delay_DS18B20(80);//精确延时,大于480us

DQ=1;//拉高总线

Delay_DS18B20(14);

x=DQ;//稍做延时后,如果x=0则初始化成功,x=1则初始化失败

Delay_DS18B20(20);

}

/*****读一个字节*****/

unsignedcharReadOneChar(void)

{

unsignedchari=0;

unsignedchardat=0;

for(i=8;i>0;i--)

{

DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

Delay_DS18B20(4);

}

return(dat);

}

/*****写一个字节*****/

voidWriteOneChar(unsignedchardat)

{

unsignedchari=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=dat&0x01;

Delay_DS18B20(5);

DQ=1;

dat>>=1;

}

}

/*****读取温度*****/

unsignedintReadTemperature(void)

{

unsignedchara=0;

unsignedcharb=0;

unsignedintt=0;

floattt=0;

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0x44);//启动温度转换

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0xBE);//读取温度寄存器

a=ReadOneChar();//读低8位

b=ReadOneChar();//读高8位

t=b;

t<<=8;

t=t|a;

tt=t*0.0625;

t=tt*10+0.5;//放大10倍输出并四舍五入

return(t);

}

/*****END*****/

其中控制部分我用的是5V继电器,可以直接控制你的电机了。

两个电路图都差不多的,只不过我的多了几个调整按键,报警温度可以调的。我的这个程序你完全可以用到你的电路里的

4. 温控电路用什么单片机集成块

越便宜越好了 ,因为功能极其简单。

5. 求一单片机温度控制程序

你说的不是很详细,没有硬件图,不好弄的

我大概说一下,你用了一个专用ADC芯片,这样一来,只要处理单片机与ADC芯片之间的通信就行了,你的控制比较简单,主要是读温度这一块.
而且这个ADC只是8位的,输出也是8bit的数据,所以只要读单片机的一个I/O口比如PD的8bit数据就OK了,很简单的.
最重要的就是要算出多少温度的时候对应的数值是多少,这要做一个查表.

6. 单片机 简单温控

STC12C4052AD 一片,FM58 10K NTC电阻一只,4.7K电阻一只,数码管或液晶屏自己看着办
没有时控要求的话,晶振,复位电路都可以省掉,简单吧。我的淋浴器温控坏了,就是这么做的。没问题。 内带EEPROM,存储不丢失,关机设定值不丢失。
限流电阻为4.7K接+5V 热敏电阻为FM58玻壳 10K 接GND
ADC_CONTR|=ADC_ON;
while(ADC_CONTR==0xff ) //等待A/D转换结束
{
ADC_CONTR&=ADC_OFF;
for(aa=0;aa<=120;aa++)
{
if(ADC_DATA>=RT10K[aa]) break;
}

查表函数如下
unsigned char cold RT10K[] = {
0x0f3, // -20.00 97.6037
0x0f2, // -19.00 92.0947
0x0f1, // -18.00 86.9305
0x0f1, // -17.00 82.0877
0x0f0, // -16.00 77.5442
0x0ef, // -15.00 73.2798
0x0ee, // -14.00 69.2759
0x0ed, // -13.00 65.5149
0x0ed, // -12.00 61.9809
0x0ec, // -11.00 58.6587
0x0eb, // -10.00 55.5345
0x0ea, // -9.00 52.5954
0x0e9, // -8.00 49.8294
0x0e7, // -7.00 47.2253
0x0e6, // -6.00 44.7727
0x0e5, // -5.00 42.4620
0x0e4, // -4.00 40.2841
0x0e3, // -3.00 38.2307
0x0e1, // -2.00 36.2940
0x0e0, // -1.00 34.4668
0x0de, // 0.00 32.7421
0x0dd, // 1.00 31.1138
0x0dc, // 2.00 29.5759
0x0da, // 3.00 28.1229
0x0d8, // 4.00 26.7496
0x0d7, // 5.00 25.4513
0x0d5, // 6.00 24.2234
0x0d3, // 7.00 23.0618
0x0d2, // 8.00 21.9625
0x0d0, // 9.00 20.9218
0x0ce, // 10.00 19.9364
0x0cc, // 11.00 19.0029
0x0ca, // 12.00 18.1184
0x0c8, // 13.00 17.2800
0x0c6, // 14.00 16.4852
0x0c4, // 15.00 15.7313
0x0c2, // 16.00 15.0161
0x0c0, // 17.00 14.3375
0x0bd, // 18.00 13.6932
0x0bb, // 19.00 13.0815
0x0b9, // 20.00 12.5005
0x0b7, // 21.00 11.9485
0x0b4, // 22.00 11.4239
0x0b2, // 23.00 10.9252
0x0af, // 24.00 10.4510
0x0ad, // 25.00 10.0000
0x0ab, // 26.00 9.5709
0x0a8, // 27.00 9.1626
0x0a6, // 28.00 8.7738
0x0a3, // 29.00 8.4037
0x0a1, // 30.00 8.0512
0x09e, // 31.00 7.7154
0x09b, // 32.00 7.3954
0x099, // 33.00 7.0904
0x096, // 34.00 6.7996
0x094, // 35.00 6.5223
0x091, // 36.00 6.2577
0x08f, // 37.00 6.0053
0x08c, // 38.00 5.7645
0x089, // 39.00 5.5345
0x087, // 40.00 5.3150
0x084, // 41.00 5.1053
0x082, // 42.00 4.9050
0x07f, // 43.00 4.7136
0x07d, // 44.00 4.5307
0x07a, // 45.00 4.3558
0x078, // 46.00 4.1887
0x075, // 47.00 4.0287
0x073, // 48.00 3.8758
0x070, // 49.00 3.7294
0x06e, // 50.00 3.5893
0x06c, // 51.00 3.4553
0x069, // 52.00 3.3269
0x067, // 53.00 3.2039
0x065, // 54.00 3.0862
0x062, // 55.00 2.9733
0x060, // 56.00 2.8652
0x05e, // 57.00 2.7616
0x05c, // 58.00 2.6622
0x05a, // 59.00 2.5669
0x057, // 60.00 2.4755
0x055, // 61.00 2.3879
0x053, // 62.00 2.3038
0x051, // 63.00 2.2231
0x04f, // 64.00 2.1456
0x04e, // 65.00 2.0712
0x04c, // 66.00 1.9998
0x04a, // 67.00 1.9312
0x048, // 68.00 1.8653
0x046, // 69.00 1.8019
0x044, // 70.00 1.7411
0x043, // 71.00 1.6826
0x041, // 72.00 1.6264
0x03f, // 73.00 1.5723
0x03e, // 74.00 1.5203
0x03c, // 75.00 1.4703
0x03b, // 76.00 1.4222
0x039, // 77.00 1.3759
0x038, // 78.00 1.3313
0x036, // 79.00 1.2884
0x035, // 80.00 1.2471
0x034, // 81.00 1.2073
0x032, // 82.00 1.1690
0x031, // 83.00 1.1321
0x030, // 84.00 1.0965
0x02f, // 85.00 1.0623
0x02d, // 86.00 1.0293
0x02c, // 87.00 0.9974
0x02b, // 88.00 0.9667
0x02a, // 89.00 0.9372
0x029, // 90.00 0.9086
0x028, // 91.00 0.8811
0x027, // 92.00 0.8545
0x026, // 93.00 0.8289
0x025, // 94.00 0.8042
0x024, // 95.00 0.7803
0x023, // 96.00 0.7572
0x022, // 97.00 0.7350
0x021, // 98.00 0.7135
0x020, // 99.00 0.6927
0x01f, // 100.00 0.6727
0x01f, // 101.00 0.6533
0x01e, // 102.00 0.6346
0x01d, // 103.00 0.6165
0x01c, // 104.00 0.5990
0x01c // 105.00 0.5821
};
试试吧

7. 用单片机实现温控显示和温控系统

看不清楚。单片机实现温控显示用AD采样模拟值。和PWM控制输出量就好了。

8. PT100和51单片机做温控

先确定烤箱的最高温度,包括不正常的情况下的最高温度。

其次需要确定你精度要求,分辨率要求等各种要求。
最后,很重要的就是你的成本有多大的限制。

如果温度超过100℃,建议不要用半导体的传感器,18B20就是半导体的,所以,不要用。
传感器一般PT100最贵,当然性能也最好,热电偶便宜一些,但需要冷端温补,NTC热敏电阻最便宜,但离散性大,在室温下使用的分辨率比较高,但非线性严重,高温时的变化小。

9. 求单片机温控系统程序

在我的博客里有比较规范的DS18b20温度测量程序,你可看一下,也许有帮助。
对于你的具体要求,你要改写一下程序。

http://hi..com/xiaopc001/blog

10. 单片机温度控制系统

要不是自己做实验的话,建议买一个温控表就可以啦,很便宜的啦400多就搞定,还不用你到处去买元件

阅读全文

与温控单片机相关的资料

热点内容
矩阵计算java 浏览:230
如何把各银行app整合 浏览:877
方舟生存进化手游版如何建服务器 浏览:288
哪里购买黄金app 浏览:661
中国联通app优惠购功能在哪里 浏览:227
dream服务器密码是什么 浏览:222
程序员自救 浏览:486
cmd杀死进程命令 浏览:235
ipad激活服务器地址 浏览:451
单片机开始直流电机压降问题 浏览:17
服务器地址失败怎么办 浏览:146
安卓手机怎么下载苏联游戏 浏览:130
主教的命令 浏览:806
php判断变量为空 浏览:743
你演我猜安卓版本怎么用 浏览:910
已够app哪里看 浏览:1007
程序员怎么学会开车的技巧 浏览:785
网易邮箱如何删除服务器邮件 浏览:154
java多个泛型 浏览:276
安卓折扣号怎么充值 浏览:604