基于labview的简易计算器设计

上传人:第*** 文档编号:57346710 上传时间:2018-10-21 格式:DOC 页数:18 大小:770KB
返回 下载 相关 举报
基于labview的简易计算器设计_第1页
第1页 / 共18页
基于labview的简易计算器设计_第2页
第2页 / 共18页
基于labview的简易计算器设计_第3页
第3页 / 共18页
基于labview的简易计算器设计_第4页
第4页 / 共18页
基于labview的简易计算器设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于labview的简易计算器设计》由会员分享,可在线阅读,更多相关《基于labview的简易计算器设计(18页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、就组成了一个测试系统。VXI 仪器价格昂贵,目前又推出了一种较为便宜 PXI 标准仪器。1.2 LabVIEW 简介LabVIEW 是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C 和 BASIC 开发环境,但是 LabVIEW 与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而 LabVIEW 使用的是图形化编辑语言 G 编写程序,产生的程序是框图的形式。LabVIEW 软件是 NI 设计平台的核心,也是开发测量或控制系统的理想选择。LabVIEW 开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产

5、力和不断创新。与 C 和 BASIC 一样,LabVIEW 也是通用的编程系统,有一个完成任何编程任务的庞大数库。LabVIEW 的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW 也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子 VI)的结果、单步执行等等,便于程序的调试。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流

6、编程方式,程序框图中节点之间的数据流向决定了 VI 及函数的执行顺序。VI 指虚拟仪器,是 LabVIEW 的程序模块。LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称 G 代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。第 2 章 总体设计2.1 设计思想创建 3 个字符串显示控件 num1,num2,num3,其中: 1、第一个输入数据存储在 num1 中 2、第二个输入数据存入 nu

7、m2 中 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 个数值显

8、示控件 type1,type2,并分别在其后面板的属性数据类型表示法中选择 U8 其中: 1、type1 用来存储运算符号2、type2 用来保证连续“+、-、*、/”的正确性 3、所有的运算结果都赋给 result 4、result 经过去零处理后得到 result1,将数据显示在前面板上。2.2 设计框图根据计算器的运算规则,得到本次课程设计的程序框图,如图 2-1:图 2-1 程序框图输入第一个数储存并显示输入运算类型并储存输入第二个数储存并显示进行连续运算显示运行结果第 3 章 具体实现过程3.1 程序流程图本次设计中定义了三个变量 number1 number2、以及 number3

9、,首次按下的数据存入第一个 number1 中,并显示,接着进行运算符号的键入,最后输入第二个变量存入number2 中,最后运算并显示在结果 result 中。具体流程图设计如图 3-1:图 3-1 程序流程图3.2 基本设置3.2.1 前面板的设计和键入感应前面板是 LabVIEW 的图形用户界面,在 LabVIEW 环境中可以对这些对象的外观输入第一个数输入运算符号输入第二个数开始按“C”按“=”输出结果结束YESNO和属性进行设计,LabVIEW 提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中

10、控件主要是按钮,显示器主要是文本显示。在前面板设计过程中先在前面板整齐排列放置 22 个确定按钮,将这 22 按钮的标签隐藏,然后修改这 22 个确定按钮的名字分别为:09 十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和 X 的 Y 次方。前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。计算器的前面板还有程序框图中while 循环的停止按钮,当按钮按下时计算器停止工作退出到 LabVIEW 的编辑界面。为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰

11、中的平面框。具体方式如下:首先建立一个簇,然后在簇中建立 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 结构,然后执行对应 ca

12、se 结构中的程序,至此就完成了对一个键的感应过程。3.2.2 运算量的初始变化在运行程序之前,首先对需要用到的变量进行初始化,如图 3-5 所示:图 3-5 运算量的初始化图在没有键按下的情况下,数值显示控件显示的是 0。从上到下的寄存器功能依次为:最上面的用来存储 display 中的数据,第二个用来存放四则运算的符号,第三个用来前一次运算后输出的数值,最底下的用来给出控制变量。3.3 操作设置3.3.1 数字的输入由于第一个输入和第二个输入所存放的地方不同(第一个存于 num1,第二个存于num2mun3 再清空 num2),所以有必要对此分开处理。创建 2 分支(真、假)的case 结

13、构。用 change 控制分支的选择:在处创建局部变量并转换为读入。由于数字的键入是数据输入,change3 用来保证 backspace 键仅对输入的数据有效,故应设置。分支结构的设计:由于初始化中布尔量改变设置都为“F”,则若 change 为假,表示数字为第一个输入,将得到的数据送给 result1 经处理后由 result 显示,同时送入num1 用于即将的运算。考虑到计算的连续性,即:当前一次计算结束后,不需要再次清零即可进行下一次的运算,还需用到 change1。由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置 change2 状态。具体的设计如图 3-6,图

14、3-7:图 3-6 Change 为假时的图Change 为真时,表示数据的第二次输入,具体设计如下:图 3-7 Change 为真时的图3.3.2 数字 0 的输入当第一次输入 0 时,与输入数字 1-9 的情况相同,现在就零输入时的多零问题进行设计。虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显示一个零。当数据输入后,通过连接字符与 00 比较,若不等,则将数据直接输出如图 3-8 所示。图 3-8 输入不是 00 时图当数据输入后,通过连接字符与 00 比较,若相等,则直接输出 0,如图 3-9 所示。图 3-9 输入是 00 时图3.3.3 小数点的输入在小

15、数点的输入时,最多只能显示出一个。若直接点击小数点,则以“0.”输出。若之前已输入数据,此时再输入小数点首先利用如图 3-10 所示程序:图 3-10 判断小数点的有无图判断已输入的数据中是否含有小数点,若不含有,则执行程序“真”,如图 3-11 所示;图 3-11 输入不含小数点时图若已输入的数据中含有小数点,则执行程序“假”,如图 3-12 所示。图 3-12 输入含小数点图3.3.4 “+/-”键的设计首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换为字符串形式输出。如图 3-13 所示,其中的顺序结构为去末尾零和去无关小数点的操作。图 3-13 去 0 和小数点设计图

16、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.7 C 键设计将程序中所有用到的变量均进行复位,达到清零复位的目的,如图 3-19 所示。图 3-19 C 键设计图3.3.8 倒数键及反号键在 19 序号的条件结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号