教你如何使用Labview与单片机通信(串口)
使用LabVIEW进行串口通信

使用LabVIEW进行串口通信LabVIEW是一种流行的集成开发环境(IDE),用于编写和执行控制、测量和数据采集应用程序。
它可以非常方便地与硬件设备进行通信,其中包括通过串口进行通信。
本文将介绍如何使用LabVIEW进行串口通信。
一、LabVIEW介绍LabVIEW是一款图形化编程语言,以可视化编程为特点。
用户可以使用LabVIEW快速开发有效的控制和数据采集系统,而无需深入理解底层的编程语言。
二、串口通信原理串口是一种用于将数据传输到计算机或其他设备的接口。
在串口通信中,数据以字节的形式通过传输线路进行传输,其中利用的是一对称为TX和RX的引脚。
发送数据时,数据通过TX引脚发送到接收方;接收数据时,数据则通过RX引脚接收。
三、配置串口通信在LabVIEW中,可以使用VISA(Virtual Instrument Software Architecture)函数库来实现串口通信。
通过配置相关参数,可以指定通信的波特率、数据位数、校验位等。
首先,在LabVIEW中创建一个新的VI文件。
然后,在Front Panel界面中,双击空白处,打开Block Diagram界面。
在Block Diagram界面中,拖拽VISA Serial和VISA Close VIs到界面上。
接下来,双击VISA Serial VIs,打开参数设置面板。
在面板上,可以设置串口号、波特率、数据位数、校验位等。
根据具体需求进行配置。
四、数据的发送和接收在LabVIEW中,使用串口进行数据发送和接收非常简单。
可以使用VISA Write和VISA Read VIs来分别执行发送和接收操作。
在Block Diagram界面中,从VISA Serial VIs中拖拽VISA Write VI,将其连接到VISA Serial VIs和VISA Close VIs之间。
然后,从VISA Serial VIs中拖拽VISA Read VI,将其连接到VISA Write VI的右侧。
labview实现PC与单片机之间的串口通信

labview实现PC与单片机之间的串口通信使用Proteus 进行单片机仿真,仿真硬件连接,串口通信部分使用keil 与labview 编写程序,实现:PC 通过串行口将数字(00,01,02,03...,FF,十六进制)发送给单片机,单片机收到后回传这个数字,PC 接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。
启始符是数字00,结束符是数字FF。
实验中注意PC 的串口名compim 与VISA 资源名称要相同,compim 中的参数值要调对,最好不要用虚拟的串口。
keil 中的程序为:# pragma db code# include# define uchar unsigned charvoid rece(void);void init(void);uchar re[17];void main(void){uchar temp;init();do{while(RI==0);temp=SBUF;if(temp==0x00){rece();}elsebreak;}while(1);}void init(void){TMOD=0x20;//定时器1--方式2PCON=0x80;//电源控制SCON=0x50;//方式1TL1=0xF3;TH1=0xF3;//22.1184MHz 晶振,波特率为4800 0xf396000xfa19200 0xfdTR1=1;}void rece(void){chari;i=0;do{while(RI==0);re[i]=SBUF;RI=0;SBUF=re[i];while(TI==0);TI=0;i++;}while(re[i-1]!=255);}labview 的前面板跟程序框图以及Proteus 图为tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
labview如何进行串口通信——labview串口通信全方位了解(1)

串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。
论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。
首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。
1.串口扩展的问题:先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。
PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。
PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。
转接线和扩展卡一般是要装驱动的。
2.串口功能的确认:在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。
检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。
电脑上的串口软件一般是用串口调试助手,很出名的,也好用。
如下图所示:图1串口调试助手打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。
稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。
在LabVIEW中使用串口

第一部分使用LabVIEW系统VI一、串口VI介绍LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:VI名称 VI功能VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话VISA Set I/O Buffer Size 设置VISA resource name指定的串口的输入输出缓冲区大小VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区二、使用说明在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。
图1、串口操作数据流图首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。
图2、初始化串口如果初始化没有问题,就可以使用这个串口进行数据收发。
发送数据使用VISA Write,接收数据使用VISA Read。
在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。
Labview与C51单片机实现串口通信

