LabVIEW虚拟仪器课程设计简易计算器.docx

上传人:b****5 文档编号:6659440 上传时间:2023-01-08 格式:DOCX 页数:16 大小:1,007.45KB
下载 相关 举报
LabVIEW虚拟仪器课程设计简易计算器.docx_第1页
第1页 / 共16页
LabVIEW虚拟仪器课程设计简易计算器.docx_第2页
第2页 / 共16页
LabVIEW虚拟仪器课程设计简易计算器.docx_第3页
第3页 / 共16页
LabVIEW虚拟仪器课程设计简易计算器.docx_第4页
第4页 / 共16页
LabVIEW虚拟仪器课程设计简易计算器.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

LabVIEW虚拟仪器课程设计简易计算器.docx

《LabVIEW虚拟仪器课程设计简易计算器.docx》由会员分享,可在线阅读,更多相关《LabVIEW虚拟仪器课程设计简易计算器.docx(16页珍藏版)》请在冰豆网上搜索。

LabVIEW虚拟仪器课程设计简易计算器.docx

LabVIEW虚拟仪器课程设计简易计算器

 

LabVIEW虚拟仪器课程设计

 

论文题目:

班级:

学号:

姓名:

指导教师:

 

一、LabVIEW简介……………………………………………………………………3

1、虚拟仪器(VI)的概念…………………………………………………3

2、LabVIEW的概念…………………………………………………………3

3、LabVIEW特点及发展……………………………………………………3

4、LABVIEW的应用领域……………………………………………………4

二、设计思想………………………………………………………………………4

三、实现过程………………………………………………………………………5

1、面板按键的设计及感应………………………………………………5

2、数字的键入(0~8键入1~9数字)……………………………………5

3、“0”的输入……………………………………………………………7

4、小数点的键入…………………………………………………………7

5、等号的键入……………………………………………………………8

6、四则运算的连续实现…………………………………………………9

7、C键清零作用及CE退出键……………………………………………10

8、开方键…………………………………………………………………10

9、倒数键…………………………………………………………………10

10、反号键………………………………………………………………11

11、backspace键及默认事件……………………………………………11

12、对result的处理……………………………………………………11

四、总结……………………………………………………………………………13

一、

LabVIEW简介

1、虚拟仪器(VI)的概念

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2、LabVIEW的概念

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

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

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

LabVIEW标志

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

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

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

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

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

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

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

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

3、LabVIEW特点及发展

虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。

目前使用较多的是IEEE488或GPIB协议。

未来的仪器也应当是网络化的。

LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。

它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。

这是一个功能强大且灵活的软件。

利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。

图形化的程序语言,又称为“G”语言。

使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。

它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。

它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。

使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。

利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。

像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。

它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!

现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索CPUVIEW会有更详细信息;)

4、LABVIEW的应用领域

LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。

测试测量:

LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。

经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。

至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。

同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。

这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程序就容易多了。

有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。

控制:

控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。

LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。

除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。

使用LabVIEW可以非常方便的编制各种控制程序。

仿真:

LabVIEW包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。

在设计机电设备之前,可以现在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。

在高等教育领域,有时如果使用LabVIEW进行软件模拟,就可以达到同样的效果,使学生不致失去实践的机会。

儿童教育:

由于图形外观漂亮且容易吸引儿童的注意力,同时图形比文本更容易被儿童接受和理解,所以LabVIEW非常受少年儿童的欢迎。

对于没有任何计算机知识的儿童而言,可以把LabVIEW理解成是一种特殊的“积木”:

把不同的原件搭在一起,就可以实现自己所需的功能。

著名的可编程玩具“乐高积木”使用的就是LabVIEW编程语言。

儿童经过短暂的指导就可以利用乐高积木提供的积木搭建成各种车辆模型、机器人等,再使用LabVIEW编写控制其运动和行为的程序。

除了应用于玩具,LabVIEW还有专门用于中小学生教学使用的版本。

快速开发:

根据笔者参与的一些项目统计,完成一个功能类似的大型应用软件,熟练的LabVIEW程序员所需的开发时间,大概只是熟练的C程序员所需时间的1/5左右。

所以,如果项目开发时间紧张,应该优先考虑使用LabVIEW,以缩短开发时间。

跨平台:

如果同一个程序需要运行于多个硬件设备之上,也可以优先考虑使用LabVIEW。

LabVIEW具有良好的平台一致性。

LabVIEW的代码不需任何修改就可以运行在常见的三大台式机操作系统上:

Windows、MacOS及Linux。

除此之外,LabVIEW还支持各种实时操作系统和嵌入式设备,比如常见的PDA、FPGA以及运行VxWorks和PharLap系统的RT设备。

二、设计思想

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

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

(2)第二个输入数据存入num2中

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

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

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

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

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

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

(3)change2用来去掉数据小数末尾的0

(4)change3用来保证backspace键仅对输入的数据有效,对运算结果无效

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

(1)type1用来存储运算符号

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

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

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

三、实现过程

1、面板按键的设计及感应

首先,在前面板上建立一个簇

,然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的顺序)。

将按键给值并作适当的美化处理

 

在后面板中通过

将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--20)之间的对应。

每次按下一个键时,通过

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

2、数字的键入(0~8键入1~9数字)

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

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

用change控制分支的选择:

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

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

分支结构的设计:

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

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

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

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

具体的设计如图:

Change为假时:

 

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

至此,数字1~9的键入完成。

3、“0”的输入

由于存在多零的问题,多零开头时,删除多于零所以“0”的输入应区别于1~9的输入。

输入“0”,涉及到多零和数据输入,应设置

状态。

当change为真时,表示是第二次输入数据,与1~9的输入类似,另外考虑到多零的处理。

具体设计如下:

当change为假时,表示数据的第一次输入,与第二次输入的第一帧类似,具体设计如下:

4、小数点的键入

小数点的键入也相当于数据的录入,需要设置change3的状态

另外需考虑到:

一个数中不允许存在2个或者2个以上的小数点。

同上,根据change个数改变判断当前输入的小数点是第一输入还是第二输入。

Change为假:

Change为真:

5、等号的键入

当num1和num3都键入值,且有确定的运算关系后,按下等号键,显示出结果。

由于结果可能存在多零显现,所以需设置

状态。

由于开方、取反、取倒操作不涉及到等于键,故只需设计+、-、*、/四个键。

具体设计如下:

 

 

6、四则运算的连续实现

具体的实现过程和上一步类似,但是应加入

,保证计算的连续性

 

7、C键清零作用及CE退出键

C键的作用是:

当按下此键后,程序初始化CE键的作用是,当按下此键后,程序结束循环,并将0显示在前面板上。

 

8、开方键

 

9、倒数键

 

10、反号键

 

11、backspace键及默认事件

backspace键仅对输入数据有效

 

12、对result的处理

上述所有结果都赋值给result,result经0值处理后,由result1输出并在前面板上显示。

利用while循环,检测result最后一位是否为0,若为0,则减去末位后赋值给本身;若不为0,则退出循环显示数据,从而实现去0的功能。

用change2控制条件分支的选择,当change2为假时,直接将result值给result1并结束result处理循环。

当change2真时,进行数据处理。

至此,计算器的基本功能已实现,后面板程序框图结构:

前面板结构:

四、总结

此计算器可以实现基本的加减乘除以及开方、取倒、取反功能,可以进行数据的连续运算以及简单的报错、纠错功能,在此计算器模版上,可以继续添加条件分支,实现更多功能的运算,但是不支持第二个数位为开方、取反、取倒的功能。

 

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

当前位置:首页 > 小学教育 > 英语

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

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