基于LABVIEW的简易计算器设计.docx

上传人:b****1 文档编号:20990507 上传时间:2023-04-25 格式:DOCX 页数:19 大小:521.52KB
下载 相关 举报
基于LABVIEW的简易计算器设计.docx_第1页
第1页 / 共19页
基于LABVIEW的简易计算器设计.docx_第2页
第2页 / 共19页
基于LABVIEW的简易计算器设计.docx_第3页
第3页 / 共19页
基于LABVIEW的简易计算器设计.docx_第4页
第4页 / 共19页
基于LABVIEW的简易计算器设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于LABVIEW的简易计算器设计.docx

《基于LABVIEW的简易计算器设计.docx》由会员分享,可在线阅读,更多相关《基于LABVIEW的简易计算器设计.docx(19页珍藏版)》请在冰豆网上搜索。

基于LABVIEW的简易计算器设计.docx

基于LABVIEW的简易计算器设计

第1章绪论

1.1虚拟仪器简介

虚拟仪器(virtual instrument)是基于计算机的仪器。

计算机和仪器的密切结合是目前仪器发展的一个重要方向。

粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的子就是所谓智能化的仪器。

随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。

另一种方式是将仪器装入计算机。

以通用的计算机硬件及操作系统为依托,实现各种仪器功能。

虚拟仪器主要是指这种方式。

上面的框图反映了常见的虚拟仪器方案。

虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。

虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。

目前在这一领域内,使用较为广泛的计算机语言是国NI公司的LabVIEW。

虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。

PC机出现以后,仪器级的计算机化成为可能,甚至在 Microsof t公司的 Windows 诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0 以前的版本。

对虚拟仪器和 LabVIEW [2]长期、系统、有效的研究开发使得该公司成为业界公认的权威。

目前LabVIEW 的最新版本为 LabVIEW2011,LabVIEW 2009 为多线程功能添加了更多特性,这种特性在1998 年的版本 5 中被初次引入。

使用 LabVIEW 软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEW Real-Time 工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。

普通的 PC 有一些不可避免的弱点。

用它构建的虚拟仪器或计算机测试系统性能不可能太高。

目前作为计算机化仪器的一个重要发展方向是制定VXI 标准,这是一种插卡式的仪器。

每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。

这些卡插入标准的 VXI 机箱,再与计算机相连,就组成了一个测试系统。

VXI仪器价格昂贵,目前又推出了一种较为便宜PXI 标准仪器。

1.2LabVIEW简介

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:

其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。

LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。

与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大数库。

LabVIEW 的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。

LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。

传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

VI指虚拟仪器,是LabVIEW的程序模块。

LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。

用户界面在LabVIEW中被称为前面板。

使用图标和连线,可以通过编程对前面板上的对象进行控制。

这就是图形化源代码,又称G代码。

LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

第2章

总体设计

2.1设计思想

创建3个字符串显示控件num1,num2,num3,其中:

 

1、第一个输入数据存储在num1中 

2、第二个输入数据存入num2中 

3、将其赋给 num3,并使num2为空,以便输入的数据存入num2 

4、所有的运算是在num1和 num3间进行 

5、运算结果都赋给result,同时赋给num1,用于下一次的运算.

创建4个布尔开关按钮change,change1,change2,change3,其中:

 

1、Change的真假用来判断是第一个数据还是第二个数据 

2、change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算 

3、change2用来去掉数据小数末尾的0 4、change3用来保证backspace键仅输入

对的数据有效,对运算结果无效.

创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:

 

1、type1用来存储运算符号

2、type2用来保证连续“+、-、*、/”的正确性 

3、所有的运算结果都赋给result 

4、result经过去零处理后得到result1,将数据显示在前面板上。

2.2设计框图

根据计算器的运算规则,得到本次课程设计的程序框图,如图2-1:

 

图2-1程序框图

第3章

具体实现过程

3.1程序流程图

本次设计中定义了三个变量number1number2、以及number3,首次按下的数据存入第一个number1中,并显示,接着进行运算符号的键入,最后输入第二个变量存入number2中,最后运算并显示在结果result中。

具体流程图设计如图3-1:

输入第一个数

输入运算符号

图3-1程序流程图

3.2基本设置

3.2.1前面板的设计和键入感应

前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。

本系统中前面板显示程序的输入和输出对象,即,控件和显示器。

本程序中控件主要是按钮,显示器主要是文本显示。

在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:

0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。

前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。

计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。

为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。

具体方式如下:

首先建立一个簇,然后在簇中建立23个布尔量,其中包括0--9十个数字键,1个小数点键,4个“+、-、*、/”运算键,1个等号键,1个开方键,1个符号转换键,1个倒数键,1个求百分数键,1个清零键,1个退格键,1个退出键。

如图3-2所示:

图3-2前面板图

然后通过簇至数组转换函数 

 将簇中元素按产生的顺序组成一个一维数组,如图3-3所示:

图3-3键入感应过程图

这样就实现了每个键与数字(1--23)之间的对应。

每次按下一个键时,通过搜索一维数组函数  查找出对应的键并把其加1后对应的数字连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。

3.2.2运算量的初始变化

在运行程序之前,首先对需要用到的变量进行初始化,如图3-5所示:

图3-5运算量的初始化图

在没有键按下的情况下,数值显示控件显示的是0。

从上到下的寄存器功能依次为:

最上面的用来存储display中的数据,第二个用来存放四则运算的符号,第三个用来前一次运算后输出的数值,最底下的用来给出控制变量。

3.3操作设置

3.3.1数字的输入

由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2→mun3再清空num2),所以有必要对此分开处理。

创建2分支(真、假)的case结构。

用change控制分支的选择:

处创建局部变量并转换为读入。

由于数字的键入是数据输入,change3用来保证backspace键仅对输入的数据有效,故应设置

分支结构的设计:

由于初始化中布尔量改变设置都为“F”,则若change为假,表示数字为第一个输入,将得到的数据送给result1经处理后由result显示,同时送入num1用于即将的运算。

考虑到计算的连续性,即:

当前一次计算结束后,不需要再次清零即可进行下一次的运算,还需用到change1。

由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置change2状态。

具体的设计如图3-6,图3-7:

图3-6Change为假时的图

Change为真时,表示数据的第二次输入,具体设计如下:

图3-7Change为真时的图

3.3.2数字0的输入

当第一次输入0时,与输入数字1-9的情况相同,现在就零输入时的多零问题进行设计。

虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。

当数据输入后,通过连接字符与00比较,若不等,则将数据直接输出如图3-8所示。

图3-8输入不是00时图

当数据输入后,通过连接字符与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“+/-”键的设计

首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换为字符串形式输出。

如图3-13所示,其中的顺序结构为去末尾零和去无关小数点的操作。

图3-13去0和小数点设计图

3.3.5四则运算

以加法为例,当簇中输出的数据表示进行加法运算时,程序进入五层的层叠式顺序结构,首先将字符串进行扫描,转换为数值变量,之后,对之前的数据进行运算,以保证连续运算时得到正确的结果。

当第一次输入时,默认进行firstrun条件下的程序,若以前已有运算,以减法为例,先将之前的两个数进行相减运算,并进行去零操作,之后再将本次的运算符号送入“运算符号”的局部变量,以便于进行下次运算。

如图3-14为加法运算图。

图3-14加法运算图

减法运算图如图3-15:

图3-15减法运算图

乘法运算图如图3-16:

图3-16乘法运算图

除法运算图如图3-17:

图3-17除法运算图

3.3.6等号键

实现最终的运算结果,将结果进行去零操作后输出到display中,同时将代表运算符号的移位寄存器置为空字符串。

以加法为例。

如图3-18所示:

图3-18输出运算结果图

3.3.7C键设计

将程序中所有用到的变量均进行复位,达到清零复位的目的,如图3-19所示。

图3-19C键设计图

3.3.8倒数键及反号键

在19序号的条件结构中进行当前操作,能求出输入不为零的倒数。

如图3-20:

图3-20倒数设计图

在20序号的条件结构中进行当前操作,目的是取反,根据需求把正数变成负数,反之亦然。

如图3-21:

图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”,最后点击“=”号键,运算结果就显示出来了。

图3-23乘法运算图

图3-25是计算器的除法运算,运算过程为9/3=3.具体操作过程:

用鼠标点击数字键“9”,再点击常用键“/”号键,然后点击数字键“3”,最后点击“=”号键,运算结果就显示出来了。

图3-25除法运算图

图3-26是计算器的倒数运算,具体过程为:

 用鼠标点击数字键“3”, 再点击常用键“1/x”键, 最后点击“=”号键,运算结果就显示出来了。

图3-26倒数运算图

 

结论

经过演示,本计算机可实现界面上所有按键功能。

具体操作与WINDOWS系统的简单计算器相同。

但由于结构简单,所以程序框图不够简化,使用比较繁琐,但不影响使用。

 

本次课程设计,使我对虚拟仪器有了更深刻的印象,也对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]夏俊芳,周勇,张平华.基于虚拟仪器技术的排种器漏播检测技术[J].华中农业大学学报,2008,27(4):

540-544.

[5]刘雁征,滕光辉.虚拟仪器技术在设施农业中的应用现状及趋势[J].华中农业大学学报,2004(增刊35):

81-86.

[6]陈秀清.关于虚拟实验室的建设[J].福建广播电视大学学报,2003

(1):

40-43.

[7]杨乐平,李海涛.北京LabVIEW高级程序设计[M].北京:

清华大学出版社,2003.1-350.

[8]陈锡辉.Labview8.20程序设计从入门到精通[M].北京:

清华大学出版社,2007.

[9]龙华伟,顾永刚.LabVIEW8.2.1与DAQ数据采集[M].北京:

清华大学出版社,2008.

[10][美]RobertHBishop,乔瑞萍译.LabVIEW7实用教程[M].北京:

电子工业出版社,2005.

[11]侯国屏,王坤,叶齐鑫.LabVIEW7.1编程与虚拟仪器设计[M].北京:

清华大学出版社,2005.

[12]张桐,陈国顺,王正林.精通LabVIEW程序设计[M].北京:

电子工业出版社,2008.

[13]郑对元,精通LabVIEW虚拟仪器程序设计[M].清华大学出版社.2012

[14]翁瑞琴,凌志浩,邱意弘.虚拟仪器技术及其应用[J].计算机应用研究.1999(8)

[15]张重雄.虚拟仪器技术分析与设计[M].北京:

电子工业出版社,2008

(1)

[16]吴义满.基于labview虚拟计算器的设计与实现.盐城卫生职业技术学院.2013

[17]任凯.基于JAVA的简单计算器的设计与实现[J].电脑知识与技术.2011(15)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1