Labview与C51单片机实现串口通信
Labview 串口通信学会两种方法,一种是利用visa(虚拟仪器软件构架),另一种是调用activeX 控件。
第一种方法(VISA)程序如图
首先,设置串口参数,串口初始化,循环内利用VISA WITE 实现对串口的写操作,延时200 毫秒,用VISA READ 实现读操作,中间有个端口属性节点的作用是计算端口的总的字节数。
非常简单,但我花了一天时间搞懂。
第二种方法调用active X 程序图如下所示
ACTIVE X 串口通信的最大优点是可以利用中断实现数据的传送或对下位机的控制,MSCOMM32 控件实现串口通信主要是通过对其属性节点的设置来实现的。
并利用到了事件回调方法实现中断程序。
tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
LabVIEW中的串口通信和硬件连接

LabVIEW中的串口通信和硬件连接概述:LabVIEW是一款功能强大的图形化编程软件,广泛用于各种科学实验和工程应用中。
本文将讨论LabVIEW中的串口通信和硬件连接,包括串口通信的原理、LabVIEW中串口通信的配置方法以及如何通过硬件连接实现串口通信。
一、串口通信原理串口通信是一种通过串行数据传输来实现设备之间通信的方式。
它将数据按照位的顺序逐位传输,并利用起始位、停止位、数据位和校验位等信息来保证数据的可靠传输。
常见的串口通信协议有RS232、RS485等。
二、LabVIEW中的串口通信配置在LabVIEW中,使用VISA(Virtual Instrument Software Architecture)库来实现串口通信。
下面是配置串口通信的步骤:1. 打开LabVIEW软件,创建一个新的VI(Virtual Instrument)。
2. 在VI中添加VISA组件,可在工具栏中选择"Functions",然后在弹出的菜单中选择"Measurement I/O",再选择"VISA"。
3. 在VISA组件中,选择"Configurations",然后点击鼠标右键,选择"Create New VISA Resource"。
4. 在弹出的对话框中,选择要使用的串口资源,如COM1。
点击"OK"完成串口资源的配置。
5. 在VISA组件中选择"VISA Resource Name",将刚才配置的串口资源名称输入。
6. 现在可以通过VISA组件的其他函数实现对串口的读写操作,如"VISA Read"和"VISA Write"。
三、通过硬件连接实现串口通信除了LabVIEW软件中的配置,还需要通过硬件连接来实现串口通信。
一般情况下,需要使用串口转USB转接器、串口线等硬件设备来连接计算机和目标设备。
labview,串口通信实现过程

Labview实现串口通信步骤1.在程序面板上添加VISA配置接口2.添加后,开启帮助文档的显示。
菜单的Help->showcontexthelp,如下图鼠标选择目标则会显示帮助框。
如下图所示。
3.创建相应的配置在程序面板中鼠标移动到对应的引脚上,点击鼠标右键->create->control,创建后,界面面板上会出现对应的控制框。
如下图所示,创建个VISAresourcename。
图-创建窗口选择控件前面板显示如下:图-前面板显示控件选择4依次创建,波特率、停止位、数据位等如下图所示。
5.创建个while循环,用于放置发送的程序鼠标移动到循环条件控制的引脚上,创建个control。
用于调试,不对条件处理,会报错。
6前面板放置个按钮,用于控制数据的发送7.创建个事件,用于响应发送按钮鼠标移动到timeout的位置,鼠标右键选择editevents…如下图所示。
操作上面后,出现如下界面:选择需要响应的控件,这里选择“okbutton”,选择鼠标按下。
点击ok后,事件的名称也变化了。
如下图所示。
如果鼠标点击按键,则会进入事件处理。
8创建VISA写函数9连接端口和写函数10添加个关闭函数11.创建字符串控件,传递给写函数,用于发送选中VISAWrite的writebuffer,右键create->control,12界面如下所示13.安装虚拟串口,提供一个下载地址用虚拟串口配置两个端口,配置好后,这两个串口之间是自动连接上,模拟硬件上两个串口对接上的。
如上图,指定好端口,点击Addpair。
14运行串口工具,提供一个下载地址15.运行串口工具,打开串口,运行VI,发送数据我的电脑配置的是COM12和COM13,vi选择COM12.运行VI,在writebuffer里面填写test,点击OK发送。
每点击一次,发送一次。
16.建立接收模块添加个while循环,创建while循环,用于接收。
在LabVIEW中使用串口

