基于LabVIEW计算器的设计.docx

上传人:b****5 文档编号:4533862 上传时间:2022-12-01 格式:DOCX 页数:11 大小:564.75KB
下载 相关 举报
基于LabVIEW计算器的设计.docx_第1页
第1页 / 共11页
基于LabVIEW计算器的设计.docx_第2页
第2页 / 共11页
基于LabVIEW计算器的设计.docx_第3页
第3页 / 共11页
基于LabVIEW计算器的设计.docx_第4页
第4页 / 共11页
基于LabVIEW计算器的设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于LabVIEW计算器的设计.docx

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

基于LabVIEW计算器的设计.docx

基于LabVIEW计算器的设计

基于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)的结 果、单步执行等等,便于程序的调试。

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

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

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

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

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

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

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

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

二、 程序流程图

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

   

三、前面板设计:

前面板是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、change1、num2分别清0、清0、F、T,赋空。

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

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

即以不显示任何字符退出程序。

7.4 开方键 在18键的case中对当前操作数进行开方运算即可。

7.5 倒数键 在19键的case中对当前操作数进行倒数运算即可。

7.6 反号键 在20序号的case中对当前操作的进行乘以负1的运算实现反号。

7.7 backspace键 在21序号的case中对当前操作的进行操作以清除输入的错误键(如 下图) 。

计算字符串的长度,把长度减1位后显示。

8.去掉小数末尾为0的功能

 由于经过前面的运算,数据都保持6位小数,不可避免的会出现小数 末尾为0的情况。

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

 

 

五、寄存器及布尔变量的作用解释

  num1用来存储第一个输入数据。

第二个输入数据存入num2中,然后 将其赋给 num3,并使num2为空,以便输入的数据存入num2,所有的运算 是在num1和 num3间进行,运算结果都赋给num1和result。

Change用来 判断是第一个数据还是第二个数据。

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

change2用来去掉数据小数末尾的0。

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

 type1用来存储运算符号,type2用来保证连续“+、-、*、/”的正确性。

 所有的运算结果都赋给result。

result1用来将数据显示在前面板上。

后 面板及所有的寄存器及布尔变量的初值如下图:

总结 :

通过此次对虚拟仪器系统开发实践的课程设计,使我初步了解虚拟仪器系统开发的过程,能够在学习与工作中应用虚拟仪器技术开发一些简单的仪器及系统。

大家都知道虚拟仪器技术已经广泛的应用于教学实验、科学研究和工程实际中。

基于LabVIEW的虚拟仪器在教学试验中可以代替传统仪器;在科学领域可以节省时间提高效率;应用于工程实际,可以大幅度减少构建测试、控制系统和维护方面的投资。

与此同时,虚拟仪器技术本身也在不断发展和创新,由于建立在商业可用技术的基础之上,使得目前正蓬勃发展着的新兴技术也成为推动虚拟仪器技术发展的新动力。

例如PCIExpress总线技术可以让更多的原始数据以更高的速度传送给PC;而多核技术则可以实现并行运算,从而直线提升系统的数据处理性能;可编程逻辑门阵列(FPGA)技术则允许工程师根据不同的测试要求通过软件重新定制硬件的功能。

可以遇见的是,这些主流的商业可用技术将让虚拟仪器技术向更多的应用领域敞开大门!

参考文献:

[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.2.1与DAQ数据采集[M].北京:

清华大学出 版社,2008.

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

清华大学出版 社,2007. 

[10] [美]Robert H Bishop 乔瑞萍 译.LabVIEW 7实用教程[M].北京:

电子工业出版社,2005. 

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

清华大学出版社,2005. 

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

电子工业出版社,2008

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

当前位置:首页 > 高中教育 > 高中教育

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

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