虚拟仪器课程设计报告_2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于labview的上位机与下位机之间的通信
一、虚拟仪器简介
虚拟仪器的构成必须包含三大要素:计算机、应用软件和仪器硬件。
虚拟仪器实质上是一种计算机仪器系统,它是由计算机、功能硬件模块和应用软件等部分组成。
图1.虚拟仪器系统的基本组成
1.虚拟仪器硬件平台的构成主要有两部分
(1)计算机。
它一般是一台计算机或者工作站,是硬件平台的核心。
(2) I/O接口设备。
I/O接口设备主要完成被测输入信号的采集、放大、模/数转换。
不同的总线形式都有其相应的I/O接口硬件设
备,如利用PC总线的数据采集卡/板(简称数采卡/板,DAQ)、
GPIB总线仪器、VXI总线仪器模块、串口总线仪器等。
虚拟仪器的
构成方式主要有5种类型,无论哪种VI系统,都通过应用软件将
仪器硬件与计算机相结合,其中,PC-DAQ测量系统是构成VI的最
基本的方式。
2.虚拟仪器的软件系统
目前的虚拟仪器软件开发工具有如下两类。
(1)文本式编程语言:如Virstual C++、Virstual Basic、
Labwindows/CVI等。
(2)图形化编程语言:如LabVIEW、HPVEE等。
虚拟仪器软件由两部分构成,即应用程序和I/O接口仪器驱动程序。
虚拟仪器的应用程序包含两方面功能的程序:实现虚拟面板功能的软件程序和定义测试功能的流程图软件程序。
I/O接口仪器驱动程序完成特定外部硬件设备的扩展、驱动与通信。
目前,最常用的虚拟仪器软件主要是美国NI公司开发的图形化编程语言LabVIEW。
LabVIEW是一种基于G语言(图形化编程语言)的虚拟仪器软件开发工具,它采用图标代替编程语言来创建应用程序,使用数据流编程方法来描述程序的执行。
LabVIEW环境下开发的程序称为虚拟仪器,由三个部分组成,即前面板、框图和图标/连接器。
现将虚拟仪器与传统仪器相比较特点如下表:
表1.虚拟仪器与传统仪器优缺点对比
对比可知,虚拟仪器之所以具有传统仪器不可能具备的特点,根本原因就在于虚拟仪器的核心是软件,软件决定了一台虚拟仪器的主要功能。
二、下位机
1.硬件
本次课程设计下位机使用单片机STC89C52控制流水灯,其硬件原理图如下:
图2.单片机控制流水灯原理图
2.软件
下位机软件设计流程图如下:
图3.下位机程序流程图
下位机程序清单如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义流水灯点亮顺序void delay(uint x) //延迟函数
{ uchar i;
while(x--)
for(i=0;i<120;i++);
}
void Port(char c) //定义单片机向串口输出数据子函数
{ SBUF=c;
while(TI==0);
TI=0;
}
void main(void)
{ SCON=0x40; //设置串口工作于方式1
TMOD=0x20; //设置定时器工作于方式2
PCON=0x00; //设置SMOD
TH1=0xe6; //设置波特率
TL1=0xe6;
TI=0; //允许向串口发送数据
TR1=1; //启动TI
while(1)
{ uchar i;
for(i=0;i<8;i++) //正向点亮流水灯并将流水灯状态发送至串口
{ P1=LED[i];
Port(LED[i]);
delay(3000);
}
for(i=7;i>0;i--) //反向点亮流水灯并将流水灯状态发送至串口
{ P1=LED[i];
Port(LED[i]);
delay(3000);
}
}
}
三、上位机labview处理
对于labview处理主要包括前后面板的设计,包括三部分:参数设置部分、命令控制部分及显示部分。
其中参数设置主要包括通讯口、波特率、数据位、校验位、停止位及接收周期的设置;命令控制主要包括启停数据接收、显示数据清空及退出运行等;显示界面主要包括接收数据显示、接收数据个数显示、当前下位机流水灯状态实时显示等。
前面板及程序框图设计如下:
图4.前面板
图5.程序框图
四、操作运行结果
将下位机程序下载到单片机并使用串口调试助手对数据通信进行检测,无误后对上位机进行设计,然后将下位机与上位机相连进行通信,其中上位
机波特率设置为1200、数据位设为8、无校验位、1位停止位。
运行结果如下:
图6.运行结果示意图
由图可知,上位机正确接收了下位机数据并能实时反映模拟下位机状态,实现了上位机与下位机之间的通信。
五、参考文献
1.虚拟仪器实验指导书,彭倩编.西安科技大学出版社.
2.杨乐平,李海涛,赵勇等.LabVIEW高级程序设计.北京:清华大学出版社,200
3.
3.王磊,陶梅.精通LabVIEW8.0.北京:电子工业出版社,2007.。