基于LABVIEW的简易计算器设计_第1页
基于LABVIEW的简易计算器设计_第2页
基于LABVIEW的简易计算器设计_第3页
基于LABVIEW的简易计算器设计_第4页
基于LABVIEW的简易计算器设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 绪论1.1 虚拟仪器简介虚拟仪器(virtualinstrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。上面的框图反映了常见的虚拟仪器方案。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理

2、。目前在这一领域内,使用较为广泛的计算机语言是国NI公司的LabVIEW。虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW2长期、系统、有效的研究开发使得该公司成为业界公认的权威。目前LabVIEW的最新版本为LabVIEW2011,LabVIEW2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。使用LabVIEW软件,

3、用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜PXI标准仪

4、器。1.2 LabVIEW简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大数库。LabVI

5、EW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW的程序模块。LabVIEW提供很多外观与传统

6、仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。 第2章 总体设计2.1 设计思想创建3个字符串显示控件num1,num2,num3,其中:1、第一个输入数据存储在num1中2、第二个输入数据存入num2中 3、将其赋给num3,并使num2为空,以便输入的数据存入num24、所有的运算是在num1和num3间进行 5、运算结果都赋给result,同时赋给num1,用于下一次的

7、运算.创建4个布尔开关按钮change,change1,change2,change3,其中:1、 Change的真假用来判断是第一个数据还是第二个数据 2、 change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算3、 change2用来去掉数据小数末尾的0 4、change3用来保证backspace键仅输入对的数据有效,对运算结果无效.创建2个数值显示控件type1,type2,并分别在其后面板的属性数据类型表示法中选择U8其中: 1、 type1用来存储运算符号2、type2用来保证连续“+、-、*、/”的正确性3、所有的运算结果都赋给result4、result经过去

8、零处理后得到result1,将数据显示在前面板上。2.2 设计框图根据计算器的运算规则,得到本次课程设计的程序框图,如图2-1:进行连续运算显示运行结果输入第二个数储存并显示输入运算类型并储存输入第一个数储存并显示图2-1 程序框图第3章 具体实现过程3.1 程序流程图本次设计中定义了三个变量number1 number2、以及number3,首次按下的数据存入第一个number1中,并显示,接着进行运算符号的键入,最后输入第二个变量存入number2中,最后运算并显示在结果result中。具体流程图设计如图3-1:开始输入第一个数输入运算符号YES输入第二个数按“C”NO按“=”输出结果结束

9、图3-1 程序流程图3.2 基本设置3.2.1 前面板的设计和键入感应前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中控件主要是按钮,显示器主要是文本显示。在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:09十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。前面板还包括一个文本显示控件用于显示

10、计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。具体方式如下:首先建立一个簇,然后在簇中建立23个布尔量,其中包括0-9十个数字键, 1个小数点键,4个“+、-、*、/”运算键,1个等号键,1个开方键,1个符号转换键,1 个倒数键,1个求百分数键,1个清零键,1个退格键,1个退出键。如图3-2所示:图3-2 前面板图然后通过簇至数组转换函数将

11、簇中元素按产生的顺序组成一个一维数组,如图3-3所示: 图3-3 键入感应过程图这样就实现了每个键与数字(1-23)之间的对应。每次按下一个键时,通过搜索一维数组函数查找出对应的键并把其加1后对应的数字连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。3.2.2 运算量的初始变化在运行程序之前,首先对需要用到的变量进行初始化,如图3-5所示: 图3-5 运算量的初始化图在没有键按下的情况下,数值显示控件显示的是0。从上到下的寄存器功能依次为:最上面的用来存储display中的数据,第二个用来存放四则运算的符号,第三个用来前一次运算后输出的数值,最底下的用

12、来给出控制变量。3.3 操作设置3.3.1 数字的输入由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2mun3再清空num2),所以有必要对此分开处理。创建2分支(真、假)的case结构。用change控制分支的选择:在处创建局部变量并转换为读入。由于数字的键入是数据输入,change3用来保证backspace键仅对输入的数据有效,故应设置。分支结构的设计:由于初始化中布尔量改变设置都为“F”,则若change为假,表示数字为第一个输入,将得到的数据送给result1经处理后由result显示,同时送入num1用于即将的运算。考虑到计算的连续性,即:当前一次

13、计算结束后,不需要再次清零即可进行下一次的运算,还需用到change1。由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置change2状态。具体的设计如图3-6,图3-7:图3-6 Change为假时的图Change为真时,表示数据的第二次输入,具体设计如下:图3-7 Change为真时的图3.3.2 数字0的输入当第一次输入0时,与输入数字1-9的情况相同,现在就零输入时的多零问题进行设计。虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。当数据输入后,通过连接字符与00比较,若不等,则将数据直接输出如图3-8所示。图3-8 输入不是00

