




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计(论文)专用纸 核心器件为AT89C51单片机结构设计第一章 绪 论1.1 研究背景随着信息领域各种技术的发展,在数据采集方面的技术也取得了很大的进步,采集数据的信息化是目前社会的主流发展方向。各种领域都用到了数据采集,在石油勘探、地震数据采集领域已经得到应用。随着测控技术的迅猛发展,以嵌入式计算机为核心的数据采集系统己经在测控领域中占到了统治地位。数据采集系统是将现场采集到的数据进行处理、传输显示、存储等操作。数据采集系统的主要功能是把模拟信号变成数字信号,并进行分析、处理、存储和显示。温湿度数据采集系统广泛的应用于人们的日常生活中,而驱动程序的开发让实时操作与监控更方便。基于Windows环境下利用VS.NET Framework平台开发的驱动程序也具备这些特点。其中温湿度数据采集系统就是基于这个原理来采集外界的温度、湿度及露点,利用上位机对数据进行处理。总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益也越高。1.2 设计内容该设计硬件部分核心器件为AT89C51单片机。通过编写大量汇编程序来支撑单片机实现温湿度接收、转换、存储和显示等,最终温湿度用数码管显示出来。软件方面通过串口RS232进行串口通信把温湿度数据传送给PC机。鉴于PC机具有强大的监控和管理功能,单片机具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现单片机系统与PC机之间的数据交换。该设计软件方面是在Windows XP环境下,对Visual Studio C#.NET中的串口组件进行编程实现单片机与PC之间的串行通信,其通信线路通过RS232连接,通过串口RS232进行串口通信把温度数据传送给PC机,显示在用C#.NET编辑的一个温湿度数据显示的界面上,再对数据进行处理存储在数据库中,并且以XML文档的格式存储。PC机与单片机的通信接口电路框图如图1.1所示: TxDRS RxD232 GND 单片机PC机RxD(2)TxD(3)GND(5)图1.1 PC机与单片机通信接口电路 其中: 2脚:RxD,串行数据接收引脚,输入。 3脚:TXI),串行数据发送引脚,输出。 5脚:GND。1.3 技术路线根据本系统设计的要求及功能,采用的技术路线有以下几种:一.C#.NET语言本系统是在C#.NET环境下设计Windows Form,该窗体是在设计程序时,用来制作用户数据输入输出界面的基本对象窗体,是整个用户界面的框架。所以系统设计之前,必须熟悉C#.NET的开发环境,以及掌握C#语言的编程规则。在熟悉了工具箱提供的控件及其功能后,依照本系统需要的实现功能,对所需的控件,进行编程实现。二. ADO.NET技术 C#.NET中对数据库的访问是通过ADO.NET来实现的,使用ADO.NET作为数据库存取的接口。ADO.NET是ADO的升级版本,专为Microsoft.NET平台量身打造,采用离线存储模式,可供多人同时存储,特别适合在Internet环境中使用。基于温湿度数据采集系统驱动程序开发的目的,系统要求:当通过串口通信将采集到的温湿度显示在Windows Form界面上,对数据进行处理,然后自动存储在数据库中,提供用户输入、查询记录等功能。因此,在对数据库操作之前,需了解各种数据库的连接方式,以及进行插入、修改、查询等操作相关的SQL语句。另外,在引用数据库之前需在库文件中添加数据库的命名空间。三. XML技术 .NET是基于XML的,XML具有跨平台性和简洁性,在.NET框架结构中,XML当作一种应用间无缝接合的手段,用于多种应用之间的数据处理,不同应用之间的互操作和协调工作。在系统设计中,当采集到的温湿度数据存放在监控信息表格中,通过编程使数据自动生成XML文档保存,并存放在指定的路径下,供用户查看记录。因此,进行XML文件操作必须掌握XML文档的语法、写入及读取的编程规则等相关知识,了解XML的应用。在引用之前,需在库文件中添加相应的XML的命名空间。第二章 技术背景介绍2.1 C#.NET技术 2.1.1 .NET平台概述Microsoft.NET将开创程序开发的新局面,特别对网络程序的开发有很大的推动作用,该平台提供一种更有效更强大的Web服务;而在应用程序方面,.NET平台下的开发也变得更简洁,通过其丰富的,功能强大的类库可以很快地开发所需求的程序。一. Microsoft.NET平台包括:(1) 创建和操作新一代服务的.NET基础结构和工具。(2) 启用大量客户机的.NET User Experience.NET。(3) 建立新一代高度分布式的.NET组件服务。(4) 启用新一代互联网设备的.NET设备软件。二.NET架构如图2.1所示: Visual Studio .NETVisualBasicC #C+J# Common Language Specification(通用语言规范)ASP.NET 、 Web窗体Web Service、Mobile Web窗体 Windows 窗体ADO.NET、XML(传统数据库与XML文件存取)Base Class Library(基础库类) Common Language Runtime(通用语言运行库) 图2.1 .NET架构结构图1.通用语言运行库Common Language Runtime(CLR)是.NET架构中最基本的部分,包含程序代码的编译、安全性的控管、类库与可执行文件的缓存等功能。2.基类库 .NET Framework为了达到不同语言在类库上的统一,定义了基类库(Base Class Library),为了让这一组类库能够广泛适应开发各类型应用程序,因此库类中包含了几百个类,内容包含了Windows窗体、 控件、 Web应用程序中的状态处理、 缓存、XML等。 3. ADO.NET与XML ADO(ActiveX Data Object)与ADO.NET最主要的差别在于内存中处理数据的方式不同。在ADO中使用记录集(Recordset)处理数据,而在ADO.NET中则使用数据集(Dataset)。 4. Windows窗体与Web窗体 新一代的Web应用程序开发使用ASP.NET技术,除了延续ASP容易使用的特点之外,现在更将程序代码与界面设计(HTML)分开,并使用类似Windows窗体的开发方法来开发Web应用程序,因此可以像开发Windows窗体一样,完全以面向对象的观念来设计Web应用程序,以便简化程序设计流程。 在数据库支持方面,不论是Windows窗体还是Web窗体,都支持控件的数据绑定功能,可以轻易地将数据库中的数据字段,动态绑定到控件上,大幅度简化数据库应用程序的开发过程。5.通用语言规范 在.NET构架中定义了一个通用语言规范(Common Language Specification,CLS),包括函数(类的方法)调用方式、参数传递方式、数据类型、异常处理方式等,只要符合这个规范的程序语言,就可以使用。在程序语言的数据类型上,CLS使用通用类型系统(Common Type System)来定义语言的数据类型。6.程序语言.NET支持多种语言,仅.NET架构就默认至少支持Visual Basic.NET与C#两种语言。7.跨平台的.NET .NET上的组件在第一次执行时必须经过CLR的编译后才能真正交给CPU执行。三. NET开发环境:1 .NET平台的运行对硬件的要求如下:(1)计算机/处理器建议配置:装有450MHZ Pentium 级别处理器的PC。最低配置:装有300450MHZ Pentium 级别处理器的PC,否则编译过程运行异常缓慢。 (2)RAM的最小要求Windows XP Professional : 160 MB RAM。Windows 2000 Professional : 96 MB RAM。 Windows 2000 Server : 192 MB RAM。 Windows NT 4.0 Workstation : 64 MB RAM (3).硬盘 标准版:在安装驱动器上有2.5GB,包括系统驱动器上的500MB。 Professional 和Enterprise版:在安装驱动器上有3.5GB,包括系统驱动器上的500MB。(4).驱动器 CD-ROM或DVD-ROM驱动器,用以使用光盘,装入开发平台程序,不过也可以选择网络安装方式。 (5).显示器 Super VGA(800600)或更高分辨率的256色显示器。 (6).输入设备 Microsoft鼠标或兼容的指针设备。2. .NET平台的运行对软件的要求如下:C#作为.NET基础上的一门开发语言,因此C#的开发环境首先应该满足.NET的运行需要。一般来说 ,.NET的运行在软件方面有如下需求:(1).操作系统 Microsoft Windows NT4.0或更高版本的操作系统,包括Microsoft Windows 2000系列, Microsoft Windows 2003系列,不支持Microsoft Windows 95、Microsoft Windows 98、Microsoft Windows Me等操作系统。(2).FrameworkFramework是.NET的支持基础,包含.NET平台的运行库与公共语言运行时,所有的.NET平台下的程序都需要基于它的类库来建立程序,而所有的程序也需要先编译为中间语言(IL)然后由公共语言运行时管理执行。(3).MDAC当要使用数据库、XML等对象的时候,.NET还要一个基本组件MDAC(Microsoft Data Access Components),即微软数据访问组件。几乎所有的Windows平台下的数据库访问都是由这些组件来完成的,因此,对于.NET数据库开发来说, MDAC是一个不可缺少的部分。.NET需要MDAC2.7以上版本。(4).其他需求如果要在.NET平台下开发Web站点的话,还需安装FrontPage服务扩展和Internet Explorer5.5以上的浏览器。2.1.2 C#语言介绍 C#是一种现代的面向对象的程序开发语言。使用C#语言设计的组件能够用于Web服务,这样通过Internet,它可以被运行于任何操作系统上的编程语言所调用。与C与C+相比较,C#比它们更简洁、更加高效。C#没有丢失C与C+的基本特点强大的控制能力和高度的灵活性,在很大程度上,C#与C及C+有着很多相似之处。 C#语言的特点如下:C#是专门为.NET的应用而开发的语言,这从根本上保证了C#与.NET的完美结合。在.NET运行库的支持下,.NET的各种优点都能通过C#体现出来。C#的特点如下:(1)语法简洁 在.NET平台上,C#代码不允许直接对内存进行操作。对类、方法的引用的操作符变得十分简单,只有一个“.”。(2)面向对象设计 在C#的类型系统中,每种类型都可以看作一个对象。C#提供装箱和拆箱机制来完成对象操作。 C#只允许单继承,即每个类都不能存在多个基类,这在根本上避免了类型定义的混乱,而且C#没有全局函数,没有全局变量。任何对象都必须封装在类中。这使得代码具有更好的可读性,而且也减少了因命名而带来的冲突。(3)与Web紧密结合 .NET平台设计的一个重要考虑因素就是使应用程序的解决方案与Web标准相统一,需要能与HTML和XML语言建立联系。(4)完善的安全性和错误处理 在C#的设计中可以消除软件开发过程中许多常见的错误,并提供包括类型安全在内的完整的安全机制;另一方面,C#会帮助开发者以更少的代码来实现同样的功能,这在减轻程序员工作负担的同时也能降低错误发生的可能。 C#不支持不安全的指向,C#会对指向的有效性进行验证。另外C#还提供了边界检查和溢出检查功能。 2.2 ADO.NET技术2.2.1 ADO.NET概念ADO.NET是微软新一代.NET数据库的存取结构,ADO是ActiveX Data Objects的缩写。ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。在ADO.NET中最重要的两个概念就是Managed Provider和DataSet。Managed Provider提供了DataSet与数据库之间的联系,并可以通过数据集命令将所需要的数据填充到DataSet中。DataSet是不依赖于数据库的独立数据集合,即使数据连接断开, DataSet依然是可用的。通过DataSet, ADO.NET访问数据库的步骤为:(1) 创建一个与数据源的连接;(2) 请求一个数据集合;(3) 将集合放入DataSet中;(4) 关闭数据连接;(5) 在DataSet上进行所需要的操作;(6) 将DataSet的变化更新到数据库中;2.2.2 数据库的连接 Connection对象是.NET数据提供程序的一个组件。.NET框架中的数据提供程序用作应用程序和数据源之间的桥梁,并且用于从数据源检索数据,以及协调对返回到数据源的数据的更改。1.数据库的连接过程如图2.2所示:2.各种数据库的常见连接字符串方式:(1) 连接SQL Server数据库 SQLClient方式: Sever=服务器名;uid=用户名;pwd=密码;database=数据库名; OleDb方式: Provider=SQLOLEDB;DataSource=服务器名;uid=用户名;pwd=密码;Catalog=数据库名; Odbc方式: Driver=SQL Server;Server=服务器名;Database=数据库名;uid=用户名;pwd=密码ConnectionCommandDataAdapterDataSet数据库图2.2 数据库连接过程图(2) 连接Access数据库 OleDb方式: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库路径; Odbc方式: Driver= Microsoft Access Driver(*.mdb);Dbq= “数据库路径”;Uid=;Pwd=; 3.打开与关闭连接Connection对象提供下列两种常用方法:Open()方法:用来建立并打开一个数据库的联机;Close()方法:将数据库的联机关闭;2.2.3 数据库操作 使用Command执行数据库操作一般有以下3个步骤: (1)建立数据库连接,使用Connection对象的Open()方法; (2)执行数据库操作,使用ExecuteReader()方法或ExecuteNonQuery()来执行数据库命令; (3)关闭数据库连接,使用Connection对象的Close()方法; 针对不同的数据库调用模式,不同的模式访问数据库对应的Command也不同,如下: SQLClient模式下为:SqlCommand; OleDb模式下: OleDbCommand; Odbc模式下: OdbcCommand;Command命令可以根据所设定的SQL语句的功能,自动选择SelectCommand 、InsertCommand、 UpdateCommand 、和DeleteCommand等命令,从而实现对数据库的各种操作。(1) 插入数据 插入数据用在将信息添加到数据库中,SQL语句的格式为: INSERT into TableName VALUES (第一列的值,第二列的值,) (2) 修改数据 修改数据用于对数据库中已有数据进行更新,SQL语句的格式为:UPDATE TableName SETWHERE (3) 查询数据 查询数据是通过数据库检索命令从数据库中获得一个数据库集,再将数据集通过格式处理呈现于页面。SQL语句格式为: Selectfrom TableName WhereOrder。 (4) 删除数据 删除数据用于删除数据库中符合特定要求的数据,SQL语句的格式为: DELECT from TableName where。2.2.4 访问数据库 在ADO.NET中,Windows平台下主要有3种数据库访问模式:OLEDB模式、ODBC模式、SqlClient模式。 (1) OLEDB模式OLEDB模式主要用于访问OLEDB所支持的数据库。OLEDB是Microsoft开发的一种高性能、基于COM的数据库技术。OLEDB和其他Microsoft数据库技术的不同之处在于OLEDB提供通用数据访问的模式。OLEDB数据提供程序通过OledbConnection对象提供了与使用OLEDB公开的数据源的连接以及与Microsoft SQL Server版本6.x或较早版本的连接。(2) ODBC模式ODBC模式主要用于访问ODBC所支持的数据库,该模式是Windows平台下的一种通用数据访问模式。一般在Windows平台下存在的数据库都可以通过建立系统DSN来实现对数据库的调用。(3) SQLClient模式SQLClient只用于访问 MS SQLServer数据库,是ADO.NET中的比较特殊的组件。使用SQLClient模式需要引入的命名空间有:System.Data,System.Data.SQLClient。2.2.5 其他组件介绍 DataAdapter将数据从数据库中取出后,填充到DataSet中,然后让DataSet充当程序调用的缓冲数据源,最后还可以将结果反馈到数据库,这就是DataAdapter与DataSet访问数据的操作模型,如图2.3所示:程 序DataSet数据库 图2.3 数据库访问模型 DataAdapter表示一组数据命令和一个数据库连接,用于填充DataSet和更新数据源。它作为DataSet和数据源之间的连接器通过映射Fill向DataSet填充数据,通过Update向数据库更新DataSet中的变化。 DataAdapter的使用方法为: SqlDataAdapter myCommand=new SqlDataAdapter(Sql语句,数据库连接对象);DataSet表示数据在内存中的缓存。无论包含的数据来自什么数据源,它都会提供一致的关系模型编程。一个DataSet表示整个数据集,其中包含对数据进行包含、排序和约束的表以及表之间的关系。 定义DataSet的方法为: DataSet 名称=new DataSet();然后可以使用DataSet作为数据源了,在使用的时候可以直接访问某一个数据。可以用DataTable和DataView显示数据。另外,dataGrid是.NET中常用的数据绑定控件,它可以与DataSet配合实现强大的数据显示、数据处理功能。2.3 XML技术2.3.1 XML简介 XML是Extensible Markup Language的缩写,是一种可扩展标记语言,是由全球信息网络协会,将SGML的格式精简后制定的新标准,可以用来定义一种新的标记语言。XML文档是网页的最新标准。XML制定的标记语言,主要是用来解释该文件的数据与结构。在XML中,标记只用于描述数据,XML使数据、表示所以XML文档容易解读、组合,也就是说XML文档可以被任何的应用软件解读,所以使用XML文档将是未来电子商务的趋势。2.3.2 XML的特点XML主要具有以下几个特点:(1) 简洁有效。(2) 易学易用。(3) 开发的国际化标准。(4) 高效可扩充。2.3.3 应用XMLC#为XML技术提供了很好的支持。 System.XML命名空间中的XML类提供使用XML文档和数据的功能。XML类支持分析和编写XML文档、编辑内存中的XML数据、数据验证、以及XSLT转换等。(一). XML的读取XML的读取可以通过XmlReader类来实现。 XmlReader类是一个提供对XML数据的非缓存、只进只读访问的抽象基类。而且它支持从流或文件读取XML数据。该类定义的方法和属性支持浏览器数据并读取节点的内容,其中当前节点指读取器所处的节点。使用任何返回当前节点值的读取方法和属性推进读取器。XmlReader的功能如下: 检查字符是不是合法的XML字符,元素和属性的名称是不是有效的XML名称。 检查XML文档的格式是否正确。 根据DTD或架构验证数据。 从XML流检索数据或使用提取模型跳过不需要的记录。若要读取XML文档中数据记录,可以通过DataSet对象的ReadXml方法实现。(二).XML的写入 XML文件的写入可以通过类XmlWriter实现。XmlWriter类是一个抽象基类,提供只进、只写、非缓存的方式来生成XML流。 XmlWriter实例使用静态System.XML.XmlWriter.Create方法创建。XmlWriterSettings类用于指定要在新的XmlWriter对象上启用的功能集。使用XmlWriterSettings类的属性启用或禁用功能。通过将XmlWriterSettings对象传递给Create方法,指定要支持的写入器功能。 DataSet对象的WriterXml方法可将内存中更新完成的DataSet对象写回指定的XML文档中。2.3.4 访问XML技术 方法一: 通过DataSet访问XML 通过DataSet访问XML一般先将XML数据载入到DataSet中,使用的是XmlReader命令;如果要将DataSet中的数据写成XML的话,一般用到的是XmlWriter命令。 方法二: 通过DOM访问XML DOM(Doeument Object Module)是 W3C制定的一种基于树形结构的独立语言和平台的标准,它提供一个可以通用于各种程序语言、操作系统和应用程序的接口,它定义了文档的逻辑结构以及存取和维护文档方法。利用 DOM中的对象,可以对XML文档进行读取、搜索、修改、添加和删除等操作。DOM是对XML数据的描述体系,它用树型结构的文档来保存XML数据,它包括了对XML的解析和处理XML数据的API 。 Microsoft的NET围绕 XML这一核心提供一个强大而快速的开发语言C#,C#完全支持 DOM模型。使用 DOM 模型的优点在于它允许编辑和更新 XML文档,可以随机访问文档中的数据,可以使用 XPath查询。XPath即XML路径语言(XML Path Language),是一种用于在 XML文档中定位节点的语言 ,XPath对于 XML查询类似于 SQL对于数据库查询,非常方便。DOM是XML一个很重要的接口,它提供良好的机制对XML文档中的节点进行操作和访问并且很大程度上保证了各平台之间的互操作性。2.4 技术路线比较 现今应用比较广泛的编程语言主要有C# 、Java、C/C+等。简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。虽然它们不是一种语言,不过却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C+。具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C+,否则可以选择Java或C#;跨平台的要求高的可以用Java。关于跨平台,C/C+也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库。如下表格1.2所示为C#、 C+ 、Java重要功能的比较:表1.2 技术路线比较功能 C# C+ Java继承允许继承单个类,允许实现多个接口允许从多个类继承允许继承单个类,允许实现多个接口接口实现通过“interface”关键字通过抽象类通过“interface”关键字内存管理由运行时环境管理,使用垃圾收集器需要手工管理由运行时环境管理,使用垃圾收集器指针支持,但只在很少使用的非安全模式下才支持,通常以引用取代指针支持,一种很常用的功能完全不支持,代之以引用源代码编译后的形式.NET中间语言(IL)可执行代码字节码单一的公共基类是否是异常处理异常处理返回错误异常处理C#与Java作为目前两种最具有潜力的语言,在进行比较的话,C#有这样一些优点:(1) C#面向对象的程度比Java高 C#中的基本类型都是面向对象,例如:当定义一个int类型的变量以后,就可以通过这个变量来访问int类型的成员。实际上,C#每一个基本类型都内建了相应的类,如intInt32。Int32是系统提供的一个类,基本类型int就映射为类Int32。 在Java中找不到这样的内建关系。Java只是提供了操作这些基本类型的工具类。如:Interger对应于int。但是这只是一个简单的操作基本类型的工具,int在Java中并不是基于对象的。 C#参考了大多数面向对象的语言,并且解决已有的面向对象语言的一些弊病,可以说,C#大大提高了面向对象语言的技术和实用性。(2) C#具有比Java更强大的功能 C#拥有Visual Basic开发的快捷和C+的强大特点。任何Visual Basic和C/C+程序所能做到的都可以用C#语言简单的实现。也就是说在Windows平台下,C#足以取代Visual Basic和C/C+。而且C#较Java在面向对象开发上要简单。C#提供了语言面向对象的技术和思想,结合了面向模块和面向对象的技术,使用户使用起来更方便 、更快捷。C#还提供了非常大的兼容性,可以用C#调用已有的Visual Basic、C/C+,COM和VBX等,几乎可以把它当作是所有微软产品的总接口。(3) C#的速度比Java快 为了跨平台C#也采用了JIT编译器,但不是简单的移植和套用原有的JIT技术,而是进一步发展与提升,所以C#比Java的执行速度快。第三章 系统软件设计3.1 需求分析 温湿度数据采集系统是利用单片机及传感器对外界的温湿度进行数据采集的系统。随着计算机技术的发展,上位机的应用越来越广泛。而温湿度数据采集系统上位机驱动程序开发目的就是实现一套无纸化的实时操作系统,将采集到的数据在利用C#语言开发的界面上显示,并且可以以多种方式存储,供读者查询。本系统主要实现以下供能: 数据显示:显示温度、湿度、露点。 操作日志:显示当前的串口操作信息。 监控信息:记录当前的数据信息。 数据输入:将数据保存到数据库。 数据查询:可查询记录的数据信息。 帮助功能。3.2 系统结构设计综合考虑本系统的功能,系统应该以数据为中心。系统主要处理的是一个数据的交互问题,即保障上位机与硬件设备的通信正常。在通信正常的情况下,上位机将采集到的数据进行处理,因此本系统的底层采用Access数据库支持。前台采用C#.NET设计的Windows窗体应用程序,实现一个C/A模式的结构。并通过对Windows窗体的设计,使能实现对数据进行显示、保存、查询等功能。本系统的总体流程图如下图3.1所示:是是否否结 束数据输入数据查询保存为XML文件保存到监控信息保存到数据库保存操作日志发送”2”,开始接收数据是否接受到”R”开始监控是否打开串口开始 始 图3.1 系统总体流程图3.3 程序结构设计根据系统要实现的功能,整个系统的程序框架设计可分为四个部分来完成,即接收发送数据部分、连接数据库部分、保存为XML文档部分、其他帮助功能等。其中,每个部分的模块再根据要求详细设计。由于整个设计的功能实现是基于C#.NET环境下制作的窗体的,因此每个部分模块都是以窗体的形式实现。整个程序的框架如图3.1所示:XML文档收发数据主 界 面访问数据库帮助功能 图 3.2 程序框架图3.3.1 主界面设计 在一个应用程序中必须对界面进行良好的设计,使其既能完成程序的功能,有能使用户方便地使用。本系统主界面采用通用的MID窗体模式,实现的功能有:当数据通过RS232传送到上位机,能在界面上显示,通过操作菜单栏,对数据进行处理,如输入数据,发送数据、参数设置、查询、帮助等功能。其界面设计如图3.3所示: 图3.3 主界面该界面中添加了主菜单、快捷栏和状态栏,主菜单中囊括了主要的功能,快捷栏可方便用户快速进行操作,状态栏可用于显示串口信息和系统时间等。另外,通过对组件进行编程,界面可以显示和发送数据。3.3.2 参数设置界面 该界面主要实现对串口参数的设置,保存等功能。依次在每个复合框中填入数据,根据硬件设备的串口配置参数,选定合适的串口参数进行操作,通过下拉复合框可对参数进行设置修改,保证串口通信的正常。其界面设计如图3.4所示: 图3.4 参数设置界面可通过以下代码进行连接: private void open_sysConfigs_Click(object sender, EventArgs e) SerialPortSettings serialPortSettings = new SerialPortSettings(); serialPortSettings.ShowDialog(); 3.3.3 数据输入界面该界面用于将采集到的温度、湿度、露点存储在数据库中,用DataGridview对数据进行绑定显示。然后对该数据库进行各种操作。点击”退出”按钮即可退出数据输入界面。数据输入界面如图3.5所示: 图 3.5 数据输入界面该界面连接代码如下 : private void btn_insertdata_Click(object sender, EventArgs e) insertdata ff = new insertdata(); ff.ShowDialog(); 3.3.4 数据查询界面 该界面用于用户查询记录的数据信息。用DataGridView显示查询的结果。“删除”按钮可以清除当前DataGridView中的内容,点击”退出”按钮即可退出查询界面。 数据查询界面如图3.6所示: 图3.6 数据查询该界面连接代码如下 :private void selectdata_Click(object sender, EventArgs e) selectdata selectdata = new selectdata(); selectdata.ShowDialog(); 3.3.5 帮助界面 该界面用于帮助用户了解温湿度数据采集的功能,通过访问该界面还可以了解C#.NET的开发环境及应用背景。 帮助界面如图3.7所示:图3.7 关于数据采集系统 该界面连接代码如下: private void tst_Describe_Click(object sender, EventArgs e) myProject myProject = new myProject(); myProject.ShowDialog(); 3.4. 数据库设计 本系统是在Access 2003环境下建立数据库的。一个数据表在建立时,一定要先规划好各个字段的属性设置,然后才进一步输入记录数据。建立的数据表有data表和parament表。表的设计如下: (1) data表设计 data表格主要是用来存放采集到的温度、湿度和露点的数值,供用户进行新增、修改、查询等操作。表中各字段的属性说明如下表3.8所示: 表3.8 data表字段名称数据类型备注编号文本主键温度文本湿度文本露点文本记录日期时间记录时间时间 (2) parament表设计 Parament表格是用来存放串口参数的设置值。可供用户进行更新操作。 表中各字段的属性说明如下表3.9所示: 表3.9 Parament表 字段名称数据类型字段说明备注Para_ID文本参数编号主键Para_Name文本参数名称Para_Value文本参数数值Para_Atti文本参数属性Para_Des文本描述 连接数据库的代码为: string connStr; connStr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ff.mdb; OleDbConnection conn= new OleDbConnection(connStr); conn.Close(); 3.5 XML设计 当数据显示在界面上,进行分割处理存储在监控信息的表格中后,可自动生成XML文档保存。本系统中采用DOM和DataSet方式访问XML的。3.6 串口通信协议所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度,传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。根据硬件设备的参数,设置好串口参数后,打开串口, 若接收到“R”,则发送“2”回复单片机,表示开始接收数据。最后对接收到的数据进行处理。串口程序运行时的流程图如下图3.10所示:程序开始回 复数据进行后台处理发送数据接受数据根据串口功能类型,设置是接收还是发送数据,打开串口初始化串口参数程序处理结束 图3.10 程序流程图设置的串口通信参数如下表3.11所示: 表3.11 串口参数设置串口号COM1波特率9600数据位8停止位1校验位None本系统中的程序只是利用 C#语言和串口通讯控件实现数据的收发,其实可以在此基础上开发出更为强大的通信处理程序,比如可以 利用c#强大的多线程机制,同时进行多个串口数据的收发处理,因为C#语言的优势,我们可以容易的将数据转换为 xml文件或者发布到网络,或者轻松存入不同的数据库。所以利用 C# 开发通用串口程序具有比其他语言更好的优势,具有更好的应用前景。第四章 软件系统实现4.1 数据部分实现在整个系统的设计过程中,数据的接受和发送是最为重要的部分,因为数据的处理都是以这个部分为前提,因此,在进行设计时,一定要掌握C#.NET环境下,串口通信部分的实现,以及串口通信协议。下面分别介绍串口打开、关闭、数据接受与发送等部分程序的代码。(1) 打开串口程序如下: private void myopen() /定义myopen()函数 try if (!this.serialPort1.IsOpen) /当串口打开时 this.serialPort1.Open(); /打开一个串口连接 this.tsbtn_openSerialPort.Text = “关闭串口”; this.tsbtn_openSerialPort.Tag = 1; this.tsbtn_autoMonitor.Enabled = true; this.btn_Send.Enabled = true; this.tsl_connection.Image = global:SerialPortTerminal.Properties.Resources.connect; this.tsl_connection.ToolTipText = “串口连接已开启”; this.tssl_logs.Image = global:SerialPortTerminal.Properties.Resources.connect; this.tssl_logs.Text = “串口连接已开启”; this.tssl_logs.ToolTipText = “串口连接已开启”; catch (Exception ex) /捕获异常,当前串口已被占用 MessageBox.Show(ex.Message, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); (2) 关闭串口程序如下: private void myclose() /定义myclose()函数 if (this.serialPort1.IsOpen) this.serialPort1.Close(); /关闭一个串口连接 this.tsbtn_openSerialPort.Text =“打开串口”; this.tsbtn_openSerialPort.Tag = 0; this.tsbtn_autoMonitor.Tag = 0; this.tsbtn_autoMonitor.Text = “开始监控”; this.tsbtn_autoMonitor.Enabled = false; this.btn_Send.Enabled = false; this
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机器人技术与应用专业试题及答案
- 桌面演练知识培训课件
- 2025年B级注册验船师资格考试复习资料模拟试题及答案一
- 2025注册验船师资格考试(A级船舶检验专业能力)测试题及答案一
- 2025年健康素养知识考试题库及答案(含各题型)
- 国有银行考试题库及答案
- 北京市门头沟区2023-2024学年七年级下学期第一次月考道德与法制试题及答案
- 2025年企业人力资源管理师法规实施能力考试预测题
- 2025年项目经理中级考试模拟题集与备考策略
- 2025年本科院校教学管理岗位面试题及解析
- 2024年房地产经纪协理考试题库附参考答案(综合题)
- 科技伦理教学课件
- 人教版数学四年级上册全册课本练习题精心整理可编辑可打印
- 退费账户确认书
- 郑州市第四中学新初一分班(摸底)语文模拟试题(5套带答案)
- 2-第二章-各向异性材料的应力-应变关系
- 医院防爆反恐应急预案
- 云南省安全员C证考试题库及答案
- 死亡待遇申请表
- 集中供热管网系统一次网的调节方法
- 无线充电技术在汽车上的应用
评论
0/150
提交评论