导航:首页 > 编程语言 > uc1701lcd是怎么编程

uc1701lcd是怎么编程

发布时间:2022-08-10 17:55:38

单片机怎么深入学习,特别是编程

不积跬步,无以至千里。
单片机就是控制io口,达到控制外设的目的。
1,首先c语言编程功底要提高,多写写游戏啊,软件之类的,至于移植到到单片机,分分钟的事情吧,比如贪吃蛇这种。
2,单片机基础,一定要学透,而不是停留在基础,基础也可以学的很好,假设led,你知道所有led控制的方法吗,位控制,端口控制,宏控制
led移动呢,,端口移位,for循环,等等,到后面,数码管,点阵,中断,ad,da
中断,lcd,串口通信
3,以上这些,读懂每一句代码之后,就可以做东西了
循迹小车,串口通信的可以用电脑或者手机来控制单片机了,反正能做很多东西
4,之后可以了解stm32
5,之后直接深入到嵌入式arm架构,现在的手机
6,随便一个嵌入式领域就行了,驱动,或者开发

㈡ 初学者arino编程在LCD上显示文字 应该怎么写程序

//端口定义 诺基亚5110显示屏

int LCD_CE=2;
int LCD_RST=3;
int SCLK=4;
int SDIN=5;
int LCD_DC=6;
int inputPin=8; // 定义超声波信号接收接口
int outputPin=9; // 定义超声波信号发出接口
/****************************************************************/
void setup()
{
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
}
//****************************定义ASCII字符**********************//