14、时图当数据输入后,通过连接字符与00比较,若相等,则直接输出0,如图3-9所示。图3-9 输入是00时图3.3.3 小数点的输入在小数点的输入时,最多只能显示出一个。若直接点击小数点,则以“0.”输出。若之前已输入数据,此时再输入小数点首先利用如图3-10所示程序:图3-10 判断小数点的有无图判断已输入的数据中是否含有小数点,若不含有,则执行程序“真”,如图3-11所示;图3-11 输入不含小数点时图若已输入的数据中含有小数点,则执行程序“假”,如图3-12所示。图3-12 输入含小数点图3.3.4 “+/-”键的设计首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换为字符串

15、形式输出。如图3-13所示,其中的顺序结构为去末尾零和去无关小数点的操作。图3-13 去0和小数点设计图3.3.5 四则运算以加法为例,当簇中输出的数据表示进行加法运算时,程序进入五层的层叠式顺序结构,首先将字符串进行扫描,转换为数值变量,之后,对之前的数据进行运算,以保证连续运算时得到正确的结果。当第一次输入时,默认进行firstrun条件下的程序,若以前已有运算,以减法为例,先将之前的两个数进行相减运算,并进行去零操作,之后再将本次的运算符号送入“运算符号”的局部变量,以便于进行下次运算。如图3-14为加法运算图。图3-14 加法运算图减法运算图如图3-15:图3-15 减法运算图乘法运算

16、图如图3-16:图3-16 乘法运算图除法运算图如图3-17:图3-17 除法运算图3.3.6 等号键实现最终的运算结果,将结果进行去零操作后输出到display中,同时将代表运算符号的移位寄存器置为空字符串。以加法为例。如图3-18所示:图3-18 输出运算结果图3.3.7 C键设计将程序中所有用到的变量均进行复位,达到清零复位的目的,如图3-19所示。图3-19 C键设计图3.3.8 倒数键及反号键在19序号的条件结构中进行当前操作,能求出输入不为零的倒数。如图3-20:图3-20 倒数设计图在20序号的条件结构中进行当前操作,目的是取反,根据需求把正数变成负数,反之亦然。如图3-21:图

17、3-21 反号设计图3.4 运行调试计算器的加法运算,运算过程为15+1=6。具体操作过程:用鼠标点击数字键“1”“5”,再点击常用键“+”,然后点击数字键“1”,最后点击“=”运行结果就显示出来了,如图3-22:图3-22 加法运算结果图计算器的减法运算,运算过程为9-1=8.具体操作过程:用鼠标点击数字键“9”,再点击常用键“-”号键,然后点击数字键“1”,最后点击“=”号键,运算结果就显示出来了,如图3-23:图3-23 减法运算图图3-24是计算器的乘法运算,运算过程为2*10=20.具体操作过程:用鼠标点击数字键“2”,再点击常用键“*”号键,然后点击数字键“1”“0”,最后点击“=

18、”号键,运算结果就显示出来了。图3-23 乘法运算图图3-25是计算器的除法运算,运算过程为9/3=3.具体操作过程:用鼠标点击数字键“9”,再点击常用键“/”号键,然后点击数字键“3”,最后点击“=”号键,运算结果就显示出来了。图3-25 除法运算图图3-26是计算器的倒数运算,具体过程为:用鼠标点击数字键“3”,再点击常用键“1/x”键,最后点击“=”号键,运算结果就显示出来了。图3-26 倒数运算图结 论经过演示,本计算机可实现界面上所有按键功能。具体操作与WINDOWS系统的简单计算器相同。但由于结构简单,所以程序框图不够简化,使用比较繁琐,但不影响使用。 本次课程设计,使我对虚拟仪器

19、有了更深刻的印象,也对LabVIEW了解更深入了。由于LABVIEW能够为用户提供简明、直观、易用的图形编辑方式,能够将繁琐复杂的语言编程简化成以菜单提示方式选择功能,与传统的语言比较,LabVIEW图形编辑方式能够节省程序的开发时间。在不久的将来,人们可以LabVIEW设计的计算器计算出任何问题,在实现基础运算的条件下,只需要选择运算的路径,届时使用虚拟仪器一定会成为社会的主流。当然我也认识到了LabVIEW软件的局限性,那就是它对硬件的依赖非常严重,没有硬件的支撑,LabVIEW很多作用都无法实先。致 谢这次在老师和同学的帮助下完成了本次设计。再次感谢为我提供帮助的老师和同学。另外,感谢消校方给予我们这样一次机会,能够独立的完成一个课题,并在这个过程当中,给予我们一些机会,使我们能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。 参考文献1 叶齐鑫,侯国屏,赵伟. 虚拟仪器环境下的频率特性测试方法J. 电测与仪表,2005(6):10-13.2 高聪杰,李松岩.基于LabVIEW的信号输出与数据采集系统J.数采与监测,2008,(24):135-136.3 马银平,宣亮亮,彭如基于LabVIEW的数据采集系统分析与设计电子元器件应用2009年第11卷第10期4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论