根据Labview的虚拟仪器计算器设计

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

研究生课程考核试卷

(适用于课程论文、提交报告)

科目:虚拟仪器教师:

姓名:学号:

专业:类别:学术型上课时间:

考生成绩:

卷面成绩平时成绩课程综合成绩阅卷评语:

阅卷教师(签名)

重庆大学研究生院制

通过对虚拟仪器课程的学习和撑握,本次实验设计了一个简易计算器,可以用来模拟真实计算器而进行一些简单的基本运算。利用Labview软件平台编写计算器程序,可以实现“+、-、×、÷、平方、开方、x^y”这七种基本运算,并且可以对上面的七种基本操作连续运算,另外实现了对输入的错误数据进行清除的功能。达到了本次实验的要求。

关键词:Labview,七种基本运算,清除

摘要 .................................................................................................................................................. I

1、引言 (1)

2、整体方案设计 (2)

2.1、簇和前面板控件的说明 (2)

2.2、程序流程图 (3)

3、具体实现过程 (4)

3.1、前面板设计 (4)

3.2、初始化和键的感应 (4)

3.2.1、数字0-9的输入 (6)

3.3、输入的第一个数 (6)

3.3.1、多零问题 (6)

3.3.2、小数点问题 (7)

3.4、四则运算和x^y (7)

3.5、开方计算 (8)

3.6、倒数计算 (9)

3.7、输入正负数 (9)

3.8、去掉小数点后面0的功能 (9)

3.9、清除功能(Clear) (10)

3.10、退格功能 (10)

4、总结 (12)

参考文献 (13)

附录A (14)

1、初始化程序 (14)

2、总程序 (14)

3、x^y的幂程序 (15)

基于Labview的简易计算器设计

1、引言

现代计算机技术和信息技术的迅猛发展,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。

虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。美国国家仪器公司(National Instrunents Corpotion,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。

本次实验是基于LabVIEW软件平台而设计的一个简易计算器,所设计的计算器可以实现简单的基本四则运算、平方、开方、求倒和x^y任意次幂计算;还能够实现清零和对输入的错误数Backspace功能。

2、整体方案设计

根据标准计算器的运算规则,得到下面本次实验的整体程序框图。

图 2.1 总体框图

2.1、簇和前面板控件的说明

簇中有22个布尔型控件,簇中的符号说明如下表所示,由于本次实验中我们使用的是事件结构,配合属性节点可以读取布尔控件中的文本信息,所以可以不用对簇中的布尔控件编号。事件结构包括一个或多个子程序框图或事件分支,结构执行时,仅有一个子程序框图或分支在执行。事件结构可等待直至事件发生,并执行相应条件分支,处理该事件。右键单击结构边框,可添加新的分支并配置要处理的事件。连线事件结构边框左上角的“超时”接线端,指定事件结构等待事件发生的时间,以毫秒为单位。默认值为–1,即永不超时。

前面板除了簇中的22个布尔控件外,还包含第一个输入数的存储和显示的数值控件num1,以及第二个输入数的存储和显示的数值控件num2和一个存储操作运算的字符串控件operator,以及显示运算结果的字符串控件Show,Show充当计算器的显示器。还包含一个停止按钮。

2.2、程序流程图

图 2.2 算法流程图

3、具体实现过程

3.1、前面板设计

为了使得所设计的计算器的外观比较好看,先在前面板上放置一个修饰控

件,然后在修饰框里建立一个簇,在簇中放置22个布尔控件,其中包括0--9十个数字键,1个小数点键,4个“+、-、×、÷”运算键,1个等号键,1个开方,1个符号转换,1个倒数,1个x的y次幂,1个清零,1个退格,并对每一个布尔控件修改一个适合的名称,放置两个数值型的控件用于存储两个计算的数据存储和显示,放置两个字符串的控件,Firstrun所在的字符串控件表示运算符operator的存储和显示控件,上面的最大的字符串大框用于显示计算的结果,最终放置完所有控件并排版后得到如下图3.1所示的前面:

图 3.1 前面板布局

3.2、初始化和键的感应

在后面板中先放置一个层叠式顺序结构,先将前面板中的各个显示框初始化,由于在本程序中用到了部分全局变量,也需要初始化,总的初始化如下图

3.2所示:

图3.2 各显示控件初始化

然后在层叠式顺序结构中实施在后面添加帧操作。在1帧里添加while循环。将簇放置在while循环里面,在循环里面放置一个,将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--21)之间的对应。

每次按下一个键时,通过查找出对应的键并把结果连接到一个事件结构,通过事件结构的控件引用结合属性节点便可得到前面板中控件上面显示的字符,至此就完成了对键的感应过程,如下图3.3所示。

图3.3 键的感应

相关文档
最新文档