欢迎来到天天文库
浏览记录
ID:27902887
大小:101.00 KB
页数:6页
时间:2018-12-06
《基于labVIEW与单片机的上位机与下位机通信.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于labVIEW与单片机的上位机与下位机通信 在单片机控制系统中,经常会涉及到上位机与下位机的通信。本文主要通过一个简单的实例来介绍labVIEW与单片机的串口通信实现过程,包括下位机单片机的硬件与软件设计,上位机LabVIEW的前面板和程序框图设计。1.概述 在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式。下位机主要是用来采集数据,可以通过嵌入式控制器、单片机控制器、PLC等来实现。上位机主要是图形界面,用来实时显示采集数据,并进行数据分析及处理,同时可以控制下位机。上位机的实现可以通过各种高级语言,比如VB、Delphi等以及NI公司的图形化虚拟
2、仪器软件开发环境LabVIEW.由于LabVIEW采用的是图形化的编程方法,所以无论你是否有过编程经验,都可以快速、高效地设计用户界面,实现与控制硬件的通信,并进行数据分析和处理。如今LabVIEW已经渗透到工业测量的各个领域,与此同时在嵌入式、FPGA、DSP、实时控制等领域也发挥着巨大的作用。2.本实例实现的功能 首先利用单片机STC89C54通过串口发送“你好,LabVIEW”,LabVIEW将单片机发送到数据进行显示。通过这个实例来了解LabVIEW的串口通信设计。3.下位机硬件设计与软件设计 (1)硬件设计 单片机串口通信硬件电路设计比较简单,主要包括单
3、片机STC89C54最小系统以及MAX232和九针串口。 (2)软件设计 设计源码如下: #include #defineucharunsignedchar #defineuintunsignedint voidSendStr(unsignedchar*s);//发送 字符串 voidDelayMs(uintxms)//延时子函数 { uinti,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); } voidInitUART(void)//串口初始化 { SCON=0×50;//SCON:模式
4、1,8-bitUART,使能接收 TMOD
5、=0×20;//TMOD:timer1,mode 2,8-bit重装 TH1=0xFD;//TH1:重装值9600波 特率晶振11.0592MHz TR1=1;//TR1:timer1打开 EA=1;//打开总中断 } voidmain(void) { InitUART(); while(1) { SendStr(“你好!LabVIEW!”); DelayMs(240); DelayMs(240); } } voidSendByte(unsignedchardat) { SBUF=dat
6、; while(!TI); TI=0; } voidSendStr(unsignedchar*s) { while(*s!=‘ ‘)// 表示字符串结束 标志,//通过检测是否字符串末尾 { SendByte(*s); s++; }4.上位机LabVIEW前面板与程序框图 (1)相关函数介绍 在做LabVIEW串口通信的时候首先要安装VISA驱动,驱动可以从网上下载。LabVIEW对串口的操作主要是读操作和写操作。本实例主要是接受数据,也就是读操作,在这里首先介绍一下与此实例相关控件和函数。 ①VISA资源名称 在“新式”控件选项卡下“
7、I/O”子选项卡下有“VISA资源名称”控件。安装好VISA驱动后,与硬件连接好后,该控件下可以列出相应的COM口,可以选择合适的COM口。 ②VISA配置串口函数 该函数位于函数选项卡下的“仪器I/O” 子选项卡下,主要用来对串口进行参数配置,包括波特率、数据比特、奇偶校验等。 ③VISA读取和VISA关闭函数 VISA读取函数的功能是从VISA资源名称所指定的设备或接口中读取指定数量的字节,并将数据返回至读取缓冲区。VISA关闭函数的功能是关闭VISA资源名称指定的设备会话句柄或事件对象。 (2)程序框图设计 程序框图设计如图1所示。 5.测试 将
8、硬件连接好后,上电,下载程序,运行labVIEW,我们可以看到在读取缓冲区里接收到了单片机发送来的字符串“你好!LavVIEW”.如图2所示。 6.总结 利用LabVIEW进行上位机设计,其界面美观,实现起来较容易,可以很方便的运用于各种测量监控系统中。
此文档下载收益归作者所有