基于LABVIEW的计算器课程设计报告.docx

上传人:b****5 文档编号:6991852 上传时间:2023-01-15 格式:DOCX 页数:17 大小:296.84KB
下载 相关 举报
基于LABVIEW的计算器课程设计报告.docx_第1页
第1页 / 共17页
基于LABVIEW的计算器课程设计报告.docx_第2页
第2页 / 共17页
基于LABVIEW的计算器课程设计报告.docx_第3页
第3页 / 共17页
基于LABVIEW的计算器课程设计报告.docx_第4页
第4页 / 共17页
基于LABVIEW的计算器课程设计报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于LABVIEW的计算器课程设计报告.docx

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

基于LABVIEW的计算器课程设计报告.docx

基于LABVIEW的计算器课程设计报告

兰州理工大学技术工程学院

课程结课设计报告

 

 

班级:

姓名:

题目:

基于LABVIEW的简易计算器设计

 

2016年11月3日

摘要

虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。

使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。

本次课程设计是基于LABVIEW所设计的计算器,目的是为了实现两个数之间的加、减、乘、除四则运算及开方、求倒、取负运算,达到简易计数器的功能。

编程的思想是完成一种运算的过程,这个过程是:

输入第一个数,存储并显示;输入要进行运算的类型并存储;输入第二个数,存储并显示;按“=”运算或者按其它运算符号进行连续的运算时显示运算结果。

关键词:

LABVIEW;计算器;四则运算;函数功能

 

ABSTRACT

ThisexperimentistorealizethesumoftwoNumbers,subtract,multiply,divideandroot,thenpour,simpleoperation,tobearthecalculator.Programmingisacompletethoughtsoftheoperationprocessiscomplet,thenumber,storageandinputtotheinputoperationsandstorageinputnumberofthesecondtype,storageandpress"="orbyotheroperationssymbolcontinuousoperationresultshows.

KEYWORDS:

LABVIEW;Calculator;Arithmetic;Function

 

目录

1引言5

2总体设计方案6

2.1程序流程图7

2.2簇中的各元素在条件结构中代表的序号7

2.3具体实现过程8

2.3.1前面板设计及键入感应8

2.3.2运算变量的初始化9

2.3.3数字1--9的输入9

2.3.4数字0的输入10

2.3.5小数点的输入11

2.3.6结果去零操作12

2.3.7“+/-”键的设计13

2.3.8“+、-、*、/”四则运算13

2.3.9等号键14

2.3.10百分数运算14

2.3.11开方运算14

2.3.12取倒数运算15

2.3.13退格键的设计15

2.3.14清零键的设计16

2.3.15停止键16

3结论17

致谢18

参考文献18

附录19

 

基于LABVIEW的简易计算器设计

1引言

本次课程设计是基于LabVIEW虚拟仪器系统开发与实践等原理与技术而设计的计算器,可以用来模拟真实计算器而进行一些简单的基本运算。

虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。

由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。

