为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于Web的远程温湿度监测系统的设计_毕业论文

2019-01-22 9页 doc 1MB 31阅读

用户头像 个人认证

不系舟红枫

从教近30年,经验丰富,教学水平较高

举报
基于Web的远程温湿度监测系统的设计_毕业论文 本科毕业论文格式要求一、论文的结构与要求毕业设计(论文)包括以下内容(按顺序):本科论文包括封面、目录、标题、内容摘要、关键词、正文、注释、参考文献等部分。如果需要,可以在正文前加“引言”,在参考文献后加“后记”。论文一律要求打印,不得手写。1.目录目录应独立成页,包括论文中全部章、节和主要级次的标题和所在页码。2.论文标题论文标题应当简短、明确,有概括性。论文标题应能体现论文的核心内容、法学专业的特点。论文标题不得超过25个汉字,不得设置副标题,不得使用标点符号,可以分二行书写。论文标题用词必须规范,不得使用缩略语或外文缩...
基于Web的远程温湿度监测系统的设计_毕业论文
本科#毕业#格式要求一、论文的结构与要求毕业设计(论文)包括以下内容(按顺序):本科论文包括封面、目录、标、内容摘要、关键词、正文、注释、参考文献等部分。如果需要,可以在正文前加“引言”,在参考文献后加“后记”。论文一律要求打印,不得手写。1.目录目录应独立成页,包括论文中全部章、节和主要级次的标题和所在页码。2.论文标题论文标题应当简短、明确,有概括性。论文标题应能体现论文的核心内容、法学专业的特点。论文标题不得超过25个汉字,不得设置副标题,不得使用标点符号,可以分二行书写。论文标题用词必须规范,不得使用缩略语或外文缩写词(通用缩写除外,比如WTO等)。3.内容摘要内容摘要应扼要叙述论文的主要内容、特点,文字精练,是一篇具有独立性和完整性的短文,包括主要成果和结论性意见。摘要中不应使用公式、图表,不标注引用文献编号,并应避免将摘要撰写成目录式的内容介绍。内容摘要一般为200个汉字左右。4.关键词关键词是供检索用的主题词条,应采用能够覆盖论文主要内容的通用专业术语(参照相应的专业术语标准),一般列举3——5个,按照词条的外延层次从大到小排列,并应出现在内容摘要中。5.正文正文一般包括绪论(引论)、本论和结论等部分。正文字数本科不少于6000字,专科一般不少于5000字,正文必须从页首开始。*绪论(引论)的开始部分,不编写章节号。一般包括对写作目的、意义的说明,对所研究问题的认识并提出问题。*本论是全文的核心部分,应结构合理,层次清晰,重点突出,文字通顺简练。*结论是对主要成果的归纳,要突出创新点,以简练的文字对所做的主要工作进行评价。结论一般不超过500个汉字。正文一级及以下子标题格式如下:一、;(一);1.;(1);①。6.注释注释是对所创造的名词术语的解释或对引文出处的说明。注释采用脚注形式,用带圈数字表示序号,如注①、注②等,数量不少于10个,脚注少于10个的论文为不合格论文。7.参考文献参考文献是论文的不可缺少的组成部分,是作者在写作过程中使用过的文章、著作名录。参考文献应以近期发表或出版的与法学专业密切相关的学术著作和学术期刊文献为主,数量不少于6篇,参考文献少于6篇的论文成绩评定为不合格。产品说明、技术标准、未公开出版或发表的研究论文等不列为参考文献,有确需说明的可以在后记中予以说明。二、打印装订要求论文必须使用标准A4打印纸打印,一律左侧装订,并至少印制3份。页面上、下边距各2.5厘米,左右边距各2.2厘米,并按论文装订顺序要求如下:1.封面封面包括《广西广播电视大学关于毕业设计(论文)评审表》(封面、附录4)、《学生毕业设计(论文)评审表》(封2)、《广西广播电视大学关于毕业设计(论文)答辩申报表》(封3、附录5)。 2.目录目录列至论文正文的三级及以上标题所在页码,内容打印要求与正文相同。目录页不设页码。3.内容摘要摘要标题按照正文一级子标题要求处理,摘要内容按照正文要求处理。4.关键词索引关键词与内容摘要同处一页,位于内容摘要之后,另起一行并以“关键词:”开头(采用黑体),后跟3~5个关键词(采用宋体),词间空1字,即两个字节,其他要求同正文。5.正文正文必须从内容提要页开始,并设置为第1页。页码在页末居中打印,其他要求同正文(如正文第5页格式为“―5―”)。论文标题为标准三号黑体字,居中,单倍行间距;论文一级子标题为标准四号黑体字,居中,20磅行间距;正文一律使用标准小四号宋体字,段落开头空两个字,行间距为固定值20磅;正文中的插图应与文字紧密配合,文图相符,内容正确,绘制规范。插图按章编号并置于插图的正下方,插图不命名,如第二章的第三个插图序号为“图2—3”,插图序号使用标准五号宋体字;正文中的插表不加左右边线。插表按章编号并置于插表的左上方,插表不命名,如第二章的第三个插表序号为“表2—3”,插表序号使用标准五号宋体字。6、 参考文献按照GB7714—87《文后参考文献著录规则》规定的格式打印,内容打印要求与论文正文相同。参考文献从页首开始,格式如下:(1)著作图书文献序号 作者 《书名》,出版地:出版者,出版年份及版次(第一版省略)如:[4] 劳凯声 《教育法论》,南京:江苏教育出版社,2001(2)译著图书文献序号 作者 《书名》,出版地:出版者,出版年份及版次(第一版省略)(3)学术刊物文献序号 作者 《文章名》,《学术刊物名》,年卷(期)如:[5]周汉华 《变法模式与中国立法法》,《中国社会科学》,2000(1)(4)学术会议文献序号 作者 《文章名》,编者名,会议名称,会议地址,年份,出版地,出版者,出版年(5)学位论文类参考文献序号 作者 《学位论文题目》,学校和学位论文级别,答辩年份(6)西文文献著录格式同中文,实词的首字母大写,其余小写。参考文献作者人数较多者只列前三名,中间用逗号分隔,多于三人的后面加“等”字(西文加“etc.”)。学术会议若出版论文集者,在会议名称后加“论文集”字样;未出版论文集者省去“出版者”、“出版年”项;会议地址与出版地相同的省略“出版地”,会议年份与出版年相同的省略“出版年”。三、毕业设计(论文)装袋要求毕业设计(论文)是专业教学的重要内容,必须规范管理,统一毕业设计(论文)材料装袋要求:1、论文稿本。经指导的提纲,一稿、二稿和装订好的正稿。2、过程记录表。包括指导教师指导记录表,学生毕业设计(论文)评审表(答辩过程记录表)等;3、相关材料。法专业要求的其他材料,如法学社会调查报告等。中国环境教育立法研究内容摘要摘要:目前,我国学术界对环境教育立法问题的研究还处于起步阶段,有关环境教育的法律规范也很不完善,影响和限制了我国环境教育的大力推行和良好普及,实质上是制约了我国解决环境问题的能力和可持续发展的进程。本文从环境问题的现状入手,阐释了环境教育立法的必要性和可行性,介绍了其他国家和地区的环境教育立法实践,在总结国内外先进经验的基础上,提出了对我国环境教育立法的构想。以期通过加强教育立法的途径,实现我国环境教育的普及,为改善解决我国环境问题的能力和可持续发展的进程创造条件。关键词:环境问题环境教育环境教育立法 一、环境问题、环境教育与环境教育立法(一)环境问题马克思说:“人靠自然界生活,这就是说,自然界是为了不致死亡而必须不断与之交往。所谓人的肉体生活和精神生活同自然界相联系,也就等于说自然界同自身相联系,因为人是自然界的一部分。” 生存与发展是人类社会最基本的主题。在人类与环境不断地相互影响和作用中,环境问题始终是伴随着人类的活动产生和发展的。不幸的是,在相当长的时期内,人类过分强调了作为自然主人的一面,夸大了人的主观能动性作用,忽视甚至忘却自然界的惩罚。环境问题并非始于今日,早在200年前的第一次工业革命时期就产生了环境问题。到了本世纪50年代,环境事件不断出现和加剧。到了70~80年代则出现了全球性的环境危机。目前全球人口正以每年9 000万的速度增长,预计到21世纪中期,世界人口将达到100亿。 人口无节制地增长,给地球的生态环境和有限的自然资源带来了沉重的压力。联合国列出了威胁人类生存的全球十大环境问题:全球气候变暖;臭氧层的损耗和破坏;酸雨蔓延;水资源危机;生物多样性减少;大气污染;有毒有害化学物质污染与危险废物越境转移;森林面积锐减;土地荒漠化;海洋污染。随着我国社会经济的迅速发展,环境保护与经济发展之间的矛盾日益凸显。20世纪最后几年有三件震撼国人的大事足以说明我国环境问题的严重性,已显示出环境破坏给人类带来的灾难性的报复。一是1997年创纪录(227天)的黄河断流;二是1998年的长江大水灾;三是2000年波及北京等地的频繁的沙尘暴。专家指出了目前困扰中国环境的十大问题。1、大气污染问题2004年我国二氧化硫排放量为1 995万吨,居世界第一位。据专家测算,要满足全国天气的环境容量要求,二氧化硫排放量要在现有基础上至少削减40%。此外,2004年中国烟尘排放量为1 165万吨,工业粉尘的排放量为1 092万吨。大气污染是中国目前面临的第一大环境问题。2、水环境污染问题中国七大水系的污染程度依次是:辽河、海河、淮河、黄河、松花江、珠江、长江,其中,42%的水质超过3类标准(不能做饮用水源),全国有36%的城市河段为劣质5类水质,丧失使用功能。大型淡水湖泊(水库)和城市湖泊水质普遍较差,75%以上的湖泊富营养化加剧,主要由氮、磷污染引起。3、垃圾处理问题中国全国工业固体废物年产生量达8.2亿吨,综合利用率约为46%。全国城市生活垃圾年产生量为1.4亿吨,达到无害化处理要求的不到10%。塑料包装物和农膜导致的白色污染已蔓延全国各地。(二)环境教育与环境问题的关系1、环境教育的发展历程环境教育的起源,一直可以追溯到19世纪末20世纪初的自然研究(Natural Study)。当时在学校开展自然研究的基本目的是教育学生通过亲身观察和参与,了解和评价自然环境。到20世纪上叶,人们认识到保护生态和自然环境的重要性,保护运动(Conservation movement)在社会中形成,学校教育在自然研究的基础上引入了自然保护的教育内容,这就是环境教育的萌芽。(1)国外环境教育的发展历程1972年在瑞典首都斯德哥尔摩召开的“世界人类环境会议”是环境教育发展的一个里程碑。为了响应斯德哥尔摩会议的第96条建议,联合国教科文组织和联合国环境规划署于1975年颁布了国际环境教育(IEEP),其目的是在环境教育领域内,促进经验和信息的交流、研究和实验、人员培训、课程和相应教材的开发及国际合作。1975年,在前南斯拉夫的贝尔格莱德召开的国际环境教育会议,通过了《贝尔格莱德宪章:环境教育的全球纲领》。该宪章根据环境教育的性质和目标,指出环境教育是“进一步认识和关心经济、社会、政治和生态在城乡地区的相互依赖性;为每一个人提供获得保护环境的知识和价值观、态度、责任感和技能;创造个人、群体和整个社会行为的新模式。”此后,《贝尔格莱德宪章》成为世界各国制定环境教育纲要与章程的重要依据之一。而环境教育的普及对环境相关法律的立法、执法都可起到相当大的辅助作用。大力开展环境教育,使环境意识特别是环境保护法律意识深入人心,使人们认识到环境问题不仅是社会问题,更是可以涉及到每个人切身利益和法律责任、社会责任的问题,认识到环境问题和法律责任的关系,更好地使环境保护法律成为预防环境问题发生的利剑,这样可以达到依法治理环境和人们自觉保护环境的目的。二、中国环境教育立法的必要性和可行性(一)中国环境教育立法的必要性当一种社会关系需要用立法来调整,说明这种社会关系的重要性。中国环境教育专门立法是否必要,则完全取决于以下前提:(1)环境教育的重要性;(2)环境教育立法对社会经济发展的重要作用。五、结论21世纪是环境世纪,公众的环境意识通过环境教育来建立。根据我国人口多,地区经济水平差异大,公民受教育程度不一的现状,要使公众的环境保护意识提高到一个比较高的水平,实现社会——经济——环境的协调发展,尽早达到国家的可持续发展目标,构建和谐社会,通过立法机关制定完善的、具有可操作性的《环境教育法》不失为一个有效的。希望对促进我国环境教育法律体系的建立提供一些有益的参考。 识和关心经济、社会、政治和生态在城乡地区的相互依赖性;为每一个人提供获得保护环境的知识和价值观、态度、责任感和技能;创造个人、群体和整个社会行为的新模式。”此后,《贝尔格莱德宪章》成为世界各国制定环境教育纲要与章程的重要依据之一。而环境教育的普及对环境相关法律的立法、执法都可起到相当大的辅助作用。大力开展环境教育,使环境意识特别是环境保护法律意识深入人心,使人们认识到环境问题不仅是社会问题,更是可以涉及到每个人切身利益和法律责任、社会责任的问题,认识到环境问题和法律责任的关系,更好地使环境保护法律成为预防环境问题发生的利剑,这样可以达到依法治理环境和人们自觉保护环境的目的。二、中国环境教育立法的必要性和可行性(一)中国环境教育立法的必要性当一种社会关系需要用立法来调整,说明这种社会关系的重要性。中国环境教育专门立法是否必要,则完全取决于以下前提:(1)环境教育的重要性;(2)环境教育立法我国环境教育法律体系的建立提供一些有益的参考。 基于Web的远程温湿度监测系统的设计 摘要:首先本论文针对基于WEB远程温湿度采集及监测系统的设计加以研究和介绍,并讨论系统软硬件的选择及具体开发调试环境;然后,详细介绍了系统设计方案及其实现,并着重介绍了上位机部分的设计,通过界面的形式完成远程人机互动,更高效快捷的完成对复杂环境因素的把握。 系统监测参数包括现场多点温湿度值,主控单片机通过将设定阈值与测定值进行比较进而驱动蜂鸣器报警同时触发继电器进行相应电气控制,实现现场温湿度调控。同时上位机通过串行通信与下位机进行数据通信,将下位机检测到的数据在上位机上进行实时显示和相应控制。后台运行的数据库通过将下位机采集数据进行录入存档,同时数据库支持上位机和WEB调用。 关键词:温湿度采集;stc单片机;上位机;远程控制;数据库;WEB访问 The design of the system which Based on Web remote temperature and humidity monitoring Abstract: This paper firstly based on WEB remote temperature and humidity acquisition and monitoring system design to research and introduce, and discuss the selection and specific system hardware and software development of commissioning environment; Then, detailed introduces system design scheme and realization, and introduces emphatically the design of computer parts, through the form complete remote human-machine interface, the more highly effective quick interactive environment factors of complex complete assurance. System monitoring parameters including the scene multipoint control temperature and humidity value set threshold microcontroller through comparison with determination value and buzzer alarm and trigger relay driver corresponding electric control, and realizing scene temperature and humidity control. Meanwhile PC through serial communication and lower level computer data communication, will lower place machine detected on the data real-time display in the upper and the corresponding control. The background database by will lower level computer acquisition data input file, and database support PC and WEB calls. Keywords: Temperature and humidity collecting; STC microcontroller; Principal computer; Remote control; Database; WEB access 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书 指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、学生掌握专业知识、技能的扎实程度 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 □ 优 □ 良 □ 中 □ 及格 □ 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 □ 优 □ 良 □ 中 □ 及格 □ 不及格 5、完成毕业论文(设计)期间的出勤情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 指导教师: (签名) 单位: (盖章) 年 月 日 评阅教师评阅书 评阅教师评价: 一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 评阅教师: (签名) 单位: (盖章) 年 月 日 教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价: 一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、对答辩问题的反应、理解、表达情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生答辩过程中的精神状态 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 教研室主任(或答辩小组组长): (签名) 年 月 日 教学系意见: 系主任: (签名) 年 月 日 1 绪论 1.1 基于Web的远程温湿度监测系统概述 1.1.1基于Web的远程温湿度监测系统组成 本系统主要由主控制器、串行通信模块、继电控制模块、显示模块、上位机控制模块、WEB界面等六部分组成。其基本框架见图1。 (1) 主控制器模块 主控制器模块是整个下位机系统的核心。主要完成对系统中各种测定信号的输入、分析及输出控制,也是实现数据交换、软硬件接口的中心控制模块。本系统中以单片机为控制核心。 (2) 串行通信模块 这是系统中又一重要模块。其主要功能是实现对数据进行上位机和下位机之间的交换,是实现远程控制的关键。系统中串行通信模块通过MAX232芯片进行电平转换实现上位机与下位机的通信。 (3) 继电控制模块 此模块是控制的关键模块,当系统采集到的现场温湿度数据超出测试点阈值时,单片机发出控制信号触发继电器,进而启动或关闭相应电气设备,实现对现场环境的控制。采用继电控制有益于提高工作效率和控制精度,提高了系统稳定性和可用性。 (4) 显示模块 此部分功能主要包括设定阈值和测定量的显示。系统中采用1602液晶实现显示功能,采用1602液晶可以节约单片机接口,同时可以显示较多的内容特别适合多点监测系统数据的显示。 (5) 上位机控制模块 上位机模块由两部分组成,包括VB上位机界面和Access后台数据库。VB界面用于实现人机交互,可以显示各测定点阈值和各监测点的实时数据,并通过控件与数据库连接实现数据库存储、查询等功能。Access数据库部分可用于存储测定数据并支持本地和远程网络调用。 (6) WEB界面模块 采用ASP网页语言编写,用于远程计算机通过网络实现对本地数据库的访问。WEB功能可以实现异地用户对于现场数据的监测和简单控制。 1.1.2基于WEB的远程温湿度监测系统的特点 要通过Intemet实现温湿度的远程监测,一般是采用在现场计算机系统中构建Web服务器的方法。采用这种方法在本地构建的服务器运行后可以支持WEB访问本地数据,同时由于本地服务器的特殊性管理者可以通过设置较高的安全等级提高系统的安全性。随着科技的发展网络几乎无处不在,这为基于WEB的远程监测提供了强大的硬件支持,只要有网络的地方就可以实现“远程监测” [3~4]。 1.2 课题研究的背景及意义 1.2.1课题研究的背景 对于温湿度的检测系统的研究有很多,归纳起来有两个大的走向,一是趋于小型化的手持式或现场式的检测设备,数据的记录需要人工干预,工作效率和精度都不高。二是采用检测元件集中管理的数据采集模式,但是管理范围大都只局限在本地计算机上,通过网络对现场数据访问的技术目前的研究发展还是不够的主要体现在检测系统功能的完备性上,所以本设计集中检测技术、上位机控制、数据库存储、Web服务器架构和访问技术于一体,最大限度的满足实际工作需要,提高工作效率[5]。 1.2.2课题研究的意义 本项目采用价格低廉的单片机对现场数据进行采集,通过串行通信方式完成前置单片机与计算机间的通信,采用VB进行上位机的编程并结合数据库对采集数据进行存储,方便数据分析和网络上其他主机对现场检测数据的访问和调用,是一套造价低廉、方便实用的现场监控平台。同时,该平台具具有良好的兼容性[6]和稳定性。此次设计的突出优势是: (1) 突破了检测系统高成本、移植性差的通病,以单片机作为控制中心实现了成本最小化,通过采用DS18B20温度传感器元件通过单总线技术既节约控制端口同时增加了系统的可扩展性,同时该元件的温度适用范围比较大从而实现了可移植性的突破。 (2) 远程多点实时监控,并对现场设备进行了冗余备份,解决了现场监控和故障检修的不便,实现远程对现场生产条件的掌控和现场设备的故障检测和判断。 (3) 系统硬件部分采用模块化的设计方法,将功能模块与主控模块分离,便于系统扩展和故障检修,提高系统可用性。 1.3 论文研究的内容和目标 1.3.1 论文研究的内容 (1) 分析温湿度传感器的工作原理。 由于此次论文是对于温湿度的监控,因而对于传感器的选择很重要,不同的传感器对环境的适应能力不同,可移植性也存在较大差异,选择一个适合的传感器在系统设计成本和系统可移植性的方面具有重要意义。 (2) 分析继电控制原理和应用。 在进行现场监控的过程中控制相关电气设备对现场进行调控是本系统中一个重要的环节。由于系统控制核心采用单片机架构,而单片机属于弱点控制范畴,要驱动中大型现场设备运行即必须实现小电压对大电压的控制,采用继电器可以很好的解决这一问题,实现远程控制。 (3) 分析串行通信方法。 在系统实现过程中上位机和下位机的通信是重要组成环节,上位机下位机通过串行口进行串行通信。串行通信速度快、误码率低,通信高效可靠[7]。 (4) 了解VB界面开发和相关控件使用。 VB是一款面向对象的软件界面开发工具,简单易用。利用VB开发串口通信程序既可以使用MSComm控件也可以调用Windows API函数实现。本系统采用MSComm控件实现,因为MSComm控件的功能和API调用一样强,甚至比它还好且使用起来更加简单[8~9]。 (5) 采用WEB通信实现系统的远程监测。 互联网技术的发展为这一方案提供了可能性,远程监控脱离传统意义上的“远”,通过网络访问本地数据库实现更远距离的实时监测。 1.3.2 论文研究的目标 (1) 能过对现场进行多点温湿度数据采集和传输。 (2) 通过程序控制,实现设定阈值、报警和继电控制功能等。 (3) 下位机能够显示多点测试数据和其他数据量。 (4) 能通过串行通信的方法实现上位机和下位机的实时通信,并且可以通过上位机实现对下位机的控制功能。 (5) 能够在上位机界面实现对各监测数据的实时显示和报警,并可以对数据库进行相应操作,比如实现查询和报表打印等功能。 (6) 能够通过网络访问本地数据库,读取相关数据。 1.4 论文的结构 本论文的结构如下: 第一部分介绍基于Web的远程温湿度采集及控制系统的设计的基本框架,以及课题的背景及意义,并论述了研究内容和目标,最后说明了本论文的组织结构。 第二部分介绍了下位机硬件电路设计,以及对选用器件的性能要求所作的简要分析。 第三部分是对软件设计部分的介绍。 第四部分是对WEB网络访问的技术介绍以及本次设计的前景和展望分析。 2 硬件设计 本节介绍下位机的硬件电路设计。其流程如图2。 SHAPE \* MERGEFORMAT 2.1 STC单片机简介 STC89系列单片机是MCS-51系列单片机的派生产品。它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。 2.1.2 STC单片机接口性能分析 3V/5V工作电压,操作频率0~33MHz(STC89LE516AD最高可达90MHz);5V工作电压,操作频率0~40MHz; 大容量内部数据RAM:1K字节RAM; 64/32/16/8kB片内Flash程序存储器,具有在应用可编程(IAP) ,在系统可编程(ISP),可实现远程软件升级,无需编程器; 支持12时钟(默认)或6时钟模式; 双DPTR数据指针; SPI(串行外围接口)和增强型UART ; PCA(可编程计数器阵列),具有PWM的捕获/比较功能; 4个8位I/O口,含3个高电流P1口,可直接驱动LED; 3个16位定时器/计数器; 可编程看门狗定时器(WDT); 低EMI方式(ALE禁止); 兼容TTL和COMS逻辑电平; 掉电检测和低功耗模式等[10]。 2.2基于WEB的远程温湿度监测系统的硬件接口设计 2.2.1 STC89C52引脚介绍 进行单片机的接口设计首先需要分析一下STC89C52单片机的引脚[10]。STC89c52单片机拥有四个并行口其中P1口为准双向口,P2口为可作为地址总线输出口的准双向口,P0口可作为地址/数据总线口的三态双向口,当P3口作为8为双向I/O端口时,其内部具有上拉电阻,输出缓冲器具有对称的驱动特性,可以输出和吸收20mA大电流。此外,它还可以作为AD转换引脚。当P0、P1、P2端口全作为普通I/O口时,和P3口功能基本相同。另外,P3.0和P3.1作为串行通信口实现上位机和下位机间的串口通信连接。单片机结构见图3。 图3 STC89c52单片机引脚图 2.3 下位机硬件电路介绍与设计 首先,介绍一下时钟和复位电路的设计。 (1) 时钟电路的设计。本设计采用石英晶体振荡器。石英晶体频率较稳定,抗干扰能力较强。具体电气连接电路见图4。 图4 时钟电路 图5复位电路 (2) 复位电路的设计。51单片机使用的是高电平复位,其连接方法比较固定,其常见接法见图5。 刚上电时,电容C7促使REST引脚保持一段时间的高电平使电路复位,这属于上电复位。当按键按下时,REST与电源正极通变高电平,电路发生复位,程序终止运行后从新开始运行,程序运行的起点是main函数,这是手动复位。采用上电复位和手动复位相结合的硬件电路设计提高了系统的可靠性。 (3) 键盘接口电路采用独立键盘的方法,利用三个按键完成系统参数的设定,三个按键分别定义为功能选择键、加一键和减一键,具体实现过程为系统初始化后后,系统以轮询的方式进行键盘操作扫描,当检测到功能定义键第一次输入低电平即第一次按下时,启动设置下限功能,功能定义脚第二次按下启动设置上限功能,功能键第三次按下则退出阈值设置功能。采用功能键控制的方式可以在节约接口的同时使系统功能集约化。键盘电路见图6,图中硬件电路采用上拉电阻的作用是保证按键没有被按下时各引脚输入为高电平,提高系统稳定性。 图6 键盘接口电路 (4) 显示电路部分采用了LCD1602液晶,具体的电路如图7。 图7 LCD液晶显示电路 (5) 串行接口及其电路的设计。串行通信的发送方向和接收方向共用一个缓冲器,只是缓冲器的地址不同。工作方式分为单工、半双工和全双工三种,本系统采用全双工方式进行通信,即在下位机上传数据时上位机可以同时接收数据和发送数据,51单片机的串行口是一个全双工的异步串行通信端口,特殊功能寄存器SCON对串行通信起控制作用可设置工作波特率等[11]。 图8 MAX232芯片引脚及连接图 图9 MAX232硬件连接方法 MAX232芯片介绍。电平0 +5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平,MAX232芯片引脚及内部逻辑见图8。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平[12~13]。 (6) 传感器的选择和使用。温度传感器采用DS18B20温度传感器,DS18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点:采用单线制数据传输,支持单线元件扩展;测温范围大适应范围广;因而具有较好的环境适应能力[14~16]。湿度传感器采用DHT11传感器,该传感器具有体积小测定范围大的特点同样也为单总线原件,便于系统功能扩展。硬件连接图分别见图10、图11。 图10 DS18B20管脚及内部结构图图 图11 DHT11连接方法 (7) 继电控制模块和报警模块。继电控制是系统控制核心环节,采用5V继电器实现控制过程小电压对大电压的控制,继电器采用三极管驱动,继电器驱动电气设备在图中以LED指示灯代替,本设计采用的继电器型号为SRD-05VDC-SL-C可由5v电压驱动,最大控制变量达到10A/250V可以满足大部分电气设备的运行要求,电气连接电路如图12所示。 图12继电器连接电路图 图13 实物图 报警模块主要功能是在现场温湿度超出设定阈值时对外界发出警报,此部分采用蜂鸣器作为报警设备,同时考虑到系统的稳定性对硬件进行了冗余备份,具体做法是在蜂鸣器上并联led指示灯,这样在其中一个报警设备出现故障时另一个冗余设备可以继续工作而不会影响系统稳定性[17]。 (8) 硬件整体实物图和电路图如图13、14: 图14 下位机硬件电气连接图 3 软件设计 3.1 软件设计流程 本节将根据相应的硬件自下而上的设计相应程序或软件。首先对键盘、显示、报警、串行通信部分设计对应的程序,并对这些程序加以排列、组合以获得最佳控制状态,最后设计高层人机接口程序(上位机)。下位机软件总体程序流程见图15。 图15 下位机软件总体程序流程 3.2 键盘及显示部分程序设计 键盘部分:设计中使用三个独立键盘,分为一个功能键和两个设置键,将单片机接口设为高电平输出,键盘引脚接低电平。检测到输入引脚有低电平时,使用软件延时10ms防止干扰,再次检测,若仍然为低电平,则说明有键按下,执行相应程序。 显示部分:设计采用的是LCD1602液晶显示器,其工作指令如表1。LCD1602液晶显示器的初始化过程如下: 1.延时15ms;2.写指令38H(不检测忙标志);3.延时5ms;4. 写指令38H(不检测忙标志);5. 延时5ms;6. 写指令38H(以后每次写指令、读/写数据操作之前均需检测忙信号);7. 写指令38H:显示模式设置;8.写指令08H:关闭显示;9.写指令01H:显示清屏;10.写指令06H:显示光标移动设置;11.写指令0CH:显示开及光标设置[18]。 表1 LCD1602指令表 3.3 报警和继电控制程序设计 控制中心将检测元件测得的数据与预先设定的阈值相对比,得到相应的返回值从而触发报警和电气运行,具体分为三个信号输出,当现场任一检测点温湿度超出设定阈值时蜂鸣器控制引脚均输出脉冲信号触发蜂鸣器和led告警,继电器的控制则在进行数据比对之后分别触发不同的继电器达到控制目的[19],继电器控制流程见图16。 图16 继电控制流程图 继电控制部分具体代码为: if((tempsheding2)||(temp1sheding2)||(temp2sheding2)) { P3_6=1; } else { P3_6=0; } if((tempsheding2)||(temp1>sheding2)||(temp2>sheding2)) { P3_3=1; } else { P3_3=0; } 3.4 数据采集程序设计 温度量采集使用DS18B20温度传感器,温度数据关系如表2所示。 表2 DS18b20温度数据关系图 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功[20~22]。 DHT11湿度传感器的工作流程为:通过单总线访问 DHTxx 顺序归纳如下: 1. 主机发开始信号 2. 主机等待接收 DHT11 响应信号 3. 主机连续接收 40Bit 的数据和校验和 4. 数据处理 读DHT11数据流程如图17所示 图17 读DHT11数据流程图 3.5 串行通信接口程序设计 本设计用到的硬件和软件清单如表3所示。 表3 设计用软、硬件 序 号 名 称 数 量 1 PC或IPC 2 2 串口通信线(三线制) 1 3 Visual Basic 6.0 1 4 Access 2003数据库 1 设计目的是实现下位机与上位机的实时通信包括下位机实时上传数据和上位机对下位机发送控制命令,以及完成上位机对数据库的调用和查询功能。 3.5.1下位机部分程序设计 下位机部分串行发送数据系统框图如图18所示: 图18 下位机数据发送系统框图 下位机部分采用单片机作为主控中心,单片机控制信号为TTL电平高电平为+5v低电平为0v,而计算机串行通信采用RS232电平高电平为-12v低电平为+12v,要进行通信必须进行相应的电平转换本设计中采用RS232芯片进行电平转换。单片机串行通信端口P3.0、P3.1连接到MAX232芯片进行电平转换,然后通过9Pin串行接口连接到计算机。数据发送采用轮询方式进行,程序每运行一次发送一次数据,数据在发送时采用按位发送的方法,因为下位机需要上传的数据换算成十进制数是一个三位数,而串行通信每次发送的数据为八位不能一次发送完,同时由于有多路数据需要上传因而必须在所发送数据前添加相应的标志位以便对各发送数据进行区分,上位机接收数据后再进行组装[23]。具体数据发送格式如图19所示,各数据位的分离方法具体为取余法和取模法。 初始化 起始位 FA 第一个数据百位 第一个数据十位 第一个数据个位 第二个数据…… 结束位FB 下一次发送 图19 下位机发送数据格式 数据发送部分程序如下: void init_ser(void) { SCON=0x50;//串口工作模式1,8位数据 TMOD=0x20;//定时器1模式2,8位自动重装 PCON=0x80; TH1=0xFD;//波特率为19200,晶振为11.0592 IE=0x90;//允许串口中断 TR1=1;//启动定时器1 TI=1; } void serial() interrupt 4 using 3//中断程序,用于数据发送 { ………………//下位机数据发送处理 } 3.5.2 上位机部分程序设计 上位机采用VB语言编写交互界面,同时后台运行Microsoft Office Access 2003数据库对现场数据进行存储,并通过上位机对数据库的调用在界面实时显示现场温湿度数值及其相应曲线。上位机设计的重难点在于串口从下位机接收到数据和将数据存储到数据库里并实时显示在界面上。上位机串行通信的实现借助于VB自带的Mscomm控件等,相应控件从VB部件选项卡中进行调用。上位机总体流程图如图20所示。 图20 上位机总体设计图 从串口采集数据主要采用的控件有:Mscomm32.ocx控件,在Microsoft Visual Basic 6.0中添加该控件,需要设置com口(可修改)、波特率(9600)、数据位(8)、停止位(1)、校验位(0)等,通过OnComm()事件驱动方式接收数据[24~25]。由于VB的串行通信组件并不会主动出现在工具箱里中,当我们需要MSComm控件时,首先要把它加入到工具箱中。让MSComm控件出现在工具箱中的步骤如下。 选择“工程”菜单下的“部件…”子菜单,在弹出的“部件”对话框中,在“控件”选项卡属性中选中“Microsoft Comm Control 6.0”复选框,单击“确定”按钮后,在工具箱中就出现了一个形似“电话”的图标,它就是MSComm控件。 工具箱中有了MSComm控件,就可以选择MSComm控件的图标后将其添加到程序窗体上,利用该控件编程,PC就可以通过VB实现与串口设备的串口通信了,其他需要的 控件调用方法与MSComm的调用方法一致,调用界面见图21。 图21 VB下调用相应控件 完成控件的添加之后开始上位机界面的设计。 (1)首先向新建界面添加串口通信控件MSComm。 (2)为了实现连续的自动接收,将工具箱中的Timer控件添加到程序窗体上。 (3)按需求添加文本框控件:用于输入要发送的字符和显示要接收的字符。 (4)添加两个标签控件:Label1和Label2,作为发送和接收字符区的标签。 (5)添加一些按钮控件:Command用于执行执行发送或接收字符命令。 (6)添加ADO控件,用于上位机和数据库表的连接,便于上位机对数据库表的调用。 (7)添加DATA Grid控件即网格控件,用于将上位机调用的数据库表中的内容进行显示,便于对数据库工作情况的监控。 (8)添加picture控件,用于对温湿度走势变化情况进行实时曲线显示,便于对温湿度值的直观了解和对比。 (9)添加Shape控件,用于对温湿度值的报警,阈值范围内为绿色,超阈值为红色。 (10)添加DTPicker控件用于选择数据库查询的时间范围。 由于本设计涉及多个界面间的相互调用和连接故应建立多个界面拖放相应的控件并进行相应的编程操作,具体页面包括登录页面、监控主页面、数据库查询页面、程序说明页面,各页面设计图分别如图22、23、24。 图22 上位机登陆界面设计 图23 上位机数据库查询系统设计 图24 上位机监控系统总界面设计 本设计中上位机可以实现的功能如下: (1) 实时采集三路温度信息和一路湿度信息并在上位机界面分别以数字和曲线的形式进行显示,曲线显示时三路温度分别以不同的颜色表示便于对比、区分。 (2) 上位机可以对每一路数据单独设立阈值并分别进行报警操作,增强系统稳定性、精确度。 (3) 上位机可以通过串行通信的方式控制下位机继电器运行进而控制进而控制相应电气运行,并可以通过上位机对下位机进行阈值进行设置,提高工作效率,减少现场巡查人员工作量。 (4) 上位机可以调用数据库并在上位机界面实时显示数据库内容,同时可以通过上位机设置数据库存储频率,增加数据可用性。 (5) 通过上位机可以对数据库进行查询和修改,同时可以调用打印功能进行报表打印。 上位机接收数据部分程序如下: Select Case MSComm1.CommEvent Case comEvReceive ' 收到 RThreshold # ofchars. xv: Dim hk As Variant hk = MSComm1.Input '第0通道数据接受与处理 If hk(0) = &HFA Then '通道0的开始标志位 z_start = True ovt = 0 End If If hk(0) = &HFB Then '通道0的结束标志位 z_start = False If (in_data(1) = 0) Then Text1.Text = Val(in_data(2) & in_data(3) & "." & in_data(4)) End If If (in_data(1) = 1) Then Text1.Text = Val("-" & in_data(2) & in_data(3) & "." & in_data(4)) - 0.1 End If 'Text4.Text = in_data(1) If (in_data(5) = 1) Then Text2.Text = Val(in_data(6) & in_data(7) & "." & in_data(8)) Else Text2.Text = Val("-" & in_data(6) & in_data(7) & "." & in_data(8)) - 0.1 End If If (in_data(9) = 1) Then Text12.Text = Val(in_data(10) & in_data(11) & "." & in_data(12)) Else Text12.Text = Val("-" & in_data(10) & in_data(11) & "." & in_data(12)) - 0.1 End If End If If z_start = True Then in_data(ovt) = hk(0) ovt = ovt + 1 End If 数据库采用,Microsoft Office Access 2003,先要建立数据库,然后创建所需要的表单和字段,所建数据库表见图25。在Visual Basic 6.0中对数据库进行操作,首先要连接数据源,然后打开数据库并进行相应的数据操作,接着更新数据库,最后进行数据库的关闭,在实际操作中通过控件Adodc与控件Datagrid连接,以实现数据源与数据显示相联系,并通过Picturebox控件实现绘图的功能,ADO控件与数据库表连接的方法如图26。另外通过VB功能调用可加以实现数据库的查询和报表打印功能[26~27]。上位机实际运行效果如图27。 图25 数据库表 图26 上位机中Adodc与数据库表的连接 图27 上位机实际运行界面 3.6 调用本地数据库网页设计 远程调用监控数据库网页运用ASP语言编写,由于时间的仓促此部分功能并未完成且很多地方有待修改。ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软Web服务器的各种动态数据发布。ASP的编译环境简介开发ASP程序,最好的工具是Microsoft Visual InterDev6.0,利用它不仅可以编写还可以调试,本设计采用的工具是Dreamweaver,它可以将ASP脚本语言 与HTML语言分颜色显示并可帮助编写复杂的HTML语句,Dreamweaver运行界面如图29所示。 本地网页设计流程图如图28所示: 图28 WEB界面设计流程图 图29 Dreamweaver软件运行图 此部分设计包括用户登录框、数据库调用界面、数据库查询修改界面等,同时考虑到网页安全除用户登录框外,网页还具有对登录主机的记录、以及登录用户的记录功能,增加了网页安全性[28~32]。网页访问相关界面如图30所示。 图30 网页远程访问相关界面 4 总结 4.1 难点与创新 在本次设计中难点主要有一下几方面:串行通信的设置和实现、VB上位机的编写和数据库的调用、WEB服务器及本地网页的制作。现就前两点进行简单介绍。 串行通信的难点主要是由于所需要发送的数据格式的特殊要求,从下位机传送数据到上位机的过程中由于数据量比较大所以需要在不同类别的数据前添加相应的标志位,并且由于一次传输只能传输八个字节,所以必须将一个数据按位分别发送,上位机接收后在进行进一步分析和组装,否则将会导致数据接收紊乱,无法有效的分别不同测试点的温湿度情况。本设计中利用轮询的方式进行数据的接收和发送,在数据发送前由下位机对数据进行处理,在需要发送的一组数据前加标志位并且尾部添加结束位,保证上位机不会因为数据接收混乱而影响系统可靠性和稳定性。 上位机中对于Access数据库操作是通过VB自身的控件完成,用到的控件主要有Microsoft Datagrid control 6.0和Microsoft ADO data control 6.0,通过这两个控件可以使上位机连接到数据库实现上位机对数据库的操作,同时将数据库表中的内容显示在上位机界面上。 创新主要体现在以下五个方面:1、采用1602液晶显示,既节约接口又可以同屏显示更多的数据量。2、硬件电路采用模块化设计方便扩展和维护。3、利用串行通信的方式通过上位机发送相应指令到下位机,实现远程监测。4、可采用WEB访问的形式远程查看本地数据库,实现更远距离的实时监控。5、预留部分接口,便于以后进行功能升级且功能可扩展。 4.2 测试结果讨论 在完成了电路设计、程序编写、焊接以及程序下载后,本次设计就接近尾声。最后需要进行最终的效果测试。下面对测试过程及情况做简要说明。 首先,对下位机进行测试,1602液晶可以实时显示监测点温湿度和设定的阈值,键盘正常工作,人为将监测点温度升高到上限后报警启动同时触发继电器工作,至此下位机工作正常。 然后,对上位机工作情况进行测试,通过usb转串口线将下位机连接到计算机,打开上位机程序窗口正常显示各项测试数据并同步更新温度曲线,人为触发下位机报警,上位机界面同时报警,在上位机更改阈值下位机同步更新数据。测试上位机其他附属功能正常实现,至此上位机工作正常。 最后,对Web本地服务器工作情况进行测试,打开本地网络服务程序,在其他计算机对web网页进行访问,访问成功并成功读取实时数据,表明web网络服务正常。 到此,基于Web的远程温湿度采集及监测系统测试完成,所有电路及预期功能基本完成。 4.3 前景与展望 在工农业生产极度发达的今天工业生产自动化集约化程度越来越高,监控设施越来越齐备,温湿环境对工农业生产有着重要的影响,对于温湿度进行监控的设备系统越来越多,但是他们通常庞大、昂贵不易移植,且通常是单由监控间集约化管理,并不能实际的远离工作现场,远程监测的发展方向必然是向着网络化的方向发展。 因此,这种基于Web的远程温湿度采集及监测系统在现实中,具有一定潜力。而且,它在被工农业运用的同时我们也可以利用其工作原理设计出自己的监控系统服务于我们的生活。它的廉价性和系统易用性为它的适用范围的扩大提供了可能性,而系统的可扩展性又提升了它的实用性。 综上所述,这种使用单片机作为主控芯片以网络访问为特色的监控系统具有良好的发展势头,拥有一定潜力可供挖掘。 参考文献: [1] <<电子技术>>2001年11期:12-15 [2] 雷震甲.网络工程师(第三版)[M].清华大学出版社,2009.8.1:136-135 [3] 李琳等编著.零基础学Visual Basic+SQL Server[M].-北京:机械工业出版社,2008.1:23 [4] 基于VB实现PC机与单片机的数据采集系统设计[N] 王 超 大众科技 2009:12 [5] 樊昌信.通信原理(第五版)[M].北京:国防工业出版社,2001:23-45 [6] 翁丽华.多路数据采集器系统与智能仪表的研究和设计[D] [7] 敬铮. Visual Basic 6.0数据库开发与专业应用[M] 国防工业出版社 2002.1:56 [8] 求实科技. Visual Basic 6.0 程序设计与开发技术大全[M] 人民邮电出版社 2004.9:39-67 [9] 付浩 AT89C51单片机高速串行输出口设计[A]淮阴师范学院 2004.10 :89-100 [10] 李华. MCS-51系列单片机应用接口技术[M].北京航空航天大学出版,1993:235-240 [11] 李建华,郭明.RS-232和调制解调器高级通信编程[M〕.北京:人民邮电出版社2001年7月第l版:59 [12] GStePhanoPoulos,C.Han.hitelligenisystemsinProeessengineering:areview[J] ComPuters&ChemicalEngineering,Volume20,Issues6-7,June-July1996:743-791 [13]王选民.智能仪器原理及设计[M].北京清华大学出版社,2008年7月:221:224 [14] 李兰友.微机原理与接口技术[M].天津:南开大学出版社,2001:56 [15] 张琳娜,刘武发.传感检测技术及应用[M].中国计量出版社,1999:125-128 [16] 何希才,虹敏.传感器应用接口电路[J].机械工业出版社,1997 [17] 明日科技. 高春燕. 刘彬彬. 王斌. Visual Basic开发技术大全[M] 人民邮电出版社2008.6:543-553 [18] 赵新民. 智能仪器设计基础[M]. 哈尔滨工业大学出版社. 1999:56-68 [19] 张友德,赵志英 单片微型计算机原理、应用与实验(第五版)[M] 复旦大学出版社 2006.5:23-25 [20] 谢子店,朱秀.用PC机的打印口与DS18b20进行温度检测[DB].电子技术应用,1999,11:69-70 [21] 闫胜利,王朝瑞.基于DS18B20的温度控制系统设计[N].长春工程学院学报,2002,3:55-59 [22] D.W.CALDWELL.A Distributed Spacecraft Thernal Control Architecture Using the Dallas semiconductor MicroLan Producs.Digital Avionics Systems Conference,1997,10:1-8 [23] 选用射频芯片的无线数据通信电路设计[J] 《电子技术》2004年第12期 [24] [41LueioDiJasio.As皿chronousCommunieation[J].Progr田旧ming32一bitMicrocontrollers inC,2008,197-217 [25] 范逸之. 陈立元. Visual Basic与RS-232串行通信控制(最新版)[M] 清华大学出版社 2002.6:23-85 [26] 李梓. Access数据库系统及应用[M] 科学出版社 2009.8:44-45 [27] 明日科技. 高春燕. 刘彬彬. 李俊民. Visual Basic程序开发范例宝典[M] 人民邮电出版社2006.7 :25-48 [28] Rong-Ceng Leou, Zwe-Lee Gaing.A Web-Based Load Flow Simulation of Power Systems.Power Engineering Society Summer Meeting [J]. 2002 IEEE. 2002,3(21-25): 1587-1591. 致 谢 时光荏苒,岁月如梭,转眼间四年的本科生活已经接近尾声,在论文完成之际,我由衷地感谢教导和帮助我的师长、支持、鼓励和爱护我的亲人和朋友们! 首先,我要特别感谢我的导师许丽佳老师给予了我悉心的指导,从论文的选题到资料的收集、修改、到最终的定稿,我都得到了许老师认真、全面的指引和帮助。她治学态度严谨,知识渊博,对问题有敏锐的观察力和独到的见解,而在生活上许老师其实是个很感性,很懂生活,很风趣幽默的人,总之,老师做学问做研究的严谨精神和生活上积极向上的乐观的态度均使我受益菲浅!在此,向她致以最衷心的感谢和最崇高的敬意! 四年的学习生活中,还要电气系所有老师对我的悉心教导,是您们的谆谆教导让我获得了丰富的专业知识,使我圆满的完成学业,并为我将来的发展打下了坚实的基础! 同时还要感谢我的同学和朋友们四年来对我的照顾与支持,大家共同学习,共同进步,这种友谊始终是我学习和成长的一大收获和重要动力。 最后,我要感谢我的父母和家人,感谢他们在我求学的这么多年里无私的付出和支持! 附录: 下位机程序: #include #include"1602.h" #define uchar unsigned char #define uint unsigned int sbit DATA = P2^3; //DS18B20接入口 sbit DATA1 = P2^4; //DS18B20接入口 sbit DATA2 = P2^5; //DS18B20接入口 unsigned char ADC[20]; //unsigned code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned int data0,data1,data2,temp0,temp1,temp2,ch,flag1,flag2,flag3,temp,sheding1=200,sheding2=312,shezhi=0; //**************第0个DS18B20 //******延时 void delay(uint num) { while(num--); } void delay1ms(unsigned int ms)//延时1毫秒 {unsigned int i,j; for(i=0;i0;i--) { DATA = 0; // 给脉冲信号 dat>>=1; DATA = 1; // 给脉冲信号 if(DATA) dat|=0x80; delay(8); } return(dat); } //写一个字节 WriteOneChar(unsigned char dat) { uchar i=0; for (i=8; i>0; i--) { DATA = 0; DATA = dat&0x01; delay(10); DATA = 1; dat>>=1; } delay(8); } //读取温度 int ReadTemperature(void) { uchar a=0; uchar b=0; int t=0; float tt=0; WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar();//低位 b=ReadOneChar();//高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //t= 256; return(t); } //第1个DS18B20 Init_DS18B201(void) //传感器初始化 { uchar x=0; DATA1 = 1; //DQ复位 delay(4); //稍做延时 DATA1 = 0; //单片机将DQ拉低 delay(80); //精确延时 大于 480us //450 DATA1 = 1; //拉高总线 delay(20); // x=DATA; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 //delay(10); // return(x); } //读一个字节 ReadOneChar1(void) { uchar i=0; uchar dat = 0; for (i=8;i>0;i--) { DATA1 = 0; // 给脉冲信号 dat>>=1; DATA1 = 1; // 给脉冲信号 if(DATA1) dat|=0x80; delay(8); } return(dat); } //写一个字节 WriteOneChar1(unsigned char dat) { uchar i=0; for (i=8; i>0; i--) { DATA1 = 0; DATA1 = dat&0x01; delay(10); DATA1 = 1; dat>>=1; } delay(8); } //读取温度 int ReadTemperature1(void) { uchar a=0; uchar b=0; int t=0; float tt=0; WriteOneChar1(0xCC); // 跳过读序号列号的操作 WriteOneChar1(0x44); // 启动温度转换 Init_DS18B201(); WriteOneChar1(0xCC); //跳过读序号列号的操作 WriteOneChar1(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar1();//低位 b=ReadOneChar1();//高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //t= 256; return(t); } //************************* //*****************第2个DS18B20 Init_DS18B202(void) //传感器初始化 { uchar x=0; DATA2 = 1; //DQ复位 delay(4); //稍做延时 DATA2 = 0; //单片机将DQ拉低 delay(80); //精确延时 大于 480us //450 DATA2 = 1; //拉高总线 delay(20); // x=DATA; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 //delay(10); // return(x); } //读一个字节 ReadOneChar2(void) { uchar i=0; uchar dat = 0; for (i=8;i>0;i--) { DATA2 = 0; // 给脉冲信号 dat>>=1; DATA2 = 1; // 给脉冲信号 if(DATA2) dat|=0x80; delay(8); } return(dat); } //写一个字节 WriteOneChar2(unsigned char dat) { uchar i=0; for (i=8; i>0; i--) { DATA2 = 0; DATA2 = dat&0x01; delay(10); DATA2 = 1; dat>>=1; } delay(8); } //读取温度 int ReadTemperature2(void) { uchar a=0; uchar b=0; int t=0; float tt=0; WriteOneChar2(0xCC); // 跳过读序号列号的操作 WriteOneChar2(0x44); // 启动温度转换 Init_DS18B202(); WriteOneChar2(0xCC); //跳过读序号列号的操作 WriteOneChar2(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=ReadOneChar2();//低位 b=ReadOneChar2();//高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //t= 256; return(t); } //************************* void AD(void) { temp0=ReadTemperature; temp1=ReadTemperature1; temp2=ReadTemperature2; } void display(void) { int temp, temp1, temp2; int counter; if(counter-- == 0) { temp=ReadTemperature(); //temp=-20; //temp=256; if(temp>=0) { flag1=0; //temp=temp; } if (temp<0) { flag1=1; temp=(-ReadTemperature()); } temp1=ReadTemperature1(); if(temp1>=0) { flag2=1; temp1=temp1; } if (temp1<0) { flag2=2; temp1=-temp1; } temp2=ReadTemperature2(); if(temp2>=0) { flag3=1; temp2=temp2; } if (temp2<0) { flag3=2; temp2=-temp2; } counter=15; } //报警 //*******************设定温度上限下限值 if(P2_2==0) { delay(2); while(P2_2==0); shezhi++; } if((P2_1==0)&(shezhi==1)) { sheding1=sheding1+1; } if((P2_0==0)&(shezhi==1)) { sheding1=sheding1-1; } //显示上限 //温度1显示 write_com(0x80+0x00);//放第一行字符的位置 write_data("L:*"); change(sheding1/100,0x80+0x02); change(sheding1%100/10,0x80+0x03); write_com(0x80+0x04);//放第一行字符的位置 write_data(".*"); change(sheding1%10,0x80+0x05); /////////////////////////////结束 //*******************设定温度上限下限值 if(P2_2==0) { delay(2); while(P2_2==0); shezhi++; } if((P2_1==0)&(shezhi==2)) { sheding2=sheding2+1; } if((P2_0==0)&(shezhi==2)) { sheding2=sheding2-1; } if(P2_2==0) { delay(2); while(P2_2==0); shezhi=0; } //设定下限 write_com(0x80+0x09);//放第一行字符的位置 write_data("U:*"); change(sheding2/100,0x80+0x0b); change(sheding2%100/10,0x80+0x0c); write_com(0x80+0x0d);//放第一行字符的位置 write_data(".*"); change(sheding2%10,0x80+0x0e); /////////////////////////////结束 //报警 if((tempsheding2)||(temp1sheding2)||(temp2sheding2)) { P1_4=0; delay(20000); P1_4=1; delay(20000); } else { P1_4=1; } if((tempsheding2)||(temp1>sheding2)||(temp2>sheding2)) { P1_3=0; } else { P1_3=1; } //*************************************** ADC[0]=flag1; ADC[1]=temp/100; ADC[2]=temp%100/10; ADC[3]=temp%100%10; ADC[4]=flag2; ADC[5]=temp1/100; ADC[6]=temp1%100/10; ADC[7]=temp1%100%10; ADC[8]=flag3; ADC[9]=temp2/100; ADC[10]=temp2%100/10; ADC[11]=temp2%100%10; ADC[12]=sheding1/100; ADC[13]=sheding1%100/10; ADC[14]=sheding1%10; ADC[15]=sheding2/100; ADC[16]=sheding2%100/10; ADC[17]=sheding2%10; //write_com(0x80+0x00);//放第一行字符的位置 //write_data("1*"); //write_com(0x80+0x01);//放第一行字符的位置 //write_data("2*"); //温度1显示 change(ADC[1],0x80+0x40); change(ADC[2],0x80+0x41); write_com(0x80+0x42);//放第一行字符的位置 write_data(".*"); change(ADC[3],0x80+0x43); /////////////////////////////结束 //温度2显示 change(ADC[5],0x80+0x45); change(ADC[6],0x80+0x46); write_com(0x80+0x47);//放第一行字符的位置 write_data(".*"); change(ADC[7],0x80+0x48); //温度3显示 change(ADC[9],0x80+0x4a); change(ADC[10],0x80+0x4b); write_com(0x80+0x4c);//放第一行字符的位置 write_data(".*"); change(ADC[11],0x80+0x4d); //*************** } void init_ser(void) { SCON=0x50;//串口工作模式1,8位数据 TMOD=0x20;//定时器1模式2,8位自动重装 PCON=0x00; TH1=0xFD;//波特率为19200,晶振为11.0592 IE=0x90;//允许串口中断 TR1=1;//启动定时器1 TI=1; } void serial() interrupt 4 using 3 { } void ser(void) { SBUF=0xFA;//开始标志位 while(TI==0); TI=0; //第0通道 //if() SBUF=ADC[0]; while(TI==0); TI=0; SBUF=ADC[1]; while(TI==0); TI=0; SBUF=ADC[2]; while(TI==0); TI=0; SBUF=ADC[3]; while(TI==0); TI=0; // SBUF=ADC[4]; //标志位 while(TI==0); TI=0; SBUF=ADC[5]; while(TI==0); TI=0; //第2通道 SBUF=ADC[6]; while(TI==0); TI=0; SBUF=ADC[7]; while(TI==0); TI=0; SBUF=ADC[8]; while(TI==0); TI=0; //温度处理函数 SBUF=ADC[9]; while(TI==0); TI=0; SBUF=ADC[10]; while(TI==0); TI=0; SBUF=ADC[11]; while(TI==0); TI=0; SBUF=ADC[12]; while(TI==0); TI=0; SBUF=ADC[13]; while(TI==0); TI=0; SBUF=ADC[14]; while(TI==0); TI=0; SBUF=ADC[15]; while(TI==0); TI=0; SBUF=ADC[16]; while(TI==0); TI=0; SBUF=ADC[17]; while(TI==0); TI=0; //**************** SBUF=0xFB;//结束标志位 while(TI==0); TI=0; if(RI)//上位机发送测试命令 { RI=0; ch=SBUF; //sheding1=150; } if(ch==0x01) { P1_2=0; delay1ms(5000); P1_2=1; ch=0; } if(ch==0x02) { P1_3=0; delay1ms(5000); P1_3=1; ch=0; } if(ch==0x03) { P1_4=0; delay1ms(5000); P1_4=1; ch=0; } if(ch>0x03) { sheding1=ch; ch=0; } } main() { init(); Init_DS18B20(); //温度传感器初始化 Init_DS18B201(); Init_DS18B202(); init_ser(); while(1) { Init_DS18B20(); //温度传感器初始化 Init_DS18B201(); Init_DS18B202(); ser(); //AD(); display(); //ser(); } } 1602液晶显示部分供调用程序: #define uchar unsigned char #define uint unsigned int sbit LCD_RS=P1^0; sbit LCD_EN=P1^1; void init(); //初始化LCD void write_com(uchar com); //写LCD命令 void write_data(uchar *date); //写LCD数据 void delay_1602(uint z); //约1ms void init() { LCD_EN=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } void write_com(uchar com) { LCD_RS=0; P0=com; delay_1602(1); LCD_EN=1; delay_1602(1); LCD_EN=0; } void write_data(uchar *date) { uchar n; for(n=0;n<0x40;n++) { if(date[n]=='*')break; //检测,如果字符输入"*",就终止 LCD_RS=1; P0=date[n]; delay_1602(5); LCD_EN=1; delay_1602(5); LCD_EN=0; // delay(30); //输入每个字符延时时间 } } //***********写数据 void wdata(unsigned char *dat) { //uchar n; //for(n=0;n<0x40;n++) { // if(date[n]=='*')break; //检测,如果字符输入"*",就终止 LCD_RS=1; P0=dat; delay_1602(5); LCD_EN=1; delay_1602(5); LCD_EN=0; // delay(30); //输入每个字符延时时间 } } //*********** void delay_1602(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void change(int k,uchar com) { if(k==1) { write_com(com); write_data("1*"); } if(k==2) { write_com(com); write_data("2*"); } if(k==3) { write_com(com); write_data("3*"); } if(k==4) { write_com(com); write_data("4*"); } if(k==5) { write_com(com); write_data("5*"); } if(k==6) { write_com(com); write_data("6*"); } if(k==7) { write_com(com); write_data("7*"); } if(k==8) { write_com(com); write_data("8*"); } if(k==9) { write_com(com); write_data("9*"); } if(k==0) { write_com(com); write_data("0*"); } } DHT11程序部分 #include #include #define DHT11_DATA PORTC.0 #define DHT11_DATA_SET DHT11_DATA=1 #define DHT11_DATA_CLI DHT11_DATA=0 #define DHT11_DATA_OUT DDRC.0=1 #define DHT11_DATA_IN DDRC.0=0 #define DHT11_DATA_READ PINC.0 unsigned int dht11_data[3]; bit dht11_flag=0; unsigned char humidity;//湿度8位数据值 unsigned char humidity1; unsigned char temp; //温度8位数据值 unsigned char u8flag; unsigned int time_counter; //函数声明 : void timer0_init(void); void init_devices(void); void init_devices(void) //系统初始化 { #asm("cli"); DDRD=0xff; PORTD=0x00; DDRB= 0xff; PORTB= 0xff; timer0_init(); TIMSK = 0x01; #asm("sei"); } void timer0_init(void) { TCCR0 = 0x00; TCNT0 = 0xE1; TCCR0 = 0x04; } //定时器 TIMER0 溢出中断 interrupt [TIM0_OVF] void timer0_ovf_isr(void) { TCNT0 = 0xE1; time_counter++; } // 数据采集模块 unsigned char dht11_start(void)//dht11开始标志 { unsigned char count=0; DHT11_DATA_OUT; DHT11_DATA_CLI;//将数据线拉低18ms以上 delay_ms(25);//延迟18ms以上即可 DHT11_DATA_IN; DHT11_DATA_SET;//释放数据线 while(DHT11_DATA_READ) { delay_us(5); count++; if(count>10) return 0;//延迟等待50us,超过则失败 } while(!DHT11_DATA_READ);//等待低电平结束 return 1;//返回1 ,表示dht11响应 } void dht11_getdata0(void)//读取湿度函数 { unsigned char i=0,j=0; while(DHT11_DATA_READ);//等待数据线高电平结束 for(j=0;j<2;) //舍去校验位 { for(i=0;i<=15;i++)//读16位数据 { while(!DHT11_DATA_READ);//1bit开始低电平信号结束 delay_us(30); if(DHT11_DATA_READ) { dht11_data[j]<<=1; dht11_data[j]|=0x0001; } else dht11_data[j] <<=1;//判断位值 u8flag=2; while(DHT11_DATA_READ&&u8flag++); if(u8flag==1)break;//等待高电平结束 } if(u8flag==1)break; j++; } dht11_flag=1; //40位数完成标识 } void dht11_getdata1(void)//读取温度函数 { unsigned char i=0; while(DHT11_DATA_READ);//等待数据线高电平结束 for(i=0;i<=31;i++)//读16位数据 { while(!DHT11_DATA_READ);//1bit开始低电平信号结束 delay_us(30); if(DHT11_DATA_READ) { dht11_data[2]<<=1; dht11_data[2]|=0x0001; } else dht11_data[2] <<=1;//判断位值 u8flag=2; while(DHT11_DATA_READ&&u8flag++); if(u8flag==1)break;//等待高电平结束 } dht11_flag=1; //40位数完成标识 } // main() function void main(void) { delay_ms(20); //提高稳定性的延时 init_devices(); time_counter= 0; DHT11_DATA_OUT; DHT11_DATA_SET; while(1) { if(time_counter<= 1000) //1s 采集一次 { Display(); //显示 delay_ms(7); } else { unsigned char k=0; while(k==0) { dht11_start(); while(!dht11_start());//等待温湿度传感器响应 TIMSK=0x00; dht11_getdata0(); //读数值 TIMSK=0x01; delay_ms(30); k=1; } while(k==1) { dht11_start(); while(!dht11_start());//等待温湿度传感器响应 TIMSK=0x00; dht11_getdata1(); //读数值 TIMSK=0x01; delay_ms(30); k=0; } if(dht11_flag==1) //如果数读完 { dht11_flag=0; dht11_switchcode(); //转换值 } time_counter=0; //零清定时计数位 } DHT11_DATA_OUT; DHT11_DATA_SET; } } 上位机部分程序: 主界面: Dim z_start As Boolean Dim ovt As Integer Dim in_data(20) As Byte Dim t_z_start As Boolean Dim t_ovt As Integer Dim t_in_data(7) As Byte Dim wenduzhi(20) As Single Dim wenduzhi_k As Integer Dim time_count As Integer Dim line_k As Integer Dim aa(0) As Byte Dim wenduzhi1(20) As Single Dim wenduzhi2(20) As Single Dim wenduzhi3(20) As Single Dim jidianqi_1 As Single Dim jidianqi_2 As Single Dim shumaguan As Single Dim wenduzhi_k1 As Integer Dim time_count1 As Integer Dim line_k1 As Integer Dim time_flag As Integer Private Sub Combo1_Click() On Error GoTo BLAK If MSComm1.PortOpen = True Then MSComm1.PortOpen = False MSComm1.CommPort = Combo1.ListIndex + 1 MSComm1.PortOpen = False Else MSComm1.CommPort = Combo1.ListIndex + 1 MSComm1.PortOpen = True End If Exit Sub BLAK: MsgBox "串口不存在或者被占用!", vbOKOnly, "提示信息" End Sub Private Sub Combo2_Change() MSComm1.Settings = Combo2.Text & "n,8,1" End Sub Private Sub Command1_Click() MSComm1.PortOpen = True '添加按钮部分 Command1.Enabled = False Command2.Enabled = True End Sub Private Sub Command2_Click() MSComm1.PortOpen = False '添加按钮部分 Command2.Enabled = False Command1.Enabled = True End Sub Private Sub Command3_Click() Timer1.Enabled = False End Sub Private Sub Command4_Click() Timer1.Enabled = True End Sub Private Sub Command5_Click() Form1.Hide Form2.Show End Sub Private Sub Command6_Click() Form1.Hide Form4.Show End Sub Private Sub Command7_Click() '测试继电器二 'Text_SEND.Text2 = "2" 'jidianqi_1 = 1 aa(0) = &H1 MSComm1.Output = aa End Sub Private Sub Command8_Click() '测试报警 'Text_SEND.Text3 = "1" 'jidianqi_2 = 2 aa(0) = &H3 MSComm1.Output = aa End Sub Private Sub Command9_Click() '测试继电器一 'Text_SEND.Text1 = "0" 'shumaguan = 3 aa(0) = &H2 MSComm1.Output = aa End Sub Private Sub Form_Load() Combo1.ListIndex = 0 Combo2.ListIndex = 0 MSComm1.InputMode = comInputModeBinary Form1.Hide Form2.Hide Form3.Show 'Timer2.Interval = 1000 End Sub Private Sub Label32_Click() End Sub Private Sub MSComm1_OnComm() If MSComm1.PortOpen = True Then Select Case MSComm1.CommEvent Case comEvReceive ' 收到 RThreshold # ofchars. xv: Dim hk As Variant hk = MSComm1.Input '第0通道数据接受与处理 If hk(0) = &HFA Then '通道0的开始标志位 z_start = True ovt = 0 End If If hk(0) = &HFB Then '通道0的结束标志位 z_start = False If (in_data(1) = 0) Then Text1.Text = Val(in_data(2) & in_data(3) & "." & in_data(4)) End If If (in_data(1) = 1) Then Text1.Text = Val("-" & in_data(2) & in_data(3) & "." & in_data(4)) - 0.1 End If 'Text4.Text = in_data(1) If (in_data(5) = 1) Then Text2.Text = Val(in_data(6) & in_data(7) & "." & in_data(8)) Text14.Text = Val(in_data(13) & in_data(14) & "." & in_data(15)) '上限 Text15.Text = Val(in_data(16) & in_data(17) & "." & in_data(18)) '下限 Else Text2.Text = Val("-" & in_data(6) & in_data(7) & "." & in_data(8)) - 0.1 End If If (in_data(9) = 1) Then Text12.Text = Val(in_data(10) + 2 & in_data(11) & "." & in_data(12)) Text8.Text = Val(in_data(10) & in_data(11) & "." & in_data(12)) Else Text12.Text = Val("-" & in_data(10) & in_data(11) & "." & in_data(12)) - 0.1 Text8.Text = Val(in_data(10) & in_data(11) & "." & in_data(12)) End If End If Text14.Text = Val(in_data(16) & in_data(17) & "." & in_data(18)) Text15.Text = Val(in_data(13) & in_data(14) & "." & in_data(15)) If z_start = True Then in_data(ovt) = hk(0) ovt = ovt + 1 End If If MSComm1.InBufferCount <> 0 Then GoTo xv End If End Select '判断温度1是否报警 If ((Val(Text1.Text) > Val(Text3.Text)) Or (Val(Text1.Text) < Val(Text4.Text))) Then Shape1.BackColor = &HFF& '红色 Else Shape1.BackColor = &H8000& '绿色 End If '判断温度2是否报警 If ((Val(Text2.Text) > Val(Text5.Text)) Or (Val(Text2.Text) < Val(Text6.Text))) Then Shape2.BackColor = &HFF& '红色 Else Shape2.BackColor = &H8000& '绿色 End If '判断温度3是否报警 If ((Val(Text8.Text) > Val(Text9.Text)) Or (Val(Text8.Text) < Val(Text13.Text))) Then Shape3.BackColor = &HFF& '红色 Else Shape3.BackColor = &H8000& '绿色 End If '湿度报警 If ((Val(Text12.Text) > Val(Text11.Text)) Or (Val(Text12.Text) < Val(Text10.Text))) Then Shape4.BackColor = &HFF& '红色 Else Shape4.BackColor = &H8000& '绿色 End If Else End If End Sub Private Sub Text16_Change() aa(0) = Text16.Text MSComm1.Output = aa End Sub Private Sub Text17_Change() aa(0) = Text17.Text 'MSComm1.Output = aa End Sub Private Sub Timer1_Timer() 'Dim time_flag As Integer time_flag = time_flag + 1 If (time_flag = Val(Text7.Text)) Then Adodc1.Recordset.AddNew '将文本框中用户输入的各个字段值添加到数据库相应的字段中 Adodc1.Recordset.Fields("温度1") = Val(Text1.Text) Adodc1.Recordset.Fields("温度2") = Val(Text2.Text) 'Adodc1.Recordset.Fields("漏板温度") = Val(Text9.Text) Adodc1.Recordset.Fields("温度3") = Val(Text8.Text) Adodc1.Recordset.Fields("湿度") = Val(Text12.Text) '''''''''''''''''''' Adodc1.Recordset.Fields("时间") = Now Adodc1.Recordset.Update time_flag = 0 End If '第二张图片 Picture1.Picture = LoadPicture("") Picture2.Picture = LoadPicture("") For wenduzhi_k1 = 0 To 18 wenduzhi1(wenduzhi_k1) = wenduzhi1(wenduzhi_k1 + 1) wenduzhi2(wenduzhi_k1) = wenduzhi2(wenduzhi_k1 + 1) wenduzhi3(wenduzhi_k1) = wenduzhi3(wenduzhi_k1 + 1) Next wenduzhi_k1 wenduzhi1(18) = Val(Text1.Text) '温度值1 wenduzhi2(18) = Val(Text2.Text) '温度值2 wenduzhi3(18) = Val(Text8.Text) '温度值3 shiduzhi1(18) = Val(Text9.Text) '湿度值1 '开始划线 For line_k1 = 0 To 18 Picture1.Line ((time_count1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi3(line_k1) / 150 * Picture1.ScaleHeight)-((time_count1 + 1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi3(line_k1 + 1) / 150 * Picture1.ScaleHeight), vbBlue Picture1.Line ((time_count1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi1(line_k1) / 150 * Picture1.ScaleHeight)-((time_count1 + 1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi1(line_k1 + 1) / 150 * Picture1.ScaleHeight), vbWhite Picture1.Line ((time_count1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi2(line_k1) / 150 * Picture1.ScaleHeight)-((time_count1 + 1) * Picture1.ScaleWidth / 18, Picture1.ScaleHeight / 3 * 2 - wenduzhi2(line_k1 + 1) / 150 * Picture1.ScaleHeight), vbGreen Picture2.Line ((time_count1) * Picture2.ScaleWidth / 18, Picture2.ScaleHeight - (wenduzhi3(line_k1) + 2) / 100 * Picture2.ScaleHeight)-((time_count1 + 1) * Picture2.ScaleWidth / 18, Picture2.ScaleHeight - (wenduzhi3(line_k1 + 1) + 2) / 100 * Picture2.ScaleHeight), vbRed time_count1 = time_count1 + 1 If (time_count1 * Picture1.ScaleWidth / 18 > Picture1.ScaleWidth) Then time_count1 = 0 End If Next line_k1 Label9.Caption = Now '第一张图片脚标 Label25.Caption = Time Label26.Caption = Time + 0.00003 Label27.Caption = Time + 0.00007 '第er张图片脚标 Label28.Caption = Time Label29.Caption = Time + 0.00003 Label30.Caption = Time + 0.00007 End Sub 数据查询界面: Private Sub Command1_Click() Adodc1.RecordSource = "select *from dongdian where 时间 >=#" + Str(DTPicker1.Value) + "# and 时间<=#" + Str(DTPicker2.Value) + "# order by 时间" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 Timer1.Enabled = False End Sub Private Sub Command2_Click() Timer1.Enabled = True End Sub Private Sub Command3_Click() DataReport1.Show End Sub Private Sub Command4_Click() Form2.Hide Form1.Show End Sub Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date) End Sub Private Sub Form_Load() End Sub Private Sub Timer1_Timer() Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 End Sub WEB界面部分程序摘录: (注:此部分程序较多摘录部分重要程序如下) Main:(主界面框架结构) 主框架
 
