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所示。
5.测试
将硬件连接好后,上电,下载程序,运行labVIEW,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!LavVIEW”。如图2所示。
6.总结
利用LabVIEW进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。
参考:labVIEW与单片机实现串口通信的设计过程
labVIEW与单片机实现串口通信的设计过程相关推荐
- Labview与单片机进行串口通信
Labview与单片机进行串口通信 做毕业设计时,遇到需要使用Labview作上位机与单片机进行串口通信的情况,在这里与大家分享开发的过程. 一.简介 这里使用基于Labview设计的程序作为上位机, ...
- arm linux串口控制led,通信程序设计 - Linux下ARM和单片机的串口通信设计
3 通信程序设计 ARM 与单片机的串口通信程序包括两方面: 一方面是作为上位机的ARM 的串口通信程序,另一方面是作为下位机的单片机的串口通信程序.在通信之前必须制定合理的通信协议以保证通信的可靠性 ...
- 51单片机stc15w204s串口通信发数据接收数据串口中断发中文字符串完美运行软件延时发送一字节函数全注释
这里写自定义目录标题 KEIL自己先调试通了然后再说下面的事 51单片机stc15w204s串口通信直接上文件 KEIL自己先调试通了然后再说下面的自己看看就可 KEIL自己先调试通了然后再说下面的事 ...
- 51单片机之串口通信
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.串口介绍 二.电路 三.寄存器 四.串口通信操作流程 前言 2022.9.14的学习记录.` 一.串口介绍 串口是 ...
- MATLAB与51单片机进行串口通信详解
目录 一.51单片机与电脑进行串口通信 二.MATLAB串口通信函数 三.串口属性 四.示例Demo 4.1 MATLAB接收单片机发来的数据 4.2 MATLAB向单片机发送数据控制LED 五.总结 ...
- 22.从零开始开发QT软件思路(单片机的串口通信)-- OpenCV从零开始到图像(人脸 + 物体)识别系列
本文作者:小嗷 微信公众号:aoxiaoji 吹比QQ群:736854977 链接:https://mp.weixin.qq.com/s?__biz=MzU1MTgxNjQyMg==&temp ...
- Proteus仿真stm32和51单片机,串口通信调试过程记录
前言 本文所用Proteus版本为8.10,主要内容为在Proteus中仿真stm32和51单片机进行串口通信,记录了仿真过程中遇到的问题和解决办法. 这里要注意的是,在Proteus中 ...
- 单片机_串口通信知识详解
单片机_串口通信详解 楼主在实际的项目开发过程中,特别是用一些比较常见的传感器,使用最多的通信方式可能就是串口通信了,特别是UART(通用异步收发器),线少,虽然传输速度没有并行传输高,但是 ...
- ARM内核单片机的串口通信(UART)使用(数据的收发)
ARM内核单片机的串口通信(UART)使用 进入正题: 首先,要明白使用UART进行通信,无论收发数据,传输的都是16进制.而中文.英文.标点符号其本质都是16进制,只是一个中文需要用两个字节表示,一 ...
最新文章
- django 链接地址匹配流程
- cmd android list,android cmd 下命令行
- 一看就会——蓝桥杯 试题 基础练习 完美的代价——贪心法,21行代码AC
- Matlab常见问题处理——错误使用 xlswrite (line 219),调用错误,调度异常: 参数错误。
- 多平台移动项目开发工具Elements发布v9.1,支持Visual Studio 2017
- AutoCAD 2019 汉化包
- Qt 利用海康摄像头的ISAPI协议进行抓图等操作
- 计算机专业sci二区论文难吗,二区SCI论文要求比国内核心高吗
- java验证13位数书号_ISBN(国际标准书号)的校验
- ecshop dwt替换为html,修改ecshop模板中lbi和dwt文件需知
- 标准成本和实际成本的比较
- git restore 和 git restore --staged 的区别
- mysql分组取最新
- 归一化相关 matlab,matlab – 归一化互相关的基础知识
- Linux内核配置(9)
- Opcodes 说明
- 只需一键录音转文字,会议记录让你不在烦恼
- DC或者ICC工具check_library报错最直接简单解决方法
- 『津津乐道播客』#065. 为什么受伤的总是技术人?
- 面向无人机的自主导航与避障
热门文章
- LCS最长公共子序列和LIS最长上升子序列——例题剖析
- K - Anton and Lines CodeForces - 593B
- 任铄 计算机操作系统,计算机组成与体系结构-CSDN.PDF
- python一个字母红了_Python练习:最后一个字母/第一个字母
- JavaWeb学习笔记(十)--HttpServletRequest
- [UOJ55]紫荆花之恋
- (二)pycharm上创建虚拟环境--virtualenv
- 正在通过iTunes Store 进行鉴定
- centos7 安装jdk7
- 京东到家甩包袱给达达 路走错了合并也没