基于串口通信的数据采集系统研究.docx
- 文档编号:7764826
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:23
- 大小:35.31KB
基于串口通信的数据采集系统研究.docx
《基于串口通信的数据采集系统研究.docx》由会员分享,可在线阅读,更多相关《基于串口通信的数据采集系统研究.docx(23页珍藏版)》请在冰豆网上搜索。
基于串口通信的数据采集系统研究
基于串口通信的数据采集系统研究
摘要
在实际生活生产中数据采集系统随处可见。
特别是当要求数据具有高实时性和高精确性的时候,需要我们熟悉各元器件的电气特性,搭建外围设备,设计专用的电路来实现系统的高需求。
以上因素直接关系到系统对数据的敏感度和稳定性。
本设计研究了基于串口通信的数据采集系统。
确定以周围的日常温度值为数据采集对象,利用温度传感器和单片机实现模拟信号的采集和转换成为数字信号,使用九针串口完成上位机和下位机之间的内部信息传输。
然后在上位机中利用VisualC++编程语言实现串口通信的数据接收显示控制界面完成数据的传输、分析和存储。
关键词:
数据采集系统、串口通信、STC89C51单片机、VisualC++
Abstract
Intheproductiondataacquisitionsystemcanbeseeninreallife.Especiallywhentherequesteddatawithreal-timeandhighprecisionwhenneededwearefamiliarwiththecomponentsoftheelectricalcharacteristics,buildaperipheraldevice,specialcircuitdesignedtorealizehighdemand.Thesefactorsdirectlyrelatedtodatasensitivityandstabilityofthesystem.
Thedesignofdataacquisitionsystembasedonserialcommunication.Determinevaluefordailydatacollectionobjectsaround,byusingatemperaturesensorandmicrocontrollerforanalogsignalcollectionandconvertedtoadigitalsignal,usingnine-pinserialportcompletePCandinformationtransmissionbetweenslave.AndthenusingtheVisualC++programminglanguageimplementedinthePCserialcommunicationdatareceptiondisplaycontrolinterfacedatatransfer,analysisandstorage.
Keywords:
Dataacquisitionsystems,SerialCommunication,STC89C51single-chip,VisualC++
第一章前言
1.1研究目的和意义
在信息科学技术以及通信技术的日新月异发展的现在,互联网和机器的远程通讯已渗透到经济、工业生产、农业生产、军工太空探索等多个领域。
人们对生活中高端电子产品的需求例如手机、电脑是居高不下的,甚至达到了有些人离开了手机就不知道如何生活的地步。
人们追求更好的生活,更方便的出行,我们原来经常使用的并行通信的接口技术远远满足不了我们的这种需要。
远程控制串行通信接口,并在同一网络的优势性能的几个允许发送者已经发现扩大以满足市场需求,提高国民经济和串行通信接口的概念和技术研究的了解人民的生活水平具有十分重要的意义。
实际的工业生产和生活的要求,特别是在要求具有高实时性和高精确性的数据的时候,往往才会体现出数据采集的重要性。
在某些特定的情况下,自然工作条件恶劣,气候条件复杂,在现场处理数据在实际上并不可行,但这些实际生产又离不开实时数据的支持来指导生产,以及各大山区也需求大量的数据通信和实时数据采集,收集信号的需求量逐步上升。
使得我们队数据采集的精确性,实时性和稳定性有了更高层次的需求,在这当中,基于串口通信的数据采集系统是非常重要的。
因为需要加强数据采集系统的稳定性,我们用单片机作为下位机采集数据、转换数据,然后荣计算机处理数据、分析数据、存储数据,通过通信协议实现上位机和下位机的内部数据通信,开发了一个可实现的数据采集和监控的数据。
1.2国内外研究现状
1.2.1课题在国内的研究发展状况
随着全国城市的规划发展和工业生产科技的进步,小型电子产品的自动化程度向人工智能方向发展,我们原来经常使用的并行通信的接口技术限制了数据通信的传输速度。
串口通信接口技术和并行接口技术相比,串口通信设计简单、控制方便,不仅简化了系统的线路,缩小了电路板的面积,节省了系统资源,而且还具有扩展性好、编程方便、易于实现用户系统的硬件和软件模块的标准化、串行接口更少、传输方便等优点。
因此,串行通信接口技术逐渐成为主流技术。
在RS232通信协议和RS485通信协议应用最为广泛的串行通信接口的今天。
新兴的科技公司例如华为,中性和电信等这几年的主要产品电脑和手机的硬件系统的升级都离不开串口通信的发展。
另外,人们对于智能化设备的日益密切,也确定了串口通信的硬件标准和软件开发技术是发展主流。
在人们的生活中,技术的需求将一直是一个主要的流,这是为开发串行通信接口覆盖着一条光明的道路。
1.2.2课题在国外的研究发展状况
串行通信接口技术的迅速发展。
不仅在国内外的发展也迅速,由于外国政府对它的关注和照顾,采取了一系列政策,促进串行通信技术的发展,使串行技术进入宽带,网格,而且还拥有一个移动,无处不在的可信网络。
例如美国的环境影响评估,微软和其他协会,公司附加到串行技术和不断升级改进的串行技术。
苹果、三星等国外智能手机的不断升级完善,无需进一步开发串行通信接口,因此人们希望能更好地进行电子技术的研究是必不可少的,而串行通信技术是最重要的。
1.3研究内容和方法
如前所述,为了实现需求,采用较少的电器元件,提高系统的抗干扰能力,降低系统的功耗和系统的能力,以更快速地处理为目标。
本设计开发出基于串口通信的数据采集系统。
系统设计有电路设计(硬件)和程序设计(软件)俩部分。
硬件设计主要包括主控芯片的设计、温度传感电路的设计和液晶显示模块的设计。
软件设计包括串口通信界面的设计和上位机软件通过数据传输的通信协议,以MicrosoftVisualC+++编写采集到的数据的控制和显示界面,对传过来的数据进行显示和发送控制命令。
主控芯片我们可以选择STC89C51系列微型电子单片机。
该系列单片机由于其经济、方便、可靠,能够同时采集和预处理,广泛应用于家用电器、仪器仪表、机电一体化、智能终端和一般工业控制领域。
以在8051核心ISP(在系统编程)可在系统可编程芯片,最高时钟频率为80MHz,内含8K字节的可反复擦写1000闪存只读存储器,在系统可编程(ISP),再加上我们的PC端程序的用户代码可以下载到单片机,无需购买通用编程器,读取速度更快。
实时温度的模拟信号我们需用DS18D20芯片。
该系列芯片不仅仅电子线路连接简单明了,组成的电路模块体积小巧。
而且是达拉斯公司生产的单总线器件,具有可靠的工业生产质量,经久耐用,电子误差小而稳定。
液晶显示模块以其低功耗、体积小、显示内容丰富、模块化、界面简单等优点而得到广泛应用。
液晶显示模块分字符型和点阵型两种,字符型只能显示字符。
通常使用点阵液晶显示模块,其除了显示字符还显示了各种图形和汉字。
微软的VisualC++是一个结构化的,由微软开发,模块化,面向对象和事件驱动机制,包含协助可视化编程语言开发环境。
这是一种可以在微软自己的产品开发中使用的语言。
它来源于基本的编程语言。
使用微软VisualC++写的串口通信接口是很容易实现的,界面直观清晰,由PC接收单片机采集到的数据及把预处理的结果收集起来,集中对数据分析、处理与研究。
这同时弥补了单片机硬件条件的限制,软件比较简单,而且内存容量有限等缺点。
在单片机上对数据进行预处理,使得上位机得到的信号更具有针对性,对于更快速响应处理站点信号的要求降低有负担,上位机按执行监测到数据,发布命令,响应具有实时性和快速响应特性。
第二章串口通信和数据采集系统
串口通信(SerialCommunication)是指通过数据信号线和地线的计算机及外围设备,作为传输数据的通信手段。
计算机和单片机(例如,MCS-51)具有串行通信端口,实现了串行通信程序的设计,完成两个任务之间的数据通信。
在实际工作完成时,利用串口进行通信是非常多的,通过串口通信编程的过程是多种多样的。
在Win98环境下利用MSComm计算机VisualC++提供的ActiveX控件进行串行通信的汽轮机叶片振动监测系统,也有基于java数据采集串口通信,用m图书馆数字化管理系统例如串行通信设计。
2.1串口通信简介
串口通信就是按位传输信息的设备。
2.1.1串口通信的主要特点
在串行通信中,传送顺序是在单条一位宽的传输线上一位一位的传输数据。
这样分八次由低位到高位按顺序一位一位地传送一个字节的数据。
综上所述,串行通信有如下特点:
1)优点:
节省传输线。
尤其是在远程通信时,传输线的成本是主要考虑因素。
2)缺点:
与并行通信比数据传送效率低。
2.1.2 串口通信的重要参数
串口通信有很多参数,包括波特率、数据位、停止位和奇偶校验。
1)波特率(Baud rate):
这个是一个运送各式各样符号速率的度量。
指在单位时间内的信号变化的调制,载波参数变化的时间单位多少的数量,如传输每秒36个字符,每个字符格式包含9比特(一个起始位,一个停止位,八个数据位),和波特率36bd、10位×36=360bps/二比特率。
调制速率大于传输速率,如曼彻斯特编码)。
2)数据位(Databits):
这是是一个衡量实际数据的通信度量。
当上位机需要运送一系列数据包时,实际发送的数据一般不会正好为八位,而是更不为人知的标准值为六、七和八。
3)停止位(Stopbit):
最后一个是用来表示一个包。
典型值分别为一、一点五和二。
因为更多的数据是在他们自己的信号线上实现定时功能的,而且每个传输线都有他们的独立计时方式,很可能出现在通信设备之间的一点点的同步。
所以计时方式停止不只是表明本次数据传输的结束,而是矫正了微机内置计时器一致的时期。
适用于停止位的位数越少,不一样的计时器的容忍程度越小,但也有较慢的数据传输速率。
4)奇偶校验位(Paritybit):
一个简单的方法来检查串行通信中的错误。
有四种方法来检查错误:
偶数,奇数,高和低。
当然也没有平价位可以。
奇偶校验,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
要注意,以上四个参数必须同时匹配才能实现俩个不同的通信端口的数据传输。
2.1.3串口通信的通信协议
在串口通信中,RS-232、RS-422和RS-485是比较常见的通信协议。
2.1.4串口通信的传输格式
串口通信(以RS232为例),通信数据通道在传输数据的时候,通道的TTL电平一直是低的,通过返向RS232通道的电平一直是高的。
起初的RS232是高电平,最后的RS232是低电平。
通道发送数据是按位传输,从低位到高位。
注意在最后读取数据信息的时候,右边的数据是低位。
2.1.5串口通信的通信过程
1)通信的开始,我们要确认串口已经处于打开状态,这个时候信号的通道处于空闲状态,我们计为逻辑一。
当通道检测出信号电平由一跃变到零的时候,内部的接受信号的时钟开始计数。
2)内部的接收信号时钟计数数到第八个单位时间的时候,通道内部再次对输入的信号电平进行检测。
如果该信号电平为高电平,则证明它是一个干扰信号,通道会忽略该信号;如果该信号电平为低电平,证明她是一个“起始位”,而不是干扰信号。
3)接受到“起始位”的信号之后,接受端开始后续位的检测,在接受信号的时钟计时的十六个单位时间内对信道内输入信号进行检测,检测对象为对应的数据D0的数值。
4)如果逻辑一,作为数据位1;如果逻辑二,作为数据位2。
以此往复,每隔接受信号时钟计时的十六个单位时间就对输入信号重新检测一次,直到全部的数据输入完毕。
5)检测检验位P,该位可能不会存在。
6)接收端接收到指定数的数据位和奇偶校验位后,串口按信息的帧数来检验是否存在错误。
如果存在错误,状态寄存器重置“帧错误”标志;如果不存在错误,重置状态等级校验错误标志。
7)把没有错误所在帧的所有数据的信道出现的高电平作为空闲位。
8)当信道检测出信号电平由一跃变到零的时候,内部的接收信号时钟开始计数,重复步骤一,开始进入下一帧的检测。
2.2数据采集系统
2.2.1数据采集系统的分类
1)微机数据采集系统
经过系统传感器信号的放大、滤波等步骤,得到比较容易学习的信号,将信号采样和转换成数字信号后,通过接口转换成计算机,然后显示结果或经过模数转换成模拟信号输出的其他用途。
它有以下特点
a)系统在硬件上的围合要求,系统性能很好,实际需要的不是很高,所以系统的价格/性能不是很高。
b)系统的高扩展性、优良的配置、丰富的可开发资源给设计开发提供了很大的发挥余地。
c)系统的响应速度更快,性能更好。
2)单片机数据采集系统
它由单片机及其外围数据采集系统的辅助电路组成,是近年来计算机技术飞速发展的产物,它具有以下特点:
a)系统的开发要借助于专用的软件设计工具以及程序烧录工具。
b)系统的外围电路的设计是以满足系统需求为主的,不存在无意义的电路,系统的软件也是专为实现系统功能服务的,所以它的性价比极高。
系统程序是利用专门工具开发设计。
所以程序的稳定性强,安全性高,通常状况不会受到外界因素的破坏。
2.2.2数据采集系统的组成
现代科学技术的发展对系统速度、响应速度、数据精确度、承载能力、功耗和噪声、干扰的要求也越来越高。
一种通用的数据采集系统由以下部分组成:
1)信号采集原件
负责数据的现场采集。
一般来说,它由传感器探测信号,测量信号需要被翻译成电流或电压的形式,这相当于转换形式,有利于我们的信号的探索和研究。
2)信号放大电路
通过传感器检测信号的测量往往是微弱的,对信号的分析和研究,我们需要对信号进行放大处理,在放大信号的同时,通常也把这些干扰信号,所以我们在放大信号的同时,对于那些干扰信号,有时我们也要设计一些减弱噪声、减少干扰的电路也提高系统的稳定性和精度。
3)模数转换电路
信号通过由传感器信号处理的放大电路,电路信号是一个模拟信号的循环,以及随后的处理的信号,往往与数字系统,所以我们需要模数转换,把模拟信号量化为相应的数字信号。
4)数模转换电路
通过所产生的数字信号处理,我们可以模拟信号进行详细的分析和研究,如果你需要信号反馈电路的电路,我们将要去模数转换,转换成模拟信号的数字信号。
第三章系统硬件设计
3.1总体设计思想
这次设计的基于串口通信的数据采集系统主要以采集周围日常温度作为主要数据收集,使用温度传感器感应周围的温度值并将感应得到的温度值交由STC89C51单片机处理。
主控芯片选择了STC89C51系列电子微型单片机,在PC机上运用微软VisualC++编程语言做出可视化界面,控制数据的定时采集。
然后利用STC89C51单片机串口通信与PC机接收相应的温度值转换为数字信号。
STC89C51单片机的串口负责单片机与PC机的串口通信,然后采用9针串口作为连接下位机(STC89C51单片机)和上位机PC机的桥梁,这样可以实现计算机对下位机所传上来的数据的采集。
VisualC++数据接收界面目的是起到控制数据的接收和显示接收到的数据的作用。
结构框图如图3-1所示。
图3-1系统总体结构框图
3.2主控芯片模块
3.2.1主控芯片模块电路
本次主控芯片模块的外围电路包括电子微型单片机STC89C51和其他功能电路,复位电路提供复位电压,提供水晶系统频率。
这部分电路负责程序存储和运行。
晶体可以在1.2MHz的~12MHz的选择,电容典型值为20pF~100pF的C1和C2之间做出选择,但在高频率稳定度60pf~70pF振荡器的时间。
典型值通常选择为30pF,但此电路采用30pF。
STC89C51的减少是通过外部复位电路实现。
复位电路通常用于自动复位和复位按钮的方式。
这个设计是用在按钮复位的电源上。
本次设计的基于STC89C51主控芯片模块电路,如图3-2所示。
图3-2STC89C51单片机系统
3.2.2主控芯片简介
STC89C51单片机是一种低功耗,高性能CMOS8位微控制器。
采用了高密度非易失性存储器技术制造,与工业产品8OC51指令和引脚完全兼容。
STC89C51单片机具有以下标准功能:
八千多媒体,二百五十六字节RAM,三十二位I/0口,看门狗定时器,俩个数据指针,3个十六位定时器/计数器,一个六向量二级中断结构,全双工串口芯片晶体振荡器和时钟电路。
此外,STC89C51可降至O赫兹静态逻辑,支持俩种软件可选择省电模式。
3.2.3STC89C51引脚功能
STC89C51的引脚图,如图3-3所示。
图3-3STC89C51的引脚图
STC89C51引脚功能说明如下:
1) VCC:
电源电压。
2)GND:
地。
3)P0口:
P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。
4) P1口:
P1是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器可驱动(吸收或输出电流)4个TTL逻辑门级。
其第二功能具体如表3-1所示
表3-1 P1口第二功能
端口引脚第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
5)P2口:
P2是具有内部上拉电阻的一个8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
6)P3口:
与P2口相同。
P3的第二功能表如表3-2所示。
表3-2P3口的第二功能
端口引脚第二功能端口引脚第二功能
P3.0RXD(串行输入口)P3.4TO(定时/计数器0)
P3.1TXD(串行输出口)P3.5T1(定时/计数器1)
P3.2INTO(外中断0)P3.6WR(外部数据存储器写选通)
P3.3INT1(外中断1)P3.7RD(外部数据存储器读选通)
另外,P3口还可以接收用于FLASH闪存编程和程序校验的控制信号。
3.3 温度传感模块
3.3.1温度传感器模块电路
基于DS18B20多点测温系统STC89C51为中心的设备,以KEIL进行系统开发平台,采用C语言编程,在PROTEUS仿真软件中设计。
智能温度传感器DS18B20是它的数字输入/输出,基于单总线技术,接收来自主机的命令下处理相应的DS18B20的内部协议,温度将被转换为串行端口到主机。
根据与IO口模拟DS18B20定时的通信协议主机发送命令(初始化命令,ROM命令,功能命令)给DS18B20,并读取温度值,在内部流程,图形化LCD显示模块温度相应的数值每个点。
在系统启动的时候,可以使用4×4键盘设定温度值的上限,当温度超过设定值时,报警启动报警,实现对每个点温度的实时监测。
每个DS18B20都有其自身的序列号,因此,系统可以在一个总线4DS18B20上连接,通过CRC校验,每个DS18B20ROM地址,寻址多达DS18B20的响应,接收主机命令,发送给主机转换温度。
使用DS18B20寻址技术,使得硬件更简单。
DS18B20与单片机的连接电路如图3-4所示。
图3-4DS18B20与单片机的连接电路
DS18B20数字温度计是达拉斯公司的单总线器件,具有简洁的线路,更精致的小尺寸。
因此用它来组成一个测量系统,其特点是简单的线路,在单一的通信线路上,可以有很多这样的数字温度计,非常方便。
3.3.2DS18B20引脚功能
表3-3DS18B20详细引脚功能描述
序号名称引脚功能描述
1GND接地信号
2DQ数字输入输出引脚,开漏总线接口引脚,当使用寄生电源时,可向电源提供电源。
3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地
3.3.3DS18B20工作流程
DS18B20通电后,在空闲状态。
以启动温度测量和模拟到数字的转换,所述处理器所需的转换完成后,发出一个转换T[44H]的命令, DS18B20返回到空闲状态。
温度数据被存储在温度寄存器的一个符号的16位的补充。
符号位说明了温度是正值还是负值。
正值时S=0,负值时S=1。
预想访问DS18B20必须严格遵守以上这一命令序列,如果不慎丢失任何一步或操作序列混乱,DS18B20就都不会响应主机(除了SearchROM和AlarmSearch这两个命令,但是在这两个命令后,主机往往必须返回到第一步)。
a)初始化:
DS18B20通过初始化序列交换的所有数据。
由主机复位脉冲以及由DS18B20发出的后续响应脉冲形式发出。
当DS18B20发给主机的响应时间,这表明它在总线上,并准备工作主机的响应。
b)ROM命令:
ROM命令的64位到每个设备的ROM代码,主机指定一个特定的设备(如果您有多个设备挂在总线上)进行通信。
每个ROM命令的是8位长。
DS18B20的ROM如表3-4所示。
表3-4ROM命令
指令协议功能
读ROM33H读DS18B20中的编码(即64位地址)。
符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之做出响应,为下一步对该DS18B20的读写做准备。
搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备。
跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V温度转换命令,适用于单个DS18B20工作。
告警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应。
温度转换44H启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果传入内部9字节RAM中。
读暂存器BEH读取内部RAM中9字节的内容。
写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,发送温度命令之后,传达两字节的数据。
复制暂存器48H将RAM中第3、4字内容复制到E2PROM中。
重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节。
读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”。
3.4液晶显示模块
3.4.1液晶显示模块电路
液晶显示模块凭借其低功耗和小尺寸,液晶显示模块显示内容丰富,模块化,简单的接口等诸多优点被广泛使用。
液晶显示模块通常分字符型和点阵型两种。
前者往往只能显示常用的字符,而点阵型液晶显示模块除了显示字符外还能显示出各种图形和汉字。
其外围电路如图3-5所示。
图3-5液晶显示屏与单片机的连接电路
3.4.2液晶显示屏简介
12864是一个4位/8位并行,2线或以多种方式3线串行接口,内部含有国标一级、二级简体中文字库的点阵图形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 串口 通信 数据 采集 系统 研究
![提示](https://static.bdocx.com/images/bang_tan.gif)