Coon:(数据库路径) <% yinteda_access_conn=""'不能少 call yinteda_access_openDB sub yinteda_access_openDB on error resume next err.clear dim strsql strsql="driver={microsoft access driver (*.mdb)};DBQ="+server.mappath("Data/dongdian.mdb") set yinteda_access_conn=server.createobject("adodb.connection") yinteda_access_conn.open strsql if err<>0 then response.Write("连接数据库失败!您可以试着重新登陆,如果问题依然存在,请联系管理员。") response.End() end if end sub %> ChkUser:(用户登陆程序) <% if request("code")<>session("GetCode") or session("GetCode")="" then session("GetCode")="" response.redirect("login.asp?t=你输入的验证码不符!") end if userName=replace(Request("Name"),"'","") if userName="" then response.redirect"login.asp?t=用户名为空" PassWord=EnPas(replace(trim(Request("Password")),"'","''")) set rs=server.CreateObject ("ADODB.RecordSet") rs.Source="select * from UserManage where (UserName='"&userName&"') and (Password='"&PassWord&"')" rs.Open rs.Source,yinteda_access_conn,1,1 thesoft=Request.ServerVariables("HTTP_USER_AGENT") if instr(thesoft,"Windows NT 5.0") then vOS="Win 2000" elseif instr(thesoft,"Windows NT 5.1") then vOs="Win XP" elseif instr(thesoft,"Windows NT") then vOs="Win NT" elseif instr(thesoft,"Windows 9") then vOs="Win 9x" elseif instr(thesoft,"unix") or instr(thesoft,"linux") or instr(thesoft,"SunOS") or instr(thesoft,"BSD") then vOs="类Unix" elseif instr(thesoft,"Mac") then vOs="Mac" else vOs="BeiZhu" end if if not rs.EOF then UserId = rs("id") set rs1=Server.Createobject("adodb.recordset") sql1="Select * from Log" rs1.open sql1,yinteda_access_conn,3,3 rs1.addnew rs1("User")=userName rs1("LoginIP")=request.ServerVariables("Remote_Addr") rs1("OS")=vOS rs1.update rs1.close session("yinteda_access_userName")=request("Name") session("yinteda_access_password")=request("password") Response.Redirect "index.asp"'登陆成功 else'登陆失败 set rs1=Server.Createobject("adodb.recordset") sql1="Select * from Log" rs1.open sql1,yinteda_access_conn,1,3 rs1.addnew rs1("User")=Request("Name") rs1("LoginIP")=request.ServerVariables("Remote_Addr") rs1("OS")=vOS rs1("ErrorPas")=Request("Password") rs1("Result")="Error" rs1.update rs1.close set rs=nothing response.redirect"login.asp?t=用户或密码错误" end if %> User:(密码修改功能程序) <% if request("exe")="mod" then userName=replace(Request("userName"),"'","") userName_old=session("yinteda_access_userName") if userName="" then response.write "" else PassWord=EnPas(replace(trim(Request("Password")),"'","''")) yinteda_access_conn.execute("update UserManage set userName='"&userName&"',password='"&password&"' where userName='"&userName_old&"'") response.write "" response.end end if end if %> 基于WEB远程温湿度检测系统
新用户名: ">
新密码:
重复密码:
 
