最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于Labview的串口通信软件设计

来源:动视网 责编:小OO 时间:2025-09-29 17:18:39
文档

基于Labview的串口通信软件设计

编号:《虚拟仪器》课程考核论文基于labview的串口通信软件设计论文作者姓名:XXX作者学号:所在学院:物理与电子学院所学专业:测控技术与仪器导师姓名职称:高伟论文完成时间:2014.12.30基于labview的串口通信软件设计金鹏举(河南大学2011级测控专业)摘要:串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。本文在深入介绍串口通信技术的基础上,结合自身的工程实践经验,阐述了labview串口编程的技术要点,设计一个适用范围较广、实用性较强的串口通信助手。关键词:串行通信
推荐度:
导读编号:《虚拟仪器》课程考核论文基于labview的串口通信软件设计论文作者姓名:XXX作者学号:所在学院:物理与电子学院所学专业:测控技术与仪器导师姓名职称:高伟论文完成时间:2014.12.30基于labview的串口通信软件设计金鹏举(河南大学2011级测控专业)摘要:串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。本文在深入介绍串口通信技术的基础上,结合自身的工程实践经验,阐述了labview串口编程的技术要点,设计一个适用范围较广、实用性较强的串口通信助手。关键词:串行通信
编号:

《虚拟仪器》课程考核论文

    基于labview的串口通信软件设计

论文作者姓名:         XXX         

作 者 学  号:                     

所 在 学  院:    物理与电子学院    

所  学 专 业:    测控技术与仪器    

导师姓名职称:         高伟         

论文完成时间:      2014.12.30      

基于labview的串口通信软件设计

金鹏举(河南大学2011级测控专业)

摘要:串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。本文在深入介绍串口通信技术的基础上,结合自身的工程实践经验,阐述了 labview 串口编程的技术要点,设计一个适用范围较广、实用性较强的串口通信助手。

关键词:串行通信,RS-232,labview,串口

Abstract: a serial port communication because of its simple, flexible and easy to use, has a broad application prospect in many fields.In this paper, based on in-depth introduction of serial port communication technology, combined with its own engineering practice experience, this paper expounds the main technical points of the labview serial port programming, design a wide application scope, practical serial port communication assistant.

Keywords: serial communications, RS - 232, labview,  serial port

1.课题研究背景

随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与计算机之间,也包括计算机和外部设备之间、计算机与单片机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现计算机和外部设备之间、单片机与单片机、计算机与单片机之间通信的关键。

2.串口通信的原理

 串口通信的硬件投资少,软件编程简单 ,在低速少量数据传输方面的应用极其广泛的应用。尤其使用较多的是RS-485通信协议,因为RS-485的差分电压传输方式能有效的抑制共模干扰,传输距离能达到几百米。

串口通信的本质就是两个CPU以规定的通信协议进行数据交换。目前常用的串口协议有RS232通信协议和RS485通信协议。RS232和RS485规定的通信协议是相同的,只是物理层规定的电平不一样。而RS232属于全双工串行异步通信协议,RS485属于半双工串行异步通信协议。

在异步通行中有两个比较重要的指标:数据帧格式和波特率。所以串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验。

波特率:是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。 

RS232规定的数据帧格式为:1位起始位 + 5 – 8位的数据位 + 可选奇偶校验位 + 1 – 2位的停止位。

起始位:当通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个数据时,先发送一个逻辑“0”信号,这个低电平就是起始位,起始位通过通信线传向接收设备,接收端检测到这个低电平后,就确认开始接收数据了。起始位的作用是使通信双方在传送数据前协调同步。 

数据位:是衡量通信中实际数据位的参数,当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7或8位,如何设置取决于要传送的信息。每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位,由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 

停止位:用于表示单个包的最后一位。典型的值为1、1.5和2位,它是一个数据的结束标志,接收端接收到停止位后,通信线路上会回复逻辑“1”的状态,知道下一个起始位的到来。 

奇偶校验位:在串行通信中一种简单的检错方式,可以选择不采用。常用的有两种校验方式:奇校验和偶校验。对于奇校验,串口会自动设置校验位的高低电平,从而使数据帧中逻辑1出现的个数为奇数。相应的,对于偶校验,串口会自动设置校验位的高低电平,从而使数据帧中逻辑1出现的个数位偶数。

3.软件设计

3.1     软件平台labview

LabVIEW ( Laboratory Virtual Instrument Engineering)是一种基于图形开发、 调试和运行程序的集成化环境, 实现了虚拟仪器的概念,LabVIEW程序称为虚拟仪器程序. 采用图形化的程序语言 ( G语言 )。这种语言不必写程序代码, 看到的是直观明了的流程图语言, 所以编程非常方便。该语言提供了大量的常用控件, 如旋钮、 开关、 按钮、 图形显示等, 可直接使用, 不像 Delphi等高级语言实现一个旋钮需要几十行代码, 因此, Lab VIEW 大大地缩短了软件的研发周期。LabVIEW 能与多种语言通用, 如Matlab , C等, 例如将 Matlab脚本嵌入到 LabVIEW程序, 保证了一些 LabVIEW 所不具备的功能得以实现, 如小波分析、 神经网络等。此外, 通过加亮执行、 单步、 断点和探针帮助用户跟踪经过 VI的数据流, 使 Lab VIEW 的调试直观方便.

