1、 虚拟仪器课程设计报告虚拟仪器课程设计报告 基于基于 labviewlabview 的上位机与下位机之间的通信的上位机与下位机之间的通信 一、虚拟仪器简介一、虚拟仪器简介 虚拟仪器的构成必须包含三大要素:计算机、应用软件和仪器硬件。 虚拟仪器实质上是一种计算机仪器系统,它是由计算机、功能硬件模 块和应用软件等部分组成。 图 1.虚拟仪器系统的基本组成 1. 虚拟仪器硬件平台的构成主要有两部分 (1) 计算机。它一般是一台计算机或者工作站,是硬件平台的核心。 (2) I/O 接口设备。I/O 接口设备主要完成被测输入信号的采集、放大、 模/数转换。不同的总线形式都有其相应的 I/O 接口硬件设备
2、,如 利用 PC 总线的数据采集卡/板(简称数采卡/板,DAQ)、GPIB 总 线仪器、VXI 总线仪器模块、串口总线仪器等。虚拟仪器的构成方 式主要有 5 种类型,无论哪种 VI 系统,都通过应用软件将仪器硬 件与计算机相结合,其中,PC-DAQ 测量系统是构成 VI 的最基本的 方式。 2. 虚拟仪器的软件系统 目前的虚拟仪器软件开发工具有如下两类。 1 (1) 文本式编程语言:如 Virstual C+、Virstual Basic、 Labwindows/CVI 等。 (2) 图形化编程语言:如 LabVIEW、HPVEE 等。 虚拟仪器软件由两部分构成, 即应用程序和 I/O 接口仪
3、器驱动程序。 虚拟仪器的应用程序包含两方面功能的程序:实现虚拟面板功能的软件 程序和定义测试功能的流程图软件程序。I/O 接口仪器驱动程序完成特 定外部硬件设备的扩展、驱动与通信。目前,最常用的虚拟仪器软件主 要是美国 NI 公司开发的图形化编程语言 LabVIEW。 LabVIEW 是一种基于 G 语言(图形化编程语言)的虚拟仪器软件开 发工具,它采用图标代替编程语言来创建应用程序,使用数据流编程方 法来描述程序的执行。LabVIEW 环境下开发的程序称为虚拟仪器,由三 个部分组成,即前面板、框图和图标/连接器。 现将虚拟仪器与传统仪器相比较特点如下表: 表 1.虚拟仪器与传统仪器优缺点对比
4、 项目项目 传统仪器传统仪器 虚拟仪器虚拟仪器 功能 由仪器厂商定义 由用户自己定义 与其它仪器设备的连接 十分有限 可方便的与网络外设及多种仪 器连接 图形界面、读取数据 图形界面小、人工读取 界面图形化、计算机直接读取 数据处理 无法编辑 数据可编辑、存储、打印 核心技术 硬件 软件 价格 昂贵 相对低廉 开放性 系统封闭、功能固定、可 扩展性差 基于计算机技术开放的功能模 块可构成多种仪器 技术更新 技术更新慢 技术更新快 开发和维护 开发和维护费用高 基于软件技术的结构可大大节 省开发费用 对比可知,虚拟仪器之所以具有传统仪器不可能具备的特点,根本原因就 在于虚拟仪器的核心是软件,软件
5、决定了一台虚拟仪器的主要功能。 二、下位机二、下位机 1.1.硬件硬件 2 本次课程设计下位机使用单片机 STC89C52 控制流水灯, 其硬件原理图如下: 图 2.单片机控制流水灯原理图 2.2.软件软件 下位机软件设计流程图如下: 图 3.下位机程序流程图 下位机程序清单如下: #include #define uchar unsigned char #define uint unsigned int 3 uchar code LED=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /定义流水灯点亮顺 序 void delay(uint x) /延迟函数
6、uchar i; while(x-) for(i=0;i120;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;i0;i-) /反向点亮流水灯并将流水灯状态发送至串 口 P1=LEDi; Port(LEDi); delay(3000); 三、上位机三、上位机 labviewlabview 处理处理 对于 labv