学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。 学位论文作者(本人签名): 年 月 日 学位论文出版授权书 本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。 论文密级: □公开 □保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议) 作者签名:_______ 导师签名:_______ _______年_____月_____日 _______年_____月_____日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 二〇一〇年九月二十日   毕业设计(论文)使用授权声明 本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 二〇一〇年九月二十日 致 谢 时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。 首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。 其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。 另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。 最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。 四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。 回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。 学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。 在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。 最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 二〇一〇年九月二十日   毕业设计(论文)使用授权声明 本人完全了解**学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 二〇一〇年九月二十日 基本要求:写毕业论文主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。 毕业论文的基本教学要求是: 1、培养学生综合运用、巩固与扩展所学的基础理论和专业知识,培养学生独立分析、解决实际问题能力、培养学生处理数据和信息的能力。2、培养学生正确的理论联系实际的工作作风,严肃认真的科学态度。3、培养学生进行社会调查研究;文献资料收集、阅读和整理、使用;提出论点、综合论证、总结写作等基本技能。 毕业论文是毕业生总结性的独立作业,是学生运用在校学习的基本知识和基础理论,去分析、解决一两个实际问题的实践锻炼过程,也是学生在校学习期间学习成果的综合性总结,是整个教学活动中不可缺少的重要环节。撰写毕业论文对于培养学生初步的科学研究能力,提高其综合运用所学知识分析问题、解决问题能力有着重要意义。 毕业论文在进行编写的过程中,需要经过开题报告、论文编写、论文上交评定、论文答辩以及论文评分五个过程,其中开题报告是论文进行的最重要的一个过程,也是论文能否进行的一个重要指标。 撰写意义:1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申请学位必须提交相应的学位论文,经答辩通过后,方可取得学位。可以这么说,毕业论文是结束大学学习生活走向社会的一个中介和桥梁。毕业论文是大学生才华的第一次显露,是向祖国和人民所交的一份有份量的答卷,是投身社会主义现代化建设事业的报到书。一篇毕业论文虽然不能全面地反映出一个人的才华,也不一定能对社会直接带来巨大的效益,对专业产生开拓性的影响。但是,实践证明,撰写毕业论文是提高教学质量的重要环节,是保证出好人才的重要措施。 2.通过撰写毕业论文,提高写作水平是干部队伍“四化”建设的需要。党中央要求,为了适应现代化建设的需要,领导班子成员应当逐步实现“革命化、年轻化、知识化、专业化”。这个“四化”的要求,也包含了对干部写作能力和写作水平的要求。 3.提高大学生的写作水平是社会主义物质文明和精神文明建设的需要。在新的历史时期,无论是提高全族的科学文化水平,掌握现代科技知识和科学管理方法,还是培养社会主义新人,都要求我们的干部具有较高的写作能力。在经济建设中,作为领导人员和机关的办事人员,要写指示、通知、总结、调查报告等应用文;要写说明书、广告、解说词等说明文;还要写科学论文、经济评论等议论文。在当今信息社会中,信息对于加快经济发展速度,取得良好的经济效益发挥着愈来愈大的作用。写作是以语言文字为信号,是传达信息的方式。信息的来源、信息的收集、信息的储存、整理、传播等等都离不开写作。 论文种类:毕业论文是学术论文的一种形式,为了进一步探讨和掌握毕业论文的写作规律和特点,需要对毕业论文进行分类。由于毕业论文本身的内容和性质不同,研究领域、对象、方法、表现方式不同,因此,毕业论文就有不同的分类方法。 按内容性质和研究方法的不同可以把毕业论文分为理论性论文、实验性论文、描述性论文和设计性论文。后三种论文主要是理工科大学生可以选择的论文形式,这里不作介绍。文科大学生一般写的是理论性论文。理论性论文具体又可分成两种:一种是以纯粹的抽象理论为研究对象,研究方法是严密的理论推导和数学运算,有的也涉及实验与观测,用以验证论点的正确性。另一种是以对客观事物和现象的调查、考察所得观测资料以及有关文献资料数据为研究对象,研究方法是对有关资料进行分析、综合、概括、抽象,通过归纳、演绎、类比,提出某种新的理论和新的见解。 按议论的性质不同可以把毕业论文分为立论文和驳论文。立论性的毕业论文是指从正面阐述论证自己的观点和主张。一篇论文侧重于以立论为主,就属于立论性论文。立论文要求论点鲜明,论据充分,论证严密,以理和事实服人。驳论性毕业论文是指通过反驳别人的论点来树立自己的论点和主张。如果毕业论文侧重于以驳论为主,批驳某些错误的观点、见解、理论,就属于驳论性毕业论文。驳论文除按立论文对论点、论据、论证的要求以外,还要求针锋相对,据理力争。 按研究问题的大小不同可以把毕业论文分为宏观论文和微观论文。凡届国家全局性、带有普遍性并对局部工作有一定指导意义的论文,称为宏观论文。它研究的面比较宽广,具有较大范围的影响。反之,研究局部性、具体问题的论文,是微观论文。它对具体工作有指导意义,影响的面窄一些。 另外还有一种综合型的分类方法,即把毕业论文分为专题型、论辩型、综述型和综合型四大类: 1.专题型论文。这是分析前人研究成果的基础上,以直接论述的形式发表见解,从正面提出某学科中某一学术问题的一种论文。如本书第十二章例文中的《浅析领导者突出工作重点的方法与艺术》一文,从正面论述了突出重点的工作方法的意义、方法和原则,它表明了作者对突出工作重点方法的肯定和理解。2.论辩型论文。这是针对他人在某学科中某一学术问题的见解,凭借充分的论据,着重揭露其不足或错误之处,通过论辩形式来发表见解的一种论文。3.综述型论文。这是在归纳、总结前人或今人对某学科中某一学术问题已有研究成果的基础上,加以介绍或评论,从而发表自己见解的一种论文。4.综合型论文。这是一种将综述型和论辩型两种形式有机结合起来写成的一种论文。如《关于中国民族关系史上的几个问题》一文既介绍了研究民族关系史的现状,又提出了几个值得研究的问题。因此,它是一篇综合型的论文。 写作步骤:毕业论文是高等教育自学考试本科专业应考者完成本科阶段学业的最后一个环节,它是应考者的 总结 性独立作业,目的在于总结学习专业的成果,培养综合运用所学知识解决实际 问题 的能力。从文体而言,它也是对某一专业领域的现实问题或 理论 问题进行 科学 研究 探索的具有一定意义的论说文。完成毕业论文的撰写可以分两个步骤,即选择课题和研究课题。 首先是选择课题。选题是论文撰写成败的关键。因为,选题是毕业论文撰写的第一步,它实际上就是确定“写什么”的问题,亦即确定科学研究的方向。如果“写什么”不明确,“怎么写”就无从谈起。 教育部自学考试办公室有关对毕业论文选题的途径和要求是“为鼓励理论与工作实践结合,应考者可结合本单位或本人从事的工作提出论文题目,报主考学校审查同意后确立。也可由主考学校公布论文题目,由应考者选择。毕业论文的总体要求应与普通全日制高等学校相一致,做到通过论文写作和答辩考核,检验应考者综合运用专业知识的能力”。但不管考生是自己任意选择课题,还是在主考院校公布的指定课题中选择课题,都要坚持选择有科学价值和现实意义的、切实可行的课题。选好课题是毕业论文成功的一半。 第一、要坚持选择有科学价值和现实意义的课题。科学研究的目的是为了更好地认识世界、改造世界,以推动社会的不断进步和发展 。因此,毕业论文的选题,必须紧密结合社会主义物质文明和精神文明建设的需要,以促进科学事业发展和解决现实存在问题作为出发点和落脚点。选题要符合科学研究的正确方向,要具有新颖性,有创新、有理论价值和现实的指导意义或推动作用,一项毫无意义的研究,即使花很大的精力,表达再完善,也将没有丝毫价值。具体地说,考生可从以下三个方面来选题。首先,要从现实的弊端中选题,学习了专业知识,不能仅停留在书本上和理论上,还要下一番功夫,理论联系实际,用已掌握的专业知识,去寻找和解决工作实践中急待解决的问题。其次,要从寻找科学研究的空白处和边缘领域中选题,科学研究。还有许多没有被开垦的处女地,还有许多缺陷和空白,这些都需要填补。应考者应有独特的眼光和超前的意识去思索,去发现,去研究。最后,要从寻找前人研究的不足处和错误处选题,在前人已提出来的研究课题中,许多虽已有初步的研究成果,但随着社会的不断发展,还有待于丰富、完整和发展,这种补充性或纠正性的研究课题,也是有科学价值和现实指导意义的。 第二、要根据自己的能力选择切实可行的课题。毕业论文的写作是一种创造性劳动,不但要有考生个人的见解和主张,同时还需要具备一定的客观条件。由于考生个人的主观、客观条件都是各不相同的,因此在选题时,还应结合自己的特长、兴趣及所具备的客观条件来选题。具体地说,考生可从以下三个方面来综合考虑。首先,要有充足的资料来源。“巧妇难为无米之炊”,在缺少资料的情况下,是很难写出高质量的论文的。选择一个具有丰富资料来源的课题,对课题深入研究与开展很有帮助。其次,要有浓厚的研究兴趣,选择自己感兴趣的课题,可以激发自己研究的热情,调动自己的主动性和积极性,能够以专心、细心、恒心和耐心的积极心态去完成。最后,要能结合发挥自己的业务专长,每个考生无论能力水平高低,工作岗位如何,都有自己的业务专长,选择那些能结合自己工作、发挥自己业务专长的课题,对顺利完成课题的研究大有益处。 致 谢 这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。 通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。 即将结束*大学习生活,我感谢****大学提供了一次在**大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。 本科生毕业设计(论文)规范化要求 第一部分 学生应遵守以下规范要求 一、毕业设计论文说明 1. 毕业设计论文独立装订成册,内容包括: (1) 封面(题目、学生姓名、指导教师姓名等) (2) 中、外文内容摘要 (3) 正文目录(含页码) (4) 正文(开始计算页码) (5) 致谢 (6) 参考文献 (7) 附录 2. 中、外文内容摘要包括:课题来源,主要设计,实验方法,本人主要完成的成果。要求不少于400汉字,并译成外文。 3. 毕业设计论文页数为45页-50页。 4. 纸张要求:毕业设计说明书(论文报告)应用标准B5纸单面打字成文。 5. 文字要求:文字通顺,语言流畅,无错别字。 6. 图纸要求:毕业设计图纸应使用计算机绘制。图纸尺寸标注应符合国家标准。图纸应按“规范”叠好。 7. 曲线图表要求:所有曲线、图表、流程图、程序框图、示意图等不得徒手画,必须按国家规定标准或工程要求绘制。 8. 参考文献、资料要求:参考文献总数论文类不少于10篇、,应有外文参考文献。文献应列出序号、作者、文章题目、期刊名、年份、出版社、出版时间等。 二、外文翻译 1. 完成不少于2万印刷符的外文翻译。译文不少于5千汉字。 2. 译文内容必须与题目(或专业内容)有关,由指导教师在下达任务书时指定。 3. 译文应于毕业设计中期2月底前完成,交指导教师批改。 4. 将原文同译文统一印成B5纸规格装订成册,原文在前,译文在后。 三、形式审查 5月15日前,将毕业设计论文上交指导教师,审查不合格者,不能参加答辩。 四、准备答辩 答辩前三天,学生要将全部材料(包括光盘、论文)统一交指导教师。 关于毕业论文格式的要求 为方便统一、规范论文格式,现将学院的相关要求做如下强调、补充: 1. 基本要求 纸型: B5纸(或16开),单面打印; 页边距: 上2.54cm,下2.54cm,左2.5cm,右2.5cm; 页眉:1.5cm,页脚1.75cm,左侧装订 正文字体:汉字和标点符号用“宋体”,英文和数字用“Times New Roman”,字号小四; 图号1-1,指第1章第1个图 在图的前部要有文字说明(如图1-1所示) 表号3-5,指第3章第5个表 在表的前部要有文字说明(如表3-5所示) 图、表的标注字体大小是五号宋体 行距: 固定值20; 页码: 居中、小五、底部。 2. 封面格式 封皮: 大连理工大学城市学院(二号、黑体、居中) 本科生毕业设计(论文)(二号、黑体、居中) 学 院:(四号、黑体、居中、下划线:电子与自动化学院) 专 业:(四号、黑体、居中、下划线、专业名字之间无空格) 学 生:(四号、黑体、居中、下划线,名字是2个字的中间空1个字、3个或3个以上字的中间无空格) 指导教师:(四号、黑体、居中、下划线,名字是2个字的中间空1个字、3个或3个以上字的中间无空格,两位指导教师的中间用顿号“、”) 完成日期:(四号、黑体、居中、下划线,如:2009年5月25日) (注意:5个下划线两端也是对齐的,单倍行距) 内 封:大连理工大学城市学院本科生毕业设计(论文)(四号、黑体) 题目 (二号、黑体、居中); 总计 毕业设计(论文) 页(五号、宋体) 表格 表(五号、宋体) 插图 幅 (五号、宋体) (注意:页数正常不少于40页,优秀论文原则上不少于45页) 3. 中外文摘要 中文摘要:标题“摘 要” (三号、黑体、居中、中间空1个字) 正文(不少于400字) 关键词 (五号、黑体):3-5个主题词(五号),中间用分号“;”隔开。 外文摘要 (另起一页):标题“Abstract” (三号、黑体、居中) 正文 (必须用第三人称) 关键词: Key words(五号、黑体):3-5个主题词(五号)与中文关键词对应,中间用分号“;”隔开。 4. 目录 标题 “目录”(三号、黑体、居中); 章标题(四号、黑体、居左); 节标题(小四、宋体); 页码 (小四、宋体); 二、三级目录分别缩近1和2个字; 四级目录不在“目录”中体现,在正文中也不是单独一行,可以黑体(没有句号),然后空2个字接正文; 注意:正文中每章开头要另起一页; “目录”下方中间的页码和摘要一样统一用罗马字,顺接摘要的。 摘要 目录加页眉 5. 论文正文 页眉: 论文题目(居中、小五、黑体); 章标题(三号、黑体、居中); 节标题(四号、黑体、居左); 正文 程序用“Times New Roman”,字号小四; 6. 参考文献 标题:“参考文献”(小四、黑体、居中) 参考文献的著录,按文稿中引用顺序排列,并注意在文内相应位置用上标标注,如:……的函数。 示例如下:(字体为五号、宋体) 期刊类:[序号]作者1,作者2,……作者n。文章名。期刊名(版本),出版年,卷次(期次)。页次 图书类:[序号]作者1,作者2,……作者n。书名。版本。出版地:出版者,出版年。页次 会议论文集:[序号]作者1,作者2,……作者n。论文集名。出版地:出版者,出版年。页次 网上资料:[序号]作者1,作者2,……作者n。文章名。网址。发表时间 7. 其它 量和单位的使用:必须符合国家标准规定,不得使用已废弃的单位(如高斯(G和Gg)、亩、克分子浓度(M)、当量能度(N)等)。量和单位不用中文名称,而用法定符号表示。 图表及公式:插图宽度一般不超过10cm,表名(小四)置上居中,图名(小四)置下居中。标目中物理量的符号用斜体,单位符号用正体,坐标标值线朝里。标值的数字尽量不超过3位数,或小数点以后不多于1个“0”。如用30Km代替30000m,用5µg代替0.005mg等,并与正文一致。图和表的编号从前至后顺序排列,图的编号及说明位于图的下方,居中;表的编号及说明位于表的上方,居中。公式编号加圆括号,居行尾。图表中的字体不应大于正文字体。注意:图表标题中的数字也是“Times New Roman”。 8.论文依次包括:封皮、内封、中文摘要、英文摘要、目录、正文、结论、致谢、参考文献、(附录),不要落项。 9.注意:上面没有说“加粗”的“黑体”,均为“黑体不加粗”。 补充: 1.答辩要求:自述15分钟,回答问题10分钟,自述要求使用ppt 答辩内容: 1).论文题目 2).设计内容 3).设计方案 4).如何完成设计 工作原理 软件或硬件设计 制作\调试\安装 5).存在不足,今后努力的方向 6).致谢 3.最后上交学生装订好的论文、光盘、记录表、成绩单 4.光盘里的文件夹命名为:学号_姓名_年级专业班级 文件夹里包括的文件有:论文、ppt、英文翻译 1) 论文的文件名格式:学号_姓名_年级专业班号_题目(论文)_完成日期doc 2) ppt的文件名格式:学号_姓名_年级专业班号_题目(ppt)_完成日期ppt 3) 英文翻译的文件名格式:学号_姓名_年级专业班号_题目(英文翻译)_完成日期doc 例如: 答辩问题5个, 侧重总体思路一个 软件或硬件一个 翻译一个 其他2个 图1 基本框架图 性能分析 选择器件 接口设计 硬件测试 结束 图2 硬件设计流程图 _1234567890.bin _1234567891.bin
/
本文档为【基于Web的远程温湿度监测系统的设计_毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索