/**********************************
6 x 8 font
1 pixel space at left and bottom
index = ASCII - 32
***********************************/
const unsigned char font6x8[][6] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
{ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
{ 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
{ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // %
{ 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
{ 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
{ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
{ 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
{ 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
{ 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
{ 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // ,
{ 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // -
{ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
{ 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
{ 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
{ 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
{ 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
{ 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
{ 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
{ 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
{ 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
{ 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
{ 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
{ 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
{ 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
{ 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
{ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
{ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
{ 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
{ 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
{ 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
{ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
{ 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
{ 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
{ 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
{ 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
{ 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
{ 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
{ 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
{ 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
{ 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
{ 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
{ 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
{ 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
{ 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
{ 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
{ 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
{ 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
{ 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
{ 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
{ 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
{ 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
{ 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
{ 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
{ 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
{ 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
{ 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
{ 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
{ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
{ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
{ 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
{ 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
{ 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
{ 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
{ 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
{ 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g
{ 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
{ 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
{ 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j
{ 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
{ 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
{ 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
{ 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
{ 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p
{ 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q
{ 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
{ 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
{ 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
{ 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
{ 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
{ 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
{ 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
{ 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y
{ 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z
{ 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 } // horiz lines
};
/************************LCD初始化函数********************************/
void LCD_init(void)
{
//先设置为输出
pinMode(SCLK,OUTPUT);
pinMode(SDIN,OUTPUT);
pinMode(LCD_DC,OUTPUT);
pinMode(LCD_CE,OUTPUT);
pinMode(LCD_RST,OUTPUT);

// 产生一个让LCD复位的低电平脉冲
digitalWrite( LCD_RST, LOW);

delayMicroseconds(1);
digitalWrite( LCD_RST, HIGH);

// 关闭LCD
digitalWrite( LCD_CE, LOW);
delayMicroseconds(1);

// 使能LCD
digitalWrite( LCD_CE, HIGH); //LCD_CE = 1;
delayMicroseconds(1);
LCD_write_byte(0x21, 0); // 使用扩展命令设置LCD模式
LCD_write_byte(0xc8, 0); // 设置偏置电压
LCD_write_byte(0x06, 0); // 温度校正
LCD_write_byte(0x13, 0); // 1:48
LCD_write_byte(0x20, 0); // 使用基本命令
LCD_clear(); // 清屏
LCD_write_byte(0x0c, 0); // 设定显示模式,正常显示

// 关闭LCD
digitalWrite( LCD_CE, LOW); //LCD_CE = 0;
}
/************************LCD清屏函数*******************************/
void LCD_clear(void)
{
unsigned int i;
LCD_write_byte(0x0c, 0);
LCD_write_byte(0x80, 0);
for (i=0; i<504; i++)
{
LCD_write_byte(0, 1);
}
}
/*************************设置字符位置函数**************************/
void LCD_set_XY(unsigned char X, unsigned char Y)
{
LCD_write_byte(0x40 | Y, 0);// column
LCD_write_byte(0x80 | X, 0);// row
}
/*************************ASCII字符显示函数*************************/
void LCD_write_char(unsigned char c)
{
unsigned char line;
c -= 32;
for (line=0; line<6; line++)
{
LCD_write_byte(font6x8[c][line], 1);
}
}
/*******************************************************************/
/*-------------------------------------------------
LCD_write_english_String : 英文字符串显示函数
输入参数:*s :英文字符串指针;
X、Y : 显示字符串的位置,x 0-83 ,y 0-5
--------------------------------------------------*/
void LCD_write_english_string(unsigned char X,unsigned char Y,char *s)
{
LCD_set_XY(X,Y);
while (*s)
{
LCD_write_char(*s);
s++;
}
}
/******************************************************************/
/*---------------------------------------------
LCD_write_byte : 写数据到LCD
输入参数:data :写入的数据;
command :写数据/命令选择;
---------------------------------------------*/
void LCD_write_byte(unsigned char dat, unsigned char command)
{
unsigned char i;
digitalWrite( LCD_CE, LOW); // 使能LCD_CE = 0
if (command == 0)
{
digitalWrite( LCD_DC, LOW);// 传送命令 LCD_DC = 0;
}
else
{
digitalWrite( LCD_DC, HIGH);// 传送数据LCD_DC = 1;
}

for(i=0;i<8;i++)
{
if(dat&0x80)
{
digitalWrite( SDIN, HIGH);//SDIN = 1;
}
else
{
digitalWrite( SDIN, LOW);//SDIN = 0;
}
digitalWrite( SCLK, LOW);//SCLK = 0;
dat = dat << 1;
digitalWrite( SCLK, HIGH);//SCLK = 1;
}
digitalWrite( LCD_CE, HIGH);//LCD_CE = 1;

}

/*************************以下为主函数*****************************/

void loop()
{
LCD_init();//初始化液晶
LCD_clear();

LCD_write_english_string(0,0," --Arino-- ");
LCD_write_english_string(0,2,"Renge:");

LCD_write_english_string(0,4,"DESIGN BY KENT");
LCD_write_english_string(0,5," 2010.6 ");

while(1)
{
digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间
distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)
if(distance>120)
{

LCD_write_english_string(35,2,"???");
}
else
{
LCD_write_english_string(60,2,"cm");
LCD_set_XY(35, 2);
LCD_write_char( 0x30+distance%1000/100); //显示百位数
LCD_write_char( 0x30+distance%100/10); //显示十位数
LCD_write_char( 0x30+distance%10); //显示个位数

}
delay(10);
}

}

㈢ LCD1602 为画PCB方便 把LCD的D0-D7口分别接到了P0.7-P0.0 怎么编程

写一个Port IO顺序转换函数
void PortIO_Trans (unsigned char Port0_Temp)
{
bit Port0_0,Port0_1,Port0_2,Port0_3,
Port0_4,Port0_5,Port0_6,Port0_7;
Port0_0 = Port0_Temp & 0x80;
Port0_1 = Port0_Temp & 0x40;
Port0_2 = Port0_Temp & 0x20;
Port0_3 = Port0_Temp & 0x10;
Port0_4 = Port0_Temp & 0x08;
Port0_5 = Port0_Temp & 0x04;
Port0_6 = Port0_Temp & 0x02;
Port0_7 = Port0_Temp & 0x01;
WR = 0;
P0^0 = Port0_0 ;
P0^1 = Port0_1;
P0^2 = Port0_2;
P0^3 = Port0_3;
P0^4 = Port0_4;
P0^5 = Port0_5;
P0^6 = Port0_6;
P0^7 = Port0_7;
WR = 1;
}

不知道是不是你的意思,你先试试,有问题再说,希望能帮上忙

㈣ uC/OS-II的开发笔记

uC/OS-II是一个简洁、易用的基于优先级的嵌入式抢占式多任务实时内核。尽管它非常简单,但是它的确在很大程度上解放了我的嵌入式开发工作。既然是一个操作系统内核,那么一旦使用它,就会涉及到如何基于操作系统设计应用软件的问题。 void task_xxx(void *pArg){/* 该任务的初始化工作 */…… /* 进入该任务的死循环 */while(1){……}}
每个用户的任务都必须符合事件驱动的编程模型,即uC/OS-II的应用程序都必须是“事件驱动的编程模型”。一个任务首先等待一个事件的发生,事件可以是系统中断发出的,也可以是其它任务发出的,又可以是任务自身等待的时间片。当一个事件发生了,任务再作相应处理,处理结束后又开始等待下一个事件的发生。如此周而复始的任务处理模型就是“事件驱动的编程模型”。事件驱动模型也涵盖了中断驱动模型,uC/OS-II事件归根结底来自三个方面:(1)中断服务函数发送的事件(2)系统延时时间到所引起的(3)其它任务发送的事件。其中“中断服务函数发送的事件”就是指每当有硬件中断发生,那么中断服务程序就会以事件的形式告诉任务,而等待该事件的最高优先级任务就会马上得以运行;“系统延时时间到所引起的”事件其实也是硬件中断导致的,那就是系统定时器中断。而“其它任务发送的事件”则是由任务代码自身决定的,这是完全的“软事件”。不管“软事件”还是“硬事件”,反正引起uC/OS-II任务切换的原因就是“事件”,所以用户编写应用代码的时候一定要体现出“事件驱动的编程模型”。 互斥信号对象(Mutual Exclusion Semaphore)简称Mutex,是uC/OS-II的内核对象之一,用于管理那些需要独占访问的资源,并使其适应多任务环境。创建每一个Mutex,都需要指定一个空闲的优先级号,这个优先级号的优先级必须比所有可能使用此Mutex的任务的优先级都高!
uC/OS-II的Mutex实现原理大致如下:当一个低优先级的任务A申请并得到了Mutex,于是它获得资源访问权。如果此后有一个高优先级的任务B开始运行(此时任务A已经被剥夺),而且也要求得到Mutex,系统就会把任务A的优先级提高到Mutex所指定的优先级。由于此优先级高于任何可能使用此Mutex的任务的优先级,所以任务A会马上获得CPU控制权。一直到任务A释放Mutex,任务A才回到它原有的优先级,这时任务B就可以拥有该Mutex了。
应该注意的是:当任务A得到Mutex后,就不要再等待其它内核对象(诸如:信号量、邮箱、队列、事件标志等等)了,而应该尽量快速的完成工作,释放Mutex。否则,这样的Mutex就失去了作用,而且效果比直接使用信号量(Sem)更糟糕!
虽然普通的信号量(Sem)也可以用于互斥访问某独占资源,但是它可能引起“优先级反转”的问题。假设上面的例子使用的是Sem,当任务A得到Sem后,那么任务C(假设任务C的优先级比A高,但比B低)就绪的话将获得CPU控制权,于是任务A和任务B都被剥夺CPU控制权。任务C的优先级比B低,却优先得到了CPU!而如果任务A是优先级最低的任务,那么它就要等到所有比它优先级高的任务都挂起之后才会拥有CPU,那么任务B(优先级最高的任务)跟着它一起倒霉!这就是优先级反转问题,这是违背“基于优先级的抢占式多任务实时操作系统”原则的!
综上所述,uC/OS-II中多个任务访问独占资源时,最好使用Mutex,但是Mutex是比较消耗CPU时间和内存的。如果某高优先级的任务要使用独占资源,但是不在乎久等的情况下,就可以使用Sem,因为Sem是最高效最省内存的内核对象。 uC/OS-II的OSSchedLock()和OSSchedUnlock()函数允许应用程序锁定当前任务不被其它任务抢占。使用时应当注意的是:当你调用了OSSchedLock()之后,而在调用OSSchedUnlock()之前,千万不要再调用诸如OSFlagPend()、OSMboxPend()、OSMutexPend()、OSQPend()、OSSemPend()之类的事件等待函数!而且应当确保OSSchedLock()和OSSchedUnlock()函数成对出现,特别是在有些分支条件语句中,要考虑各种分支情况,不要有遗漏!
需要一并提醒用户的是:当您调用开关中断函数OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()时也要确保成对出现,否则系统将可能崩溃!不过,在OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()函数之间调用OSFlagPend()、OSMboxPend()、OSMutexPend()、OSQPend()、OSSemPend()之类的事件等待函数是允许的。 首先应该阐明的是,我们这里讨论的是“驱动程序”,而不是“中断服务程序”,这两个词语往往被用户混淆。(1)中断服务程序指那种硬件中断一旦发生,就会立即被硬件中断控制器调用的一小段程序,它的操作追求简单明了,越快速越精简就越好。(2)驱动程序是指封装了某种硬件操作细节的函数集,它提供给应用程序的是统一、标准、清晰、易用的API。
对于中断服务程序的编写,往往与驱动程序的设计相关联。比如驱动程序提供异步操作的功能,那么就需要中断服务程序为它准备缓冲区和一个结构体,并且中断服务程序会依照这个结构体的成员参数自动完成所要求的操作。又如,串口(UART)中断服务程序的设计有两种:基于数据包传输和基于单字节传输,前者适用于以数据包为单位的通信程序,而后者适用于如超级终端这样的应用程序。
如果在一个系统中,要求使用同一个硬件设备完成几种不同的操作方式,就需要设计一个通用的驱动程序,而该驱动程序可以根据需要安装各种针对性很强的中断服务程序。
在设计驱动程序时,特别需要注意的是,某些外设的操作往往以一个连续而严格的时序作为原子操作,比如用I/O端口来访问DS1302、24C01、LM75A等等。在这类设备的操作过程中,不允许有其它任务来控制对应的I/O端口,否则会引起数据错误甚至器件损坏。所以,这种设备的驱动程序都应该仔细设计“原子操作”,把必须连贯操作的时序控制代码用互斥对象封装成一个“原子操作”,以适应多任务环境。其实,大部分设备都是这样,需要确定“原子操作”,如LCD、RTL8019AS、Flash等等也是如此。
关于驱动程序的设计,还有很多很多的文章可作,需要具体问题具体分析。在这里我就不列出个条条目目了,希望有兴趣的朋友多多讨论。

㈤ 两个AT89C52相连,一个发送,一个接收,用LCD显示,怎么用C语言编程

图中,两根串口线,应该要交叉才行。几个模块程序,我的博客上都有,您可以去参考。看懂了,拼起来,就可以用了。

㈥ 用两个AT89C52联调,一个发送,一个接收,用LCD显示一个字符串,怎么用C语言编程

一个发送,一个接收,发送的直接将数据写到发送缓存,AT89C52会自动把数据发送出去,而接受的当接受到数据后会自动产生中断,你此时只需在中断程序中把接受缓存中的数据读出即可,至于显示其实很简单,既然数据都有了还怕显示,直接调用LCD1602的库函数,这个LCD是很好用的,哦,对了,注意发送波特率的一致,OK,就这些了,具体程序你看着写吧,

㈦ uClinux下LCD驱动程序的编写方法

如果是写驱动程序的话,不同的LCD,驱动方式是不一样的,这里找答案太渺茫了。
你可以自己谷歌一下,看看有没有现成的,这种东西只能自己编。
先学会linux下对lcd的结构,然后再看懂LCD硬件sheet资料,再开始编程吧。

㈧ C语言中怎么编程在计算机屏幕上显示如下图案

如果实在普通LCD屏上显示某个图案,需要先将待显示的图案用专用软件处理成图像数据,然后封装到一个数组里,然后编写一个子函数将这些数据按顺序写到LCD缓冲区中即可。
如果是在PC机的显示器上显示该图案,需要首先根据该图片的格式(如jpeg,或BMP,或其它格式),进行分析,去除图片格式头,然后将图片文件中的图像数据(即像素点)提取出来,然后写入显示器的缓存中即可。

㈨ 液晶屏lcd在linux下怎么让它显示我想要显示的内容

在确保linux lcd 显示屏驱动无误的情况下.有两款比较常见的图像开发工具可供你选择.

Qt,GTK.
可以先移植个QtE库.再进行linux的图像开发.

lcd的显示方面linux系统会帮你管理.就好像你用VC写了个窗口一运行在桌面上就会出现个窗口那样,在linux下用QtE开发了一个窗口一运行也会出现一个窗口.只不过在窗口下就没有桌面而已.只要搞定了QTE显示图片什么的只是小菜一碟.

不过QTE的移植可不是一件简单的事.祝好运.

阅读全文

与uc1701lcd是怎么编程相关的资料

热点内容
如何把扫描文件做成pdf格式 浏览:624
php个性qq源码 浏览:821
初学c语言显示源未编译 浏览:245
资产概况源码 浏览:472
dos命令建文件夹命令 浏览:379
解压的密码htm被屏蔽 浏览:502
冬天太冷冰箱压缩机不启动怎么办 浏览:83
手机打开vcf需要什么编译器 浏览:910
加密磁盘后开机很慢 浏览:271
长沙智能云控系统源码 浏览:258
阿里云服务器如何设置操作系统 浏览:1000
超级命令的英文 浏览:784
做账为什么要用加密狗 浏览:586
考研群体怎么解压 浏览:159
linux修改命令提示符 浏览:226
圆圈里面k图标是什么app 浏览:63
pdf加空白页 浏览:948
linux服务器如何看网卡状态 浏览:318
解压新奇特视频 浏览:707
图书信息管理系统java 浏览:554