基于串行口的数据采集系统的设计 毕业设计.docx_第1页
基于串行口的数据采集系统的设计 毕业设计.docx_第2页
基于串行口的数据采集系统的设计 毕业设计.docx_第3页
基于串行口的数据采集系统的设计 毕业设计.docx_第4页
基于串行口的数据采集系统的设计 毕业设计.docx_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

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

文档简介

基于串行口的数据采集系统的设计 摘要:数据采集在日常生活中有着广泛的应用,特别是在一些对数据的准确性,实时性要求比较高的场合,需要设计专用的电路来实现系统的需求,而系统的功能的实现,与我们对元器件的选型,设计搭建的电路有直接的关系,它们直接影响着系统对外界环境的感知和响应能力,决定着系统的性能。 数据采集在工业控制领域有着广泛的需求,本设计是实现基于串行口的数据采集系统,以采集周围的环境温度为采集对象,以stc89c51单片机作为下位机,以pc机作为上位机,使用9针串口来实现下位机和上位机的通讯。通过在pc机上使用vb6.0开发软件来开发实现数据接收显示控制界面。系统调试结果表明,该系统设计合理,对周边环境温度的变化反应敏感,数据采集的波特率达到9600bps.关键字:数据采集系统、stc89c51单片机、串口通信、vb 中图分类号:tp2design of data acquisition system base on serial communicationabstract: data collection is widely applied in daily life, especially in the place which is very high request in data accuracy, real time display. a special circuit is need to be designed to realize it. also, it have much connection with the sensor and circuit design , they influence the systems sensor and response ability very much , it directly determined the systems character.nowadays, data collection is widely requested in the industry control area. the system is designed to realize the data acquisition according to the serial port , collecting the temperature around the environment as collection object , use stc89c51 single-chip microcomputer as down machine , use personal computer as upper machine , use 9 pin serial port to realize the down scm and upper pcs communication . a display control form was made use the vb6.0 software . the experiment have done display that , the design was reasonable , it was very sensitive to the temperatures change around the environment .the systems data collection speed could arrived to 9600bps. 关键词:data collection system;stc89c51 single-chip microcomputer;serial communication;visual basic中图分类号:tp2目 次摘要iabstractii目次iii1绪论11.1研究的背景和意义11.2数据采集系统的研究现状11.3研究思路和方法比较21.4本章小结32 基于串行口的数据采集系统的总体设计与分析42.1 基于串行口的数据采集系统的总体设计思想42.2 设计方案与论证42.3 本章小结53 下位机的设计63.1传感器的选择63.2 ttl与rs232电平的转换73.3单片机电路设计83.4系统总的电路设计实现83.5本章小结104 上位机的设计114.1 visual basic 设计介绍114.2 visual basic 设计实现124.3 本章小结135 系统结果和分析145.1 实验调试与结果145.2 本章小结186总结19参考文献20附录(下位机实现程序代码)21个人简历22学位论文数据集23iv1 绪论1.1 研究的背景和意义在计算机广泛应用的今天,数据采集在很多领域有着十分重要的应用。它是实现计算机与外部设备交互的桥梁。在工业、工程、生产车间等部门,尤其是在对信息实时性能要求较高和恶劣的工作环境下更加体现了数据采集的重要性。由于这些生产场所环境条件比较恶劣,不方便在现场处理数据,但有些实际生产又需要利用实时处理后的数据支持后面的生产,并且由于数据采集系统的应用范围越来越广,对采集信号的要求也越来越高。借助计算机强大的数据处理功能来对检测到的数据进行分析,处理显得越来越重要,在这当中,信号的传输与交互就显得十分重要,为了提高系统的性价比,一般采用单片机来采集数据,再把数据传给计算机进行处理,通过通信协议来实现pc机(上位机)与单片机(下位机)的通讯,开发vb界面来实时显示和监控采集到的数据。1.2 数据采集系统的研究现状1.2.1 常见数据采集系统的组成现代科学技术的发展对系统的在速度、响应能力、精度、带负载能力、功耗及抗噪声,干扰能力等方面的要求也越来越高。一个常见的数据采集系统包括如下几部分: 信号采集元件 负责从数据现场收集数据。一般地,它由传感器来感应探测信号,把需要被测量的信号转化为电流或者电压的形式,通过这种对应的转换形式,方便了我们对信号的探索与研究。(2) 信号放大电路由传感器感测到的信号往往很微弱,为了方便对信号的分析和研究,我们需要对信号进行放大处理,在放大信号的同时,通常也放到了那些干扰信号,所以我们在放大信号的同时,针对那些干扰信号,有时我们也要设计一些减弱噪声,减少干扰的电路还提高系统的稳定性和精度(如设计滤波电路)。(3)模数转换电路我们通过传感器产生的信号,经过放大电路的处理,电路中流通的信号是模拟信号,而我们对信号的后续处理,往往是借助数字系统,所以我们需要通过模数转换,把模拟信号量化为相应的数字信号。(4)数模转换电路通过对得到的数字信号的处理,我们可以对模拟信号进行比较细致地分析和研究,如果此时电路需要把这些信号再反馈到电路中,我们就要进行数模转换,把数字信号转化为相应的模拟信号。1.2.2 数据采集系统的分类常用的数据采集系统大致可分为以下几类: pc机实现的数据采集系统系统主要是通过把传感器感知的信号进行放大、滤波等步骤,得到比较易于研究的信号,通过对信号的采样和a/d转换后转化成相应的数字信号,再通过接口电路送入微机内进行处理,然后显示处理结果或经过d/a转换成模拟信号输出作为其它用途。它有如下几个特点:a系统对硬件的要求比较高,往往系统的性能很好,而实际需要的要求并不是很高,所以系统的性价比不是很高。b系统可扩展能力很高,它的优秀的配置,丰富的可开发资源给设计者提供了很大的发挥余地。c系统的响应速度比较快,性能比较好。 单片机实现的数据采集系统它是由单片机及其一些外围的辅助电路构成的数据采集系统,是近年来微机技术快速发展的结果,它具有如下特点:a系统的开发要借助于专用的软件设计工具,程序烧录工具。b系统的外围电路的设计是以满足系统需求为主的,不存在无意义的电路,系统的软件也是专为实现系统功能服务的,所以它的性价比极高。c系统程序是通过专门的烧录工具烧录进去的,所以程序的稳定性,安全性极高,一般不容易受到外界因素的破坏。 vb控制下的单片机数据采集系统visual basic(vb)是一种可视化编程语言,它具有强大功能的控件库,可视化的开发界面,能够快速地开发出简洁,直观的显示界面,功能强大的应用程序。利用vb自带的控件库,还可以实现大型的应用程序的开发,不仅开发周期短,它采用的独特的事件驱动机制,大大地减少了开发者的难度和工作量。在vb6.0的环境下,合理的应用通信控件(mscomm)和结构化查询语言(structured query language,sql),经过统一的接口通讯协议,可以实现现场通信、实现对现场数据(如温度、转速、频率、电压等)的实时采集。1.3 研究思路和方法比较如前所述,本着以实现系统的需求功能,使用更少的元器件、提高系统的抗干扰能力,降低系统的功耗及使系统的处理能力更加快速为目标,开发基于单片机stc89c51系列的数据采集系统。stc-89c51系列单片机由于其经济、便捷、可靠,可实现同时快速采集和预处理,广泛应用于家电、仪表、机电一体化、智能终端和一般工业控制等的各个领域中。利用visual basic来编写串口传输的通信显示界面很容易实现,界面直观明了,由pc机收集单片机采集和预处理的结果,集中地对数据进行分析、处理和研究。这一方面弥补了由于单片机硬件条件的限制,软件系统比较简单、存储器容量有限的缺陷;另一方面由于单片机对现场的数据进行了预处理,使pc机得到的信号更加有针对性,为更加快速地响应处理现场信号的要求减轻了负担,pc机根据实施监控到的数据,发出动作命令,响应了现场的实时性的需求和快速响应的特点。visual basic(vb)是一个简单、易学、高效的可视化软件开发平台,不但提供了良好的界面设计能力,而且在串口通信方面也有很强的功能,它所提供的mscomm通信控件有强大的串行通信功能,易于开发人员实现数据的串口采集的界面设计。系统设计包括软件设计和硬件设计两大方面,软件方面主要以单片机和pc机通过通信协议来实现数据的传输,vb做控制和显示界面,对传过来的数据进行显示和发送对单片机的控制命令。硬件设计主要包括单片机接口电路的设计和单片机作用对象的设计。1.4 本章小结本章介绍了当前数据采集系统的发展情况,基本分类。通过分析各自的特点,易于得出一种性价比比较高的设计方案。2 基于串行口的数据采集系统的总体设计和分析2.1 基于串行口的数据采集系统的总体设计思想基于串行口的数据采集系统主要以采集温度为采集对象,由温度传感器ds18b20感应周围的温度值,感应得到的信号交由单片机处理,单片机把接收到的数字信号转化成相应的温度值,单片机的串口负责单片机与pc机的通讯,vb数据接收界面起到控制数据的接收和显示接收到的数据的作用。系统总体设计框图如下图2.1所示上位机vb显示,控制界面传感器(ds18b20)采集的信号单片机控制单元cpu处理ram存储串行通讯图2.1 系统总体结构框图2.2 设计方案与论证系统由ds18b20作为温度传感器,检测周围环境的温度,传感器的dq端接单片机的p3.3引脚,通过编写初始化温度传感器,读温度传感器,把温度写入ram中,温度转换子程序,把传感器得到的信号转化为对应的实际温度值。由于单片机输出的ttl电平,pc机使用的是rs232电平,这里,我们采用max232芯片来实现电平的转换,把单片机的rxd,txd引脚与max232的相应引脚相连,转换输出的rxd,txd端分别于串口的txd,rxd相连。为了直观的显示单片机与pc机所处的状态,我们在串口的dtr(data terminal ready)引脚与gnd之间接入指示led灯来显是pc机的状态,是否准备就绪,是否处于可以数据传送状态。串口的rxd与gnd引脚之间接入指示灯,来显示单片机是否处于数据传送状态,也就是pc机是否处于数据采集状态。系统以9针串口作为连接下位机(单片机)和上位机(pc机)的桥梁,来实现计算机对下位机传上来的数据的采集,在这里,单片机起到对信号的接收,处理的作用。9针串口功能丰富,在本系统中主要用到当中的几根线,来实现数据的传输,这在后面将予以详细的介绍和解释。2.3 本章小结本章首先对数据采集系统进行了介绍,给出了系统实现的总体结构框图,接着比较详细地论证了这种设计方案是否可行,总结性地概括了实现基于串口的数据采集系统方案的原理,给出了详细的电路状态检测的连线方式,同时也介绍了系统的信号数据的流通走向,分析了电路状态的检测方法,通过判断相应的功能引脚的状态指示灯,来显示和判断计算机与单片机所处的状态,方便了系统的调试和纠错,提高了开发效率。3 下位机的设计3.1 传感器的选择本系统以采集温度为数据采集的对象,根据各种温度传感器的特点,我们从中选择出灵敏度要求达标的,易于实现,性价比最高的温度传感器作为我们实验中选用的对象: 采用热敏电阻,可满足35-95的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1的温度信号是不适用的。 采用温度传感器ad590:ad590具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50- +150,满刻度范围误差为0.3,当电源电压在510v之间,稳定度为1时,误差只有0.01,其各方面特性都满足此系统的设计要求。 采用温度传感器ds18b20:ds18b20具有体积小,硬件开消少,最少只需一根数据线,具有安全性,稳定性高,对温度反应敏感等优点,他全数字温度转换及输出给设计者减少了很多工作。通过分析上述各种温度传感器的特点,可以得出以下结论:1 采用热敏电阻采集的温度存在测量温度范围比较窄,误差比较大,精度比较低的缺点。2 采用温度传感器ad590需要ad转换模块来实现电路对采集到的温度信号进行处理,从而加大了外围硬件电路的开销和加大了软件程序的复杂程度。3 采用ds18b20温度传感器,由于它采用单总线结构,只需一个i/o接口即可,而且温度信号以数字信号输出很大程度上简化了系统也减小了开销故选择ds18b20作为温度传感器。综合上述各温度传感器的特点,系统选择ds18b20作为我们研究的温度传感器。温度传感器在电路中的连线方式如图3.1所示 图3.1 ds18b20连线方式ds18b20有3个管脚,vcc,dq,gnd,dq接单片机的p33管脚,同时接一个1k的上拉电阻至vcc。3.2 ttl与rs232电平的转化单片机使用的是ttl电平,而pc机使用的rs232电平,所以连接单片机与pc机时,我们要对单片机的输出电平进行转化,为了提高系统的稳定性和可靠性,这里,采用maxim公司生产的max232芯片来实现电平的转换,具体电路图如图3.2所示:图3.2 max232连线方式max232主要起到电位提升的作用。通过在c1+与c1-和c2+和c2-之间接入一个0.1uf的瓷片电容来达到电位提升的目的,使输出电压与pc机使用的电压相匹配。3.3 单片机电路设计传感器ds18b20与单片机的p33管脚相连,单片机通过此管脚来读取传感器传来的数据,此数据并不就是当前温度值,要通过相应的运算把它转化成实际的温度值,由ds18b20的使用手册可知,对接收到的数字信号乘以0.0625就可以得到当前的温度值,这个过程有单片机的数据处理子程序来完成。单片机对采集到的数据进行运算处理后,通过串口通信程序,把处理好的数据传送给pc机,至此,单片机的任务也就完成了。单片机连线如图3.3所示 图3.3 单片机连线图 这个部分主要包括单片机的上电复位电路,外接晶振的连线方式,全双工串口的连线。3.4 系统总的电路设计实现前面介绍了下位机的各个功能模块的功能实现,通过各个模块之间的信号联系,得到完整的电路图如下图3.4所示图3.4 下位机总体电路图由硬件电路图可见,下位机系统电路以单片机作为接收,处理,传送数据的中心处理部件,这些功能的实现主要依靠软件设计实现,下图3.5为单片机软件设计流程图开始串口初始化读温度转化温度数码管显示温度向串口发送数据 图3.5 单片机软件设计流程图3.5 本章小结本章比较详细地介绍了基于串口的数据采集系统下位机地设计实现,包括3个部分,传感器的选择,ttl与rs232的电平转换,单片机电路设计 ,对它们的实现原理作了一定的介绍,并给出了详细的功能电路图。针对下位机的硬件电路的设计,给出了系统软件实现的流程图。4 上位机的设计4.1 visual basic 设计介绍数据通过串口传到pc机,为了方便实时观测,我们需要把数据在界面上显示出来,visual basic在开发串口传输软件中有独特的优势,它提供的mscomm控件使得开发人员设计串口数据显示界面变得十分容易和简便。以下是vb的显示界面。下面就vb显示界面的制作作一些介绍: 串口的引脚与对应的功能 数据由单片机传给pc机是由串口来实现的,串口有9针和25针两种,系统采用9针串口作为通讯端口,各个引脚有特定的功能,表4.1给出了9针串口的引脚说明表4.1 串口引脚分布管脚简写意义pin1cd载波检测(carrier detect)pin2rxd接收字符(receive)pin3txd传送字符(transmit)pin4dtr数据端就绪(data terminal ready)pin5gnd地线(ground)pin6dsr数据就绪(data set ready)pin7rts要求传送(request to send)pin8cts清除传送(clear to send)pin9ri响铃检测(ring indicator) vb接收控制显示界面是由事件驱动机制来实现的,当发生事件时,程序就会响应事件的处理程序,以下表4.2和表4.3分别是mscomm的参数表和事件表。表4.2 mscomm参数表名称意义commport通信端口号settings初始化参数portopen使用端口的状态input输入的内容output输出的内容inputlen输入数据长度handshanking通信握手协议rthreshold设置引发系统响应接收数据事件的数据长度commevent此事件产生将引发oncomm事件dtrenable是否使能数据终端准备就绪有效rtsenable是否使能数据发送准备就绪有效inbuffercount缓冲区里的数据量dsrholdingdsr引脚的状态ctsholdingcts引脚的状态cdholdingdcd引脚的状态表4.3 mscomm事件表常数值说明comeventbreak1001接收到一个中断信号,此信号由传送端通过属性的设置即可作到。comeventctsto1002clear to send 线超时。comeventdsrto1003data set ready 线超comeventframe1004数据帧错误(framing error)。comeventoverrun1006连接端口超速。comeventcdto1007carrier detect 线超时。comeventrxover1008接收寄存器溢出。comeventrxparity1009奇偶校验错误。comeventtxfull1010传输寄存器溢出。comeventdcb1011从连接端口接收device control block(dcb)时,发生没有预料到的错误。4.2 visual basic 设计实现1:打开vb6.0软件,新建工程,取名“串口数据传输”2:在form1窗体中添加mscomm控件,设置commport=5;inbuffersize=1024;settings=9600,n,8,1;3:添加label控件,改其text属性为“*接收区*”;4:添加textbox控件,改其“名称”属性为“txtrecive”5:添加两个按钮空间,改其caption属性分别为“接收数据”(command1),“结束”(command2)。6:进入代码编辑窗口,书写相应事件的代码,代码如下:private sub command1_click()dim buf$buf = trim(mscomm1.input)if len(buf) = 0 thentxtrecive.text = emptyelsetxtrecive.text = ascb(buf)end ifend subprivate sub command2_click()mscomm1.portopen = falseendend subprivate sub form_load()mscomm1.portopen = trueend sub4.3 本章小结本章主要介绍了基于串口的数据采集系统上位机vb显示界面的实现,对vb的串口通信控件mscomm控件的参数和事件作了详细的介绍,对上位机设计的实现给出了详细的步骤和相关代码。5 系统结果和分析5.1 系统调试与结果1 开启计算机,连接上串口。2 启动自己制作的vb接收控制界面,打开这个软件的同时,它内部的代码已经完成了打开串口的工作,此时我们可以看到dtr(data terminal ready)引脚的指示灯亮,如图5.1,5.2图5.1 打开vb显示界面图5.2 计算机准备就绪3 给电路板接上电源,使电路板处于工作状态。我们可以在数码管上看到显示当前采集到的温度值,实验时的温度是24度,同时我们看到串口接收引脚(rxd)处于忽亮忽暗的状态,单片机正在传送数据,如图5.3图5.3 单片机发送数据4 在vb显示界面上点击读出字符按钮,显示读取到的当前温度值,这时我们可以看到两盏指示灯的指示情况,rxd忽亮忽暗,dtr引脚也忽亮忽暗,由于视觉残留效应,它们看上去像是一直亮着的。图5.4 单片机发送数据,计算机接收数据图5.5 vb显示接收到的数据5 用手握住温度传感器,温度上升,数码管显示当前温度值,vb界面相应的采集到当前的温度值,如图5.6,5.7图5.6 单片机发送数据,计算机接收数据图5.7 vb显示接收到的数据5.2 本章小结本章主要从系统的调试过程和得到的结果现象作了比较详细的分析,通过改变环境的温度,我们在vb界面上可以采集到当前的温度值,系统对温度感知敏感,现象直观明显,达到了预期的期望与要求。6 总结基于串行口的数据采集系统是以采集环境温度为采集对象,通过单片机处理,通过max232电平转换,传给pc机,在pc机上用vb设计显示界面来观测实时采集的温度。经过一次次的调试,试验,完善,该系统基本上实现设计要求的功能,对温度变化反应敏感,现象明显。7参考文献1 陈三风,刘晓波.基于vb6.0与单片机串行通信的数据采集系统设计,2004 2 张崇智,基于vb的串口实时数据采集,20053 王圆妹,许劲 ,李涛 ,实现pc 机与单片机的串行通信,20064 王 超,基于vb实现pc机与单片机的数据采集系统设计,20095 周子琛,申振宁用vb 实现计算机与单片机的串行通信,20026 陆剑,宋晓莉,a t 89s51 单片机与visual basic 串行通信的实现7 胥保春,单片机(at89s51)与pc机的串行通信,20058 邓洪声, 舒大文,用visual basic 6. 0 设计四通道串口数据采集,2004 9 张康康,基于串口通信数据采集系统的设计,201110杨东燕,基于单片机的数据采集系统设计,201111伊崇信,赵 颖,利用 visual basic 实现串行通信技术,200212 荆茂祥,李冬辉,基于vb 的主从机串行通信系统设计,200313 胡俊宏, 杨振巍,基于vb 的s7-200 plc 与上位机的串行通讯及应用,200714韩利凯,用vc+ + 实现pc 与单片机串行通信方法的研究,200515贾志成,岳西凤,李永军,刘培培,基于vc+的xctd 串口实时数据采集系统的实现,201016范逸之,陈立元,利用visual basic 实现串并行通信技术,2001.317 wang lu1,xu xuefeng2,wang jian3,application of serial communication in energy monitoring system based on vb,201118 zhang bo, yu jie, lian ya-fei, ding qian,the communication between the pc and plc based on vb6.0 in the esp,201119 anan fang, jianping dai, liping luo,design of remote data acquisition and communication hardware circuit system based on window,200920 anan fang , ming gong, rong yu, xiaoping qi,the realization of distance-data acquisition by scm and communication design,200921 ling xu, zhen chen, shi-iei zhang, research of serial communi

温馨提示

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

评论

0/150

提交评论