美国国家仪器公司(NationalInstrunentsCorpotion,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。

使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。

本次设计的计算器是利用虚拟仪器技术而完成的,可以完成利用计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。

 

2总体设计方案

完成标准型计算器的一般功能。

设计框图如图2-1所示:

图2-1程序框图

2.1程序流程图

图2-2程序流程图

2.2簇中的各元素在条件结构中代表的序号

表2-1

簇中元素

默认

1

2

3

4

5

条件结构中序号

0

1

2

3

4

5

簇中元素

6

7

8

9

0

.

条件结构中序号

6

7

8

9

10

11

簇中元素

+/-

+

-

*

/

=

条件结构中序号

12

13

14

15

16

17

簇中元素

sqrt

%

1/x

Backspace

C

EXIT

条件结构中序号

18

19

20

21

22

23

2.3具体实现过程

2.3.1前面板设计及键入感应

首先建立一个簇 

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

如图2-3所示:

图2-3前面板

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

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

图2-4键入感应过程

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

每次按下一个键时,通过搜索一维数组函数 

 查找出对应的键并把其加1后对应的数字连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。

2.3.2运算变量的初始化

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

图2-5运算变量的初始化

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

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

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

2.3.3数字1--9的输入

以数字“1”为例,当第一次输入数字“1”后,波尔量为真,进入case结构,将1输出到display中,波尔量变为假,如图2-6所示。

图2-6输入数字1时

若再次输入1,为避免出现01这样的字符串,先判断之前显示的数据是否为0,若为0,则直接输出1,如图2-7所示。

图2-7输入第一个数字为0时

若不为0,则将这两次输入的数据通过连接字符串函数连接到一起,在display中输出。

数字2到9也是同样的道理,如图2-8所示。

图2-8输入第一个数字不为0时

2.3.4数字0的输入

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

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

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

图2-9输入不是00时

当数据输入后,通过连接字符与00比较,若相等,则直接输出0,如图2-10所示。

图2-10输入是00时

2.3.5小数点的输入

在小数点的输入时,最多只能显示出一个。

若直接点击小数点,则以“0.”输出。

若之前已输入数据,此时再输入小数点首先利用如图2-11所示程序

图2-11判断小数点的有无

判断已输入的数据中是否含有小数点,若不含有,则执行程序“真”,如图2-12所示;

图2-12输入不含小数点时

若已输入的数据中含有小数点,则执行程序“假”,如图2-13所示。

       图2-13输入含有小数点

2.3.6结果去零操作

在进行“+、-、*、/”运算及取负,取百分数,去倒数,开放运算之后程序默认为以保留6位小数的形式输出。

而为了显示结果的简便,将末位不影响结果的零及小数点进行省略。

利用层叠式顺序结构,首先将得出的结果经过N-1位的偏移后与零进行比较,若相等,则进行去零操作,运用while循环结构,直至末位数字不为零,循环结束(如图2-14------上图表示末位为零,下图表示末位不为零)。

图2-14去0操作

在进行去零操作之后,进行层叠式顺序结构的第二层,对无关的小数点进行清除(如图2-15------上图表示末位为小数点,下图表示末位不是小数点)。

图2-15去多余小数点操作

2.3.7“+/-”键的设计

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

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

图2-16去0和小数点操作

2.3.8“+、-、*、/”四则运算

以加法为例,当簇中输出的数据表示进行加法运算时,程序进入五层的层叠式顺序结构,首先将字符串进行扫描,转换为数值变量,如图2-17所示。

图2-17扫描字符串并转换为数值变量

之后,对之前的数据进行运算,以保证连续运算时得到正确的结果:

当第一次输入时,默认进行firstrun条件下的程序,如图2-18所示。

图2-18默认条件下的程序

若以前已有运算,以减法为例,先将之前的两个数进行相减运算,并进行去零操作,之后再将本次的运算符号送入“运算符号”的局部变量,以便于进行下次运算,如图2-19所示。

图2-19运算过程操作

2.3.9等号键

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

以加法为例。

如图2-20所示:

图2-20输出运算结果

2.3.10百分数运算

将字符串转换为数值输出后除以100即可得到百分数输出,并对其进行去零(顺序结构的后两层为去零操作),如图2-21所示:

图2-21输出百分数运算结果

2.3.11开方运算

将字符串转换为数值后进行开放运算,再转换为字符串输出,并进行去零操作(顺序结构的后两层为去零操作),如图2-22所示:

图2-22输出开方运算结果

2.3.12取倒数运算

将字符串转换为数值后进行取倒数运算,再转换为字符串输出,并进行去零操作(顺序结构的后两层为去零操作),如图2-23所示:

图2-23取倒去0操作

2.3.13退格键的设计

在点击退格键时,要实现从末位开始的依次推格,直至输出为0.首先,将整数部分与小数部分进行分离,运用拆分字符串函数实现此功能。

分离后,将小数部分的字符串长度与0进行比较,若大于0,则进入到条件结构的“真”,字符串长度减1后与整数部分连接,得到新的display输出,如图2-24所示。

图2-24小数部分退格键设计

若原字符串只有整数部分或者小数部分已经过退格键清除,则进入到条件结构的“假”。

若整数部分的字符串长度大于1,则进入到子条件结构的“假”,将整数的字符串长度减一后输出,如图2-25所示。

图2-25整数部分退格键设计

若整数部分的长度不大于1,即小于等于1时,则进入到子条件结构的“真”,直接输出0.,如图26所示。

图2-26整数部分退格键设计

2.3.14清零键的设计

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

图2-27清零操作

相当于进行计数器的初始化操作。

2.3.15停止键

程序结束,将T输入到while循环的停止键上,如图2-28所示。

图2-28退出操作

 

3结论

经过调试,此次设计的简易计算器可以实现实物计算器具有的一般功能。

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.

整体程序

课程设计验收

指导教师评语及成绩:

 

成绩

指导教师签字

年月日

 

 

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

当前位置:首页 > 职业教育 > 职业技术培训

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

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