首页 基于单片机与PC机的温度控制系统硬件设计毕业论文设计

基于单片机与PC机的温度控制系统硬件设计毕业论文设计

举报
开通vip

基于单片机与PC机的温度控制系统硬件设计毕业论文设计基于单片机与PC机的温度控制系统硬件设计毕业论文设计 (此文档为word格式,下载后您可任意编辑修改~) 摘 要 在工业生产中,人们需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制具有控制方便、简单和灵活性大、精度高等优点。 本文介绍了一种基于AT89S52单片机与PC机串口通信的温度控制系统,用单片机作下位机完成温度数据的采集和执行PC机发出的控制执行命令;用PC机作上位机接收单片机发送的数据,进行数据处理,向单片机发送控制命令。 PC机与单片机采甪串行通信,可实现...

基于单片机与PC机的温度控制系统硬件设计毕业论文设计
基于单片机与PC机的温度控制系统硬件设计毕业论文设计 (此文档为word格式,下载后您可任意编辑修改~) 摘 要 在工业生产中,人们需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制具有控制方便、简单和灵活性大、精度高等优点。 本文介绍了一种基于AT89S52单片机与PC机串口通信的温度控制系统,用单片机作下位机完成温度数据的采集和执行PC机发出的控制执行命令;用PC机作上位机接收单片机发送的数据,进行数据处理,向单片机发送控制命令。 PC机与单片机采甪串行通信,可实现远距离温度检测和控制。本设计充分利用PC机VB6.0软件强大的数据处理功能和友好的人机界面,对温度进行实时曲线显示。 本设计由硬件和软件二部分组成,本文主要进行硬件部分设计。经样机实验证明本设计性能稳定可靠,各项性能指标高,可用于实际工程。 关键词:单片机,PC机,温度控制,串行通信 1 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计,论文,~是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知~除文中特别加以标注和致谢的地方外~不包含其他人或组织已经发表或公布过的研究成果~也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体~均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计,论文,的规定~即:按照学校要求提交毕业设计,论文,的印刷本和电子版本,学校有权保存毕业设计,论文,的印刷本和电子版~并提供目录检索与阅览服务,学校可以采用影印、缩印、数字化或其它复制手段保存论文,在不以赢利为目的前提下~学校可以公布论文的部分或全部内容。 作者签名: 日 期: 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外~本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体~均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定~同意学校保留并向国家有关部门或机构送交论文的复印件和电子版~允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索~可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书 指导教师评价: 一、撰写,设计,过程 1、学生在论文,设计,过程中的治学态度、工作精神 ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、学生掌握专业知识、技能的扎实程度 ? 优 ? 良 ? 中 ? 及格 ? 不及格 3、学生综合运用所学知识和专业技能 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 和解决问题的能力 ? 优 ? 良 ? 中 ? 及格 ? 不及格 4、研究方法的科学性,技术线路的可行性,设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的合理性 ? 优 ? 良 ? 中 ? 及格 ? 不及格 5、完成毕业论文,设计,期间的出勤情况 ? 优 ? 良 ? 中 ? 及格 ? 不及格 二、论文,设计,质量 1、论文,设计,的整体结构是否符合撰写 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 , ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、是否完成指定的论文,设计,任务,包括装订及附件,, ? 优 ? 良 ? 中 ? 及格 ? 不及格 三、论文,设计,水平 1、论文,设计,的理论意义或对解决实际问题的指导意义 ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、论文的观念是否有新意,设计是否有创意, ? 优 ? 良 ? 中 ? 及格 ? 不及格 3、论文,设计说明书,所体现的整体水平 ? 优 ? 良 ? 中 ? 及格 ? 不及格 建议成绩:? 优 ? 良 ? 中 ? 及格 ? 不及格 (在所选等级前的?内画“?”) 指导教师: (签名) 单位: (盖章) 年 月 日 评阅教师评阅书 评阅教师评价: 一、论文,设计,质量 1、论文,设计,的整体结构是否符合撰写规范, ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、是否完成指定的论文,设计,任务,包括装订及附件,, ? 优 ? 良 ? 中 ? 及格 ? 不及格 二、论文,设计,水平 1、论文,设计,的理论意义或对解决实际问题的指导意义 ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、论文的观念是否有新意,设计是否有创意, ? 优 ? 良 ? 中 ? 及格 ? 不及格 3、论文,设计说明书,所体现的整体水平 ? 优 ? 良 ? 中 ? 及格 ? 不及格 建议成绩:? 优 ? 良 ? 中 ? 及格 ? 不及格 (在所选等级前的?内画“?”) 评阅教师: (签名) 单位: (盖章) 年 月 日 1 基于单片机与PC机的温度控制系统硬件设计 教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价: 一、答辩过程 1、毕业论文,设计,的基本要点和见解的叙述情况 ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、对答辩问题的反应、理解、表达情况 ? 优 ? 良 ? 中 ? 及格 ? 不及格 3、学生答辩过程中的精神状态 ? 优 ? 良 ? 中 ? 及格 ? 不及格 二、论文,设计,质量 1、论文,设计,的整体结构是否符合撰写规范, ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、是否完成指定的论文,设计,任务,包括装订及附件,, ? 优 ? 良 ? 中 ? 及格 ? 不及格 三、论文,设计,水平 1、论文,设计,的理论意义或对解决实际问题的指导意义 ? 优 ? 良 ? 中 ? 及格 ? 不及格 2、论文的观念是否有新意,设计是否有创意, ? 优 ? 良 ? 中 ? 及格 ? 不及格 3、论文,设计说明书,所体现的整体水平 ? 优 ? 良 ? 中 ? 及格 ? 不及格 评定成绩:? 优 ? 良 ? 中 ? 及格 ? 不及格 (在所选等级前的?内画“?”) 教研室主任(或答辩小组组长): (签名) 年 月 日 教学系意见: 系主任: (签名) 年 月 日 I 基于单片机与PC机的温度控制系统硬件设计 目 录 摘 要 ...................................................... 1 第一章 绪论 ................................................ 3 1.1 概述 .................................................................. 3 温度测控技术的发展与现状 .............................................. 3 1.2 1.3系统总体设计思想 ...................................................... 5 1.4 功能要求 .............................................................. 6 第二章 系统硬件设计 ......................................... 7 2.1硬件系统框图 .......................................................... 7 2.2 硬件电路 .............................................................. 7 2.3最小单片机系统 ........................................................ 7 2.4 温度传感器的选取 ..................................................... 11 2.5温度传感器DS18B20的介绍 ............................................. 11 2.6 输出通道设计 ......................................................... 17 2.7 串行通信接口 ......................................................... 19 2.8 电源电路 ............................................................. 22 2.9 系统特点 ............................................................. 23 第三章 系统软件简介 ........................................ 24 3.1 系统开发工具介绍 ..................................................... 24 3.2 软件系统简介及界面 ................................................... 25 第四章 系统调试 ............................................ 27 总 结 ..................................................... 28 参考文献 ................................................... 29 附 录 ..................................................... 30 附录一、单片机程序 ....................................................... 30 附录二、PC机程序 ........................................................ 36 II 基于单片机与PC机的温度控制系统硬件设计 第一章 绪论 1.1 概述 随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。 (1)研究的目的和意义 电阻加热炉是热处理生产中应用最广的加热设备,这样加热时升温过程的测量与控制就成为关键性的技术。首先,控温度精度要高。其次,当生产环境发生变化而影响到控温精度时,要有合适的手段进行调整以达到精度要求。而且,为了方便进行工艺的研究,需要能保存温度数据。最后,由于生产中的实际情况,电阻加热炉要求操作方便,易于维护,成本较低等等。 国内外发展情况 (2) 目前,我国电阻炉控制设备的现状时是小部分比较先进的设备和大部分比较落后的设备并存。整体上,我国的电阻炉控制系统与国外发达国家相比还比较落后。占主导地位的是仪表控制,这种系统的控制参数由人工选择,需要配置专门的仪表调试人员,费时、费力且不准确。控制精度依赖于试验者的调节。控制精度不高,一旦生产环境发生变化就需要重新设置。操作不方便,控制数据无法保存。因而,对生产工艺的研究很困难,因此造成产品质量低、废品率高、工作人员劳动强度大、劳动效率低,这些都影响企业的效率。 1.2 温度测控技术的发展与现状 温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理、化学过程都紧密地与温度相联系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量在国民经济各个领域中均受到了相当程度的重视。 近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地进行采样,确保数据的正确传输,并能对所测温场进行较精确的控制,仍然是目前需要解决的问题。 温度测控技术包括温度测量技术和温度控制技术两个方面。 在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:简单、可靠、低廉,测量精度较高,一般能够测得真实温度;但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于极高温测量,难于测量运动物体的温度。非接触式测温是通过对辐射能量的检测 3 基于单片机与PC机的温度控制系统硬件设计 来实现温度测量的方法,其优点是:不破坏被测温场,可以测量热容量小的物体,适于测量运动温度,还可以测量区域的温度分布,响应速度较快。但也存在测量误差较大,仪表指示值一般仅代表表观温度,结构复杂,价格昂贵等缺点。因此,在实际的测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少人力和物力的投入。 温度控制技术按照控制目标的不同可分为两类:动态温度跟踪与恒值温度控制。动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等。恒值温度控制的目的是使被控对象的温度恒定在某一数值上,且要求其波动幅度(即稳态误差)不能超过某一给定值。本课题所研制的电阻炉智能温度控制仪就是要实现恒值温度控制的要求,故以下仅对恒值温度控制进行讨论。 从工业温度控制器的发展过程来看,温度控制技术大致可分以下几种: (1)定值开关控温法 所谓定值开关控温法,就是通过硬件电路或软件计算判别当前温度值与设定目标温度值之间的关系,进而对系统加热源(或冷却装置)进行通断控制。若当前温度值比设定温度值高,则关断加热器,或者开动制冷装置;若当前温度值比设定温度值低,则开启加热器并同时关断制冷器。这种开关控温方法比较简单,在没有计算机参与的情况下,用很简单的模拟电路就能够实现。目前,采用这种控制方法的温度控制器在我国许多工厂的老式工业电炉中仍被使用。由于这种控制方式是当系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使系统温度波动较大,控制精度低,完全不适用于高精度的温度控制。 (2)PID线性控温法 这种控温方法是基于经典控制理论中的调节器控制原理,PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。由于PID调节器模型中考虑了系统的误差,误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温法。其具体电路可以采用模拟电路或计算机软件方法来实现PID调节功能。前者称为模拟PID调节器,后者称为数字PID调节器。其中数字PID调节器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个PID参数(即比例值、积分值、微分值)。只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。 (3)智能温度控制法 为了克服PID线性控温法的弱点,人们相继提出了一系列自动调整PI参数的方法, 4 基于单片机与PC机的温度控制系统硬件设计 如PID参数的自学习,自整定等等。并通过将智能控制与PID控制相结合,从而实现温度 [1]的智能控制。智能控温法采用神经元网络和模糊数学为理论基础,并适当加以专家系统来实现智能化。其中应用较多的有模糊控制、神经网络控制以及专家系统等。尤其是模糊控温法在实际工程技术中得到了极为广泛的应用。目前已出现一种高精度模糊控制器,可以更好的模拟人的操作经验来改善控制性能,从理论上讲,可以完全消除稳态误差。所谓第三代智能温控仪表,就是指基于智能控温技术而研制的具有自适应PID算法的温度控制仪表。 目前国内温控仪表的发展,相对国外而言在性能方面还存在一定的差距,它们之间最大的差别主要还是在控制算法方面,具体表现为国内温控仪在全量程范围内温度控制精度低,自适应性较差。这种不足的原因是多方面造成的,如针对不同的温控对象,由于控制算法的不足而导致控制精度不稳定等。 针对上述不足,本文以探索新的PID自整定方法为目的,设计和开发一种新型电阻炉智能温度控制仪,以简化控制电路,提高系统运行的可靠性。 1.3系统总体设计思想 (1)系统硬件方案分析 [2]目前,温度控制仪的硬件电路一般采用模拟电路(Analog Circuit)和单片机(Single-chip Computer)两种形式。 模拟控制电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路及电容、电阻等外围元器件组成。它的最大优点是系统响应速度快,能实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速率并非越快越好,还取决于被控系统的响应特性。在本系统中,由于温度的变化是一个相对缓慢的过程,对温控系统的实时性要求不高,所以模拟电路的优势得不到体现。另外,模拟电路依靠元器件之间的电气关系来实现控制算法,很难实现复杂的控制算法。 单片机是大规模集成电路技术发展的产物,属于第四代电子计算机。它是把中央处理器CPU(Centeral Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(ReadOnly Memory)、定时器计数器以及I0(InputOutput)接口电路等主要计算机部件集成在一块集成电路芯片上的微型计算机,它的特点是:功能强大、运算速度快、体积小巧、价格低廉、稳定可靠、应用广泛。由此可见,采用单片机设计控制系统,不仅可以降低开发成本,精简系统结构,而且控制算法由软件实现,可以提高系统的兼容性和可移植性。 另外,随着微电子技术和半导体工业的不断创新和发展,SoC(System on chip,片上系统)得到了十足的发展。一些厂家根据系统功能的复杂程度,将这种Soc芯片应用到先进的控制仪表中。SoC芯片通常含有一个微处理器核(CPU),同时,它还含有多个外围特殊功能模块和一定规模的存储器(RAM,ROM),并且这种片上系统一般具有用户自定义接口模块,使得其功能非常强大,适用领域也非常广。它不仅能满足复杂的系统性能的需要,而且还使整个系统的电路紧凑,硬件结构简化。从实现复杂系统功能和简化硬件结构的角度 5 基于单片机与PC机的温度控制系统硬件设计 出发,SoC是实现电阻炉智能温度控制仪的最佳选择,但目前市场上SoC的价格还比较昂贵,并且SoC的封装形式几乎都采用贴片式封装,不利于实验电路板的搭建。从降低成本,器件供货渠道充足的角度看,应用单片机实现温度控制系统是比较经济实用的。 目前,市面上的单片机不仅种类繁多,而且在性能方面也各有所长。针对这些单片机的不同特点,尤其从降低成本和方便实验的角度出发,以89S52为核心器件组成的控制系统是比较理想的选择。此外,在选取外围扩展芯片时,本着节约成本的原则,尽量选取典型的、易于扩展和替换的芯片及器件。 (2)系统软件方案分析 温度控制算法方面,基于解析模型的经典控制方法主要体现在PID控制上,这主要是由于PID控制器的原理简单,使用方便的缘故。但是,经典控制方法一般是建立在被控对象精确或近似的数学模型上,而数学模型的建立本身就存在许多不足之处,因而其表面上看是精确控制,而实际上却是简单的控制器。此外,在设计PID控制器时,传统的做法是依靠经验和试验在系统调试时确定PID控制器的参数Kp,Ki,Kd,在随后的控制过程中PID参数一般是保持不变的,当外部条件发生重大变化时,再由工程人员重新手动进行选择。然而,被控系统在实际运行中会受到负荷变化、外界噪声等各种因素的干扰,都会引起被控对象的近似数学模型参数变化较大,从而导致控制效果大打折扣。基于上述情形,如果能将近似的数学模型与实际情况结合起来,这样的控制方式往往要比经典控制方法精确得多,这就意味着PID参数能够在线调整,以适应改变了的模型。显然常规PID控制器是不能满足这一要求。因此在设计控制器时,一个关键的问题就是如何实现PID参数的实时整定。 1.4 功能要求 基于单片机与PC机的温度控制设计系统应能达到以下功能要求: (一) 可以人为方便地设定所需控制的温度值,温控仪器能自动将电炉加热至此设定值并能保持,直至重新设定为另一温度值,即能自动控制温度; (二) 采用适当的控制方法,当设定温度突变(由40?提高到60?)时,减小系统的调节时间和超调量。 (三) 实现无触点式控制,消除机械噪声; (四) 改进控制方法,控制精度达到?0(5 C或更高; (五) 具有自动加热保护功能的安全性要求。如果实际测得的温度值超过了系统要求的温度范围,单片机就会发出断电指令,并进行报警; (六) 装置可将温度数据通过串口送到上位机,上位机软件将接收到的数据存贮并显示温度变化曲线。 6 基于单片机与PC机的温度控制系统硬件设计 第二章 系统硬件设计 2.1硬件系统框图 系统总体方案框图如图2-1所示 键盘 DS18B20 电 单阻PC 片RS232 炉 机 机 驱动 SSR 显示器 图2-1 系统总体方案框图 2.2 硬件电路 2.3最小单片机系统 (1)单片机概述 [3]AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧8位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级 7 基于单片机与PC机的温度控制系统硬件设计 中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程Flash AT89S52。功能强大的AT89S52可为许多嵌入式控制应用系统和工业控制系统提供高性价比的解决方案。 鉴于以上优点,并结合设计目标,特选用此款单片机。 (3) AT89S52引脚功能与封装 图2-2是AT89S52封装结构图。 图2-2 AT89S52封装引脚图 按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能IO口、控制和复位等。 1.多功能IO口 AT89S52共有四个8位的并行IO口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 , P0.7,P1.0 , P1.7,P2.0 , P2.7,P3.0 , P3.7,共32根IO线。每根线可以单独用作输入或输出。 ?P0端口,该口是一个8位漏极开路的双向IO口。在作为输出口时,每根引脚可以带动8个TTL输入负载。当把“1”写入P0时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址数据总线,在该模式,P0口拥有内部上拉电阻。在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。 ?P1端口,该口是带有内部上拉电阻的8位双向IO端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉 8 基于单片机与PC机的温度控制系统硬件设计 到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对Flash编程和程序校验时,P1口接收低8位地址。 另外,P1.0与P1.1可以配置成定时计数器2的外部计数输入端(P1.0T2)与定时计数器2的触发输入端(P1.0T2EX),如表2-1所示。 表2-1 P1口管脚复用功能 端口引脚 复用功能 P1.0 T2(定时器计算器2的外部输入端) P1.1 T2EX(定时器计算器2的外部触发端和双向控制) P1.5 MOSI(用于在线编程) P1.6 MISO(用于在线编程) P1.7 SCK(用于在线编程) ? P2端口,该口是带有内部上拉电阻的8位双向IO端口,P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或16位的外部数据存储器(如执行MOVX @DPTR指令)时,P2口送出高8位地址,在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序校验期间,P2口也接收高位地址或一些控制信号。 ? P3端口,该口是带有内部上拉电阻的8位双向IO端口,P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在AT89S52中,同样P3口还用于一些复用功能,如表2-2所列。在对Flash编程和程序校验期间,P3口还接收一些控制信号。 表2-2 P3端口引脚与复用功能表 端口引脚 复用功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(定时器0的外部输入) P3.5 T1(定时器1的外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 9 基于单片机与PC机的温度控制系统硬件设计 1.RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。 2.ALEPROG 地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。 3.PSEN 程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。 4.EAVpp 外部存取允许信号。为了确保单片机从地址为0000H,FFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。 5.XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。 6.XTAL2 振荡器的反相放大器输出。 [4]AT89S52单片机最小系统(2)电路图如图2-3所示。 图2-3 单片机AT89S52 最小系统 (1) 复位电路: 10 基于单片机与PC机的温度控制系统硬件设计 单片机上电时,当振荡器正在运行时,只要持续给出RST引脚连个机器周期的高电平,便可完成系统复位。外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST上的电压是Vcc上的电压与电容器上的电压之差,因而RST上的电压与Vcc上的电压相同。随着充电的进行,电容器上的电压不断上升,RST上的 电压就随着下降,RST脚上只要保持10ms以上高电平,系统就会有效复位。电容C可取10~33uF,电阻R可取1.2~10kΩ。在本系统设计中, -63C取22uf,R取4.7kΩ,充电时间常数为22*10 *4.7*10=104ms。 (2)振荡电路: XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入和输出端,外接石英晶振或陶瓷晶振以及补偿电容C1、C2选47uF构成并联谐振电路。当外接石英晶振时,电容C1、C2选30Pf?10pF;当外接陶瓷振荡器时,电容C1、C2选47uF?10uF。AT89S52系统中晶振可在0,24MHz选择。外接电C1、C2的大小会影响振荡器频率的稳定度、起振时间及温度稳定性。在设计电路板时,晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠工作。 在本硬件系统设计中,为保证串行通行波特率的误差,选择了11.0592MHz的标准石英晶振,电容C1、C2为47uF。 (3)接高电平,选用片内程序存储器。 EA (4) 单片机编程 2.4 温度传感器的选取 目前市场上温度传感器较多,有以下几种: 方案一:选用铂电阻温度传感器,此类温度传感器线性度、稳定性等方面性能都很好, 其成本较高。 方案二:采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。 方案三:DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO,92小体积封装形式;温度测量范围为,55?,,125?,可编程为9位,12位AD转换精度,测温分辨率可达0.0625?。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。 比较以上三种方案,方案三具有明显的优点,因此选用方案三。 2.5温度传感器DS18B20的介绍 [5]DS18B20是Dallas半导体公司推出的一线总线数字化温度传感器件,它能在现场采集温度数据,并将温度数据直接转换成数字量输出。此外,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念 DS18B20测量温度范围为-55?C,+125?C,在-10,+85?C范围内,精度为?0.5?C。DS1822的精度较差为?2?C。现场温度直接以"一线总线"的数字方式传输,大大提高了系 11 基于单片机与PC机的温度控制系统硬件设计 统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 DS18B20可以程序设定9,12位的分辨率,精度为?0.5?C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的~性能价格比也非常出色~DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为?2?C,适用于对性能要求不高,成本控制严格的应用。 [6]DS18B20可用传统方式供电,将外部电源连在VDD脚上,其工作电压范围为3.0,5.5V, 也可以用数据线供电,称为寄生供电模式,电源由总线为高电平时DQ脚上的上拉电阻提供,此时VDD脚必须接地。在12位分辨率时,最多在750ms内可以把温度值转换成数字。并具有负压特性,即当电源极性接反时,温度计虽然不会正常工作,但却不会因发热而烧毁。 一、DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3.0,5.5V,在寄生电源方式下可由数据线供电 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 (5)测温范围,55?,,125?,在-10,+85?时精度为?0.5? (6)可编程的分辨率为9,12位,对应的可分辨温度分别为0.5?、0.25?、0.125?和0.0625?,可实现高精度测温。 (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 二、DS18B20的外形和内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图2-4为DS18B20内部结构图,图2-5为DS18B20的引脚(PR35封装)。 引脚含义如下: (1)DQ:数字信号输入输出端; (2)GND:电源地; (3)VDD:外接供电电源输入端(在寄生电源接线方式时接地)。 12 基于单片机与PC机的温度控制系统硬件设计 图2-4 DS18B20内部结构图 图2-5 DS18B20引脚图 三、DS18B20工作原理 DS18B20测温原理如图2-6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在,55?所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1 ,计数器1的预置将重新被装入,计数器1重的预置值减到0时,温度寄存器的值将加1 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 图2-6 DS18B20测温原理 DS18B20有4个主要的数据部件: (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625?LSB形式表达,其中S为符号位。 13 基于单片机与PC机的温度控制系统硬件设计 表2-3: DS18B20温度值格式表 这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125?的数字输出为07D0H,+25.0625?的数字输出为0191H,-25.0625?的数字输出为FF6FH,-55?的数字输出为FC90H。 (3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 (4)配置寄存器 该字节各位的意义如下: 表2-5:配置寄存器结构 低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位) 表2-6:温度分辨率设置表 14 基于单片机与PC机的温度控制系统硬件设计 四、高速暂存存储器 高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表2-7是对应的一部分温度值。第九个字节是冗余检验字节。 表2-7:DS18B20暂存寄存器分布 根据DS18B20的通讯 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16,60微秒左右,后发出60,240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 15 基于单片机与PC机的温度控制系统硬件设计 表2-8:ROM指令表 表2-9:RAM指令表 六、DS18B20使用中 注意事项 软件开发合同注意事项软件销售合同注意事项电梯维保合同注意事项软件销售合同注意事项员工离职注意事项 DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PLM、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用C语言实现。 2) 在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 3) 连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正 16 基于单片机与PC机的温度控制系统硬件设计 常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 4) 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。 2.6 输出通道设计 (1)电阻炉的功率调节方式 电阻炉的温度控制是通过调节电阻炉的输入电功率来实现的。目前多数温控仪采用晶闸管来实现功率调节。由晶闸管实现交流功率调节的途径有两条:一种是通过改变交流电压每周期内电压波形的导通角,使得负载端电压有效值得以调节,进而实现电功率调节。由于这种调节方式下触发脉冲的触发时刻与电压波形的相位有关,因此称为相位控制调功;另一种调节方式是电压波形不变而只改变电压周波在控制周期内出现的次数,这种调节方式称为通断控制调功。就触发方式而言,前者为移相触发,后者为过零触发。两者的电压波形比较如图2-7所示。 17 基于单片机与PC机的温度控制系统硬件设计 图2-7功率调节方式比较 通过比较发现:相位控制的电压波形不“规整”,但正负半周对称,无直流成分,可直接用于电感负载。其最大的缺点是:大电流的切入造成对电网的冲击,不规整的脉冲负载电流引起电网波形的畸变及对其它电设备的中频干扰。输出的线性范围窄而线性度又不好,只能靠反馈来改善。通断控制的输出波形仍为正弦波,其优点是,不会对电网造成严重污染和干扰其它用电设备,而且电炉的功率愈大,优点愈突出。但通断控制也存在抗电源干扰能力弱等缺点。对于纯阻性负载的电阻炉来说,温控仪采用过零触发方式可使电路结构简单,软件计算方便。因此,在本系统中采用通断控制的方式来进行功率调节。 (2)固态继电器及应用 [7]固态继电器(Solid State Relays),简写成“SSR”,是一种全部由固态电子元件(如光电耦合器、晶体管、可控硅、电阻、电容等)组成的新型无触点开关器件。与普通继电器一样,它的输入侧与输出侧之间是电绝缘的。但是与普通电磁继电器比,SSR体积小,开关速度快,无机械触点,因而没有机械磨损,不怕有害气体腐蚀,没有机械噪声,耐振动、耐冲击,使用寿命长。它在通、断时没有火花和电弧,有利于防爆,干扰小(特别对微弱信号回路)。另外,SSR的驱动电压低,电流小,易于与计算机接口。因此SSR作为自动控制的执行部件得到越来越广泛的应用。SSR按使用场合可以分成交流型和直流型两大类。 图2-8 交流SSR工作原理框图 交流型SSR的工作原理框图如图2-8所示,图中的部件?~?构成交流SSR的主体。从整体上看,SSR只有两个输入端(A和B)及两个输出端(C和D),是一种四端器件。工作 18 基于单片机与PC机的温度控制系统硬件设计 时只要在A、B上加上一定的控制信号,就可以控制C、D两端之间的“通”和“断”,实现“开关”的功能,其中耦合电路的功能是为A、B端输入的控制信号提供一个输入输出端之间的通道,但又在电气上断开SSR中输入端和输出端之间的(电)联系,以防止输出端对输入端的影响,耦合电路用的元件是“光耦合器”,它动作灵敏、响应速度高、输入输出端间的绝缘(耐压)等级高;由于输入端的负载是发光二极管,这使SSR的输入端很容易做到与输入信号电平相匹配,在使用时可直接与计算机输出接口相接,即受“1”与“0”的逻辑电平控制。触发电路的功能是产生合乎要求的触发信号,驱动开关电路?工作,但由于开关电路在不加特殊控制电路时,将产生射频干扰并以高次谐波或尖峰等污染电网,为此特设“过零控制电路”。所谓“过零”是指,当加入控制信号,交流电压过零时,SSR即为通态;而当断开控制信号后,SSR要等待交流电的正半周与负半周的交界点(零电位)时,SSR才为断态。这种设计能防止高次谐波的干扰和对电网的污染。吸收电路是为防止从电源中传来的尖峰、浪涌(电压)对开关器件双向可控硅管的冲击和干扰(甚至误动作)而设计的,一般是用“R-C”串联吸收电路或非线性电阻(压敏电阻器)。 2.7 串行通信接口 [8]串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米(RS485)。 典型的串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0,127(7位)。扩展的ASCII码是0,255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在 19 基于单片机与PC机的温度控制系统硬件设计 传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。 图2-9 RS232引脚图 收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平,DB25各引脚定义参见图2-9。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5,+15V,负电平在-5,-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3,+12V与-3,-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kbs。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3,7kÙ。所以RS-232适合本地设备之间的通信。上位机和下位机的接线方法如图2-10: 图2-10 上位机和下位机的接线方法 20 基于单片机与PC机的温度控制系统硬件设计 MCS-51内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。 在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和RCLK)控制下进行的,但都必须与字符位数的波特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式产生,一种是由主机频率fosc经分频后产生,另一种方式是由内部定时器T1或T2的溢出率经16分频后提供。 一、发送和接收的过程如下: 串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。 串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令(MOV A,SBUF)把接收缓冲器SBUF(收)的内容读入累加器。 TI和RI是由硬件置位的,但需要用软件复位。 二、相关的寄存器 1、SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。 2、SCON寄存器用来控制串行口的工作方式和状态,可按位寻址,其字节地址为98H。 3、PCON中的SMOD用来控制波特率加倍。 4、TMOD设置定时器1的工作方式,用来产生波特率 5、如果用到中断,则还需要用到中断相关的寄存器IE,IP等 三、四种工作方式: 方式0: 同步移位寄存器方式,其波特率是固定为振荡频率fosc的112。在这种工作方式下,发送和接收串行数据都通过RXD(P3.0)进行,从TXD(P3.1)输出移位脉冲,控制外部的移位寄存器移位。1帧信息为8位,没有起始位,停止位。 方式1: 8位UART,1帧信息为10位,其中一位起始位“0”、八位数据位(先低位后高位)和一个停止位“1”,波特率可变,根据定时器1的溢出率计算。 方式2: 9位UART,1帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率为振荡频率的164或132。 21 基于单片机与PC机的温度控制系统硬件设计 方式3: 9位UART,帧信息为11位,其中一位起始位“0”、八位数据位(先低位后高位),一位控制位(第九位)和一个停止位“1”。波特率可变,根据定时器1的溢出率计算。 附加的第9位数据为SCON中的TB8的值,它由软件置位或清零,可作为多机通信中地址数据信息的标志位,也可作为数据的奇偶校验位。 四、连接 由于串口用的是TTL电平,和RS232电平不同,因此,单片机和PC通信时需要进行电平转换,常用的IC是MAX232,连接图如图2-11所示,其中MAX232供电脚为,5V,中间连接的电解电容取50V 1UF。我们采用了三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 图2-11 使用MAX232串口通信电路图(9孔串口接头) 2.8 电源电路 本设计的供电电路主要变压器、整流桥、滤波电路和78L05芯片组成。电源供电电路[10]如图2-12所示 22 基于单片机与PC机的温度控制系统硬件设计 图2-12 系统供电电源总体电路图 2.9 系统特点 基于上述功能要求及智能仪表应具有的体积小、成本低、功能强、抗千扰并尽可能达到更高精度的要求。本系统在硬件设计方面具有如下特点: 主机采用MCS-51系列的89S52单片机价格便宜,有开发环境 。 根据电阻炉测温范围的要求,该系统适合采用DS18B20作为温度传感器,DS18B20支持“一线总线”接口,测量温度范围为-55?C~+125?C,在-10~+85?C范围内,精度为?0.5?C。DS18B20的精度较差为? 2?C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 由于系统的执行机构是电阻炉,其功率调节可以采用相控调压法和通断调功法两种方式,但考虑到相控调压法对电网性能的破坏较大,因此按脉冲宽度调制法控制输出信号占空比的大小,从而实现系统对输出量的控制。 整个系统遵循了冗余原则及以软代硬的原则,并尽可能选用典型、常用、易于替换的芯片和电路,为系统的开放性、标准化和模块化打下良好基础。系统扩展和配置在满足功能要求的基础上留有适当裕量,以利于扩充和修改。 23 基于单片机与PC机的温度控制系统硬件设计 第三章 系统软件简介 3.1 系统开发工具介绍 本系统中单片机的开发工具采用KEIL8.02。标准C编译器KEIL C51,在保留汇编代码高效、快速性的同时为8051微控制器的软件开发提供C语言环境。C51集成到uVision2开发环境,这个环境包括:编译器,汇编器,实时操作系统,调试器。主体程序是围绕PID [11]运算和PWM调功输出来进行的,其中比例增益、积分增益、微分增益为节约机时从而不须经常运算,只需在有没定参数改动时才进行运算。主程序流程图如下图3-1,下位机通信程序流程图如下图3-2 图3-1 主程序流程图 24 基于单片机与PC机的温度控制系统硬件设计 图3-2 下位机通信程序流程图 3.2 软件系统简介及界面 VB是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。VB是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。 美国微软公司在1991年推出VB1.0至今已经经历了6个版本,VB6.0运行在win9x或winme,win2000,winxp,windowsNT等操作系统下,是一个32位的应用程序开发工具。 [9]它主要有以下几个特点: (1)成功地简化了界面的设计过程。它在windows平台上提供了图形用户界面(GUI)的集成开发环境(IDE)。 (2)采用简单易学的Basic语言。它既适用于没有任何编程经验的开发者学习,也适合于开发各种复杂的底层应用程序。 (3)具有强大的数据和字符串处理功能。Visual Basic 提供了许多现成的字符串处理函数。 (4)易于扩充。除了简单易学的特点以外,Visual Basic 还是一种易于扩充功能的 25 基于单片机与PC机的温度控制系统硬件设计 开发系统。 (5)提供了IntelliSense技术。当你在Visual Basic 的代码窗口敲进对象名称的时候IntelliSense技术会自动向你显示一些相关的信息,例如对象的属性和方法等。 (6)提供了多种向导。利用这些向导,你可以快速地完成一般性的任务,例如生成其控件不绑定到数据控件上的纯代码窗体,建立查询,添加工具,制作图表,以及发布创建的应用程序等。 完成后的界面如图3-3所示 图3-3 单片机与PC的温度控制系统的VB界面 26 基于单片机与PC机的温度控制系统硬件设计 第四章 系统调试 硬件调试首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。硬件调试主要是针对主控板中单片机模块和外部输入、输出模块进行调试。这一部分硬件调试主要分成两大块:上电前的调试和上电后的调试。 在电路安装焊接前,首先是对元器件的检测。对AT89S52、DS18B20和SSR固态继电器这三个器件在未接电路时是不能检测其好坏的。对于其他器件则可利用万用表进行测量。 电阻的测量,用万用表的欧姆档测量。二极管、三极管也是根据其特性用万用表的欧姆档测量即可。按钮的测量也是用欧姆档测量,只要将表笔两端接按钮的两个引脚,按下按钮可以看到指针偏转到0刻度。 继电器的检测,给继电器的线圈两端加一合适的电压,可以看到指示灯亮。或用万用表接其管脚,看指针是否偏转为0刻度线。 (1)上电前的调试 在上电前,必须确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况等。只要将一个表笔固定在电源端或接地端,另仪表笔接其他连接点,指针偏转到0刻度就是通路的。通过万用表的检测,没有发现短路和断路的地方了,电路基本正常后再进行下一步调试。 (2)上电后的调试 断路或短路)方可上电调试,上电调试的目的是检在确保硬件电路正常,无异常情况( 验电路是否接错,同时还要检验原理是否正确。 在本设计中,上电调试主要是检测单片机部分与外部输入、输出电路是否接对。本次调试需要通过软硬件联调来实现。由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。本程序采用单片机C语言编写,用Keil C51编译器编程调试。 ? 加热控制调试 编写控制语句,使加热控制动作。加热控制口为P3.6口,要使加热电路动作,可以直 接给P3.6口一个控制信号使其动作,即程序直接将P3.6口置1,这样就使三极管导通, 继电器线圈动作,触电吸合,加热器进行加热。 ?温度传感器DS18B20的调试 在VB编写的显示界面调试到能成功显示温度值和显示温度曲线的基础上,编写温度 测量子程序以及显示子程序对此部分硬件电路进行测试。在有温度改变时(例如用手 去接触),显示温度能改变就基本完成本设计。 27 基于单片机与PC机的温度控制系统硬件设计 总 结 首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。 我所写的系统主要根据目前节省能源的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对水温的自动检测和控制。 系统以单片机AT89C52为核心部件,单片机系统完成对水温信号的采集、处理、显示等功能;用Protel软件绘制电路原理图和PCB电路印刷板图,并在电路板厂制作控制主板;利用C语言编制,运行程序该系统的主要特点是: 1)适用性强,利用VB友好的人机界面,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户水温的要求,实现对水温的实时监控。避免了电力力资源的浪费,节省了能源。 2)将单片机以及温度传感器引入对水温的分析和处理中,单片机控制决策无需建立被控对象的数学模型,系统的鲁棒性强,适合对非线性、时变、滞后系统的控制,对水温控制系统采用单片机控制非常适合。 3)系统成本低廉,操作非常简单,可扩展性强,只要稍加改变,即可增加其他使用功能。 本系统对现代化的发展具有十分重要的意义: 首先,节省了能源,特别是最近几年,我国东部沿海地区电力资源缺口十分巨大,可以缓解部分电力资源压力。 其次,由于我过大部分电力资源是火力发电,因而从一定程度上节省了自然资源,以及保护了环境。 通过对本设计的思考,更加加深了对单片机的认识,熟练了单片机的编程,更对当前的温度传感器有了更深刻的认识与了解,但是由于此系统依赖温度传感器,因而对温度传感器的稳定性,线性等诸多方面有着严格的要求,但是传感器的性能越好,相对而言其价格也就越高,因而在此设计中,温度传感器我个人觉的还是存在遗憾,其次,由于采用了C语言,所以其编程过程复杂不易查错。最后由于时间紧迫,本设计还有诸多地方需要改进,比如改用RS-485串行接口或是网线,实现远距离操作。 由于本设计是从保温部分节能为出发点而设计,因而在其加热部分还是存在很大能源浪费,因而在日后的开发应用中因当注意要,对其加热部分的选材的改进。 28 基于单片机与PC机的温度控制系统硬件设计 参考文献 [1] 童诗白.模拟电子技术基础[M](第三版).北京:高等教育出版社,2003 [2] 毛义敏.一种PID参数模糊自整定控制器的设计与仿真[J].自动化与仪表, 2001,16(3):36-38 [3] AT89系列单片机技术手册[S].北京:北京威立电子技术有限公司.14-23 [4] 楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2008 [5] 金伟正(单线数字温度传感器的原理及应用[J](电子技术应用,2000(6):66-68 [6] 沙占友.智能化集成温度传感器原理与应用[M].北京:机械工业出版社,2002 [7] 贾畅鹏.固态继电器的特性及应用[J]. 煤炭技术,2007,26(1):33-34 [8] 范逸之,陈立元.Visual Basic 与RS-232串行通信控制[M].北京:中国青年出版社, 2002 [9] 谭浩强,袁玫,薛淑斌.Visual Basic程序设计(第二版)[M].北京:清华大学出版 社,2004 [10] 李东生,张勇,许四毛.Protel99SE电路设计技术入门与应用[M]. 北京:电子工业出 版社.2004 [11] 杨 宁,黄元峰,张志敏.三相电热家庭水暖恒温自动控制系统[J]. 武汉化工学院学 报,2005,27(5) 29 基于单片机与PC机的温度控制系统硬件设计 附 录 附录一、单片机程序 ********************************************************************* 温度控制下位机C程序 ********************************************************************* 使用AT89C2051单片机,11.0592MHZ晶振 #include0;t--);} 初始化 void send_int(void) { TMOD = 0x21; 定时器1工作于8位自动重载模式, 用于产生波特率 TH1 = 0xfd; 波特率2400 30 基于单片机与PC机的温度控制系统硬件设计 TL1 = 0xfd; TH0=0xD8; 定时器0定时10ms TL0=0xF0; ET0=1; 允许定时器0中断 ES=1; 允许串口中断 EA=1; 开中断 SCON = 0xd8; 设定串行口工作方式 PCON = 0x00; 波特率不倍增 } ***********温度数据处理函数********** void work_temp() { n=0; if(temp_data[1]>127) {n=1; } else {display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]]; display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4); display[3]=display[4]100; display[1]=display[4]%100; display[2]=display[1]10; display[1]=display[1]%10; temper=display[4]*10+display[0]; } } 传送字串 void send_str() { SBUF =dis_9[display[2]]; while(TI==0); 等特数据传送 TI = 0; 清除数据传送标志 下一个字符 SBUF =dis_9[display[1]]; while(TI==0); 等特数据传送 TI = 0; 清除数据传送标志 SBUF =0x2e; while(TI==0); 等特数据传送 TI = 0; 清除数据传送标志 31 基于单片机与PC机的温度控制系统硬件设计 SBUF =dis_9[display[0]]; while(TI==0); 等特数据传送 TI = 0; 清除数据传送标志 flag=0; 标志位清0 } ***********18B20复位函数********** ow_reset(void) {char presence=1; while(presence) {while(presence) { DQ=1;_nop_();_nop_(); DQ=0; delay(50); 550us DQ=1; delay(6); 66us presence=DQ; presence=0继续下一步 } delay(45); 延时500us presence = ~DQ; } DQ=1; } **********18B20写命令函数********* 向 1-WIRE 总线上写一个字节 void write_byte(uchar val) {uchar i; for (i=8; i>0; i--) {DQ=1; _nop_();_nop_(); DQ = 0; _nop_();_nop_();_nop_();_nop_();_nop_(); 5us DQ = val&0x01; 最低位移出 delay(6); 66us val=val2; 右移一位 } DQ = 1; delay(1); } 32 基于单片机与PC机的温度控制系统硬件设计 *********18B20读1个字节函数******** 从总线上读取一个字节 uchar read_byte(void) {uchar i; uchar value = 0; for (i=8;i>0;i--) {DQ=1;_nop_();_nop_(); value>>=1; DQ = 0; _nop_();_nop_();_nop_();_nop_(); 4us DQ = 1; _nop_();_nop_();_nop_();_nop_(); 4us if(DQ)value|=0x80; delay(6); 66us } DQ=1; return(value); } ***********读出温度函数********** read_temp() { ow_reset(); 总线复位 write_byte(0xCC); 发Skip ROM命令 write_byte(0xBE); 发读命令 temp_data[0]=read_byte(); 温度低8位 temp_data[1]=read_byte(); 温度高8位 ow_reset(); write_byte(0xCC); Skip ROM write_byte(0x44); 发转换命令 work_temp(); 处理温度数据 } *********************************************************** PID计算部分 *********************************************************** unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) { unsigned int dError,Error; Error = pp->SetPoint - NextPoint; 偏差 pp->SumError += Error; 积分 dError = pp->LastError - pp->PrevError; 当前微分 33 基于单片机与PC机的温度控制系统硬件设计 pp->PrevError = pp->LastError; pp->LastError = Error; return (pp->Proportion * Error 比例项 + pp->Integral * pp->SumError 积分项 + pp->Derivative * dError); 微分项 } *********************************************************** 温度比较处理子程序 *********************************************************** compare_temper() { unsigned char i; if(set_temper>temper) { if(set_temper-temper>15) {open=200;} else {for(i=0;i<5;i++) {rout = PIDCalc ( &spid,temper); Perform PID Interation } if(open<=200) open=(unsigned char)(rout1200); else open=200; } } else {if(set_temper<=temper) {if(temper-set_temper>0) {open=0;} else{ for(i=0;i<5;i++) { rout = PIDCalc ( &spid,temper); Perform PID Interation } if(open<200) open=(unsigned char)(rout9000); else open=0; } } } 34 基于单片机与PC机的温度控制系统硬件设计 } void PIDInit (struct PID *pp) { memset ( pp,0,sizeof(struct PID)); } **************主函数**************** main() { Disdata=0xff; 初始化端口 discan=0xff; ow_reset(); 开机先转换一次 write_byte(0xCC); Skip ROM write_byte(0x44); 发转换命令 PIDInit ( &spid ); spid.Proportion = 1.2; Set PID Coefficients spid.Integral = 0; spid.Derivative =7; spid.SetPoint = 200; for(==0) send_str(); 标志位为1传送温度值 } } 定时器0中断程序 void clk_int(void) interrupt 1 {if(++x<=open) {ssr=1;} else{if(x<=200) ssr=0; else{x=0;} } TR0=0; TH0=0XD8; TL0=0XF0; TR0=1; } 串口中断程序 void zhong_int(void) interrupt 4 {uchar text; if(up==1) 35 基于单片机与PC机的温度控制系统硬件设计 {RI=0; text=SBUF; temp_5[y]=text; SBUF=text; while(TI==0); TI=0; y++; if(y==5) {y=0; m=1; up=0; set_temper=(temp_5[0]&0x0f)*1000+(temp_5[1]&0x0f)*100+(temp_5[2]&0x0f)*10+(temp_5[ 4]&0x0f); } } else{ RI=0; text=SBUF; if(text==0x41) {flag=1;} 标志位置1 else{if(text==0x43) up=1;} } } *********************结束************************** 附录二、PC机程序 Dim n As Integer Dim t As Integer ‘定义全局变量 Private Sub Command1_Click() ‘单击温度设置按钮程序 Dim i As Integer 36 基于单片机与PC机的温度控制系统硬件设计 If Len(Trim(Text2.Text)) < 3 Or Val(Text2.Text) > 100 Or Val(Text2.Text) < 0 Or Left(Right(Text2.Text, 2), 1) <> "." Then Label3.Caption = "设定输入错误,不发送" Else Label3.Caption = "" Select Case Len(Trim(Text2.Text)) Case 5 Text8.Text = Trim(Text2.Text) Case 4 Text8.Text = "0" & Trim(Text2.Text) Case 3 Text8.Text = "00" & Trim(Text2.Text) End Select MSComm1.Output = "C" Timer2.Enabled = True End If End Sub Private Sub Command2_Click() ‘单击按钮执行数据采集或停止采集 If Command2.Caption = "采集数据" Then Command2.Caption = "停止采集" Timer1.Enabled = True MSComm1.Output = "A" Else Command2.Caption = "采集数据" Timer1.Enabled = False MSComm1.Output = "B" MSComm1.Output = "B" End If End Sub Private Sub Command4_Click() ‘单击按钮清空数据 Text1.Text = "" Text4.Text = "" End Sub Private Sub Command5_Click() ‘单击按钮开关通信端口 If Command5.Caption = "开通信端口" Then Command5.Caption = "关通信端口" 37 基于单片机与PC机的温度控制系统硬件设计 COM.Enabled = False Command2.Enabled = True Command1.Enabled = True Text2.Enabled = True Select Case COM.ListIndex '指定端口号(COM) Case 0 MSComm1mPort = 1 Case 1 MSComm1mPort = 2 Case 2 MSComm1mPort = 3 Case 3 MSComm1mPort = 4 End Select MSComm1.Settings = "9600,n,8,1" '9600波特,无校验,8位数据位,1位停止位 MSComm1.InputMode = comInputModeText '接收文本数据 MSComm1.InputLen = 0 '读出接收缓冲区的所有内容 MSComm1.InBufferSize = 1024 MSComm1.OutBufferSize = 1024 MSComm1.RThreshold = 1 '每接收到1个字符,发生1次事件 MSComm1.PortOpen = True '打开串口 Else Timer1.Enabled = False MSComm1.Output = "B" MSComm1.Output = "B" Command5.Caption = "开通信端口" COM.Enabled = True MSComm1.PortOpen = False Command2.Caption = "采集数据" Command2.Enabled = False Command1.Enabled = False Text2.Enabled = False End If End Sub Private Sub Command7_Click() ‘单击按钮保存温度数据 CommonDialog1.Action = 2 Open CommonDialog1.FileName For Append As #1 Write #1, Now Write #1, Text4.Text Close #1 End Sub 38 基于单片机与PC机的温度控制系统硬件设计 Private Sub Form_Load() COM.AddItem "COM1" COM.AddItem "COM2" COM.AddItem "COM3" COM.AddItem "COM4" End Sub Private Sub MSComm1_OnComm() ‘串口接收到数据时读出数据 Select Case MSComm1mEvent Case comEvReceive Text1.Text = Text1.Text & MSComm1.Input Case Else End Select End Sub Private Sub Text1_Change() ‘对读出的数据进行处理 If (Len(Text1.Text) Mod 4 = 0) And (Len(Text1.Text) > 0) Then Text3.Text = Right$(Text1.Text, 4) & "?" Text4.Text = Time & Chr$(6) & Chr$(6) & Chr$(6) & Text3.Text & " " & Text4.Text Text7.Text = Time$ n = n + 1 End If If n = 100 Then n = 0 Text1.Text = "" End If End Sub Private Sub Text5_Change() ‘改变读数据的时间 Timer1.Interval = Val(Text5.Text) * 1000 End Sub Private Sub Timer1_Timer() ‘采集数据后进行绘图 MSComm1.Output = "A" Dim a As Single Dim a1 As String Dim a2 As String Dim a3 As String Dim k As Integer Static b(200) As Integer 39 基于单片机与PC机的温度控制系统硬件设计 Text7.Text = Time For k = 1 To 199 b(k) = b(k + 1) Next k b(200) = Val(Text3.Text) With MSChart1 For i = 1 To 200 a = Val(Mid(Text7.Text, 1, 2)) * 3600 + Val(Mid(Text7.Text, 4, 2)) * 60 + Val(Mid(Text7.Text, 7, 2)) - 200 * Val(Text5.Text) + i * Val(Text5.Text) + 1 If a < 0 Then a = a + 86400 ElseIf a > 86400 Then a = a - 86400 End If If a \ 3600 < 10 Then 1 = "0" & (a \ 3600) a Else a1 = Str(a \ 3600) nd If E If (a Mod 3600) \ 60 < 10 Then a2 = "0" & ((a Mod 3600) \ 60) Else a2 = (a Mod 3600) \ 60 End If If ((a Mod 3600) Mod 60) < 10 Then a3 = "0" & ((a Mod 3600) Mod 60) Else a3 = ((a Mod 3600) Mod 60) End If .Row = i .Data = b(i) .RowLabel = a1 & ":" & a2 & ":" & a3 Next i End With End Sub Private Sub Timer2_Timer() ‘设置温度时间隔开发送数据的时间,以使 If t = 0 Then ‘单片机能正常处理 MSComm1.Output = Mid(Text8.Text, 1, 1) t = t + 1 40 基于单片机与PC机的温度控制系统硬件设计 ElseIf t = 1 Then MSComm1.Output = Mid(Text8.Text, 2, 1) t = t + 1 ElseIf t = 2 Then MSComm1.Output = Mid(Text8.Text, 3, 1) t = t + 1 ElseIf t = 3 Then MSComm1.Output = Mid(Text8.Text, 4, 1) t = t + 1 ElseIf t = 4 Then MSComm1.Output = Mid(Text8.Text, 5, 1) t = 0 Timer2.Enabled = False End If End Sub 41 基于单片机与PC机的温度控制系统硬件设计 学位论文原创性声明 本人郑重声明:所呈交的学位论文~是本人在导师的指导下进行的研究工作所取得的成果。尽我所知~除文中已经特别注明引用的内容和致谢的地方外~本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体~均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。 学位论文作者,本人签名,: 年 月 日 学位论文出版授权书 本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”)~愿意将本人的学位论文提交“中国学术期刊,光盘版,电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版~并同意编入CNKI《中国知识资源总库》~在《中国博硕士学位论文评价数据库》中使用和在互联网上传播~同意按“章程”规定享受相关权益。 论文密级: ?公开 ?保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议) 作者签名:_______ 导师签名:_______ _______年_____月_____日 _______年_____月_____日 42 基于单片机与PC机的温度控制系统硬件设计 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。 作者签名: 二〇一〇年九月二十日 毕业设计(论文)使用授权声明 本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 作者签名: 二〇一〇年九月二十日 43 基于单片机与PC机的温度控制系统硬件设计 致 谢 时间飞逝~大学的学习生活很快就要过去~在这四年的学习生活中~收获了很多~而这些成绩的取得是和一直关心帮助我的人分不开的。 首先非常感谢学校开设这个课题~为本人日后从事计算机方面的工作提供了经验~奠定了基础。本次毕业设计大概持续了半年~现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计~我的能力有了很大的提高~比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血~在此我表示由衷的感谢。没有他们的帮助~我将无法顺利完成这次设计。 首先~我要特别感谢我的知道郭谦功老师对我的悉心指导~在我的论文书写及设计过程中给了我大量的帮助和指导~为我理清了设计思路和操作方法~并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上~我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。 其次~我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求~感谢他们对我学习上和生活上的帮助~使我了解了许多专业知识和为人的道理~能够在今后的生活道路上有继续奋斗的力量。 另外~我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持~与他们一起学习、生活~让我在大学期间生活的很充实~给我留下了很多难忘的回忆。 最后~我要感谢我的父母对我的关系和理解~如果没有他们在我的学习生涯中的无私奉献和默默支持~我将无法顺利完成今天的学业。 四年的大学生活就快走入尾声~我们的校园生活就要划上句号~心中是无尽的难舍与眷恋。从这里走出~对我的人生来说~将是踏上一个新的征程~要把所学的知识应用到实际工作中去。 回首四年~取得了些许成绩~生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲~对我成长的关心和爱护。 学友情深~情同兄妹。四年的风风雨雨~我们一同走过~充满着关爱~给我留下了值得珍藏的最美好的记忆。 在我的十几年求学历程里~离不开父母的鼓励和支持~是他们辛勤的劳作~无私的付出~为我创造良好的学习条件~我才能顺利完成完成学业~感激他们一直以来对我的抚养与培育。 最后~我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励~给了我很多解决问题的思路~在此表示衷心的感激。老师们认真负责的工作态度~严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中~都给与我很大的帮助~使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助~感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助~帮助解决了不少的难点~使得论文能够及时完成~这里一并表示真诚的感谢。 44
本文档为【基于单片机与PC机的温度控制系统硬件设计毕业论文设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_833902
暂无简介~
格式:doc
大小:452KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-17
浏览量:22