基于LabVIEW计算器的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于LabVIEW计算器的设计

专业:电子信息科学与技术

班级: XXXXX

学号:XXXXXX

姓名:XXXXX

基于LabVIEW计算器的设计

摘要:本次课程设计是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计的计算器,可以用来模拟真实计算器而进行一些简单的基本运算。编程的思想是完成一种运算的完整过程是:输入第一个数,存储并显示输入要进行运算的类型并存储输入第二个数,存储并显示按“=”或则按其它运算符号“+、-、*、/”进行连续的运算时显示运算结果。

关键词:LabVIEW,计算器,四则运算,函数功能。

前言:创建3个字符串显示控件num1,num2,num3,其中:第一个输入数据存储在num1中,第二个输入数据存入num2中,将其赋给num3,并使num2为空,以便输入的数据存入num2,所有的运算是在num1和num3间进行,运算结果都赋给result,同时赋给num1,用于下一次的运算。创建4个布尔开关按钮change,change1,change2,change3,其中: Change的真假用来判断是第一个数据还是第二个数据,change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算,change2用来去掉数据小数末尾的0, change3用来保证backspace键仅对输入的数据有效,对运算结果无效。创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:type1用来存储运算符号,type2用来保证连续“+、-、*、/”的正确性,所有的运算结果都赋给result,result 经过去零处理后得到result1,将数据显示在前面板上。此计算器可以实现基本的加减乘除以及开方、取倒、取反功能,可以进行数据的连续运算以及简单的报错、纠错功能,在此计算器模版上,可以继续添加条件分支,实现更多功能的运算,但是不支持第二个数位为开方、取反、取倒的功能。

一、LabVIEW简介

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C 和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。虚拟仪器(virtualinstrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。

二、程序流程图

根据实验作出程序流程图如下:

三、前面板设计:

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

件的大小使之于计算器的大小相适应。计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。如下图所示:

四、后面板的设计

1.键入感应

首先建立一个簇,然后在簇中再建立布尔量,复制20个以满足键的需求。包括0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个倒数键,一个反

号键,一个清零键及一个退出键。然后通过将簇中元素按产生的顺序组成一个一维数组,这样

就实现了每个键与数字(0--20)之间的对应。每次按下一个键时,通过

查找出对应的键并把结果(对应的数字)连接到一个case结

构, 然后执行对应case结构中的程序,至此就完成了对一个键的感应过程(如下图)

2. 数字的读入

具体赋给哪个操作数通过布尔量change的状态决定,该布尔量状态在输入运算类型键后改变。这里要注意的是:在第二个数键入时,要把结果赋给num3,最终是在num1和num3之间进行运算运算,这样做是为了在一种运算结束后能实现连续的运算。

3. 多零问题

进行运算的数不能以多个零开头。虽然不影响运算结果,但在形式上是错误的。解决这个问题的方法是下图:

4. 小数点问题

一个数中不可能出现两个或两个以上的小数点。解决方法如下图:

5.非小数前面出现0开头的问题

进行运算的非小数不能以零开头。虽然不影响运算结果,但在形式上是错误的。解决这个问题的思路如图6,具体解决程序在数据输入时(如下图) :

6.操作类型

当按下运算类型键时,存储对应的数字序号到type,以按下“=”号时进行运算类型的确定。操作类型默认为“空”。在此操作类型case中同时执行对change状态转换。在其中再用一个case结构用于实现“+、-、*、/”的连续运算(如下图):

7.常用键

7.1 等号键在11键的case中实现加、减、乘、除、开方及倒数运算。连续按此键可以实现第一操作数对第二操作数的连续运算。并且对type1、type2、change、chang e1、num2分别清0、清0、F、T,赋空。

7.2清零键在16键的case中对num1、num2、num3赋空字符,显示框中显示0,change、change1复位F状态,type1、type2赋0。

7.3 退出键在17键的case中首先对显示框赋空字符,然后终止程序。即以不显示任何字符退出程序。

相关文档
最新文档