labVIEW与单片机实现串口通信的设计过程

1.概述

在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、PLC等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种高级语言,比如VB、Delphi等以及NI公司的图形化虚拟仪器软件开发环境LabVIEW.由于LabVIEW采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今LabVIEW已经渗透到工业测量的各个领域,与此同时在嵌入式、FPGA、DSP、实时控制等领域也发挥着巨大的作用。

2.本实例实现的功能

首先利用单片机STC89C54通过串口发送“你好,LabVIEW”,LabVIEW将单片机发送到数据进行显示。通过这个实例来了解LabVIEW的串口通信设计。

3.下位机硬件设计与软件设计

(1)硬件设计

单片机串口通信硬件电路设计比较简单,主要包括单片机STC89C54最小系统以及MAX232和九针串口。

(2)软件设计

设计源码如下:

#include《reg52.h》

#define uchar unsigned char

#define uint unsigned int

void SendStr(unsigned char *s);//发送

字符串

void DelayMs(uint xms)//延时子函数

{

uint i,j;

for(i=xms;i》0;i-)

for(j=110;j》0;j-);

}

void InitUART(void) //串口初始化

{

SCON=0&TImes;50; //SCON:模式

1,8-bitUART,使能接收

TMOD|=0&TImes;20; //TMOD:TImer 1,mode

2,8-bit重装

TH1=0xFD; // TH1:重装值9600波

特率 晶振11.0592MHz

TR1=1; //TR1:TImer 1打开

EA=1; //打开总中断

}

void main(void)

{

InitUART();

while(1)

{

SendStr(“你好!LabVIEW!”);

DelayMs(240);

DelayMs(240);

}

}

void SendByte(unsigned char dat)

{

SBUF=dat;

while(!TI);

TI=0;

}

void SendStr(unsigned char *s)

{

while(*s!=‘\0‘)//\0表示字符串结束

标志,//通过检测是否字符串末尾

{

SendByte(*s);

s++;

}

4.上位机LabVIEW前面板与程序框图

(1)相关函数介绍

在做LabVIEW串口通信的时候首先要安装VISA驱动,驱动可以从网上下载。LabVIEW对串口的操作主要是读操作和写操作。本实例主要是接受数据,也就是读操作,在这里首先介绍一下与此实例相关控件和函数。

①VISA资源名称

在“新式”控件选项卡下“I/O”子选项卡下有“VISA资源名称”控件。安装好VISA驱动后,与硬件连接好后,该控件下可以列出相应的COM口,可以选择合适的COM口。

②VISA配置串口函数

该函数位于函数选项卡下的“仪器I/O”

子选项卡下,主要用来对串口进行参数配置,包括波特率、数据比特、奇偶校验等。

③VISA读取和VISA关闭函数

VISA读取函数的功能是从VISA资源名称所指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。VISA关闭函数的功能是关闭VISA资源名称指定的设备会话句柄或事件对象。

(2)程序框图设计

程序框图设计如图1所示。

单片机控制系统中labVIEW与单片机实现串口通信的设计过程

5.测试

将硬件连接好后,上电,下载程序,运行labVIEW,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!LavVIEW”。如图2所示。

单片机控制系统中labVIEW与单片机实现串口通信的设计过程

6.总结

利用LabVIEW进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。

  • 17
    点赞
  • 226
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LabVIEW单片机之间的串口通信可以通过以下步骤实现: 1. 在LabVIEW中,使用VISA(Virtual Instrument Software Architecture)控制面板来配置串口参数。打开LabVIEW,选择"Tools"(工具)菜单,然后选择"Measurement & Automation Explorer"(测量与自动化资源管理器)。 2. 在Measurement & Automation Explorer中,展开"VISA",然后选择"Serial & Parallel"(串口和并口)。 3. 在右侧的窗口中,选择要使用的串口。右键单击该串口,选择"Properties"(属性)。 4. 在属性窗口中,配置串口参数,例如波特率、数据位数、校验位、停止位等。确保将这些参数与单片机的串口设置相匹配。 5. 在LabVIEW中,使用VISA函数进行串口通信。可以使用"VISA Open"函数来打开串口连接,并使用"VISA Read"和"VISA Write"函数来读取和写入数据。 6. 在单片机的代码中,使用相应的串口库函数来进行串口通信。根据单片机的型号和开发环境不同,具体的串口库函数可能会有所不同。通常可以使用类似于"Serial.begin()"、"Serial.read()"和"Serial.write()"等函数来实现串口通信。 需要注意的是,LabVIEW单片机之间的串口通信需要确保串口参数、波特率等设置相匹配,并且读写数据的格式也需要一致。另外,LabVIEW中的VISA函数和单片机的串口库函数的编程语法和用法可能会有所差异,需要根据具体的开发环境和文档进行相应的调整和学习。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值