3.2 软件设计思路

在LabVIEW中实现串行通信的方式主要有利用VISA和使用ActiveX控件两种。

3.2.1 利用VISA实现串口通信

    虚拟仪器的软件系统框架包括三个部分:VISA库、仪器驱动程序、应用软件。VISA作为测试程序和数据传输总线的中间层,为应用程序和仪器总线的通信建立了通道[2]。VISAI/O库为应用程序的建立提供了一致的接口,因而应用程序不需要关心实际的数据传输介质是GPIB电缆还是串口线,可以认为在VISA库中包含了与各种接口进行连接所需的程序。VISA是应用于仪器编程的标准I/O应用程序接口(API),VISA本身并不具有仪器编程能力,VISA是调用低层驱动器的高层API[3]。使用时需要安装VISA驱动程序。

3.2.2 使用ActiveX控件实现串行通信

    ActiveX通常翻译为“微软倡导的网络化多媒体对象技术”,实际上它是一整套跨越编程语言的软件开发方法与规范。利用LabVIEW的ActiveX控件容器,可以调用第三方提供的ActiveX控件,从而使程序功能更加强大,节省程序开发时间[6]。

3.3 软件设计过程

本次设计利用VISA实现串口通信。

首先需要调用VISAConfigureSerialPort完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等,

如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISAWrite,如图3所示。接收数据使用VISARead,如图4所示。在接收数据之前需要使用VISABytesatSerialPort查询当前串口接收缓冲区中的数据字节数,如果VISARead要读取的字节数大于缓冲区中的数据字节数,VISARead操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

串行通信系统可分为以下 3个模块: 

( 1) 端口配置模块: 负责串口的开关、 端口的选择、 波特率、 数据位、 停止位、 校验位的选择等。

( 2) 数据发送模块: 负责实现发送数据的处理与数据的多种发送方式, 具有选择手动发送或自动发送、 选择发送数据的类型、 设置自动发送时间间隔、 读取要发送的文本、 清空发送区域等功能。

(3) 接收显示模块: 负责实现接收数据的处理与数据的多种显示方式, 具有自动接收和结束接收的功能, 能够保存接收的数据和清空显示区域。

程序框图如下:

    图1:串口通信程序框图

程序前面板设计如下:

3.4 程序调试

    由于条件,手中没有单片机,所以软件调试使用虚拟串口软件和之前用MFC写的串口调试助手。

1.首先打开虚拟串口,添加虚拟的串口COM1和COM2(虚拟串口添加的端口是相连的)

2.打开串口调试助手和VI程序分别设置为COM1(9600-N-8-1),COM2(9600-N-8-1)

4.设计总结

本次串口通信软件设计首先按照规定的要求实现了如下功能:

1.能与单片机进行RS-232串口通信,能发送和接收。

2.显示通信过程中发送和接收的数据。

3.波特率、数据位、校验位和停止位可调。

4.串口号可选择。

利用LabVIEW进行产品开发可以极大地提高

开发效率,本文介绍的LabVIEW串口编程,就是一个很好的证明。

将LabVIEW软件开发与串口通信结合设计开发数据采集系统和控制硬件设备,不仅能节约大量开发时间和减少硬件成本,还可以为今后的系统升级留有很大空间,同时还使得系统具有很好的可移植性。

参考文献:

[1] 李宇华.虚拟仪器开放平台LabVIEW介绍 [ J].计算机自动测量与控制, 1996, ( 3): 32- 45.

[2]KALKMANCJ.LabVIEW:A soft ware system for data scquisition,data analysis,and instrument control [J].Journal of Clinical Monitoring and Computing.2005,11(1):1387-1397.

[3]LEONW.IICounch.Digital & analog communication systems (7thEd.) [M].Macmillan : New York,2007,327-333.

[ 4] 杨乐平, 李海涛, 肖相少, 等. LabVIEW 程序设计与应用 [M]. 北京:电子工业出版社, 2001 .

[ 5] 畅国忠. 基于VISA的事件处理方法与实现 [ J]. 测控技术, 2000 , ( 9): 60- 76.

[ 6] 李刚,林凌. LabVIEW 易学易用的计算机图形化编程语言 [M]. 北京:北京航空航天大学出版社,2001.

[ 7] 周军伟. 基于虚拟仪器的超声检测的研究[D]. 西安理工大学 , 2005 

[ 8]李金霞,邱公伟.虚拟仪器及Labview概况[J].福建电脑,2002年第9期,14-15 

[ 9]李扬,郑莹娜,朱铮涛.图形化编程语言Labview环境及其开放性[J].计算机工程, 1999(25:4),63-65  

文档

基于Labview的串口通信软件设计

编号:《虚拟仪器》课程考核论文基于labview的串口通信软件设计论文作者姓名:XXX作者学号:所在学院:物理与电子学院所学专业:测控技术与仪器导师姓名职称:高伟论文完成时间:2014.12.30基于labview的串口通信软件设计金鹏举(河南大学2011级测控专业)摘要:串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。本文在深入介绍串口通信技术的基础上,结合自身的工程实践经验,阐述了labview串口编程的技术要点,设计一个适用范围较广、实用性较强的串口通信助手。关键词:串行通信
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top