毕业设计(论文)-基于LabVIEW的温度检测系统.doc_第1页
毕业设计(论文)-基于LabVIEW的温度检测系统.doc_第2页
毕业设计(论文)-基于LabVIEW的温度检测系统.doc_第3页
毕业设计(论文)-基于LabVIEW的温度检测系统.doc_第4页
毕业设计(论文)-基于LabVIEW的温度检测系统.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - i - 摘要摘要 温度是个基本的物理量,他是工业生产过程中最普遍,最重要的工艺参数之 一。随着工业的不断发展,对温度测量的要求也越来越高,而且测量范围也越来 越广。合理的温度范围和精确地温度的测量队提高产品的质量、产量,降低消耗, 实现工业生产自动化,均有积极作用,因此温度检测技术的研究具有重大意义。 本系统是一个基于 labview 的温度检测系统,采用多点温度检测,能检测较 大区域内的温度变化,主要包括上位机和下位机两个部分。下位机使用的 ds18b20 传感器和 at89c51 单片机。上位机和下位机的通讯方式是串口通讯。上 位机使用的是虚拟仪器 labview,主要功能是实时温度的显示,温度曲线时间轴 的显示,历史温度曲线的显示以及超限温度报警。 关键字 :labview 温度测量 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - ii - abstract the temperature is a basic physical quantity, it is one of the most common industrial processes, the most important process parameters. with the continuous development of industry, the requirements for temperature measurement is also getting higher and higher, and the increasingly wide range of measurement. reasonable temperature range and accurate temperature measurement team to improve product quality, production, reduce consumption, to achieve the automation of industrial production, had an active role in temperature sensing technology is of great significance. this system is a temperature sensing system based on labview, using multi-point temperature detection can detect temperature changes within the larger area, including two parts of the upper and lower machine. the next bit machine using the ds18b20 sensors and at89c51 microcontroller. the upper and lower machine communication is serial communication. the host computer using a virtual instrument labview, the main function is to display real-time temperature, the temperature curve timeline display, alarm display and gauge the temperature of the historical temperature curve. keywords: labview temperature survey 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - iii - 目目 录录 摘要i abstract .ii 目 录.iii 第 1 章 引言.1 1.1 背景.1 1.2 国内外研究现状 .2 1.2.1 温度传感器2 1.2.2 上位机.3 1.2.3 上位机与下位机通讯方式.4 1.3 研究内容 .4 第 2 章 系统设计.5 2.1 下位机设计 .5 2.1.1 温度检测模块设计.5 2.1.2 上位机和下位机的通讯方式设计.6 2.1.3 下位机主控模块设计.6 2.2 上位机设计 .6 第 3 章 下位机的软硬件实现.9 3.1 硬件实现 .9 3.1.1 ds18b20 温度传感器9 3.1.2 单片机外围电路.10 3.2 下位机软件设计11 第 4 章 上位机实现.13 4.1 上位机总体模块 .13 4.2 模块分析 13 4.2.1 串口通讯模块.13 4.2.2 数据处理模块.15 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - iv - 4.2.3 数据显示模块.17 4.2.4 温度报警模块.20 第 5 章 调试.21 5.1 硬件调试 .21 5.2 软件调试 .21 5.2.1 调试准备.21 5.2.2 运行结果.21 第 6 章 结束语.24 致 谢.25 参考文献.26 附录 i 源代码27 附录 ii 下位机电路图44 附录 ii 上位机程序图45 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 1 - 第第 1 章章 引言引言 1.1 背景 温度是表征物体冷却程度物理量, 在许多工业生产和科学实验过程中,温度 参数的检测和控制都非常重要。随着工业检测技术和自动化程度的不断提高,对 温度检测的要求也越来越高。但是,测温时经常会受到各种干扰而影响检测精度, 因而需要对检测量进行滤波等处理。在工农业生产、科学研究人们的生活等诸多 领域中, 对温度的严格控制与检测非常重要, 特别是在工农业生产环境下对温度 的精确度和稳定性要求更高, 这样才能充分保证产品的质量, 提高企业的生产效 率, 进而获得更高的效益。传统测温仪表一般是通过硬件电路实现的,但这种方 式存在电路复杂、成本较高、性能不稳定等的问题,同时,仪表的功能开发也是 得受到局限,而以虚拟仪器为主的虚拟检测技术则能够较好地解决这些问题。 温度是一个非常重要的物理量,因为它直接影响燃烧、发酵、烘烤、煅烧、 蒸馏、化学反应、浓度、结晶、挤压成形以及空气流动等化学和物理过程。温度 的控制失误可能引起产品质量、生产安全、产品产量等的一系列问题,因此对温 度检测的意义就越来越大。温度采集控制系统在工业生产、人们的生活领域和科 学研究中,得到了广泛应用。我们使用自动温度控制系统可以对生产环境的温度 来进行自动控制,保证生产的自动化、智能化能够顺利安全进行,从而提高企业 的生产效率。在工业生产过程中,很多的时候都需要对温度进行严格的监控,来 使得生产能够顺利进行,产品的质量才能够得到充分的肯定。 在实际生产、生活等的各个领域中,温度是环境因素不可或缺的一部分,对 温度及时精确的控制和检测显得尤为重要。比如,农业中土壤各个层面上的温度 将会影响植物的生长;在医院的监护中也用到温度的测量;在工业中,料筒里外 上限温度要求不一,以及热处理中工件各个部件的温度对工件形成后的性能至关 重要等等。现代电子工业的飞速发展对自动测试的要求越来越高,采用虚拟仪器 对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度 的技术指标。针对以上情况,在控制成本的前提下,通过本设计设计一款能够实 时检测控制温度,又具有对系统设定不同的报警温度的温度控制报警系统功能。 此系统能够满足现代生产生活的要求,效率高,具有较强的稳定性和灵活性。通 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 2 - 过本系统提高对于温度控制的认识,在学习实践中提高对理论的认知能力,达到 学习实践相结合的目的。采用先进的科学技术,加以丰富的实际经验和知识,向 社会提供各种超值安全设备服务,给用户带来安全和放心。 在许多工业生产和科学实验过程中,温度参数的检测和控制都非常重要。随 着工业检测技术和自动化程度的不断提高,对温度检测的要求也越来越高。但是, 测温时经常会受到各种干扰而影响检测精度,因而需要对检测量进行滤波等处理。 传统测温仪表一般都是通过硬件电路实现的,但这种方式存在电路复杂、成本较 高、性能不稳定等问题,同时,仪表的功能开发也得受到局限,而以虚拟仪器为 主的虚拟检测技术则能够较好地解决这些问题。为此本文提出了基于 labview 技 术为核心,以计算机、数据采集卡等器件为硬件平台的温度检测系统的设计方法。 1.21.2 国内外研究现状国内外研究现状 1.2.11.2.1 温度传感器温度传感器 电阻温度传感器,这种传感器以电阻作为温度敏感元件。根据敏感材料不同 又可分成热电阻式和热敏电阻式。热电阻式一般用金属材料制成, 如铂、铜、镍 等。热敏电阻是以半导体材料制成的陶瓷器件, 如锰、镍、钴等金属的氧化物与 其它化合物按不同配比烧结而成。 辐射式温度传感器,众所周知, 自然界的所有物体对辐射都具有吸收和反射 的能力1辐射式温度传感器就是利用物体的热辐射特性制成的。被测物体的辐射 能被热敏元件(如热电偶、热敏电阻等)吸收时可使其物理参数(如输出电势、电 阻值等) 发生变化, 利用现代测量手段检测出这种变化就可得被测温度。根据敏 感原理不同, 辐射式温度传感器可分为全辐射式、红外辐射式、光电亮度式和光 电比色式等, 并能实现非接触测量, 可测温度高达3000 以上. 全辐射式传感 器中敏感元件接受被测物体的全部辐射能而使参数发生变化; 红外辐射式传感器 中敏感元件只接受被测物体辐射能中部分波长的能量; 比色式传感器是基于物体 温度不同其辐射能的光谱分布不同; 而亮度测量法是通过测量物体在一定波长下 单色辐射亮度来确定温度, 被测温度的微小变化就会引起单色亮度很大变化。如 辐射体温度由1200 k 上升到1500 k 时, 总辐射能仅增加215倍, 而波长为01660 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 3 - lm 的红光单色亮度可增加10倍以上, 因此此方法是辐射测温中最精确的一种。 ds1922l/t温度记录ibutton是坚固耐用的自供电系统,能够测量温度并将测 量结果记录在受保护的存储器内。记录温度的频率由用户定义。总共可以保存 8192个8位数据记录或4096个16位数据记录,这些记录以等间隔采集,时间间隔 从1秒至273小时。另外还有512字节的sram,用于存储一些特定的应用信息,以 及64字节用于存放校准数据。一项数据采集任务可以被编程为立即开始,或者在 一个用户定义的延迟之后,或者在一次温度告警之后开始。对于存储器和控制功 能的访问可加以口令保护。ds1922l/t通过串行1-wire协议与主机通信,仅需要 单条数据引线和返回地。每个ds1922l/t都由工厂光刻了一个保证唯一64位的注 册号,保证每个器件绝对可溯。坚固的不锈钢封装对于各种恶劣环境具有很高的 耐受力,例如玷污、潮湿和冲击等。配套的各种附件可以使ds1922l/t安装在几 乎任何物体上,包括集装箱、货架或袋子等。 采用热敏电阻,可满足 40 摄氏度至 90 摄氏度测量范围,但热敏电阻精度、 重复性、可靠性较差,对于检测 1 摄氏度的信号是不适用的。而且在温度测量系 统中,采用单片温度传感器,比如 ad590,lm35 等.但这些芯片输出的都是模拟信号,必 须经过 a/d 转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这 种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要 用到复杂的算法,一定程度上也增加了软件实现的难度。 ds18b20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式, 螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有 ltm8877,ltm8874 等 等。主要根据应用场合的不同而改变其外观。封装后的 ds18b20 可用于电缆沟测 温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药 库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样, 适用于各种狭小空间设备数字测温和控制领域。 1.2.21.2.2 上位机上位机 主要考虑两种上位机软件 第一种是 vb,vb 是由美国微软公司于 1991 年开发的一种可视化的、面向对 象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 windows 环境 下的各类应用程序。它简单易学、效率高,且功能强大可以与 windows 专业开 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 4 - 发工具 sdk 相媲美。在 visual basic 环境下,利用事件驱动的编程机制、新颖 易用的可视化设计工具,使用 windows 内部的广泛应用程序接口(api)函数, 动态链接库(dll) 、对象的链接与嵌入(ol) 、开放式数据连接(odbc)等技术, 可以高效、快速地开发 windows 环境下功能强大、图形界面丰富的应用软件系统。 第二种是虚拟仪器,labview 是一种程序开发环境,由美国国家仪器(ni) 公司研制开发的,类似于 c 和 basic 开发环境,但是 labview 与其他计算机语言 的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而 labview 使用的是图形化编辑语言 g 编写程序,产生的程序是框图的形式。 1.2.31.2.3 上位机与下位机通讯方式上位机与下位机通讯方式 第一种为传感器和上位机使用串口通信。 串口通信的概念非常简单,串口 按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口 可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现 远距离通信。 第二种为传感器和上位机通讯使用数据采集卡。数据采集卡是指从传感器和 其它待测设备等模拟和数字被测单元中自动采非电量或者电量信号,送到上位机 中进行分析,处理。数据采集系统是结合基于计算机或者其他专用测试平台的测 量软硬件产品来实现灵活的、用户自定义的测量系统。 1.31.3 研究内容研究内容 本次课题的研究内容是利用 labview 的串口通信模块,采集来自单片机获得 的(多点)温度信号,并在 labview 上实时绘图显示。当温度过高或过低时,能 够在界面上给出提示。 主要内容有: 完成一个基于 labview 与传感模块的温度检测系统,要求实现以下功能 1、单片机(多点温度采集) 2、单片机与上位机的串口通信 3、labview 显示界面及与下位机的串口通信 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 5 - 4、labviews 上温度的实时显示 5、温度超限提示功能 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 6 - 第第 2 2 章章 系统设计系统设计 本温度检测系统大体分为三个部分,结构如图 2-1 上位机 单片机 传感器 下位机 图 2-1 系统设计图 下面分模块阐述这几部分的设计 2.12.1 下位机设计下位机设计 下位机的主要功能是进行温度的检测以及将数据进行必要的格式转换,让上 位机能方便的接受。它由温度检测模块和下位机主控模块等模块组成。 2.1.12.1.1 温度检测模块设计温度检测模块设计 采用温度芯片 ds18b20 测量温度,可以体现系统芯片化这个趋势。部分功能 电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的 使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将 成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。 这里我们用到温度芯片 ds18b20。ds18b20 是 dallas 公司生产的一线式数字 温度传感器,具有 3 引脚 to92 小体积封装形式。测温分辨率可达 0.0625, 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 7 - 被测温度用符号扩展的 16 位数字量方式串行输出。其工作电源既可在远端引入, 也可采用寄生电源方式产生。cpu 只需一根端口线就能与诸多 ds18b20 通信,占 用微处理器的端口较少,可节省大量的引线和逻辑电路。 在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行 ad 转换, 而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及 放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片 ds18b20 测量温度, 输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电 路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。 在 0100 摄氏度时,最大线形偏差小于 1 摄氏度。ds18b20 的最大特点之一采用 了单总线的数据传输,由数字温度计 ds1820 和微控制器 at89c51 构成的温度测 量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结 构就比较简单,体积也不大,且由于 at89c51 可以带多个 dsb1820,因此可以非常容 易实现多点测量.轻松的组建传感器网络。 2.1.22.1.2 上位机和下位机的通讯方式设计上位机和下位机的通讯方式设计 考虑到这次为温度检测系统,并且不完成复杂的功能,串口完全可能胜任。 再者,串口简单易操作,非常适合本系统。 2.1.32.1.3 下位机主控模块设计下位机主控模块设计 at89c51 单片机的特点:5v 供电,8 位单片机,与 mcs-51 兼容。有四组 i/o 口(p3 口可复用) ,5 个中断源,有两个外部中断输入端,两个内部定时器中 断(也可以扩展做计数器) ,支持半双工串行通信。内部 ram 为 128b,rom 为 4k(也可以选择其他型号获得较大空间) ,简单易操作。 2.22.2 上位机设计上位机设计 labview是实验室虚拟仪器集成环境 (laboratory virtual instrument engineering workbench)的简称,是目前应用最广、功能最强、发展最快的图形化 软件开发环境。得到工业界和学术界的普遍认可和好评。它可以把复杂、繁琐、 费时的文本语言编程简化成用菜单或图标提示的方法选择功能(图形),用线条 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 8 - 将各种功能(图形)连接起来的简单图形编程方式,为没有编程经验的用户进行 编程、调试提供了简单方便、完整的环境和工具,尤其适合于从事科研、开发的 科学家和工程技术人员使用。labview是一种虚拟仪器开发平台软件,能够以其 直观简便的编程方式、众多的源代码级的设备驱动程序、多种多样的分析和表达 功能支持,为用户快捷地构筑自己在实际工程中所需要的仪器系统创造了基础条 件。 而且labview与其它计算机语言相比,有一个特别重要的不同点:其它计算 机语言都是采用文本语一言产生代码行,而labview采用图形化编程语言g 语言,产生的程序是框图的形式,易学易用,特别适合硬件工程师、工程技术人 员、生产线工艺技术人员的学习和使用,可以在很短的时间内掌握并应用到实践 中去。特别是对于熟悉仪器结构和硬件电路的硬件工程师、工程技术人员和测试 技术人员来说,编程就像设计电路图一样;因此,硬件工程师、工程技术人员和 测试技术人员们学习labview驾轻就熟,在较短的时间内就能够学会并应用 labview,也不必去记忆那眼花缭乱的文本式程序代码。labview的功能十分强 大。像c和c+等其它计算机高级语言一样,labview也是一种通用编程语言, 具有各种各样、功能强大的函数库,包括数据采集、gpib、串行仪器控制、数据 分析、数据显示及数据存储,甚至还有网络功能。labview也有完善的仿真、调 试工具,如设置断点、单步执行等。labview的动态连续跟踪方式,可以连续、 动态地观察程序中的数据流向及其变化情况,比其它语言的开发环境更方便、更 有效。g语言编写的程序称为虚拟仪器 vi(virtual instrument),因为它的界面和功 能与真实仪器十分相像,在labview环境下开发的应用程序都以vi为后缀的,以 表示虚拟仪器的含义。一个vi由交互式用户接口、数据流框图和图标连接端口组 成。同时,g语言很好地实现了模块化编程思想。用户可以将一个应用分解为多 个任务,再将任务细分,将一个复杂的应用分解为多个简单的子任务,为每个子 任务建立一个vi,然后把这些vi组合在一起成为最终的应用程序。因为每个子vi 可以单独执行,所以很容易调试。进一步而一言,许多低级子vi可以完成一些常 用功能,因此,用户可以开发特定的子vi库,以适用一般的应用程序。 labview的运行机制从宏观上讲己经不再是传统上的冯诺依曼计算机体系 结构的执行方式。传统的计算机语言中的顺序执行结构在labview中被并行机制 所代替:从本质上讲,它是一种图形控制流结构的数据流模式。数据流程序设计 规定,一个函数只有当它的所有输入有效时才能执行;而目标的输出,只有当它 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 9 - 的功能完成时才是有效的。也就是说,在这种数据流程序的概念中,程序的执行 是数据驱动的,它不受操作系统、计算机等因素的影响。这样,labview中被连 接的功能节点之间的数据流就能控制程序的执行次序,而不像文本程序受到行顺 序执行的约束。从而,我们可以通过相互连接功能节点快速地开发应用程序,甚 至还可以有多个数据通道同步运行。 labview的核心是vi。vi有一个人机对话的用户界面,即前面板(front panel)和 类似于源代码功能的程序图(diagram)。前面板接收来自程序图的指令。在vi的前 面板中,输入控件 (controls)模拟了仪器的输入装置并把数据提供给vi的程序图: 而显示控件(indicators)则模拟了仪器的输出装置并显示由程序图获得或产生的数 据。当把一个输入控件或显示放置到前面板上时,labview在程序图中相应地放 置了一个端口(terminals),这个从属于输入控件或显示控件的端口不能随意删除, 只有删除它对应的输入控件或显示控件时它才随之一起被删除。 用labview编制框图程序时,不必受常规程序设计语法的限制。首先,从功 能菜单中选择需要的功能节点,将之置于面板上合适的位置;然后用线(wires)连 接各功能节点在程序图中的端口,用来在功能节点之间传输数据。这些节点包括 了简单的算术功能,高级数据采集和分析以及用来存储和检索数据的文件输入输 出功能和网络功能。用labview编制出的图形化vi是分层次和模块化的。我们可 以将之用于顶层程序,也可用作其它程序或子程序的子程序。显然labview依附 并发展了模块化程序设计的概念。图形化程序设计编程简单、直观、开发效率高。 经过各个部分的选择,最后确定基本的框架图如下 labview 界面显示 at89c51 单片机 ds18b20ds18b20ds18b20 图 2-2 系统设计后图 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 10 - 第第 3 3 章章 下位机的软硬件实现下位机的软硬件实现 下位机包括硬件电路和单片机软件编程。 3.13.1 硬件实现硬件实现 设计包括的主要功能是温度检测和数据格式的转化。 3.1.13.1.1 ds18b20ds18b20 温度传感器温度传感器 ds18b20 支持“一线总线”接口,测量温度范围为 -55c+125c,在- 10+85c 范围内,精度为0.5c。现场温度直接以“一线总线”的数字方式传输,大 大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设 备或过程控制、测温类消费电子产品等。 ds18b20 的内部结构如图 3-1 所示。 图 3-1 ds18b20 内部结构图 ds18b20 有 4 个主要的数据部件: 64 位激光 rom。64 位激光 rom 从高位到低位依次为 8 位 crc、48 位序列 号和 8 位家族代码(28h)组成。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 11 - 温度灵敏元件。 非易失性温度报警触发器 th 和 tl。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。ds18b20 在 0 工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如 图所示。 表 3-1 ds18b20 结构图 tmr1r011111 msb ds18b20 配置寄存器结构图lsb 其中,tm:测试模式标志位,出厂时被写入 0,不能改变;r0、r1:温度计 分辨率设置位,其对应四种分辨率如下表所列,出厂时 r0、r1 置为缺省值: r0=1,r1=1(即 12 位分辨率),用户可根据需要改写配置寄存器以获得合适的 分辨率。 表 3-2 配置寄存器与分辨率关系表 r0r1温度计分辨率/bit最大转换时间/us 00993.75 0110187.5 1011375 1112750 ds18b20 最大的特点是单总线数据传输方式,ds18b20 的数据 i/o 均由同一 条线来完成。 3.1.23.1.2 单片机外围电路单片机外围电路 将 at89c51 单片机的 p1.0,p1.1,p1.2 三个引脚分别连上三个 ds18b20 传 感器来实现三点温度测量。将 ret 接上复位电路。然后将 xtal1,xtal2 接上晶 振,让晶振提供时钟信号使 at89c51 单片机工作。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 12 - 图 3-3 硬件电路 3.23.2 下位机软件设计下位机软件设计 以下是下位机的程序流程图: 首先发送命令通知到温度转换,转换获取的数据,由二进制转换到十进制, 再保存到寄存器 sbuf,由串口从寄存器获取数据,传输给上位机进行显示和处理。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 13 - 温度转换初始化 获取温度 信号格式转换 保存到寄存器 sbuf 串口从寄 存器读取 图 3-4 下位机流程图 下面的程序为下位机核心程序 void main() uint t; sci_init(); while(1) tmpchange(); tmp1change1(); tmp2change2(); disp(tmp(); wendushuju1(tmp(); wendushuju2(tmp1(); wendushuju3(tmp2(); send_packet( send_packet( send_packet( while(1); 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 14 - 第第 4 4 章章 上位机实现上位机实现 4.14.1 上位机总体模块上位机总体模块 图 4.1 是上位机 labview 的总体模块图。 串口通讯模块 数据处理模块 数据显示模块温度报警模块 图 4.1 labview 总体模块 4.2 模块分析模块分析 4.2.14.2.1 串口通讯模块串口通讯模块 该模块的主要作用是将串口读进来的字符串转化为九维数组。 图 4-2 visa 输入 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 15 - 从串口读入十六进制的字符串。 图 4-3 visa 配置串口 该程序的功能是将 visa 资源指定名称的串口按特定设置初始化。通过将数 据连线至 visa 资源名称输入端可确定要使用的多态实例。本程序 visa 配置串口 的数据设置为波特率 9600,数据比特 8,奇偶校验为 0. 图 4-4 visa 写入程序 该程序的主要功能是将写入缓冲区的数据写入 visa 资源名称指定的资源或 接口中。 图 4-5 visa 读取程序 从 visa 资源名称指定的设备或接口读取指定数量的字节,并将数据返回至 读取缓存区。 本次程序设置为一次读取九个字节进行转换。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 16 - 图 4-6 数组转换程序 将读取的字符串转化为九维数组。 图 4-7 串口通讯模块总体图 图 4-8 为串口通讯模块,从 visa 串口资源名称(com3)读取十六进制的 字符数,然后通过 visa 的串口配置,写入缓冲区,之后将缓存区的数据读出, 一次读九个,经过转换,转换为数组。 4.2.24.2.2 数据处理模块数据处理模块 图 4-8 索引 本程序是索引数组,返回 n 维数(本次程序 n 为 9)为组在索引位置的元素 或者子数组。将从数组转化器读入的数组通过索引逐个读出。 三点温度测量点分别为甲地,乙地,丙地。第一位为甲地的标示位,第二位 为甲地的整数部分,第三位为甲地的小数部分。第四位为乙地的标示位,第五位 为乙地的整数部分,第六位为乙地的小数部分。第七位为丙地的标示位,第八位 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 17 - 为丙地的整数部分,第九位为丙地的小数部分。 图 4-9 运算 将甲地,乙地,丙地的标示位分别设置为 1,2,3。 图 4-10 温度的运算 这个为条件结构,当为假的时候,不输出。当为真的时候,将索引来的小数 部分乘以 0.01 加上整数部分,然后输出完整的温度数据。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 18 - 图 4-11 数据处理模块总体图 将读入的数组通过索引,读出元素,九维数组分别为甲地标志位,甲地整数 部分,甲地小数部分,乙地标志位,乙地整数部分,乙地小数部分,丙地标志位, 丙地整数部分,丙地小数部分。将三个点的小数部分乘以 0.01 加上整数部分完 成了温度数值的计算,传输到下一部分。 4.2.34.2.3 数据显示模块数据显示模块 该模块是将处理好的数据读出分别作温度曲线,历史数据,温度报警。 将计算好的数据读出以温度曲线的形式输出。 图 4-12 转化程序 将计算好的温度数据进行小数精度设置,精度为 0.01,转化为浮点字符串。 图 4-13 获取时间日期 为了在显示历史数据时能准确显示出当时历史数据的时间而是用本程序。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 19 - 本程序能返回当时的时间标示。 图 4-14 时间转化 按照格式把时间标示显示为时间值或者数值。 图 4-15 数组插入 本程序的作用是在 n 维数组索引的位置中差入元素或者子数组。 这里既根据采集次数来确定索引的位置,来插入所计算的温度值。 图 4-16 数组反转 本程序的功能是反正数组中元素的顺序。 图 4-17 创建数组 创建新数组,连接多个元素或者数组。 图 4-18 数组转置 重新排列二维数组的顺序,把i,j转制成j,i。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 20 - 以上三个程序的应用使历史温度数据由下往上逐行显示,便于观看和比较。 图 4-19 历史数据显示程序 显示历史数据。 下图为前面板图: 图 4-20 历史数据显示 图 4-21 历史数据显示 由计算出的温度数值分为三个分支:直接作为温度曲线显示,显示为历史数 据和通过报警模块。作为温度曲线的不过多介绍,由温度数值直接作温度的时间 轴曲线。另外数据先进行精度设置,精度为 0.01,通过数组插入程序来返回采集 次数,以及移位寄存器来实现历史数据的储存和刷新。而最后通过反转一维数组, 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 21 - 创建数组和二维数组转制三个程序将历史数据的显示由下而上刷新,既最新的数 据显示在最前面。 4.2.44.2.4 温度报警模块温度报警模块 图 4-22 报警模块 温度报警程序,由计算得出的温度值与三点温度上下限进行比较,如果小于 下限或者大于上线就报警。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 22 - 第第 5 5 章章 调试调试 5.15.1 硬件调试硬件调试 单片机上接上 5v 电源,通过串口连接至上位机。这时候工作指示灯亮,不 经过任何加热或者制冷,ds18b20 采集的为当时室温。 5.25.2 软件调试软件调试 5.2.15.2.1 调试准备调试准备 1.在 visa 资源名称上找到串口名称,如图所示 图 5-1 串口名称 2.在甲地,乙地,丙地报警温度设置处输入报警温度上下限 图 5-2 温度设置 3.按下运行程序 图 5-3 运行程序 5.2.25.2.2 运行结果运行结果 1首先是三点的温度曲线 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 23 - 图 5-4 温度曲线显示图 由于实验环境为室温,所以三点的 y 轴是由 15 到 35 度。 2如果温度超过所设的三点的上限或者低于所设的温度的下限,温度报警 灯就会由绿色变为红色。 图 5-5 三点报警图 3.本系统还能直观的了解到实时的温度数值。 图 5-6 实时温度显示 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 24 - 4.本系统还提供历史数据的观察,如图 5-7 图 5-7 历史数据显示图 这样能更好的将三点(甲地,乙地,丙地) ,以及各个时间段做对比。当然 也能找到每个温度准确的时间显示点。为了方便观察,历史数据的显示方式就由 下而上刷新,这样更一目了然。 5.显示采集次数 图 5-8 采集次数显示 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 25 - 第第 6 6 章章 结束语结束语 经过半年的准备和设计,我终于完成了本次的毕业设计。我在完成老师给我 的任务书的几个指标外还多加了几项功能。比如温度数据的历史显示,温度曲线 的显示,这样能更直观的了解温度的变化。ds18b20,at89c51 单片机方便好用, 操作简便,本系统总体成本较低,简单可靠。在这次毕业设计中让我深深体会到 lavview 这个软件的强大,直观易懂,功能丰富。 经过这半年的调研和编程,我对 labview 的兴趣大增,它让我感觉到了 g 语言的便捷和容易入手。正是凭借这种热爱,我才不断对系统添加新的各功能, 这也是不断探索 labview 未知一面的过程。但是,介于所掌握知识的局限性, 本系统在功能和精度上和先进的测温仪器相比仍有一段差距。不过,我会继续学 习相关知识,继续完善本系统的功能。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 26 - 致致 谢谢 首先我要感谢我的指导老师,张磊老师,是你孜孜不倦的教导让我在做毕业 设计的道路上披荆斩棘,克服种种困难。张磊老师兢兢业业的工作态度和谦虚谨 慎的处事方式永远是我学习的榜样。其次我也要感谢班级里的各位同学,完成的 毕业设计的道路上少不了你们的指导。还要感谢我的爸爸妈妈,你们的悉心的问 候是天下最大的慰藉。最后我要感谢各位老师和学校的各个领导。 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 27 - 参考文献参考文献 1 周建春.基于单片机和 pc 串口通信的温度采集系统设计d.苏州大学. 2011-04-15. 2 易丽华,黄俊. 基于 at89c51 单片机与 ds18b20 的温度测量系统j电子与封 装, 2009, (05) . 3 张普光. 基于单片机的温度控制器设计与研究d. 西安电子科技大学, 2009, (01) . 4 师玉宝,张翔,刘晓奎.基于 labview 的温度检测系统d.物联网技术,编辑 部邮箱 2011 年 2 月. 5 程俊红.基于单片机的温度检测系统d.黑龙江科技信息,编辑部邮箱 2011 年 19 期. 6 周秀明, 曹隽,张春龙.基于 ds18b20 的单片机温度检测与调节系统设计. 实验室科学,编辑部邮箱 2011 年 01 期. 7 奚建荣. 基于 51 单片机的多点温度控制系统设计j现代电子技术, 2009, (02) . 8 dong.l.wireless temperature measurement and alarm device based on single bus digital temperature sensor.2011 wase global conference on science engineering, gcse 2011 9 mihajlovic, goran.indium arsenide quantum well hall devices for room-temperature detection of magnetic biomolecular labels.dissertation abstracts international,2006. 10 张力,晏红.基于 labview 串口通讯的虚拟数字电压表的设计j.三峡大学 学报(自然科学版).2010 年 02 期.81-84 11 白云,高育鹏,胡小江 等编著.基于 labview 的数据采集与处理技术m. 西安电子科技大学出版社。2009. 12 施雅婷,郭前岗,周西峰.一种改进的 labview 串口通信系统的实现j.电子 测试.2010 年 08 期.64-69 13 王立新,杨少卿,郑红军,赵桂青.温度检测方法与温度传感器.柳城师院 学报 12 卷第一期,1999 年 1 月. 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 28 - 附录附录 i i 源代码源代码 /#include “stc89c52rc.h“ #include “reg52.h“ #include“intrins.h“ #define uchar unsigned char #define uint unsigned int void disp(uint disp_value); void bcd(uint bcd_value);/不声明调用出错 void delay_ms(uint delay); bit dsreset(); bit readbit(void); uchar readbyte(void); void delay(uint t); void writebit(bit i); void writebyte(uchar dat); uint tmp(); uchar readbyte(void); void tmpchange(void); uchar code led_val = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98,0xbf;/0-9,最后一个元素是 负号 uchar data num4; uchar data led_point4=0xfe,0xfd,0xfb,0xf7; sbit ds=p10; /define interface 定义 ds18b20 接口 sbit ds1=p11; sbit ds2=p12; uint temp,temp1,temp2; / variable of temperature uchar a,b,a1,b1,a2,b2; 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 29 - uchar uart_r_data; uchar uart_s_data8; uchar receive_data_tmp; uchar receive_tmp0;/,receive_tmp1; uchar receive_data_s8; uint cmd; uchar i_jz863; bit uart_flag=1; #define start_flag 0xef uchar send_data_s13; uchar send_data_s23; uchar send_data_s33; / void delay(uint t) /(15t+15)us while(t) t-; _nop_();_nop_();_nop_();_nop_(); _nop_(); _nop_();_nop_();_nop_();_nop_(); _nop_(); /ds218b20 初始化函数/ 浙江科技学院信息与电子工程学院 2012 届本科毕业设计(论文) - 30 - bit ds2reset2() bit dat; ds2=1; /数据线置高电平 ds2=0; /*数据线拉低置 0*/ del

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论