版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录石家庄经济学院专业实习报告班级:姓名:题目基于LABVIEW的简易计算器设计2013年1月15 日摘要虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。使用虚拟仪器技术,工程师可 以利用图形化开发软件方便、高效的创建完全自定义的解决方案, 以满足灵活多变的需求 趋势。本次课程设计是基于LABVIEW所设计的计算器,目的是为了实现两个数之间的加、减、 乘、除四则运算及开方、求倒、取负运算,达到简易计数器的功能。编程的思想是完成一 种运算的过程,这个过程是:输入第一个数,存储并显示;输入要进行运算的类型并存储; 输入第
2、二个数,存储并显示;按“=”运算或者按其它运算符号进行连续的运算时显示运 算结果。关键词:LABVIEV;计算器;四则运算;函数功能页脚内容9ABSTRACTThis experiment is to realize the sum of two Numbers, subtract, multiply,divide and root, then pour, simple operation, to bear the calculator.Programmingis a complete thoughts of the operati on process is complet,the nu m
3、ber, storageand in put to the in put operati ons and storage in put nu mber of the sec ond type,storage and press = or b y other operati ons symbol con ti nu ous operati on result shows.KEY WORDSLABVIEW Calculator ; Arithmetic ; Function目录1引言42总体设计方案 52.1程序流程图72.2簇中的各元素在条件结构中代表的序号 82.3具体实现过程82.3.1 前
4、面板设计及键入感应 82.3.2 运算变量的初始化 92.3.3 数字1-9的输入102.3.4 数字0的输入112.3.5 小数点的输入 112.3.6 结果去零操作 122.3.7 “ +/- ”键的设计132.3.8 “ +、-、*、/” 四则运算 142.3.9 等号键152.3.10 百分数运算152.3.11 开方运算152.3.12 取倒数运算162.3.13 退格键的设计 162.3.14 清零键的设计 172.3.15 停止键173结论18致谢19参考文献20附录0基于LABVIEW勺简易计算器设计1引言本次课程设计是基于 LabVIEW虚拟仪器系统开发与实践等原理与技术而设
5、计 的计算器,可以用来模拟真实计算器而进行一些简单的基本运算。虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器 与主要通过硬件实现各种功能的传统仪器的不同。由于虚拟仪器结构形式的多样性和适用 领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。美国国家仪器公司(NationalInstrunents Corpotion ,Nl)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和 用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完 全自定
6、义的解决方案,以满足灵活多变的需求趋势。本次设计的计算器是利用虚拟仪器技术而完成的, 可以完成利用计算器可以进行简单 的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、 在输入数据时不慎将某个数字输错可以运用 Backspace清除该值等一些基本简单的运算。2总体设计方案完成标准型计算器的一般功能。设计框图如图2-1所示:图2-1 程序框图2.1程序流程图图2-2程序流程图2.2簇中的各元素在条件结构中代表的序号表2-1簇中元素默认12345条件结构中序号012345簇中元素67890条件结构中序号67891011簇中元素;+/-+-*/=条件结构中序号12131
7、4151617簇中元素sqrt%1/xBackspaceCEXIT条件结构中序号1819202122232.3具体实现过程首先建立一个簇2.3.1前面板设计及键入感应,然后在簇中建立23个布尔量,其中包括0-9十个数字键,1个小数点键,4个“ +、-、*、/”运算键,1个等号键,1个开方键,1个符号转换键,1 个倒数键,1个求百分数键,1个清零键,1个退格键,1个退出键。如图2-3所示:displaybackspace 1CEXIT1 |23 |+%45 |& 11/X7 I8*qrt0V-/二图2-3前面板然后通过簇至数组转换函数将簇中元素按产生的顺序组成一个一维数组,如图2-4所示:图2-
8、4键入感应过程这样就实现了每个键与数字(1-23)之间的对应。每次按下一个键时,通过搜索一维 数组函数匸門查找出对应的键并把其加1后对应的数字连接到一个case结构,然后 执行对应case结构中的程序,至此就完成了对一个键的感应过程。2.3.2运算变量的初始化在运行程序之前,首先对需要用到的变量进行初始化,如图2-5所示:目录display图2-5运算变量的初始化在没有键按下的情况下,数值显示控件显示的是 0。从上到下的寄存器功能依次为: 最上面的用来存储display中的数据,第二个用来存放四则运算的符号,第三个用来前一 次运算后输出的数值,最底下的用来给出控制变量。2.3.3数字1-9的输
9、入以数字“ 1”为例,当第一次输入数字“ T后,波尔量为真,进入 case结构,将1若再次输入1,为避免出现01这样的字符串,先判断之前显示的数据是否为0,若为0,则直接输出1,如图2-7所示。图2-7输入第一个数字为0时若不为0,则将这两次输入的数据通过连接字符串函数连接到一起,在display中输出。数字2到9也是同样的道理,如图2-8所示。页脚内容10目录图2-8输入第一个数字不为0时2.3.4数字0的输入当第一次输入0时,与输入数字1-9的情况相同,现在就零输入时的多零问题进行设 计。虽然以多个零开头不影响输出的结果,但考虑到显示形式的正确性,只在小数点前显 示一个零。当数据输入后,通
10、过连接字符与 00比较,若不等,则将数据直接输出如图2-9 所示。图2-9输入不是00时当数据输入后,通过连接字符与00比较,若相等,则直接输出0,如图2-10所示图2-10输入是00时* r I BIL U 2.3.5小数点的输入在小数点的输入时,最多只能显示出一个。若直接点击小数点,则以“0. ”输出若之前已输入数据,此时再输入小数点首先利用如图2-11所示程序页脚内容12目录图2-11判断小数点的有无判断已输入的数据中是否含有小数点,若不含有,则执行程序“真”,如图2-12所示;图2-12输入不含小数点时若已输入的数据中含有小数点,则执行程序“假”,如图2-13所示图2-13输入含有小数
11、点2.3.6结果去零操作在进行“ +、-、*、/”运算及取负,取百分数,去倒数,开放运算之后程序默认为以 保留6位小数的形式输出。而为了显示结果的简便,将末位不影响结果的零及小数点进行 省略。利用层叠式顺序结构,首先将得出的结果经过N-1位的偏移后与零进行比较,若相等,则进行去零操作,运用 while循环结构,直至末位数字不为零,循环结束(如图 2-14上图表示末位为零,下图表示末位不为零)。目录常字符丰卜图2-14去0操作在进行去零操作之后,进行层叠式顺序结构的第二层,对无关的小数点进行清除(如 图2-15-上图表示末位为小数点,下图表示末位不是小数点)。图2-15去多余小数点操作2.3.7
12、“ +/- ”键的设计首先进行扫描字符串,将字符串数据转换为数值数据,经过取负数后再转换为字符串 形式输出。如图2-16所示,其中的顺序结构为去末尾零和去无关小数点的操作。页脚内容23图2-16去0和小数点操作口口口口口口口 匚口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口匚 业厂出EMJpg-_J hPI 口2.3.8“ +、-、*、/” 四则运算以加法为例,当簇中输出的数据表示进行加法运算时,程序进入五层的层叠式顺序结 构,首先将字符串进行扫描,转换为数值变量,如图2-17所示。图2-17扫描字符串并转换为数值变量之后,对之前的数据进行运算,以保证连续运算时得到正确的结果:当
13、第一次输入时, 默认进行firstru n条件下的程序,如图2-18所示。若以前已有运算,以减法为例,先将之前的两个数进行相减运算,并进行去零操作, 之后再将本次的运算符号送入“运算符号”的局部变量,以便于进行下次运算,如图2-19所示。图2-19运算过程操作2.3.9等号键实现最终的运算结果,将结果进行去零操作后输出到display中,同时将代表运算符号的移位寄存器置为空字符串。以加法为例。如图2-20所示:图2-20输出运算结果卜僭字符丟2.3.10百分数运算将字符串转换为数值输出后除以100即可得到百分数输出,并对其进行去零(顺 序结构的后两层为去零操作),如图2-21所示:图2-21输
14、出百分数运算结果2.3.11开方运算将字符串转换为数值后进行开放运算,再转换为字符串输出,并进行去零操作 (顺序结构的后两层为去零操作),如图2-22所示:图2-22输出开方运算结果2.3.12取倒数运算将字符串转换为数值后进行取倒数运算,再转换为字符串输出,并进行去零操作 (顺序结构的后两层为去零操作),如图2-23所示:图2-23取倒去0操作2.3.13退格键的设计在点击退格键时,要实现从末位开始的依次推格,直至输出为0.首先,将整数部分与小数部分进行分离,运用拆分字符串函数实现此功能。分离后,将小数部分的字符串长度 与0进行比较,若大于0,则进入到条件结构的“真”字符串长度减1后与整数部
15、分连接, 得到新的display输出,如图2-24所示。若原字符串只有整数部分或者小数部分已经过退格键清除,则进入到条件结构的“假”若整数部分的字符串长度大于1,则进入到子条件结构的“假”,将整数的字符串 长度减一后输出,如图2-25所示。图2-25整数部分退格键设计若整数部分的长度不大于 1即小于等于1时,则进入到子条件结构的“真”,直接输 出0.,如图26所示。图2-26 整数部分退格键设计0回r目2.3.14清零键的设计将程序中所有用到的变量均进行复位,达到清零复位的目的,如图2-27所示。| |F |冋f0國g图 2-27清零操作相当于进行计数器的初始化操作。2.3.15停止键程序结束
16、,将T输入到while循环的停止键上,如图2-28所示画J- -S -图2-28退出操作3结论经过调试,此次设计的简易计算器可以实现实物计算器具有的一般功能。LABVIEW寸于初学者比较容易理解接受,用 LABVIEW没计的程序调理分明,具有很强的逻辑。即使在 不深入学习的情况下,也可以实现一些简单的设计。还可以根据用户自己的需要添加一些 特有的功能,这是比实物的计算器更高明的地方的。但是,由于虚拟仪器的局限,使得用 户在一些情况下没有实物用着方便,使用LABVIEW、须在准备好的环境下才能使用。总之,由于LABVIEW能够为用户提供简明、直观、易用的图形编辑方式,能够将繁琐 复杂的语言编程简
17、化成以菜单提示方式选择功能,与传统的语言比较,LABVIEV图形编辑方式能够节省程序的开发时间。在不久的将来,人们可以LABVIEW没计的计算器计算出任何问题,在实现基础运算的条件下,只需要选择运算的路径,届时使用虚拟仪器一定会成 为社会的主流这次毕业设计得到了老师和同学的帮助,另外,感谢消校方给予我们这样一次机会, 能够独立的完成一个课题,并在这个过程当中,给予我们一些机会,使我们在即将实习的 最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力, 提高了独立思考的能力。再一次对我的母校表示感谢。感谢在整个毕业设计期间给予过我帮助的伙伴们,在本次课程设计即将结束的最
18、后的日子里,正是因为有了你们的帮助, 才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西。最后,感 谢所有在这次毕业设计中给予过我帮助的人。再一次真诚地表示感谢你们!参考文献1 叶齐鑫,侯国屏,赵伟虚拟仪器环境下的频率特性测试方法J.电测与仪表,2005(6):10-13.2 高聪杰,李松岩.基于LabVIEW的信号输出与数据采集系统J.数采与监 测,2008,(24):135-136.3 马银平,宣亮亮,彭如基于LabVIEW的数据采集系统分析与设计电子元器件应用2009年第11卷第10期4 夏俊芳,周勇,张平华.基于虚拟仪器技术的排种器漏播检测技术J.华中农业大学学报,2
19、008,27(4):540-544.5 刘雁征,滕光辉虚拟仪器技术在设施农业中的应用现状及趋势J.华中农业大学学报,2004(增刊35):81-86.6 陈秀清.关于虚拟实验室的建设J.福建广播电视大学学报,2003(1):40-43.7 杨乐平,李海涛.北京LabVIEW高级程序设计M.北京:清华大学出版 社,2003.1-350.8 陈锡辉.Labview8.20程序设计从入门到精通M.北京:清华大学出版社,2007.9 龙华伟,顾永刚丄abVIEW8.2.1与DAC数据采集M.北京:清华大学出版社,2008.10 美Robert H Bishop ,乔瑞萍译丄abVIEW 7实用教程M.
20、北京:电子工业出版 社,2005.11 侯国屏,王坤,叶齐鑫.LabVIEW 7.1编程与虚拟仪器设计M.北京:清华大学 出版社,2005.12 张桐,陈国顺,王正林.精通LabVIEW程序设计M.北京:电子工业出版社,2008.目录页脚内容0附录整体程序1 伺1 “1.=|E目录课程设计验收指导教师评语及成绩:成绩指导教师签字年 月曰教研室主任意见教研室主任签字年 月日一、设计思想:.创建3个字符串显示控件 numl, num2 num3,其中: 1、第一个输入数据存储在 numl中 2、 第二个输入数据存入 num2中3、 将其赋给 num3,并使num2为空,以便输入的数据存入 num2
21、 4、所有的运算是在numl和 num3 间进行5、运算结果都赋给result ,同时赋给numl,用于下一次的运算.创建4个布尔开关按钮 change,changel,change2, change3,其中: 1、Change的真假用来判断是第一个数据还是第二个数据2、changel的功能是在输入=,运算完后,不需要初始化即可进行下一次运算3、change2用来去掉数据小数末尾的04、change3用来保证backspace键仅对输入的数据有效,对运算结果无效.创建2个数值显示控件type1,type2,并分别在其后面板的属性一一数据类型-表示法中选择U8其中:1、type1用来存储运算符号
22、2、type2用来保证连续“ +、-、*、/ ”的正确性3、所有的运算结果都赋给result4、result经过去零处理后得到result1,将数据显示在前面板上。利用labview设计一些小项目不仅可以更好的学习虚拟仪器知识,还能方便生活!应用所学知识,实现计算器实现步骤的设计框架, 设计计算器!(1)设计目的利用所学虚拟仪器知识,应用labview软件设计一个能实现加减乘除以及开方、取倒、取反功能的计算器。提高使用labview设计项目的能力!(2)设计思路该设计采用模块化编程思想,从而使整个项目更加的简洁明了,直观大方,利于阅读。总体上可分 为以下几个模块:(1)数值输入模块:主要实现的
23、功能就是数值的键入,主要是数字键以及表示进制转换时的进制数的键入。(2)按键模块:这个模块包括3个部分,输入数按键,运算符按键以及特殊功能按键。(3)菜单选择模块:该模块主要实现的功能有,进制转换功能,弧度角度转换功能,以及标准型计 算器和科学计算器之间的切换。(4)进制选择模块:可以转换二、八、十、十六进制的数。(5)单位选择模块:该功能可以实现将输出的数转换成你想要的单位,包括角度、弧度以及各种进制数。(6)数值显示模块:该模块主要功能就是数值的键入显示以及数值的输出显示。(7)清除返回模块:该模块主要的功能就是当用户发现输入错误数据时,使用该功能就能改正错误, 从而节约了时间以及提咼了计
24、算效率。(8)三角函数等高级运算模块:该模块主要就是一些三角函数等一些高级运算,是为科学计算器而设计的,功能非常强大,实时操作性很好。本次毕业设计是基于LabVIEW所设计的计算器,目的是为了实现两个数之间的加、减、 乘、除四则运算及开方、求倒、取负运算,达到简易计算器的功能。编程的思想是完成一 种运算的完整过程是:输入第一个数,存储并显示输入要进行运算的类型并存储输入第二个数,存储并显示按“=”或则按其它运算符号“ +、-、*、/”进行连续的运算时显示运算结果完成标准型计算器的一般功能。输入第一个数,进行存储并显示输入运算的类型并存储输入第二个数,存储并显示按“=”或则按其它运算符号“ +、
25、-、*、/”进行连续的运算,最后显示运算结果。创建3个字符串显示控件numl num2 num3其中:第一个输入数据存储在numl中, 第二个输入数据存入num2中,将其赋给 num3并使 num2为空,以便输入的数据存入 num2所有的运算是在numl和 num3间进行,运算结果都赋给result ,同时赋给numl 用于下一次的运算。创建4个布尔开关按钮change,changel,change2,change3,其中:Change的真假用来判断是第一个数据还是第二个数据,changel的功能是在输入=,运算完后,不需要初始化即可进行下一次运算,cha nge2用来去 掉数据小数末尾的0,
26、change3用来保证backspace键仅对输入的数据有效,对运算结果无效。创建 2个数值显示控件type1,type2,并分别在其后面板的属性数据类型表示法中选择U8其中:type1用来存储运算符号,type2用 来保证连续“ +、*、/”的正确性,所 有的运算结果都赋给result ,result经过去零处理后得到result1 ,将数据显示在前面板上。此计算器可以实现基本的加减乘除以及开方、取倒、取反功能,可以进行数据的连续运算以及简单的报错、纠错功能,在此计算器模版上,可以继续添加条件分支,实现更多功能的运算,但是不支持第二个数位为开方、取反、取倒的功能。前面板设计:前面板是LabV
27、IEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性 进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方 便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序 中控件主要是按钮,显示器主要是文本显示。在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这 22个确定按钮的名字分别为: 09十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的丫次方。前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应
28、。计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装 饰采用修饰中的平面框。如下图所示:刚开始接触虚拟仪器这个概念的时候是在大三的下学期,这个当时陌生的新词。一看 到这个词我马上想到我们经常用的仿真软件proteus,那里面就有好多虚拟的电阻、电源、波形发生器等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就 厉害了。从那时开始,我对虚拟仪器产生了一定的兴趣。Labview米用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一一 门编程语言。Labview因为米用的是图形化语言,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样, 是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很 大很复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- BIM实施方案资料
- 市场扩张计划策略书模板与实施方案
- 企业品牌宣传与推广标准化手册
- 供应链管理优化策略与工具包
- 技术支持响应快速流程与知识库工具
- 吉林省前郭县联考2026届初三下学期教育质量调研(二模)英语试题含解析
- 江苏省泰州市泰兴市西城达标名校2026年初三一模试题(语文试题文)试题含解析
- 行业诚信领域活动启动承诺书(6篇)
- 居民区绿化管理保证承诺书6篇
- 2026年建筑工地消防安全专项方案编制指南
- 档案数字化项目立项申请书
- (正式版)DB51∕T 2787-2021 《研学旅行实践活动设计规范》
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试参考题库及答案解析
- 2026四川海大橡胶集团有限公司主业子公司第一次社会招聘49人笔试备考题库及答案解析
- 2026年六安职业技术学院单招职业适应性测试题库含答案详解(能力提升)
- 2026年南京信息职业技术学院单招职业适应性测试题库带答案详解(b卷)
- 2026湖南省卫生健康委直属事业单位招聘185人笔试模拟试题及答案解析
- 2025江西赣州水务集团招聘47名专业技术人员笔试历年典型考点题库附带答案详解
- 2026年河南农业大学招聘辅导员(硕士)10名备考题库及1套参考答案详解
- 心力衰竭的护理案例分析与实践
- 05S502 室外给水管道附属构筑物
评论
0/150
提交评论