数据采集系统的设计和实现

上传人:沈*** 文档编号:140283460 上传时间:2022-08-23 格式:DOC 页数:56 大小:1.89MB
返回 下载 相关 举报
数据采集系统的设计和实现_第1页
第1页 / 共56页
数据采集系统的设计和实现_第2页
第2页 / 共56页
数据采集系统的设计和实现_第3页
第3页 / 共56页
点击查看更多>>
资源描述
摘 要数据采集系统是集合现代数据采集理论、措施和Java图形顾客界面的智能化数据采集系统,为图形个性化学习提供“灵活、以便、科学、公平”的“个别化数据采集服务”,图形可以随时、随处进行多种题型的数据采集。本文重要简介了串口数据的温度的采集实现动态曲线,串口数据的采集是JAVA程序设计中的重要构成部分。随着目前社会生活工作节奏越来越快,人工的做某些数据收集的事情已经不能满足社会的需要。而串口程序的浮现却较好的解决了这个问题。一种串口,加上相应的程序,就可以对数据进行采集、整顿,以及分析。这样,既有效的节省了成本,也较好的实现了数据的有效性,减少了错误的浮现。系统运用DSl8B20数字温度传感器和Atmel公司的AT89S51单片机作为控制核心设计成智能温度采集模块,采集环境温度;将测得数据经串口传送给计算机。创新之处是采用虚拟仪器技术,运用LabVlEW软件编写相应上位机软件,控制采集模块进行温度采集,串口的数据传播,然后对数据解决和显示。核心字: 数据采集系统,温度传感器, 单片机,串口通信 ABSTRACTData acquisition system is the intelligent data acquisition system for the collection of modern data acquisition theory, method and the Java graphical user interface, graphics to provide personalized learning flexible, convenient, scientific, fair individualized data acquisition services, data acquisition pattern can at any time, anywhere for various types of.This paper mainly introduces the serial data acquisition of temperature to achieve dynamic curve, the serial data acquisition is an important part of the program design of JAVA. Now with the social life and work in an increasingly fast pace, artificial do some data collection has been unable to meet the needs of the society. The serial program is a good solution to the problem. A serial port, and a corresponding program, you can collect, the data, and analysis. So, can effectively save the cost, but also can realize the validity of data, reduce errors.STC89C52 singlechip digital temperature sensor DSl8B20 and STC into the design of intelligent temperature acquisition module using system, collection of environmental temperature; the measured data is transmitted to computer via serial port. Innovation is the use of virtual instrument technology, the preparation of the corresponding computer software using LabVlEW software to control the acquisition module, temperature acquisition, data transmission, then the data processing and display.Key Words: The data acquisition system,a temperature sensor, serial port, serial port communication毕业设计(论文)原创性声明和使用授权阐明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指引教师的指引下进行的研究工作及获得的成果。尽我所知,除文中特别加以标注和道谢的地方外,不涉及其她人或组织已经刊登或发布过的研究成果,也不涉及我为获得 及其他教育机构的学位或学历而使用过的材料。对本研究提供过协助和做出过奉献的个人或集体,均已在文中作了明确的阐明并表达了谢意。作 者 签 名: 日 期: 指引教师签名: 日期: 使用授权阐明本人完全理解 大学有关收集、保存、使用毕业设计(论文)的规定,即:按照学校规定提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其他复制手段保存论文;在不以获利为目的前提下,学校可以发布论文的部分或所有内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指引下独立进行研究所获得的研究成果。除了文中特别加以标注引用的内容外,本论文不涉及任何其她个人或集体已经刊登或撰写的成果作品。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承当。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全理解学校有关保存、使用学位论文的规定,批准学校保存并向国家有关部门或机构送交论文的复印件和电子版,容许论文被查阅和借阅。本人授权 大学可以将本学位论文的所有或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定解决。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录第1章 引言11.1系统的概述11.1.1选题的背景11.1.2目的和意义11.2研究理论基本21.2.1java技术简介21.2.2数字温度传感器31.2.3单片机41.3本章小结5第2章 可行性研究62.1可行性分析62.2可行性研究的成果62.3本章小结7第3章 需求分析83.1需求分析概述83.2具体功能83.3系统流程图83.4系统功能图113.5本章小结12第4章 总体设计134.1总体设计的任务134.2硬件设计144.2.1电源电路144.2.2温度采集电路154.2.3电路设计164.2.4系统构成164.2.5 温度测量单元硬件184.3软件设计184.3.1系统概述184.3.2下位机软件194.3.3上位机软件194.4程序的启动204.4.1理论原理204.4.2实现代码204.5数据采集实时显示程序设计244.6本章小结28第5章 具体设计295.1注册模块的设计295.2顾客登录模块设计305.4实时曲线的生成335.5本章小结34第6章 系统的测试356.1系统测试的基本概念356.2测试环境及措施356.2.1测试环境356.2.2测试措施366.3测试内容366.3.1温度信号采集366.3.2串口调试376.4本章小结37第7章 总结38参照文献 39道谢 40附录 41第1章 引言1.1系统的概述1.1.1选题的背景随着计算机技术的飞速发展,新形势的得到来,信息和变化了我们这个社会。公司在数据的采集、分析各个方面也在悄悄的变化。一种公司的数据采集分析将是一种很大的工程。如果之使用人工来完毕,这将会消耗巨大的资金和时间。但是,如果将这些交给计算机来完毕,无疑将会更快捷,更以便,更安全。 21世纪的今天,科学技术的发展日新月异,科学技术的进步同步也带动了测量技术的发展,现代控制设备不同于此前,它们在性能和构造发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术是当今社会的主流,广泛地进一步到应用工程的各个领域。 温度是工业、农业生产中常用的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节省能源等均有重要的作用。随着工业科技、农业科技的发展,温度测量需求越来越多,也越来越重要。但是在某些特定环境温度监测环境范畴大,测点距离远,布线很不以便。这时就要采用无线方式对温度数据进行采集。1.1.2目的和意义为了实现计算机对生产过程及对象的控制,需要将对象的多种测量参数按照规定转换成数字信号送入计算机。经计算机运算解决后再再转换成适合于对生产过程进行控制的量。因此在危机和生产过程之间,必须设立信息的变换和传递通道。而我们所做的模拟输入通道,重要功能就是随时间变化的模拟输入信号变成数字信号送入计算机,重要有多路转换器,采样保持器和 A/D转换器等构成。该系统重要用于温度检测,实现温度信号的采集,是一种状态反馈系统,并非动态控制系统。她可以运用放大器实现多种点的温度巡回检测,并在LED上显示目前的温度值和通道号。当温度信号变化时,LED显示的值也随之变化。1.2研究理论基本1.2.1java技术简介1.java来源Java来自于1991年Sun公司的一种叫Green的项目,其原先的目的是为家用消费电子产品开发一种分布式代码系统,可以吧E-mail发给冰箱、电视机等家用电器,对它们经行控制。开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发了一种新的语言0aK (Java的前身),0aK是一种用于网络的精致而安全的语言。1994年下半年,Internet的迅速语言发展,增进了Java语言研制的进展,Green项目构成员用Java编制了HotJava浏览器,触发了Java进军Internet上受欢迎的开发与编程语言,现已发展成为一种重要的Internet平台。2.java的特点简朴性:Java语言是一种面向对象的语言,它通过提供最基本的措施来完毕指定的任务,程序开发者只需对基本的概念有个初步理解,即可用其编写出适合于多种状况的应用程序。安全性:程序运营时,内存由操作系统分派,这样就避免了病毒通过指针侵入系统。Java对程序提供了安全管理器,互联网程序是不能随意访问客户端的资源的,这样可避免病毒的侵入和程序的非法访问。平台无关性:Java的平台无关性是指可以在不同的平台上运营。Java引进了虚拟机原理,Java虚拟机是建立在硬件和操作系统之上的,可以对Java中的二进制代码进行解释执行,使得Java可以运营在安装了Java运营环境的操作系统上,也就真正实现了一次编译,到处运营的特点。可移植性:指编写的程序可以同步在不同的平台上运营。使用Java 语言编写的程序,只要做较少的修改,甚至有时主线不修改就可以在不同平台上运营。面向对象语言:Java语言是一种纯面向对象的语言,它的设计集中于对象及其接口,对象中封装了它的状态变量和相应的措施,实现了模块化和信息的隐藏;而类的封装性、继承性等特性,使程序代码只需一次编译,就可以通过上述特性被反复运用。多线程:Java的重要目的之一就是使程序开发者可以交互程序,对一种问题可以分解成多种任务来执行。强健性:Java语言在伪编译时,做了许多初期潜在问题的检查,并且在运营时又做了某些相应的检查,它的这种防患于未然的手段将许多程序中的错误扼杀在摇篮之中。3.java的开发工具JBuilder:JBuilder是Borland公司开发的针对Java的开发工具, JBuilder的核心有一部分采用了VCL技术,使得程序的条理非常清晰。JBuilder另一种特点是简化了团队合伙。Jbuilder支持最新的Java技术,涉及Applets、JSP/Servlets、JavaBean以及EJB (Enterprise JavaBeans)的应用。Eclipse: 中文的翻译为“帕斯菲达,是一种可扩展的开放源代码IDE。集成开发环境(IDE)常常将其应用范畴限定在“开发、构建和调试”的周期之中。Eclipse容许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而明显变化了项目工作流程,使开发者可以专注在实际的嵌入式目的上。JCreator: Jcreator是一种用于Java程序设计的集成开发环境,具有编辑、调试、运营Java程序的功能,是Java 语言编程开发人员的IDE工具。它为使用者提供了大量强劲的功能,例如: 项目管理、工程模板、代码完毕、调试接口、高亮语法编辑、使用向导以及完全可自定义的顾客界面。第一次启动时提示设立JavaJDK主目录及JDKJavaDoc目录,软件自动设立好类途径、编译器及解释器途径,还可以在协助菜单中使用JDKHelp。可无限撤销、代码缩进、自动类库措施提示、按所选智能定位查阅JavaAPI文档等功能。采用仿VS界面设计,体验感觉更快更好更易用。支持JSP、Ant、CVS。小巧、易用、美观,是Java初级程序员的抱负IDE。InterlliJ IDEA: IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公觉得最佳的java开发工具之一,特别在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。1.2.2数字温度传感器DSl8B20数字温度传感器:DSl8B20是DALLAS公司生产的单线数字温度传感器,她具有独特的单线总线接口方式。文章具体的简介了单线数字温度传感器DSl8B20的测量原理、特性以及在温度测量中的硬件和软件设计,具有接口简朴、精度高、抗干扰能力强、工作稳定可靠等特点。图1-1 DSl8B20方框图采用数字温度传感器DS18B20测量温度,输出信号全数字化。便于单片机解决及控制,省去老式的测温措施的诸多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线性度较好。在0100摄氏度时,最大线形偏差不不小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传播,由数字温度计DS1820和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的构造就比较简朴,体积也不大,且由于AT89S52可以带多种DSB1820,因此可以非常容易实现多点测量。轻松的组建传感器网络。 采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。并且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。因此集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。1.2.3单片机AT89S52单片机:AT89S52单片机片内的Flash可容许在线重新编程,也可用通用非易失性存储编程器编程;片内数据存储器内含128字节的RAM;有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定期器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断构造;震荡器频率0到33MHZ,因此我们在此选用12MHZ的晶振是比较合理的;具有片内看门狗定期器;具有断电标志POF等等。AT89S51具有PDIP、TQFP和PLCC三种封装形式。图1-2 AT89S51引脚图1.3本章小结本章重要简介了数据采集系统的开发背景和开发工具。通过本章知识的学习,使人们对数据采集系统有了初步的理解。第2章 可行性研究2.1可行性分析原理:读串口数据的原理是,只要当有数据向串口发数据来时,计算机就会自动将其数据写到一种特定的缓冲区,我们只要写程序去读那个特定的缓冲区就可以了。 有数据向串口发过来时,程序可以将数据接受到,接受的数据是字符型的,那么将数据转化为数字型的,再将这个数据的大小作为画图的某一种点的纵坐标,横坐标为数据的序号.将这些点用线连起来就是一种曲线图了,这个就是图形显示基本原理。查看本来的数据的原理也是这样的,不同的地方就是,数据是从文献中来,同样的也是将多种数据提成一种一种的,然后这一种数据的大小就是画图的某一种点的纵坐标,横坐标同样为数据的序号,再将这些点用线连起来就是曲线图。图形能移动的原理,是我们一方面变化的只是数据,图形并没有变,但图形的形式是由这些数据来拟定的,当数据发生变化后,我们通过刷新显示区来变化的。可行性分析:目前,计算机已经十分普及价格低廉性能较好,本系统的开发可觉得替代人工进行许多繁杂的工作,节省资源提高数据管理的工作效率,同步具有较高的安全性。本系统所耗资源小,公司的电脑可以满足,因此本系统在运营上是可行的。在技术上,运用Java技术,在后台数据库方面采用本地记事本作为数据库的方式,本系统依托目前技术完全可以实现。2.2可行性研究的成果技术可行性:在硬件方面,则选择空间较大,只要是Pentium IV系列及以上的计算机都可以,内存在1G以上,硬盘在80G以上能,都可以满足系统的开发需要!固然,硬件的配备越高,系统的开发与运营会更流畅。考虑到如今的家用或商用电脑硬件的整体配备水平,系统在硬件方面是可行的。运营可行性:该系统需要搭建JVM即JAVA虚拟机,在此环境下,并且在对的连接数据库后可以正常运营。法律可行性:该平台是作为毕业设计与商业无关,又由于是自主开发设计,因此不会构成侵权,在法律上可行的。通过以上的可行性分析,本系统采用java技术.2.3本章小结本章重要简介了可行性研究果,并从技术可行性、运营可行性、法律可行性上对可行性研究成果进行了具体分析。第3章 需求分析3.1需求分析概述 为了实现本系统,必须对整个系统的全面功能做出具体的分析。系统需求分析是软件系统开发中最重要的一种阶段,直接决定着系统的开发质量和成败。本章对基于数据采集系统的设计以及实现做出具体的分析。需求分析是指开发人员要精确理解顾客的规定,进行细致的调查分析,将顾客非形式的需求转化为完整的需求定义,再由需求定义转换到相应的需求规格阐明的过程。需求分析虽处在软件开发过程的开始阶段,但它对于整个软件开发过程及软件产品质量是至关重要的。需求分析是基本任务是要精确地定义新系统的目的,回答系统必须“做什么”的问题。系统要达到的目的:界面和谐、易于操作;完毕数据的采集和分析,并提交数据库保存。涉及:串口数据的采集,数据的分析等;实现数据的安全性,实现数据的分开管理,数据满足条件就储存;实现信息发布与查询。3.2具体功能 数据信息管理系统由数据管理、数据分析、数据储存等模块构成。数据管理模块:本模块涉及串口设立、数据分析等构成。数据储存模块:重要实现数据的本地储存。3.3系统流程图根据需求分析得程序流程图如图3-1、图3-2所示,系统流程图,如图3-3所示:图3-1发射流程图图3-2 接受流程图图3-2 系统流程图3.4系统功能图功能图对整个系统各个模块作出言简意赅的阐明,使得整个系统模块间的关系一目了然,如图3-2所示:图3-2 系统功能图3.5本章小结本章重要简介系统需求分析以及具体功能简介。第4章 总体设计 4.1总体设计的任务传感器:采用单片模拟量的温度传感器,例如AD590,LM35等。但这些芯片输出的都是模拟信号,必须通过A/D转换后才干送给计算机,这样就使得测温装置的构造较复杂。此外,这种测温装置的一根线上只能挂一种传感器,不能进行多点测量。虽然能实现,也要用到复杂的算法,一定限度上也增长了软件实现的难度。主控部分:采用AT89S52八位单片机实现。单片机软件编程的自由度大,可通过编程实现多种各样的算术算法和逻辑控制。并且体积小,硬件实现简朴,安装以便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,构成两级分布式多点温度测量的巡回检测系统,实现远程控制。此外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。系统框图如下:图4-1 发射电路系统框图图4-2 接受电路系统框图4.2硬件设计 该温度测量系统是由上位机和温度测量单元构成。上位机即计算机,实现对温度测量单元控制,通过串口程序发送命令、接受测量数据,对测量数据解决显示。温度测量单元,接受上位机命令,按照命令进行温度测量和数据传播等操作。本课题所设计的外围电路涉及:电源电路、温度采集、时钟电路、存储电路、报警电路、模拟控制电路、按键电路、显示电路以及串口等电路。下面将依次对各个模块进行阐明。4.2.1电源电路电源变压器是将交流电网220V的电压变为所需要的电压值。交流电通过二极管整流之后,方向单一了,但是电流强度大小还是处在不断地变化之中。这种脉动直流一般是不能直接用来给集成电路供电的,而要通过整流电路将交流电变成脉动的直流电压。由于此脉动的直流电压还具有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。滤波的任务,就是把整流器输出电压中的波动成分尽量地减小,改导致接近稳恒的直流电。但这样的电压还随电网电压波动,一般有10%左右的波动,负载和温度的变化而变化,因而在整流、滤波电路之后,还需要接稳压电路。图4-3 电源原理图4.2.2温度采集电路 DS18B20有4个重要的数据部件: A、64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)构成。 B、温度敏捷元件。 C、非易失性温度报警触发器TH和TL。可通过软件写入顾客报警上下限值。 D、配备寄存器。配备寄存器为高速暂存存储器中的第五个字节。其中R0、R1:温度计辨别率设立位,其相应四种辨别率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位辨别率),顾客可根据需要改写配备寄存器以获得合适的辨别率。图4-3 辨别率关系高速暂存存储器由9个字节构成,其分派如图4-4所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式寄存在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图4-4所示。相应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。图4-4 DS18B20存储器4.2.3电路设计本系统为多点温度测试。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有也许产生功耗问题。此外单总线长度也不适宜超过80M,否则也会影响到数据的传播。在这种状况下我们可以采用分组的方式,用单片机的多种I/O来驱动多路DS18B20。在实际应用中还可以使用一种MOSFET将I/O口线直接和电源相连,起到上拉的作用。电路如图4-5图4-5 单总线原理图4.2.4系统构成实现单点温度测量,采用如图1所示构造。上位机和温度测量单元采用RS232串行通信原则。图中上位机发送的信息可以被温度测量单元所接受,温度测量单元发送的信息也可以被上位机接受。温度测量单元中主控单片机串行口采用方式。图4-1 单点测温系统构造图图4-2 单片机部分电路温度测量部分,温度传感器采用单总线方式的集成数宁温度传感器DSl8B20。DSl8B20数字温度计提供9位(二进制)温度读数,批示器件的温度。信息通过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线),DSl8B20的电源可以由数据线自身提供而不需要外部电源。DSl8B20的测量范畴从一55摄氏度到+125摄氏度,增量值为05摄氏度。可在1s(典型值)内把温度变换成数字,电路原理图如下:图4-3 温度测量电路串口通信采用Max232实行电平转换,电路原理图如图4-4所示图4-4 串口电路4.2.5 温度测量单元硬件温度测量单元硬件设计重要分为三个部分;单片机控制单元、温度测量单元和串口通讯。 STC89C52是一种低功耗,高性能CMOS8位微控制器。具有如下原则功能:8k字节Flash,256字节RAM,32位I0口线,2个16位定期器计数器,5个中断源2级中断优先权,1个全双工串行口。目前支持5l单片机编译器的语言重要有汇编语言、c语言等。 单片机部分的电路设计如图2所示,重要涉及复位电路、晶振电路。4.3软件设计4.3.1系统概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完毕多种实质性的功能如测量、计算、显示、通讯等。每一种执行软件也就是一种小的功能执行模块。这里将各执行模块一一列出,并为每一种执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。程序设计流程图4.3.2下位机软件下位机软件由java语言编写,重要涉及DSl8B20的读写和串口通信两个部分。串行通信采用中断方式,波特率为9600,测温单元主控单片机串行口工作在方式1。完整程序见附录。程序流程图如下:图4-5 程序流程图4.3.3上位机软件上位机软件采用LabVIEW编写。LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛应用于工业界、学术界和研究实验室,被视为一种原则的数据采集和仪器控制软件。LabVIEW有一种完毕任何编程任务的庞大函数库。LabVIEW的函数库涉及数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等等,是一种功能强大且灵活的软件。运用它可以以便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。运用LabVIEW,可产生独立运营的可执行文献,它是一种真正的32位编译器。图4-6 上位机界面4.4程序的启动4.4.1理论原理程序启动,将会打开主程序界面以及数据设立界面。打开速回据设立界面,重要是为了对系统某些核心性数据进行设立,以便进行背面的运营。4.4.2实现代码Graphics graphics=null;/预定义一种画图对象DrawPanel drawPanel=null;/预定义画图面板类DateSet dateSet;/预定义数据设立类GetDate getDate;/预定义接受数据类CommJPanel commJPanel;/预定义画图类JMenu menuDate,menuInstrustion;/定义数据管理和阐明菜单DateMain dm;String massage;/定义接受的串口数据的缓冲区int int_size=72;/定义接受一种圆轴核心点数长度int int_hexin;/定义一种装载核心点数的数组,长度由int-size决定Thread th_commJPanel,th_getDate;String txt_radius,txt_hexin,txt_comm;这里重要是定义某些背面必须的全局变量。/设立下面面板的属性及控件JPanel jpDown=new JPanel();jpDown.setLayout(new GridLayout(1,0);drawPanel=new DrawPanel();/实例化画图面板jpDown.add(drawPanel);/设立上面面板属性及控件getDate=new GetDate(this,drawPanel/*,commJPanel*/);jsplitpane.setTopComponent(getDate);th_getDate=new Thread(getDate);th_getDate.start();jsplitpane.setBottomComponent(jpDown);jsplitpane.setDividerLocation(100);/_总窗体属性设立URL url=DateMain.class.getResource(2.jpg);ImageIcon II=new ImageIcon(url);this.setIconImage(II.getImage();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jsplitpane);this.setSize(712,500);this.setVisible(true);System.out.println(getDate.getSize();graphics=this.getGraphics();dateSet=new DateSet(commJPanel,this);drawPanel.d=drawPanel.getSize();dateSet.setVisible(true);上面的代码实现,先是实例化一种分割面板,然后,实例化一种对DrawJPanel继承的面板,放在上面面板中,这样,我们就能在上面面板中显示某些状态信息。接着实例化下面面板以便画图的实现,最后是显示主窗体。固然,后台代码是必不可少的,我们需要对主窗体程序的多种菜单进行解决,不同的菜单,打开不同的程序,对数据进行不同的解决。代码如下:it_date.addActionListener(new ActionListener()/public void actionPerformed(ActionEvent e)System.out.println(datemain_size:+int_size);for(int t=0;tint_hexin.length;t+)System.out.println(hexin+t+:+int_hexint);new DateAnalysis(dm,int_hexin););it_setdate.addActionListener(new ActionListener()/串口设立菜单选项public void actionPerformed(ActionEvent e)System.out.println(这里是串口设立);dateSet=new DateSet(commJPanel,dm);/*if(th_getDate.isAlive()System.out.println(it is alive);th_getDate.interrupt();if(th_getDate.isAlive()System.out.println(it is not alive);Thread tt=new Thread(commJPanel);tt.start();*/);我们启动主窗体,: main函数是必不可少的,这个程序的主函数只是启动程序的主类,然后调用init()函数对画图面板进行初始化。public void init(Graphics g)/初始化画图面板,对某些核心坐标及中轴进行刻画:System.out.println(this is init);graphics.setColor(Color.RED);graphics.setFont(new Font(null,Font.BOLD,20);for(int i=1;iInvalidate()强制重载OnPaint()函数,那么数据图就可以动起来了。OnPaint()画图函数如下:void CCommDlg:Display()if (NextTime = 600 & stop=FALSE)LineHightNextTime/5 = LineHight121; /中保存的是最新采集的一种数据elsefor (int i=0;iInvalidate();return;5、查看此前的数据查看此前的数据的措施是,将数据从文献中取出并将每一种数据都付给那一种全局变量,最后同样用this-Invalidate()就能显示此前的数据了。具体算法见commDlg.cpp文献中的OnButton4()和OnButton5()函数。按秒移动查看此前数据算法见OnButton6()和OnButton7()。void CCommDlg:OnButton7() if (stop=FALSE)gogo=NextTime;DTemp=m_ReceiveData;for (int i =0;i=600 & NextTimeinstr.GetLength()-600) NextTime=instr.GetLength()-600;for (i=0;iInvalidate();/更新图相在移动数据此前要对目前显示的数据进行保存:gogo=NextTime;DTemp=m_ReceiveData;for (int i =0;i120;i+) LHTempi=LineHighti;以便在继续接受时能接着本来的。6、数据保存方式对采集的数据采用文本方式保存于一文献中,保存格式为,第120数据保存一次,数据采用推算法来拟定期间。如:08.9 33.5 08.8 65.4 09.8 09.3程序算法为:if (file.Open(FilePath,CFile:modeCreate|CFile:modeReadWrite)file.Write(m_ReceiveData,600);/写入120个数据file.Close();完整算法见:OnComm()7、通用性为了提高程序的通用性,串口的波特率,串标语都采用下拉选择的方式,在使用中可跟据状况选择。4.6本章小结本章重要简介了系统的总体设计,分别从硬件设计和软件设计方面进行了简介。第5章 具体设计 5.1注册模块的设计 1.注册功能概述:顾客注册时在注册页面编辑个人信息,通过信息表单提交个人信息到服务器审核。检查顾客提交的信息与否为空,顾客提交的信息不能为空。提交后信息将添加到数据库中保存。图5-1注册页面2.代码设计:顾客名: 密码:  邮箱:  年级:5.2顾客登录模块设计1顾客登录模块概述:顾客输入顾客名及密码,单击“进入”按钮。界面表达层(FormLogin)讲数据传递给业务逻辑层(LoginBL),业务逻辑层调用数据访问层(LoginDA),通过公共服务层(Common)中的数据库连接类调用数据库中的存储过程得到判断成果,最后将成果反馈给表达层。若登录成功则进入系统主页面,若登录失败仍然返回登录页面。图5-2登录页面代码设计:String u = request.getParameter(username);u = new String(u.getBytes(iso-8859-1), gb2312);String p = request.getParameter(password);UserBeanCl ubc = new UserBeanCl();if (ubc.checkUser(u, p) session.setAttribute(username, u);response.sendRedirect(welcome.jsp); else response.sendRedirect(login.jsp);2.登陆成功进入首页:如图5-3所示。图5-3 首页代码设计: String u = request.getParameter(username); u = new String(u.getBytes(iso-8859-1), gb2312); String p = request.getParameter(password); UserBeanCl ubc = new UserBeanCl();if (ubc.checkUser(u, p) session.setAttribute(username, u);response.sendRedirect(welcome.jsp); else response.sendRedirect(login.jsp);5.4实时曲线的生成实时采集系统中很重要的一项功能就是能将采集的参数以曲线形式描述出来,通过调用WindowsAPI函数Cdraw类来实现曲线从右到左的动态移动,曲线的绘制在部分代码如下:voidCDraw:OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/) .m_pSet=&GetDocument()-m_readCompassSet;ResizeParentToFit();voidCDraw:OnDraw(CDC*pDC)CDocument*pDoc=GetDocument();this-GetClientRect(&rc);pDC-SetMapMode(MM_ANISOTROPIC);pDC-SetWindowOrg(0,0);pDC-SetViewportOrg(10,rc.bottom-10);pDC-SetWindowExt(cxGraph,cyGraph);pDC-SetViewportExt(rc.right-20,-(rc.bottom-20);按照上面的函数措施,在java下开发的本系统完全可以满足实时控制的规定,图5-8为温度差变化曲线:图5-8 温度曲线5.5本章小结本章重要简介了系统的具体设计。分别讲到了系统设计的任务、各功能模块的具体设计。第6章 系统的测试6.1系统测试的基本概念系统测试是将已经确认的软件、计算机硬件、外设、网络等其她元素结合在一起,进行信息系统的多种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与顾客需求不符或矛盾的地方,从而提出更加完善的方案.。它的的任务是尽量彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检查系统做得如何?。这阶段又可分为三个环节:模块测试,测试每个模块的程序与否有错误;组装测试,测试模块之间的接口与否对的;确认测试,测试整个软件系统与否满足顾客功能和性能的规定。该阶段结束应交付测试报
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!