【51单片机仿真】基于51单片机设计的温湿度采集检测系统仿真源码文档视频——文末资料下载
演示
目录
1.系统功能
2.背景介绍
3.硬件电路设计
4.软件设计
4.1 主程序设计
4.2 温湿度采集模块程序设计
4.3 LCD显示屏程序设计
5.系统测试
6.结束语
源码、仿真、文档视频等资料下载链接
1.系统功能
该系统通过与AT89C51单片机、LCD1602显示屏和DHT11温湿度传感器的集成,实时读取环境中的温度和湿度数据并在LCD1602上显示这些信息,其中系统初始化LCD1602显示屏、通过DHT11_receive()函数接收并校验DHT11传感器的温湿度数据、使用LCD_ShowNum()函数逐位显示湿度和温度数据并在这些数据后附加相应的单位符号,以便用户可以直观地看到当前环境的温湿度情况。
2.背景介绍
在现代社会,随着科技的发展和人们生活水平的提高,环境监测变得愈发重要。准确的环境数据对于家庭、办公室、温室以及工业场所的日常运行和健康维护至关重要。其中,温湿度是两项最为基础且重要的环境参数,能够显著影响人类的舒适程度和许多工业过程的效率。因此,设计一个可靠的温湿度检测系统显得尤为必要。
51单片机(Microcontroller Unit, MCU)是一种广泛使用的嵌入式系统核心,它具有简单易用、功能强大、性价比高等优点。51单片机由于其丰富的外围接口容易与其他设备进行集成,开发环境相对成熟,具有丰富的开发资源。此外,其低功耗、稳定性高等特点使得适合各种嵌入式应用中,包括温湿度检测系统。设计基于51单片机的DHT11温湿度检测系统,旨在利用51单片机的强大功能和DHT11的测量能力,实现对环境温湿度的实时监控。实现温湿度数据实时采集,系统能够定时从DHT11传感器读取温湿度数据。数据处理与显示将采集到的数据进行处理,并通过液晶显示屏LCD1602实时显示出来,供用户方便查看。
3.硬件电路设计
硬件电路设计采用proteus进行仿真电路的设计,如下图1中元件U1为单片机主控AT89C51,是核心控制单元用于处理温湿度数据并控制显示模块,元件U1的引脚P0口连接到LCD的数据引脚(D0-D7);主控的19号引脚和18号引脚连接晶振X1和电容C1、C2,晶振X1用于提供时钟信号,电容C1和C2为33pF的电容保证晶振电路的稳定性,分别连接在XTAL1和XTAL2与地之间;9号引脚为复位引脚,包含有一个复位按键,电阻R1为1kΩ电阻,连接在RST引脚和电源之间,防止复位引脚浮空,电容C3为1uF电容连接在RST引脚和地之间,组合R1形成上电复位电路。电路中的元件RP1为电阻网络,将多个电阻集成在一个封装内,D7配到管脚14,D6配到管脚13,D5配到管脚12,D4配到管脚11,D3配到管脚10,D2配到管脚9,D1配到管脚8,D0配到管脚7。
电路中的元件U2为温湿度传感器采用DHT11传感器,DHT11传感器主要引脚有三个,分别为VDD引脚、DATA引脚和GND引脚,VDD引脚连接系统的电源正极,GND引脚连接电源地,DATA引脚连接单片机的I/O口,连接到引脚P1.1,用于传输温湿度数据。
电路中的元件LCD1为LCD1602显示屏,其数据引脚D0-D7连接到单片机主控的P0口,每个引脚对应同名引脚进行连接。其控制引脚RS连接到单片机控制引脚,用于选择命令/数据寄存器,RW引脚连接到单片机控制引脚,用于选择读/写操作,E引脚是使能引脚,用于使能LCD操作。电源引脚VSS接电源地,VDD引脚连接系统的电源正极,VEE引脚为对比度调节端,通过电位器RV1连接,调节显示对比度。元件RV1为4.7kΩ可调电阻用于调节LCD背光对比度,连接VEE引脚。如下图1为系统仿真电路。
图1 系统仿真图
4.软件设计
4.1 主程序设计
在主程序设计中,首先,通过包括头文件reg51.h、lcd1602.h和dht11.h引入了必要的库文件,其中reg51.h是与8051单片机相关的头文件,lcd1602.h和dht11.h分别是处理LCD1602显示屏和DHT11温湿度传感器的头文件。接着,定义了一个指向无符号整数数组的指针dht,用来存放从DHT11传感器接收到的温度和湿度数据。在main函数中,首先调用LCD_Init()函数对LCD1602显示屏进行初始化配置;在进入无限循环后,代码每次调用DHT11_receive()函数读取DHT11传感器的数据并将其存储在dht数组中,然后调用LCD_ShowNum()函数在LCD1602显示屏的第一行第一列显示读取到的湿度值,其中dht[0]即为湿度数据,高两位,并在湿度值后面加上百分号和“RH”标志;随后在第二行第一列调用LCD_ShowNum()函数显示读取到的温度值,其中dht[1]即为温度数据,并在温度值后面加上摄氏度的符号。该程序不断从DHT11传感器读取实时温湿度数据并更新到LCD1602显示屏上,循环执行这些操作,以达到实时显示环境温湿度变化的效果。
主程序代码如下。
#include "reg51.h"
#include "lcd1602.h"
#include "dht11.h"unsigned int* dht;void main()
{ LCD_Init();while(1){dht=DHT11_receive();LCD_ShowNum(1,1,dht[0],2);//湿度LCD_ShowString(1,3,"%RH");LCD_ShowNum(2,1,dht[1],2);//温度LCD_ShowString(2,3,"^C"); }}
4.2 温湿度采集模块程序设计
在主程序设计中,温湿度采集模块主要用到了DHT11_receive()函数,用于接收DHT11传感器发送的40位数据并提取其中的温度和湿度信息。这个函数返回一个指向两个元素的无符号整数数组的指针。定义了无符号字符变量用于存储接收到的湿度和温度数据的高八位和低八位,以及校正位,定义了一个无符号整数数组DHT,初始值为0,用于最后存储湿度和温度。调用DHT11_start()函数开始与DHT11传感器通信。判断Data是否为低电平(0),进入数据接收过程。如果Data为0:等待直到Data拉高,即等待传感器响应。调用延时函数DHT11_delay_us(40)等待80微秒。依次调用DHT11_rec_byte()四次,接收湿度高八位、湿度低八位、温度高八位和温度低八位的数据。调用DHT11_rec_byte()接收校正位数据以用于校正检测。调用DHT11_delay_us(25)延时25微秒表示接收完成。通过校正公式(R_H + R_L + T_H + T_L) == revise进行数据校验。如果校验成功:将湿度高位和低位分别赋值给RH和RL。将温度高位和低位分别赋值给TH和TL。将湿度和温度分别存入DHT数组的第一个和第二个位置。最后,函数返回指向DHT数组的指针,获得温度和湿度数据。
函数代码如下。
unsigned int* DHT11_receive() //接收40位的数据
{unsigned char R_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;unsigned int DHT[2]=0;DHT11_start();if(Data==0){while(Data==0); //等待拉高DHT11_delay_us(40); //拉高后延时80usR_H=DHT11_rec_byte(); //接收湿度高八位R_L=DHT11_rec_byte(); //接收湿度低八位T_H=DHT11_rec_byte(); //接收温度高八位T_L=DHT11_rec_byte(); //接收温度低八位revise=DHT11_rec_byte(); //接收校正位DHT11_delay_us(25); //结束if((R_H+R_L+T_H+T_L)==revise) //校正{RH=R_H;RL=R_L;TH=T_H;TL=T_L;}DHT[0] = RH;DHT[1] = TH;}return DHT;
}
4.3 LCD显示屏程序设计
LCD显示屏在主函数中首先进行通过调用LCD_Init()函数进行LCD显示屏的初始化,在LCD初始化函数中,首先使用代码LCD_WriteCommand(0x38),设置LCD的工作模式,设置为8位数据接口,显示两行,每行16个字符,并且使用的是5x7像素的字体。然后使用代码LCD_WriteCommand(0x0c)设置LCD的显示状态,在这个状态下,LCD的显示是开启的,光标是关闭的,并且光标不会闪烁。然后使用代码LCD_WriteCommand(0x06)设置LCD的光标和显示的移动方式,在这个设置下,当有数据写入时,光标会自动移动到下一个位置,而不会移动整个显示的内容。然后使用代码LCD_WriteCommand(0x01)清除LCD屏幕上的所有内容,并将光标移动到第一行的开始位置。以上就完成了LCD显示屏的设计。
函数代码如下。
void LCD_Init()
{LCD_WriteCommand(0x38);//八位数据接口,两行显示,5*7点阵LCD_WriteCommand(0x0c);//显示开,光标关,闪烁关LCD_WriteCommand(0x06);//数据读写操作后,光标自动加一,画面不动LCD_WriteCommand(0x01);//光标复位,清屏
}
在主程序设计中,还使用了void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)函数,该函数有四个参数,该函数接收四个参数:Line表示起始行位置,范围是1到2;Column表示起始列位置,范围是1到16;Number是要显示的数字,范围是0到65535;Length是要显示数字的长度,范围是1到5。在函数内部,通过调用LCD_SetCursor设置显示位置,然后利用一个循环逐位显示数字的每一位,通过调用LCD_WriteData将每一位数字写入到显示屏上,利用除法和取模操作来提取每一位数字,并通过将其转换为字符显示在LCD1602上。
函数代码如下。
void LCD_ShowNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length)
{unsigned char i;LCD_SetCursor(Line,Column);for(i=Length;i>0;i--){LCD_WriteData(Number/LCD_Pow(10,i-1)%10+'0');}
}
在主程序设计中,也使用了void LCD_ShowString(unsigned char Line,unsigned char Column,char *String)函数在LCD1602指定位置开始显示所给字符串。该函数接收三个参数,Line表示起始行位置,范围是1到2;Column表示起始列位置,范围是1到16;String是要显示的字符串。在函数内部,通过调用LCD_SetCursor设置显示位置,然后利用一个循环逐个字符地显示字符串。通过检查字符串中的每一个字符(直到遇到空字符'\0'),调用LCD_WriteData将每个字符写入到显示屏上,从而将整个字符串显示在LCD1602上。
函数代码如下。
void LCD_ShowString(unsigned char Line,unsigned char Column,char *String)
{unsigned char i;LCD_SetCursor(Line,Column);for(i=0;String[i]!='\0';i++){LCD_WriteData(String[i]);}
}
5.系统测试
系统上电后,仿真电路中的LCD显示屏会实时显示DHT11温湿度传感器的数据,如下图2所示。
图2 系统上电界面
如下图3所示,当温湿度数据发生变化时,LCD显示屏的数据也会实时发生变化。
图3 温湿度变化
6.结束语
通过本项目的深入研究和系统测试,我们成功地设计并实现了一个基于AT89C51单片机、LCD1602显示屏和DHT11温湿度传感器的实时温湿度监测系统,该系统不仅能够准确读取和显示环境温湿度数据,而且具有简单可靠的硬件电路设计,其核心控制单元——AT89C51单片机通过与LCD1602显示屏和DHT11温湿度传感器的集成,利用proteus进行仿真电路设计,确保了系统的高效运行和精确数据展示。
硬件电路设计方面,AT89C51单片机作为系统的核心控制单元,结合晶振和电容组成的时钟信号电路、复位电路、以及连接DHT11传感器和LCD1602显示屏的数据传输电路,确保了数据的准确采集和显示;DHT11传感器的温湿度数据通过单片机的I/O口传输到主控单元,并且LCD1602显示屏通过与单片机的数据、控制引脚直接连接,实现了系统的稳定性和高效性。
在软件设计方面,首先通过包括必要的头文件以及定义指向无符号整数数组的指针,处理温湿度数据的存储和传输,并且在main函数中,通过反复调用LCD_Init()函数初始化LCD1602显示屏、DHT11_receive()函数读取DHT11传感器的数据、LCD_ShowNum()函数和LCD_ShowString()函数在LCD1602显示屏上逐位、逐字符地显示温湿度数据显示,确保了实时环境数据的准确展示;温湿度采集模块设计方面,利用DHT11_receive()函数接收和校验DHT11传感器发送的温湿度数据,保证数据的精确和可靠性;在LCD显示屏的初始化和显示数据操作中,通过一系列设置命令和数据写入操作,实现了数据的直观、清晰显示。
经过系统测试,上电时,LCD1602显示屏能够实时显示来自DHT11温湿度传感器的温湿度数据,当传感器检测到环境温湿度发生变化时,显示屏的数据也会同步更新,证明了系统在数据采集、传输和显示方面的有效性和可靠性。
源码、仿真、文档视频等资料下载链接
基于51单片机设计的温湿度采集检测系统仿真&源码&文档视频.zip(毕设/课设/竞赛/实训/项目开发)资源-CSDN文库https://download.csdn.net/download/m0_61712829/89610881
相关文章:
【51单片机仿真】基于51单片机设计的温湿度采集检测系统仿真源码文档视频——文末资料下载
演示 目录 1.系统功能 2.背景介绍 3.硬件电路设计 4.软件设计 4.1 主程序设计 4.2 温湿度采集模块程序设计 4.3 LCD显示屏程序设计 5.系统测试 6.结束语 源码、仿真、文档视频等资料下载链接 1.系统功能 该系统通过与AT89C51单片机、LCD1602显示屏和DHT11温湿度传感器…...
【Hadoop-驯化】一文学会hadoop访问hdfs中常用命令使用技巧
【Hadoop-驯化】一文学会hadoop访问hdfs中常用命令使用技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&am…...
【Spring】Bean详细解析
1.Spring Bean的生命周期 整体上可以简单分为四步:实例化 —> 属性赋值 —> 初始化 —> 销毁。初始化这一步涉及到的步骤比较多,包含 Aware 接口的依赖注入、BeanPostProcessor 在初始化前后的处理以及 InitializingBean 和 init-method 的初始…...
决策树总结
决策树总结 决策树是一种广泛应用的机器学习算法,它模拟了人类进行决策时的逻辑思维过程,通过构建一棵树状结构来进行数据的分类或回归预测。决策树模型因其直观易懂、易于解释、能够处理多类问题以及无需进行复杂的特征缩放等优点,在数据挖…...
通俗易懂!495页看漫画学Python入门教程(全彩版)Git首发破万Star
前言 在编程的世界里,Python无疑是一颗璀璨的明星。从最初作为打发圣诞节闲暇时间的项目,到如今成为最受欢迎的程序设计语言之一,Python以其简洁、易学、强大的特点吸引了无数编程爱好者。然而,对于初学者来说,编程的…...
websocket实现简易聊天室
websocket实现简易聊天室 又做了一个关于websocket广播和在线人数统计的练习,实现一个简易的聊天室。 前端vue3 前端里的内容主要包含: 1.css的animation来实现公告从右到左的轮播。 2.websocket的onmessage里对不同消息的处理。 <template>&l…...
vulhub-wordpress
1.打开wordpress关卡,选择简体中文 添加信息——点击安装WordPress 安装完成——登录 点击外观——编辑主题 可以加入一句话木马,但是我写入的是探针文件 也可以去上传一个带有木马的主题 上传之后会自动解压 1.php就是里面的木马文件...
【机器学习算法基础】(基础机器学习课程)-10-逻辑回归-笔记
一、模型的保存与加载 逻辑回归是一种常见的机器学习算法,广泛用于分类问题。为了在不同的时间或环境下使用训练好的模型,我们通常需要将其保存和加载。 保存模型 训练模型:首先,你需要用你的数据训练一个逻辑回归模型。例如&…...
自动驾驶行业知识汇总
应届生月薪2W的自动驾驶开发、机器人、后端开发,软件开发该如何学习相关技术栈_哔哩哔哩_bilibili 两万字详解自动驾驶开发工具链的现状与趋势 (qq.com) 九章智驾 - 2023年度文章大合集 (qq.com) 九章 - 2022年度文章大合集 (qq.com)...
C#根据反射操作对象
前言 反射使用,让我们的程序可以动态增加一些功能,让原本固化的步骤逻辑变得动态,这是它的优点。当然使用反射首次加载会有性能损耗以及使用复杂;但是现在大家都在讲动态,使用好它应该是一个重要的编程理念提升。MVC、…...
打包python脚本(flask、jinja2)为exe文件
20240803 概述 在我很早时候学习python的时候,就利用过某个工具将其打包为exe文件,然后在没有python环境的机器上运行,这样可以减少安装python环境和各种库的过程。 最近在开发一个在虚拟机上运行的程序的时候就遇到了打包一些环境的问题&…...
嵌入式初学-C语言-练习三
#部分题目可能在之前的博客中有,请谅解,保证常见题型均被发出# 1.计算n以内所有正奇数的和 ? n值通过键盘输入 代码: 1 /*2 需求:计算n以内所有正奇数的和 ? n值通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 …...
最新版Sonible Plugins Bundle v2024 winmac,简单智能,持续更新长期有效
一。Sonible Plugins Bundle v2024 win&mac Sonible Plugins Bundle是一款以创作者为中心的智能音频插件系列。这些工具的特点是易于使用,搭配高级处理和优质音质。pure:bundle的所有插件都由sonible的智能插件系列中使用的技术驱动,但在设计时考虑到…...
J032_实现简易版的B/S架构
一、需求描述 实现简易版的B/S架构 1.1 Server package com.itheima.tcp4;import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Executors; import java.uti…...
【前端面试】五、框架
目录 1 Vue2 2 Vue3 3 React 4 Angular 1 Vue2 Vue2 是目前仍被广泛使用的前端框架之一,其特点包括响应式数据绑定、组件化开发等。 响应式系统:Vue2 使用 Object.defineProperty 来实现数据的响应式。每个组件实例在创建时,会将 dat…...
C语言 | Leetcode C语言题解之第316题去除重复字母
题目: 题解: char* removeDuplicateLetters(char* s) {int vis[26], num[26];memset(vis, 0, sizeof(vis));memset(num, 0, sizeof(num));int n strlen(s);for (int i 0; i < n; i) {num[s[i] - a];}char* stk malloc(sizeof(char) * 27);int stk…...
本地部署 Llama-3-EvoVLM-JP-v2
本地部署 Llama-3-EvoVLM-JP-v2 0. 引言1. 关于 Llama-3-EvoVLM-JP-v22. 本地部署2-0. 克隆代码2-1. 安装依赖模块2-2. 创建 Web UI2-3.启动 Web UI2-4. 访问 Web UI 0. 引言 Sakana AI 提出了一种称为进化模型合并的方法,并使用该方法创建大规模语言模型ÿ…...
Evaluating the Generation Capabilities of Large Chinese Language Models
文章目录 题目摘要相关工作CG-Eval实验 题目 评估大型中文语言模型的生成能力 论文地址:https://arxiv.org/abs/2308.04823 项目地址:http://cgeval.besteasy.com/ 摘要 本文介绍了 CG-Eval,这是有史以来第一个全面的自动化评估框架…...
YOLOv8添加注意力模块并测试和训练
YOLOv8添加注意力模块并测试和训练 参考bilibili视频 yolov8代码库中写好了注意力模块,但是yolov8的yaml文件中并没用使用它,如下图的通道注意力和空间注意力以及两者的结合CBAM,打开conv.py文件可以看到,其中包含了各种卷积块的…...
「Unity3D」自动布局LayoutElement、ContentSizeFitter、AspectRatioFitter、GridLayoutGroup
布局元素与布局控制器 布局元素实现ILayoutElement接口,布局控制器实现ILayoutController接口,后者根据前者的属性控制具体布局——有些布局控制器也是布局元素,即同时实现这两个接口,如LayoutGroup。 public interface ILayout…...
【Golang 面试 - 进阶题】每日 3 题(十六)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...
Redis2
为什么Redis要给缓存数据设置过期时间? 内存是有限的,如果缓存中的所有数据都是一直保存,很容易OOM Redis如何判断数据是否过期? 通过过期字典来保存数据的过期时间 过期删除策略 Redis采用的是定期删除惰性删除 Redis内存淘…...
C语言--函数
1. 函数定义 语法: 类型标识符 函数名(形式参数) {函数体代码 } (1)类型标识符 --- 数据类型(函数要带出的结果的类型) 注:数组类型不能做函数返回结果的类型,如果函…...
Shell 编程的高级技巧和实战应用
第一步:高级函数和模块化设计 1.1 高级函数设计 探讨函数的参数处理和默认值设置。示例:实现一个可以处理可选参数的函数。 #!/bin/bashgreet() {local name${1:-"World"} # 如果没有提供参数,使用默认值 "World"ech…...
VMWare虚拟机如何连接U盘
检查配置 1)Win R键,输入services.msc,打开服务。 2)将AMware USB Arbitration Services 服务开启,并设置为自动启动; 连接U盘 目前作者了解有两种连接方式,如有其他连接方式,欢…...
【学习笔记】后缀自动机(SAM)
前言 之前对后缀自动机的理解太浅薄了,故打算重新写一篇。 后缀自动机是什么 后缀自动机是一个字符串的所有后缀建起来的自动机。它把所有子串(后缀的前缀)用 O ( n ) O(n) O(n) 的空间装了起来。后缀自动机的边会构成一个 D A G DAG DA…...
Godot的节点与场景
要深入的理解节点与场景,我们需要跳出这两个概念来看他。说的再直白一些godot本质就是一个场景编辑器! 场景的概念应该在我们平时看电影看电视时会经常提到,比如某一个打斗的场景,这个场景可能会被设在某一个街道,那么…...
C++ 学习(2) ---- std::cout 格式化输出
目录 std::cout 格式化输出简介使用成员函数使用流操作算子 std::cout 格式化输出简介 C 通常使用cout输出数据,和printf()函数相比,cout实现格式化输出数据的方式更加多样化; 一方面,cout 作为 ostream 类的对象,该类…...
前端拿不到Long类型成员变量,用@JsonSerialize(using = ToStringSerializer.class)序列化一下
EqualsAndHashCode(callSuper true) Data TableName("la_school_business") Schema(description "商务负责人表") public class SchoolBusiness extends BaseEntity {private static final long serialVersionUID -7124481085999629236L;/*** 商务负责人…...
JWT登录校验流程
jwt令牌的基本概念: 1. JWT(JSON Web Token) 定义:JWT 是一种开放标准(RFC 7519),用于在各方之间作为 JSON 对象安全地传输信息。它可以被验证和信任,因为它是数字签名的。结构&am…...
网站排名优化制作/有没有可以代理推广的平台
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇来自公众号:沉默王二综合自知乎:https://www.zhihu.com/question/315887668大家好,今天分享的这篇:“中国的铁路订票系…...
有域名怎么发布网站吗/外贸独立站怎么建站
现象: 使用C#开发了一个小的WinForm程序,在Windows8系统上运行正常,在XP上却无法运行,双击程序图标,没有任何反应。 调试限制条件: 由于XP上不能安装开发环境,所以不能在XP上进行源码级别调试…...
南同网站建设软件下载/企业培训师资格证报考2022
摘要:FactorySupport Facility允许我们使用已经存在的工厂来创建组件的实例,可以把已经存在的对象模型加入到容器中,以便它能够使用自动装配。它使用了以下两种处理策略:1.使用访问器来访问组件的实例2.使用…...
济南建设网站的公司/seo站长工具
2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树,其节点可拥有3个孩子。不过,2-3树与满二叉树相似。高为h的2-3树包含的节点数大于等于高度为h的满二叉树的节点数,即至少有2^h-1个节点。 2-3树是最简单的B-…...
网站开发成本主要有哪些/湛江今日头条
http://lutaf.com/158.htm ************************ 开源搜索引擎程序有3大类 lucene系,java开发,包括solr和elasticsearchsphinx,c开发,简单高性能Xapian,c开发 搜索引擎程序这个名称不妥当,严格说来应该叫做索引程序(indexing program),早期主要用来做中文全文搜索,但是随…...
网站后台改版面/新闻 最新消息
ChinaJoy如今已是第16个年头了,这个最初诞生于北京展览中心的游戏展会,在连续举办15届后终于变成一场全民参与的泛娱乐产业狂欢party。ChinaJoy自举办以来,已成为涵盖游戏、动漫、互联网影视与音乐、网络文学、电子竞技、智能娱乐软件及硬件等…...