116温湿度数据采集系统.doc
- 文档编号:7407384
- 上传时间:2023-05-11
- 格式:DOC
- 页数:74
- 大小:2.09MB
116温湿度数据采集系统.doc
《116温湿度数据采集系统.doc》由会员分享,可在线阅读,更多相关《116温湿度数据采集系统.doc(74页珍藏版)》请在冰点文库上搜索。
设计(论文)专用纸
目录
摘要 3
ABSTRACT 4
前言 5
第一章绪论 6
·1.1研究背景 6
·1.2设计内容 6
·1.3技术路线 7
第二章技术背景介绍 9
·2.1C#.NET技术 9
2.1.1.NET平台概述 9
2.1.2C#语言介绍 12
·2.2ADO.NET技术 13
2.2.1ADO.NET概念 13
2.2.2数据库的连接 14
2.2.3数据库操作 15
2.2.4访问数据库 16
2.2.5其他组件介绍 17
·2.3XML技术 18
2.3.1XML简介 18
2.3.2XML的特点 18
2.3.3应用XML 18
2.3.4访问XML技术 19
·2.4技术路线比较 20
第三章系统软件设计 23
·3.1需求分析 23
·3.2系统结构设计 23
·3.3程序结构设计 24
3.3.1主界面设计 25
3.3.2参数设置界面 26
3.3.3数据输入界面 27
3.3.4数据查询界面 28
3.3.5帮助界面 29
·3.4.数据库设计 30
·3.5XML设计 32
·3.6串口通信协议 32
第四章软件系统实现 34
·4.1数据部分实现 34
·4.2数据库实现 38
·4.3XML技术实现 42
第五章系统测试及误差分析 46
·5.1系统调试 46
·5.2误差分析 47
·5.3.NET的开发调试方法 47
5.3.1断点调试 47
5.3.2跟踪和调试 47
结论 49
总结与体会 50
谢辞 51
参考文献 52
附录一:
翻译英文部分 53
附录二:
翻译中文部分 64
摘要
随着计算机技术的飞速发展和普及,数据采集系统也迅速地得到应用。
温湿度数据采集系统的主要功能是把模拟信号变成数字信号,并进行分析、处理、存储和显示。
本设计要求在Windows环境下实现PC机与单片机之间的串口通信,以PC机作为上位机,单片机作为下位机。
考虑到C#编程语言具有面向对象的设计方法,友好的用户界面等优点,通过串口RS232进行串口通信把温度、湿度、露点数据传送给PC机,显示在用C#语言开发的一个可以显示温湿度数据的界面上,再进行相关的数据处理。
本设计在此基础上还设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。
相关部分附有程序流程图,程序代码。
经实验证明本系统的稳定性良好,测量误差在允许的范围之内,能够满足实验对数据采集和记录的要求和相应的精度要求。
关键词:
单片机;串行通信;数据交换;
ABSTRACT
Withtherapidlydevelopmentofcomputertechnologyandpenetration,thedataacquisitionsystemarealsorapidlyapplied.Temperatureandhumiditydataacquisitionsystem’smainfunctionistranslateanalogsignalsintodigitalsignals,andthentoanalysis,processing,storageanddisplay.Thedesign’srequirementsbeyondtheWindowsenvironmentistoachievecommunicationbetweenPCandtheserialport.ConsiderPCasamicrocontroller,SCMasthenextmachine.
TakingintoaccounttheC#programminglanguagehasobject-oriented
designandfriendlyuserinterface,andotheradvantages.ThroughaserialRS232implementserialcommunicationandtransmitthetemperature,humidity,dew
pointtothePCandshowthetemperatureandhumiditydataontheinterfacewhichisdevelopwiththeC#language,andthenbegainthedataprocessing.Thedesignnotonlydesigntheoverallprogram,butalsohastheabilitytoachievethevariousfunctionalmodulesbetweenthehardwareandsoftwarethatarebasisonfunctionofthesystem.Therearesomerevelantchartsandprocedurescodetoshow.
Theexperimenthasprovedthatthestabilityofthesystemiswell,andmeasurementaccuracyisalsointheallowablescope,abletomeettheexperimentaldataacquisitionandrecordingoftherequestandthecorrespondingaccuracy.
KeyWords:
Singlechip;SerialCommunication;DataExchange;
前言
本次毕业设计的主要任务是温湿度数据采集系统—上位机驱动程序的开发。
通过串口RS232实现单片机与PC机之间的通信,数据的传送。
PC机与单片机构成的上位机、下位机分布式控制系统是一种常见的工业控制系统,单片机作为下位机可进行现场数据采集和就地控制,并可将采集到的数据或者状态信息传送到上位PC机,以做进一步的分析处理。
本文论述了了在C#.NET环境下如何实现单片机与PC机之间串行通信所需条件,以及运用C#语言开发数据传送的界面,通过对控件的编程实现数据库的连接和XML技术的操作等问题。
随着科学技术的飞速发展,数据采集系统的应用越来越广泛。
在生产过程中,应用这一系统可对生产现场的工艺参数进行采集,监视和记录,提高产品质量,降低成本。
在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。
本论文总共分为五章来论述整个设计的内容。
其中,第一章主要从三个方面展开论述选题的背景、意义,以及整个设计所采用的技术路线和应用。
第二章论述了设计中用到的技术背景,分别从C#.NET技术、ADO.NET技术、XML技术等三个部分详细阐述技术路线的比较,重点介绍串口通信协议,以及单片机与PC机之间如何通信。
第三章首先着重介绍整个系统框架的设计,以及程序结构框架的设计。
然后主要从数据接收问题,访问数据库,XML操作等三个方面一一作详细说明。
接下来,第四章讲述系统的功能实现,也分为四个方面:
串口通信实现,数据传送实现,访问数据库实现,访问XML实现等。
最后,第五章中简单涉及在整个设计的完成过程中,软件调试出现的问题及解决方案。
本文主要围绕单片机与上位机之间的串口通信问题进行展开的,其中涉及到数据库的知识和XML技术,在今后的学习中,有待进一步深入讨论和交流。
张帆
2008年6月4日
第一章绪论
·1.1研究背景
随着信息领域各种技术的发展,在数据采集方面的技术也取得了很大的进步,采集数据的信息化是目前社会的主流发展方向。
各种领域都用到了数据采集,在石油勘探、地震数据采集领域已经得到应用。
随着测控技术的迅猛发展,以嵌入式计算机为核心的数据采集系统己经在测控领域中占到了统治地位。
数据采集系统是将现场采集到的数据进行处理、传输显示、存储等操作。
数据采集系统的主要功能是把模拟信号变成数字信号,并进行分析、处理、存储和显示。
温湿度数据采集系统广泛的应用于人们的日常生活中,而驱动程序的开发让实时操作与监控更方便。
基于Windows环境下利用VS.NETFramework平台开发的驱动程序也具备这些特点。
其中温湿度数据采集系统就是基于这个原理来采集外界的温度、湿度及露点,利用上位机对数据进行处理。
总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益也越高。
·1.2设计内容
该设计硬件部分核心器件为AT89C51单片机。
通过编写大量汇编程序来支撑单片机实现温湿度接收、转换、存储和显示等,最终温湿度用数码管显示出来。
软件方面通过串口RS232进行串口通信把温湿度数据传送给PC机。
鉴于PC机具有强大的监控和管理功能,单片机具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现单片机系统与PC机之间的数据交换。
该设计软件方面是在WindowsXP环境下,对VisualStudioC#.NET中的串口组件进行编程实现单片机与PC之间的串行通信,其通信线路通过RS232连接,通过串口RS232进行串口通信把温度数据传送给PC机,显示在用C#.NET编辑的一个温湿度数据显示的界面上,再对数据进行处理存储在数据库中,并且以XML文档的格式存储。
PC机与单片机的通信接口电路框图如图1.1所示:
TxD
RSRxD
232
GND
单
片
机
PC
机
RxD
(2)
TxD(3)
GND(5)
图1.1PC机与单片机通信接口电路
其中:
2脚:
RxD,串行数据接收引脚,输入。
3脚:
TXI),串行数据发送引脚,输出。
5脚:
GND。
·1.3技术路线
根据本系统设计的要求及功能,采用的技术路线有以下几种:
一.C#.NET语言
本系统是在C#.NET环境下设计WindowsForm,该窗体是在设计程序时,用来制作用户数据输入输出界面的基本对象窗体,是整个用户界面的框架。
所以系统设计之前,必须熟悉C#.NET的开发环境,以及掌握C#语言的编程规则。
在熟悉了工具箱提供的控件及其功能后,依照本系统需要的实现功能,对所需的控件,进行编程实现。
二.ADO.NET技术
C#.NET中对数据库的访问是通过ADO.NET来实现的,使用ADO.NET作为数据库存取的接口。
ADO.NET是ADO的升级版本,专为Microsoft.NET平台量身打造,采用离线存储模式,可供多人同时存储,特别适合在Internet环境中使用。
基于温湿度数据采集系统—驱动程序开发的目的,系统要求:
当通过串口通信将采集到的温湿度显示在WindowsForm界面上,对数据进行处理,然后自动存储在数据库中,提供用户输入、查询记录等功能。
因此,在对数据库操作之前,需了解各种数据库的连接方式,以及进行插入、修改、查询等操作相关的SQL语句。
另外,在引用数据库之前需在库文件中添加数据库的命名空间。
三.XML技术
.NET是基于XML的,XML具有跨平台性和简洁性,在.NET框架结构中,XML当作一种应用间无缝接合的手段,用于多种应用之间的数据处理,不同应用之间的互操作和协调工作。
在系统设计中,当采集到的温湿度数据存放在监控信息表格中,通过编程使数据自动生成XML文档保存,并存放在指定的路径下,供用户查看记录。
因此,进行XML文件操作必须掌握XML文档的语法、写入及读取的编程规则等相关知识,了解XML的应用。
在引用之前,需在库文件中添加相应的XML的命名空间。
第二章技术背景介绍
·2.1C#.NET技术
2.1.1.NET平台概述
Microsoft.NET将开创程序开发的新局面,特别对网络程序的开发有很大的推动作用,该平台提供一种更有效更强大的Web服务;而在应用程序方面,.NET平台下的开发也变得更简洁,通过其丰富的,功能强大的类库可以很快地开发所需求的程序。
一.Microsoft.NET平台包括:
(1)创建和操作新一代服务的.NET基础结构和工具。
(2)启用大量客户机的.NETUserExperience.NET。
(3)建立新一代高度分布式的.NET组件服务。
(4)启用新一代互联网设备的.NET设备软件。
二..NET架构如图2.1所示:
VisualStudio.NET
Visual
Basic
C#
C++
J#
……
CommonLanguageSpecification(通用语言规范)
ASP.NET、Web窗体
WebService、MobileWeb窗体
Windows窗体
ADO.NET、XML(传统数据库与XML文件存取)
BaseClassLibrary(基础库类)
CommonLanguageRuntime(通用语言运行库)
图2.1.NET架构结构图
1.通用语言运行库
CommonLanguageRuntime(CLR)是.NET架构中最基本的部分,包含程序代码的编译、安全性的控管、类库与可执行文件的缓存等功能。
2.基类库
.NETFramework为了达到不同语言在类库上的统一,定义了基类库(BaseClassLibrary),为了让这一组类库能够广泛适应开发各类型应用程序,因此库类中包含了几百个类,内容包含了Windows窗体、控件、Web应用程序中的状态处理、缓存、XML等。
3.ADO.NET与XML
ADO(ActiveXDataObject)与ADO.NET最主要的差别在于内存中处理数据的方式不同。
在ADO中使用记录集(Recordset)处理数据,而在ADO.NET中则使用数据集(Dataset)。
4.Windows窗体与Web窗体
新一代的Web应用程序开发使用ASP.NET技术,除了延续ASP容易使用的特点之外,现在更将程序代码与界面设计(HTML)分开,并使用类似Windows窗体的开发方法来开发Web应用程序,因此可以像开发Windows窗体一样,完全以面向对象的观念来设计Web应用程序,以便简化程序设计流程。
在数据库支持方面,不论是Windows窗体还是Web窗体,都支持控件的数据绑定功能,可以轻易地将数据库中的数据字段,动态绑定到控件上,大幅度简化数据库应用程序的开发过程。
5.通用语言规范
在.NET构架中定义了一个通用语言规范(CommonLanguageSpecification,CLS),包括函数(类的方法)调用方式、参数传递方式、数据类型、异常处理方式等,只要符合这个规范的程序语言,就可以使用。
在程序语言的数据类型上,CLS使用通用类型系统(CommonTypeSystem)来定义语言的数据类型。
6.程序语言
.NET支持多种语言,仅.NET架构就默认至少支持VisualBasic.NET与C#两种语言。
7.跨平台的.NET
.NET上的组件在第一次执行时必须经过CLR的编译后才能真正交给CPU执行。
三.NET开发环境:
1.NET平台的运行对硬件的要求如下:
(1)计算机/处理器
建议配置:
装有450MHZPentiumⅡ级别处理器的PC。
最低配置:
装有300450MHZPentiumⅡ级别处理器的PC,否则编译过程运行异常缓慢。
(2)RAM的最小要求
WindowsXPProfessional:
160MBRAM。
Windows2000Professional:
96MBRAM。
Windows2000Server:
192MBRAM。
WindowsNT4.0Workstation:
64MBRAM
(3).硬盘
标准版:
在安装驱动器上有2.5GB,包括系统驱动器上的500MB。
Professional和Enterprise版:
在安装驱动器上有3.5GB,包括系统驱动器上的500MB。
(4).驱动器
CD-ROM或DVD-ROM驱动器,用以使用光盘,装入开发平台程序,不过也可以选择网络安装方式。
(5).显示器
SuperVGA(800×600)或更高分辨率的256色显示器。
(6).输入设备
Microsoft鼠标或兼容的指针设备。
2..NET平台的运行对软件的要求如下:
C#作为.NET基础上的一门开发语言,因此C#的开发环境首先应该满足.NET的运行需要。
一般来说,.NET的运行在软件方面有如下需求:
(1).操作系统
MicrosoftWindowsNT4.0或更高版本的操作系统,包括MicrosoftWindows2000系列,MicrosoftWindows2003系列,不支持MicrosoftWindows95、MicrosoftWindows98、MicrosoftWindowsMe等操作系统。
(2).Framework
Framework是.NET的支持基础,包含.NET平台的运行库与公共语言运行时,所有的.NET平台下的程序都需要基于它的类库来建立程序,而所有的程序也需要先编译为中间语言(IL)然后由公共语言运行时管理执行。
(3).MDAC
当要使用数据库、XML等对象的时候,.NET还要一个基本组件—MDAC(MicrosoftDataAccessComponents),即微软数据访问组件。
几乎所有的Windows平台下的数据库访问都是由这些组件来完成的,因此,对于.NET数据库开发来说,MDAC是一个不可缺少的部分。
.NET需要MDAC2.7以上版本。
(4).其他需求
如果要在.NET平台下开发Web站点的话,还需安装FrontPage服务扩展和InternetExplorer5.5以上的浏览器。
2.1.2C#语言介绍
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.2ADO.NET技术
2.2.1ADO.NET概念
ADO.NET是微软新一代.NET数据库的存取结构,ADO是ActiveXDataObjects的缩写。
ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。
在ADO.NET中最重要的两个概念就是ManagedProvider和DataSet。
ManagedProvider提供了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)连接SQLServer数据库
SQLClient方式:
Sever=服务器名;uid=用户名;pwd=密码;database=数据库名;
OleDb方式:
Provider=SQLOLEDB;DataSource=服务器名;uid=用户名;pwd=密码;Catalog=数据库名;
Odbc方式:
Driver={SQLServer};Server=服务器名;Database=数据库名;uid=用户名;pwd=密码
Connection
Command
DataAdapter
DataSet
数据库
图2.2数据库连接过程图
(2)连接Access数据库
OleDb方式:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=数据库路径;
Odbc方式:
Driver={MicrosoftAccessDriver(*.mdb)};Dbq=“数据库路径”;Uid=;Pwd=;3.打开与关闭连接
Connection对象提供下列两种常用方法:
·Open()方法:
用来建立并打开一个数据库的联机;
·Close()方法:
将数据库的联机关闭;
2.2.3数据库操作
使用Command执行数据库操作一般有以下3个步骤:
(1)建立数据库连接,使用Connection对象的Open()方法;
(2)执行数据库操作,使用ExecuteReader()方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 116 温湿度 数据 采集 系统