- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
虚拟仪器实验报告
虚拟仪器实验报告
姓名: 刘琳琳 学号:20091902120 学院: 生物工程学院 专业:生物医学工程 授课教师:文玉梅(教授) 指导老师:杨进、文静
《虚拟仪器》实验报告
开课实验室: 虚拟仪器开放实验室 2009 年 11 月 学院 生物工程学院 年级、专业、班 09研 医电班 姓名 刘琳琳 成绩 课程 实验项目
虚拟仪器 计算器设计 指导教师 文玉梅(教授) 名称 名 称
教
师
评教师签名: 语 年 月 日 一、实验目的
利用LabVIEW G语言编写计算器的程序,实现如下功能:
1(熟悉labview编程环境,了解其特点。
2(学会用labview实现简单的程序设计,了解图形化编程的方法和步骤;
3(掌握数据对象类型与操作和数组、簇的概念与使用,以及他们之间的相互转化;
4(掌握labview中一些函数及结构的用法。
二、实验要求
编写标准计算器,实现基本的加、减、乘、除等功能,能进行简单的计算,完成源程序的编写和测试。
1. 可以实现加、减、乘、除、求倒、开方,开根等运算;
2. 可以实现连续运算,运算规则从左至右;
3. 对误操作进行屏蔽,如在一个数中只可能输入一个小数点;小数点前只显示一个0;得
到一次运算结果后Backspace键不可操作等;
4. 可以手动修改一些数据。如用Backspace清除一个误输入数字,用CE清除整个输入数
据,用C使计算器回到初始状态;
5. 可以精确到小数点后32位。
三、实验原理
虚拟仪器的概念LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS,简称NI)的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。 ?程序流程图
主程序进来开始先判断输入是被操作数,还是操作数,若为被操作数则判断是F。把输入的字符转化为一个十进制的数后,再判断是否有运算的键按下,如果没有键按下,就只把输入的字符显示出来并等待,不进行运算,当有运算键按下,将返回输入下一个字符即为操作数,判断输入为T。并把这个操作数显示出来,被操作数与操作数开始进行运算,并把运算结果显示出来,把操作数清零,并把运算结果保存到被操作数中,再返回到主程序。下面为主程序框图:
开始
等待输入
N
有输入 Y 么,
Y
-1,1--9 . = 0 +,-,*,/,c,sqrt default x^y,1/x 延时 输出数输出小进行对输入输出 等待 字0 数点 加、减+,-,*,/ 数字进
乘、除行变x^y,进行
乘方的换,输sqrt, 1/x
运算 出数组 的运算和
清零,
输出计算结
果
Exit
结 束
图一 程序框图
?Labview编程的主要步骤
※在Labview的编写过程中,主要的步骤和用到的一些重要的数据类型如:簇、数组、字符串、局部变量以及结构体等。显示区用文本显示框,编程中采用Case结构体。
※编程中用到了簇cluster, 簇可以有众多的基本数据的集合,在此编程中,簇里面包含的
按键按钮为布尔型OK按钮。簇里面元素的顺序是可以自己设定,但因为LABVIEW中不能引用簇的索引,所以需要转换成数组,簇和数组数据类型转换函数Cluster To Array,一维数组搜索函数Search 1D Aarry,当有键按下时,从“0”开始搜索,如果找不到就返回“-1”,表现为缺省状态,等待按键。
※首先为了将操作数存起来,方便运算,并能解决程序中连线复杂的问题,采用了局部变量的方法。
※当同时按下多个小数点时,使用zeroflag 布尔局部变量对case结构体进行控制。当zeroflag 布尔局部变量为F时,将小数点与数字两个字符串连加,并将zeroflag 布尔局部变量变为T,当再次按下小数点按键时,不会再执行字符串连加过程,以保证小数点的正确输入。
※每次对显示框的数据处理完后,要将其存起来,为下步计算做准备,根据判断当前num1flag布尔局部变量是否为假,若为假,则表示当前的输入是num1,把处理后的数据重新放回num 1并赋值给display显示,若为真,则表示当前输入是num2,进行数据处理后,对num2进行清空。
※Backspace的处理过程,先求出当前字符串的长度,然后减一为要保留的字符串长度,通过string subset函数取出退一位的字符串并相应的赋值给num1(当num1flag为F)或者num2(当num1flag为T)并显示。
※Clear处理过程,对显示结果清0,并将num1、num2 清空,对所有
文档评论(0)