第一部分使用LabVIEW系统VI一、串口VI介绍LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:VI名称 VI功能VISA Configure Serial Port 初始化VISA resource name指定的串口通讯参数VISA Write 将输出缓冲区中的数据发送到VISA resource name指定的串口VISA Read 将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break 向VISA resource name指定的串口发送一个暂停信号VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close 结束与VISA resource name指定的串口资源之间的会话VISA Set I/O Buffer Size 设置VISA resource name指定的串口的输入输出缓冲区大小VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区二、使用说明在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。
图1、串口操作数据流图首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。
图2、初始化串口如果初始化没有问题,就可以使用这个串口进行数据收发。
发送数据使用VISA Write,接收数据使用VISA Read。
在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以 PC 作为上位机,以调制解调器(Modem)、串行打印机、各种监控模块、PLC、摄像 头云台、数控机床、单片机及智能设备等作为下位机广泛应用于测控领域。本章举几个典型 实例,详细介绍利用 LabVIEW 实现 PC 与各种下位机设备串口通信的程序设计方法。
在 RS-232 的应用中,很少严格按照 RS-232 标准。其主要原因是因为许多定义的信号在 大多数的应用中并没有用上。在许多应用中,例如 Modem,只用了 9 个信号(两条数据线、 6 条控制线、一条地线);在其他一些应用中,可能只需要 5 个信号(两条数据线、两条握手 线、一条地线);还有一些应用,可能只需要数据线,而不需要握手线,即只需要 3 个信号线。 因为在控制领域,在近距离通信时常采用 RS-232,所以这里只对近距离通信的线路连接进行 讨论。
13.1.3 任务实现
1.建立新VI程序
启动 NI LabVIEW 程序,选择新建(New)选项中的 VI 项,建立一个新 VI 程序。
2.程序前面板设计
在前面板设计区空白处单击鼠标右键,显示控件选板(Controls)。 (1)添加一个字符串输入控件:控件(Controls)→新式(Modern)→字符串与路径(String & Path)→字符串输入控件(String Control),将标签改为“发送区:”。 (2)添加一个字符串显示控件:控件(Controls)→新式(Modern)→字符串与路径(String & Path)→ 字符串显示控件(String Indicator),将标签改为“接收区:”。 (3)添加一个串口资源检测控件:控件(Controls)→新式(Modern)→ I/O →VISA 资 源名称(VISA resource name);单击控件箭头,选择串口号,如 COM1 或 ASRL1:。 (4)添加一个确定(OK)按钮控件:控件(Controls)→新式(Modern)→布尔(Boolean)→ 确定按钮(OK Butoon),将标题改为“发送字符”。 (5)添加一个停止(Stop)按钮控件:控件(Controls)→新式(Modern)→布尔(Boolean)→
出(VISA resource name out)与串口关闭(VISA Close)函数(上)的输入端口 VISA 资源名 称(VISA resource name)相连。
(13)在条件结构(下)中将串口读取(VISA Read)函数的输出端口 VISA 资源名称输 出与关闭串口函数 VISA Close(下)的输入端口 VISA 资源名称相连。
(14)将字符输入控件图标(标签为“发送区:”)拖入条件结构(上)的真(True)选项框 架中,将字符显示控件图标(标签为“接收区:”)拖入条件结构(下)的真(True)选项框架中。
(15)分别将确定(OK)按钮控件图标(标签为“确定按钮(OK Button)”)、停止(Stop) 按钮控件图标(标签为“停止按钮(Stop Button)”)拖入循环结构框架中。
PC机A
PC机B
串口线
COM1
图 13-2 PC 与 PC 串口通信线路
在计算机通电前,按图 13-2 所示将两台 PC 的 COM1 口用串口线连接起来。
连接串口线时,计算机严禁通电,否则极易烧毁串口。
13.1.2 设计任务
利用 LabVIEW 编写程序实现 PC 与 PC 串口通信。 任务要求如下。 两台计算机互发字符并自动接收,如一台计算机输入字符串“收到信息请回字符 abc123”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“收到,abc123”, 单击“发送字符”命令,信息返回到第一组的计算机。 实际上就是编写一个简单的双机聊天程序。
及其布置如图 13-4 所示。
详细步骤介绍如下。
(1)添加一个配置串口函数:编程(Programming)→
图 13-3 程序前面板
仪器 I/O(Instrument I/O)→串口(Serial)→VISA 配置串口(VISA Configure Serial Port)。
图 13-4 框图程序函数添加与布置
(4)将确定按钮图标“OK Button”与条件结构(上)的选择端子?相连。 (5)将串口字节数(VISA Bytes at Serial Port)函数的输出端口 Number of bytes at Serial port 与不等于?(Not Equal ?)函数的输入端口 x 相连。 将串口字节数(VISA Bytes at Serial Port)函数的输出端口 Number of bytes at Serial port 与串口读取(VISA Read)函数的输入端口字节总数(byte count)相连。 (6)将数值常量(值为 0)与不等于?(Not Equal ?)函数的输入端口 y 相连。 (7)将不等于?(Not Equal ?)函数的输出端口 x != y? 与条件结构(下)的选择端子?相连。 (8)在条件结构(上)中将字符输入控件图标(标签为“发送区:”)与串口写入(VISA
4.框图程序设计——连线 使用连线工具,将所有函数连接起来,如图 13-5 所示。
图 13-5 框图程序连线
(1)将 VISA 资源名称(VISA resource name)函数的输出端口分别与串口配置(VISA Configure Serial Port)函数、串口字节数(VISA Bytes at Serial Port)函数、串口写入(VISA Write) 函数、串口读取(VISA Read)函数的输入端口 VISA 资源名称(VISA resource name)相连。
(2)将数值常量 9600、8、0、1 分别与串口配置(VISA Configure Serial Port)函数的输 入端口波特率(baud rate)、数据比特(data bits)、奇偶(parity)、停止位(stop bits)相连。
(3)将数值常量(值为 500)与等待下一个整数倍毫秒(Wait Until Next ms Multiple)函 数的输入端口毫秒倍数(millisecond multiple)相连。
(2)添加 4 个数值常量:编程(Programming)→数值(Numeric)→ 数值常量(数值常量 (Numeric Constant),值分别为 9600(波特率)、8(数据位)、0(校验位,无)、1(停止位)。
(3)添加两个关闭串口函数:编程(Programming)→仪器 I/O(Instrument I/O)→串口 (Serial)→VISA 关闭(VISA Close)。
(4)添加一个循环结构:编程(Programming)→结构(Structures)→ While 循环(While Loop)。添加理由:随时监测串口接收缓冲区的数据。
以下添加的函数或结构放置在 While 循环结构框架中。 (5)添加一个时钟函数:编程(Programming)→ 定时(Timing)→ 等待下一个整数倍 毫秒(Wait Until Next ms Multiple)。添加理由:以一定的周期监测串口接收缓冲区的数据。 (6)添加一个数值常量:编程(Programming)→数值(Numeric)→ 数值常量(Numeric Constant),将值改为 500(时钟频率值)。 (7)添加一个 VISA 串口字节数函数:编程(Programming)→仪器 I/O(Instrument I/O)→ 串口(Serial)→ VISA 串口字节数(VISA Bytes at Serial Port),标签为“Property Node”。 (8)添加一个数值常量:编程(Programming)→数值(Numeric)→数值常量(Numeric Constant),将值为 0(比较值)。 (9)添加一个比较函数:编程(Programming)→ 比较(Comparison)→ 不等于?(Not Equal ?)。添加理由:只有当串口接收缓冲区的数据个数不等于 0 时,才将数据读入到接收区。 (10)添加一个布尔函数:编程(Programming)→布尔(Boolean)→非(Not)函数。 添加理由:当关闭程序时,将关闭按钮真(True)变为假(False),退出循环。如果将循
5 43 2 1 9876
5 43 2 1 9876
图 13-1 串口通信线的制作
第 13 章 LabVIEW 串口通信程序设计
图 13-2 所示中的 2 号接收脚与 3 号发送脚交叉连接是因为在直连方式时,把通信双方都 当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请 求发送 RTS 有效和数据终端准备好 DTR 有效就能开始发送和接收。
13.1 PC与PC串口通信
当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需三根线 (发送线、接收线、信号地线)便可实现全双工异步串行通信。
本设计通过两台 PC 串口三线连接,介绍了串口通信的基本编程方法。
13.1.1 PC与PC串口通信硬件线路
当两台 RS-232 串口设备通信距离较近时(<15m),可以用电缆线直接将两台设备的 RS-232 端口连接;若通信距离较远(>15m)时,需附加调制解调器(Modem)。
当通信距离较近时,通信双方不需要 Modem,可以直接连接,这种情况下,只需使用少 数几根信号线。最简单的情况,在通信中根本不需要 RS-232C 的控制联络信号,只需三根线 (发送线、接收线、信号地线)便可实现全双工异步串行通信。
在实际使用中常使用串口通信线将两个串口设备连接起来。串口线的制作方法非常简 单:准备两个 9 针的串口接线端子(因为计算机上的串口为公头,因此连接线为母头),准备 3 根导线(最好采用 3 芯屏蔽线),按图 13-1 所示将导线焊接到接线端子上。
(12)添加一个串口写入函数:编程(Programming)→仪器 I/O(Instrument I/O)→串 口(Serial)→VISA 写入(VISA Write),并拖入条件结构(上)的真(True)选项框架中。