专业技能实训报告
题目(宋体三号,居中)
学院(全称,宋体三号,居中)
专业(全称,宋体三号,居中)
班级(宋体三号,居中)
学生(宋体三号,居中)
学号(宋体三号,居中)
指导教师(宋体三号,居中)
二?一 年 月 日(宋体三号,居中)
基于LabVIEW的数据采集系统的设计与实现
[摘要]:利用图形化编程工具LabVIEW和EDA工具Proteus设计了一个温度数据采集仿真系统。该系统中上位机与下位机通过虚拟串口进行通信,下位机将采集到的现场数据传送到上位机后,上位机即可显示并判断是否超限报警。设计表明,基于该两种软件建立一个仿真系统可以有效验证项目设计的正确性,从而缩短项目开发时间,降低项目开发成本。
[关键词]:LabVIEW;Proteus;单片机;数据采集;仿真
目 录
1前言............................................................................................................................ 3
1.1 LabVIEW简介................................................................................................. 3
1.2 LabVIEW的开发环境..................................................................................... 3
1.3 Proteus简介................................................................................................. 3
1.4 VISA 简介...................................................................................................... 4
2 数据采集系统的设计方案....................................................................................... 4
2.1 数据采集系统设计方案概述........................................................................ 4
2.2 数据采集系统设计方案论证........................................................................ 7
2.3 单片机程序流图............................................................................................ 7
3 数据采集系统的设计与实现................................................................................... 8
3.1 基于LabVIEW的上位机虚拟仪器界面设计................................................ 8
3.2 基于Proteus的下位机单片机系统设计.................................................... 9
3.3 联调演示........................................................................................................ 9
4 总结......................................................................................................................... 12
参考文献..................................................................................................................... 12
附录............................................................................................................................. 13
1 前言
1.1 LabVIEW简介
LabVIEW是目前较为成功、应用广泛的虚拟仪器软件开发环境,LabVIEW[1](Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工作平台)是NI公司在1986年首次推出的,最新版本为LabVIEW8.6。它是一个高效的图形化程序设计环境,结合了简单易用的图形式开发环境与灵活强大的G编程语言;提供了一个直觉式的环境,与测量紧密结合,在这个平台上,各种领域的专业工程师和科学家们通过定义和连接代表各种功能模块的图标来方便迅速地建立高水平的应用程序;支持多种系统平台,在任何一个平台上开发的LabVIEW应用程序可直接移植到其它平台上。
实验室虚拟仪器开发平台的简称LabVIEW,是一种业界领先的工业标准图形化编程工具,它是专门为工程师和科学家而设计的直观图形化编程语言。它将软件和各种不同的测量仪器硬件及计算机集成在一起,建立虚拟仪器系统,形成用户自定义的解决方案,成为专门数据采集与仪器控制,数据分析和数据表达而设计的图形化编程软件,使创建的程序模块化,易于调试,理解和维护,而且程序编程简单、直观,因此特别适用于数据采集处理系统。
1.2 LabVIEW的开发环境
LabVIEW的开发环境分为三部分:前面板(panel)、框图程序(Diagram Programme)和图标/连接端口(Icol/rerminal)。前面板就是图形化用户界面,用于设置输入数值和输出观察量。在前面板中,输入量被称为控制(Control),输出量被称为指示(Indicator),他们通过各种图标如按钮、旋钮、开关、图标等出现在前面板上,模拟真实仪器。框图程序由节点(Node)和数据连线(Wire)组成,它利用图形语言对前面板上的控制对象即输入量和输出量进行控制,节点用来实现函数和功能调用,数据连线表示程序执行过程中的数据流,它定义了程序框图内的数据流向。图标/连接端口用于把LabVIEW程序定义为一个子程序,从而实现模块化编程,图标是子程序在其他程序框图中被调用的节点表示形式,连接端口则表示节点数据的输入、输出口。
LabVIEW具有3个可移动的图形化工具模板:工具模板(Tool Palette)、控件模板(Controls Palette)和功能模板(Function Palette)。工具模板提供了用于图形操作的各种工具,比如定位、标注、断电、连线、文字注释等;控件模板提供了前面编辑所需要的图像图标、一些特殊的图形;功能模板则提供了一些基本的数学函数和其他功能函数。这三个模板是LabVIEW编程的主要工具。
1.3 Proteus简介
Proteus[2]是由英国LabcenterElectronics公司开发的EDA工具软件,是目前世界上较先进完整的嵌入式系统设计和仿真平台。Proteus与其他单片机仿真软件不同,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。可以直接在基于原理图的虚拟原型上编程,并实现软件源码级得实时调试,实时观察运行效果,真正实现了在没有目标原型时就可对系统进行调试、测试和验证,因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。这种仿真是将实验和实际工程应用练习在一起,因而大大提高了企业的开发效率,降低了开发风险。
1.4 VISA 简介
NI-VISA(Virtual Instrument Software Architecture,以下简称为"VISA")是美国国家仪器NI(National1nstrLlrnent)公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。VISA软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。VISA是虚拟仪器系统I/O接口软件。基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集。一方面,对初学者或是简单任务的设计者来说, VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。
1.5 LabVIEW及其调用VISA的条件
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序编制简单、直观。一个LabVIEW程序分为3部分:前面板、框图程序和图标/接线端口。前面板用于模拟真实仪器的前面板;框图程序是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标/接线端口用于把LabVlEW程序定义成一个子程序,从而实现模块化编程。当进行USB通信时,VISA提供了两类函数供LabVIEW调用,USBINSTR设备与USB RAW设备。USBINSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。
(1)配置NI-VISA的步骤:
1)使用Driver Development wizard(驱动程序开发向导)创建INF文档。
2)安装INF文档,并安装使用INF文档的USB设备。
3)使用NI-VISA Interaction Control(NI-VISA互动控制工具)对设备进行测试,以证实USB设备已正确安装,并获得USB设备的各属性值。
(2)与NI-VISA相配合的LabVIEW模板中的VI子节点
ViOpen,打开并指定VISA resource name的设备的连接。
ViProperty,VISA设备的属性子节点,可以设置端点或传输方式。
ViWrite,向VISA resource name指定的设备写入数据。
Viread,从VISA resource name指定的设备读出数据。
Viclose,结束设备读写并关闭与指定设备的连接。
(3)USB RAW设备读写的操作次序
USB RAW设备的读写次序为:打开VISA设备、设定VISA设备的属性节点参数、读写USB RAW、关闭VISA。
2 数据采集系统的设计方案
2.1 数据采集系统设计方案概述
信号采集是控制过程的关键环节,是系统控制的根本出发点和最终衡量系统控制性能的重要依据。在一个完善的闭环控制系统当中,首先要检测当前被控对象的状态,就必须对被控对象的状态信息(比如常见的温度,流量,速度,液位等信息)进行采集,并能够将此信息还原为实际的温度,流量等信息,并以此作为控制的根本出发点。控制结果与目标的一致性也必须通过信号采集来衡量,只有采集当前的状态信息,并对该信息进行分析才能了解控制过程的好坏,做出进一步的优化。所以说信号采集在系统控制中起着至关重要的作用。
随着数字化的普及和控制技术水平的不断进步,数字化控制已成为现代控制的主流,数字信号的采集成为数字控制系统的重要单元。
2.1.1 接口技术发展现状
随着现代电子技术的飞速发展和广泛应用,数据传输接口器件发展也十分迅速,以至于外部接口规格十分“繁华”。例如键盘要AT接口或PS/2的接口,鼠标要接COM口或PS/2接口,Modem要接另一个COM接口、打印机要接Parallel Port(并口),而摇杆则要跟MIDI装置共抢Game/MIDI口。每种接口类型都是外设通过各自独有的传输方式,根据一定的数据传输协议单独地与PC机进行通讯。当然,由于每种接口类型都有其不可替代的优越性,所以无论电子技术如何发展,在某些特定的场合,各类接口仍在继续使用。目前常见的接口类型:有并口(也有称之为IEEE 1284,Centronics)、串口(也有称之为RS-232接口的)和USB接口。
并口又称为并行接口。目前,并行接口主要作为打印机端口,采用的是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。目前计算机基本上都配有并口。
串口叫做串行接口,现在的PC机一般有两个串行口COM1和COM2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。通常COM1使用的是9 针D 形连接器,也称之为RS-232接口,而COM2 有的使用的是老式的DB25 针连接器,也称之为RS-422接口,不过目前已经很少使用。
USB接口即“Universal Serial Bus ”,中文名称为通用串行总线。这是近几年逐步在PC 领域广为应用的新型接口技术。由于USB接口与串型接口相比具有连接方便,无需外接电源,即插即用,支持热插拔,动态加载驱动程序等特有优点,目前已经在各类外部设备中广泛的被采用。目前USB接口有两种:USB1.1和USB2.0。理论上USB1.1的传输速度可以达到12Mbps/秒,而USB2.0则可以达到速度480Mbps/秒,并且可以向下兼容USB1.1。
通过上述对比发现,USB作为一种新的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。也是计算机外设接口的发展趋势,将逐渐取代PC机上的RS232协议串口,因此很多传统的RS232接口设备都将面临一个向USB 接口转换的问题,此次基于USB总线的温度采集系统的设计也是一种非常实用的数据采集方式。
2.1.2 USB接口技术及传感器技术原理简介
2.1.2.1 USB接口发展史
USB的发展历史,要从1994年说起,当时由英特尔、康柏、IBM、Microsoft等多家公司联合提出,并于当年11月11日发表USB V0.7版本,经历了多年的发展,到现在已经发展为3.0版本。
USB1.0在1996年推出,碍于水平的限制,这个版本的速度只有1.5Mb/s,后来升级为USB1.1,速度也跟着提升到12Mb/s。也正是1.1版本的出现,使得USB接口的使用范围逐渐普及。大部分的MP3产品为此类接口类型。
作为更高级的版本,USB2.0的规范是从USB1.1规范演变而来的。它的最显著优点是480Mbps,折算为MB为60MB/s,足以满足大多数外设的速率要求。人们使用USB2.0产品传输文件,尤其是传说超大文件的用时大大缩短。进几年出现的比较热门的USB转网卡接口、USB无线网卡基本上都是使用2.0,就目前来说,USB2.0接口还是电脑配件里应用最广泛的USB版本接口。
随着技术的发展,Vsita、高清、DX10正在逐渐普及,USB2.0遭遇到了与USB1.1时代后期相同的问题,480mbps的传输速度对于现在的应用环境来说已经不足以满足我们的要求了,于是,由Intel、微软、惠普、德州仪器、NEC、ST-NXP等业界巨头组成的USB3.0推广组宣布制定新的USB标准,并于20##年推出消费级的USB3.0产品。USB3.0的传输速度可达到USB2.0的10倍,即理论传输速度高达625MB/s,也就是官方号称的5Gb/s,这种超高速的传输速度使得传输一部15GB的电影只要24秒。不过,就目前的设备发展水平来说,硬盘设备还无法提供如此超高的传输速度与之匹配。
2.1.2.2 USB接口技术简介
USB规范描述了总线特性、协议定义、编程接口以及其它设计和构建系统时所要求的特性。USB是一种主从总线,工作时USB主机处于主模式,设备处于从模式。USB系统所需要的唯一的系统资源是,USB系统软件所使用的内存空间、USB主控制器所使用的内存地址空间(I/O地址空间)和中断请求(IRQ)线。USB设备可以是功能性的,如显示器、鼠标或者集线器之类。它们可以作低速或者高速设备实现。低速设备最大速率限制在1.5 Mb/s,每一个设备有一些专有寄存器,也就是端点(endpoint)。在进行数据交换时,可以通过设备驱动间接访问它。每一个端点支持几种特殊的传输类型,并且有一个唯一的地址和传输方向。不同的是端点0 仅用作控制传输,并且其传输可以是双向的。
系统上电后,USB主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。设备描述表标识了设备的属性、特征并描述了设备的通信要求。USB主机根据这些信息配置设备、查找驱动,并且与设备通信。
典型的USB数据传输是由设备驱动开始的,当它需要与设备通信时,设备驱动提供内存缓冲区,用来存放设备收到或者即将发送的数据。USB驱动提供USB设备驱动和USB主控制器之间的接口,并将传输请求转化为USB事务,转化时需要与带宽要求及协议结构保持一致。某些传输是由大块数据构成的,这时需要先将它划分为几个事物再进行传输。
具有相似功能的设备可以组成一类,这样便于分享共有的特性和使用共同的设备驱动程序。每个类可以定义其自己的描述符,如:HID类描述符和 Report描述符。HID类是由人控制计算机系统的设备组成的,它定义了一个描述HID设备的结构,并且表明了设备的通信要求。HID设备描述符必须支持端点输入中断,固件也必须包括一个报告描述符,表明接收和发送数据的格式。
目前,由于USB移动存储设备的使用已经非常普遍,因此在一些需要转存数据的设备、仪器上使用USB移动存储设备接口的芯片便相继产生了。为了缩短开发周期,各大厂商纷纷研制出了愈来愈智能化的USB接口芯片。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。这类USB接口芯片价格较低、接口方便、灵活性高,针对不同的硬件环境可以配合多种MCU使用,如单片机、DSP、FPGA都可以。
2.1.2.3 传感器技术简介
智能传感器(smartsensor)利用微计算机技术使传感器智能化。它是一个或多个敏感元件与信号处理电路集成在同一硅片或GaAs片上的器件,具有一种或多种敏感功能,能够完成信号探测、变换处理、逻辑判断、功能计算、双向通信内部可实现自检、自校、自补偿、自诊断的器件。
智能传感器系统的主要特点:把计算机技术和现代通信技术融人传感器系统中,其目的是为了适应计算机测控系统的发展,满足系统对传感器提出的更高要求,因此认为智能传感器是指传感器与微处理器赋予智能的结合,兼有信息检测、信息处理及通信功能的传感器系统。在结构上,智能传感器系统将传感器、信号调理电路、微控制器及数字信号接口组合为一整体。传感元件将被测非电量转换为电信号,信号调理电路对传感器输出的电信号进行调理并转换为数字信号后送人微控制器,由微控制器处理后的测量结果经数字信号接口输出。在智能传感器系统中不仅有硬件作为实现测量的基础,还有强大的软件支持来保证测量结果的正确性和高精度。以数字信号形式作为输出易于和计算机测控系统接口,并具有很好的传输特性和很强的抗干扰能力。
智能传感器的功能是通过模拟人的感官和大脑的协调动作,结合长期以来测试技术的研究和实际经验而提出来的,是一个相对独立的智能单元,它出现对原来硬件性能的苛刻要求有所减轻,而靠软件帮助可以使传感器的性能大幅度提高。其功能主要包括:数据处理功能、自诊断功能、组态功能、存储功能、数字通讯接口功能、复合敏感功能、自适应功能、人机对话功能、显示和报普功能和掉电保护功能等。
2.2 数据采集系统设计方案论证
传统的数据采集系统大多数是以单片机作为控制核心再加上一些常用外围电路来构建系统的, 数据显示也多是应用数码管瞬时记录或近距离范围内应用RS232/485等通信方式直接上传PC机上供用户参考。然而随着用户对数据监控的距离、数据采集的速率及人机交互界面的要求越来越高,传统的系统己不能满足更多用户的需要.目前,美国国家仪器公司(NI)开发的LabVIEW技术在数据采集技术领域中由于其高速采集性能、丰富的图像化编程语言等诸多显著特性无疑己处于遥遥领先的地位,但此类技术大都是建立在LabVIEW支持的价格昂贵的数据采集硬件基础之上的,因此在普及应用方面受到很大的制约。
但是,基于LabVIEW和Proteus两种软件共同设计的数据采集系统可以有效的解决此类问题。本次数据采集系统的设计分为下位机数据采集部分和上位机数据实时监测部分。下位机部分主要完成温度信息的采集功能,上位机部分通过利用LabVIEW软件设计界面,完成将接收的数据进行简单处理后实时显示,并且可以实现串口调试,温度上下限设置以及超限报警等功能,这样在下位机中就可以省去很多单元电路,比如报警电路、按键设置电路,显示电路等。通过监测历史描述曲线等信息有效地提高事故的预见性和工作效率。以AT89C52单片机和DS18B20数字温度传感器为核心的下位机,实现了对温度的采集和发送,通过虚拟串口软件VSPDXP5产生一对虚拟串口COM3、COM4,这样就可以将上位机和下位机连接起来实现对温度的采集并且在上位机中通过虚拟仪器显示出来。设计中采用LabVIEW实验室虚拟仪器开发平台,它是一个高效的图形化程序设计环境,结合了简单易用的图形式开发环境与灵活强大的G编程语言,提供了一个直觉式的环境,与测量紧密结合。
2.3 单片机程序流图
单片机程序流图如图2.1所示
图2.1 单片机程序流图
3 数据采集系统的设计与实现
3.1 基于LabVIEW的上位机虚拟仪器界面设计
在LabVIEW中开发程序包括前面板和程序框图两部分。前面板是图形用户界面,该界面上有交互式的输入和输出两类控件。输入控件包括按钮、数值、文本和输入设备等输入对象 ,输出控件包括图形、数值、文本、LED和其他显示输出对象。程序框图是实现虚拟仪器逻辑功能的图形化源代码,框图中的编程元素除了包括与前面板的控件对应的连线端子外,还有函数、常数、结构和连线等。
串口通信程序通过VISA来设计,它是美国NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。LabVIEW8.2以上版本中自带VISA,装完VISA驱动后就可以利用它对USB、GPIB、VXI、PXI、串口和以太网等系统进行配置、编程和调试。VISA提供了简单易用的控制函数集,具有强大的仪器控制与资源管理功能,在应用形式上也非常简单。
本系统设计了一个温度虚拟仪器系统,前面板如图3.1所示,程序框图如图3.2所示
图3.1 温度采集系统上位机的前面板
图3.2 温度采集系统上位机的程序框图
前面板具有串口测试、波形显示、数据设置以及报警等功能。程序框图中通过VISA来配置、读写以及关闭串口。串口测试按钮和数据采集按钮通过与非门和与门来实现互锁,在波形图表前添加当前时间设置功能。
3.2 基于Proteus的下位机单片机系统设计
利用Proteus设计了一个简单的单片机仿真系统,如图3.3所示。
图3.3 温度采集系统下位机仿真系统
P2口通过一个上拉电阻与温度传感器相连,这可以模拟从A/D转换器中读入现场数据。串口部分在仿真时可以省略TTL电平向RS-232电平转换的电路,通过虚拟串口设置与上位机进行通信,可接受上位机发送的数据,并将P2口采集的数据不加任何处理直接传送到上位机,再由上位机进行显示和处理,这样可以利用上位机强大的数据处理功能来完成相关运算。
3.3 联调演示
要将上位机与下位机通信需要配置一下串口,由于一般PC机只有COM1一个串口,不便于仿真测试,所以通过虚拟串口软件VSPD XP5来生成一对虚拟串口COM3、COM4,打开该软件如图3.4所示
图3.4 虚拟串口设置
它的左上方COM1、COM2是PC机实际的物理串口,下面的是虚拟串口,在未设置前是空的。点击Add pair按钮,在下面就会出现COM3、COM4,这两个串口是一对虚拟串口,而且符合RS-232标准,设置完成后COM3、COM4就虚拟的连接起来了,功能定义与使用方法完全与PC机自带物理串口相同,这些功能都是有虚拟串口软件VSPD XP5来支持的,并不需要人为管理,这在仿真时非常有用,但在做实物时将COM3、COM4分别换成COM1数据线的两端接插头就可以了。
在这里介绍下VSPD的使用方法:
(1)首先在KEIL里编译写好的程序。
(2)打开VSPD,界面如图3.4所示。
(3)把KEIL和虚拟出来的串口绑定,现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式,在下面的COMMAND命令行中输入MODE COM3 4800,0,8,1,(设置串口3的波特率,奇偶校验位,数据位,停止位,打开COM3串口,这里设置的波特率要和程序中设置的波特率应该一样),ASSIGN COM3
(4)打开串口调试助手,可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位,8位数据位,1位停止位,打开COM4。
在上位机中选择COM4、波特率、数据位、停止位等参数见图3.1.在下位机中,打开串口COMPIM的属性,选择串口COM3,其他配置如图3.5所示。
图3.5 C0MPIM属性配置
打开单片机的属性,将单片机晶振设置为11.0592MHz,以便获得准确的4800bps的波特率。将以下源程序用编译软件生成HEX文件并下载到单片机,如图3.6所示
图3.6 单片机属性配置
单片机源程序见附录。
运行Proteus,正常后再运行LabVIEW,同时观察运行效果。在上位机中关闭数据采集按钮,打开串口调试助手,下位机将温度传感器上的温度传至上位机,如图3.7所示
图3.7 系统仿真结果
从图3.7虚拟示波器的数据可以看到,下位机发送的数据已经传至上位机中。在上位机界面中,选择串口COM4,波特率设置为4800bps,选定开始采集按钮,运行LabVIEW软件,就可以看到由下位机发送的温度数据。设置合适的温度上下限,当温度超过/低于此温度时会报警,并且上位机界面中的相应指示灯会点亮。在下位机单片系统中,通过手动改变DS18B20上的温度,可以在上位机界面中看到温度随之改变。到此,该仿真系统的功能已经实现并且仿真成功。
实 训 结语
利用LabVIEW开发上位机界面操作简单、快捷,并且功能强大,使用者可以集中时间和精力用于实验的执行,数据的分析及结论的总结上,而不用将大量的时间花费在实验系统设备的搭建上。因此LabVIEW既适合于科学研究,又适合于工程应用。利用Proteus建立单片机仿真系统快速、方便,可以直观运行结果,在没有目标原型时就可以对系统进行调试、测试和验证,和实际工程应用相接近。由此可以看出,在实际的项目开发中,先基于该两种软件建立一个数据采集仿真系统,可以有效验证项目设计的正确性,从而大大缩短开发时间,降低设计成本。
参 考 文 献
[1] 蔡春丽.虚拟仪器技术及其软件开发平台LabVIEW.重庆职业技术学院学报,2004
[2] 周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.185-193.
[3] 杜玉玲.基于LabVIEW和PCI-7422的数据采集系统设计.淮海工学院学报,2004.
[4] 候国屏,王坤,叶齐鑫.LabVIEW8.5编程与虚拟仪器设计.清华大学出版社,2005.
[5] 周林,殷侠等.数据采集与分析技术.西安电子科技大学出版社, 2005.
[6] 石博,强编著. LabVIEW6.1编程技术实用教程[M].北京:中国铁道出版社,2002.50-62.
[7] 王建群,基于LabVIEW的虚拟仪器开发[J].计算机工程与应用,2003.
[8] 陈锡辉,张银鸿.LabVIEW8.5程序设计从入门到精通[M].北京:清华大学出版社,2007.
[9] 金阳.LabVIEW在数据采集中的应用.湖北汽车工业学院学报,2002
[10] Robert H. Bishop LabVIEW 6i实用教程[M].北京:电子工业出版社,2003.185-196.
[11] M K Hu.Pattem Recognition by Moment Invariants[J].Proc IRE.Trans Information Theory.1962.179-187.
附录:
单片机源程序
#include
#include
#define INT8U unsigned char
#define INT16U unsigned int
sbit DQ = P2^5;
bit presence;
float f_temp;
unsigned int tempds = 0;
unsigned char temp_value[4] = {0,0,0,0};
unsigned char temp_data[2] = {0,0};
unsigned char T_flag;
void delay1(INT16U i)
{
for(;i>0;i--);
}
void Delay(unsigned char time) //12M晶振,延时时间30us * time
{
unsigned char m,n;
for(n=0;n