基于labview简易计算器设计要点.docx
《基于labview简易计算器设计要点.docx》由会员分享,可在线阅读,更多相关《基于labview简易计算器设计要点.docx(30页珍藏版)》请在冰豆网上搜索。
基于labview简易计算器设计要点
《虚拟仪器技术》
课程设计报告
题目:
基于labview简单计算器的设计
专业:
测控技术与仪器
班级:
学号:
姓名:
指导教师:
完成日期:
2013年3月
2013年3月
1.设计目的...............................
(1)
2.设计步骤...............................
(1)
1.面板按键的设计..........................
(1)
2.数字的键入<1-9>.........................
(2)
3.数字0的键入............................(6)
4.小数点的键入............................(9)
5.等号的键入.............................(11)
6.四则运算的连续实现.....................(14)
7.CE退出键...............................(17)
8.开方键..................................(17)
9.倒数键..................................(18)
10.+/-键..................................(19)
11.backspace键............................(20)
12.对result的处理.........................(21)
三.总程序图................................(23)
四.调试中遇到的问题...........................(25)
五.体会...................................(26)
第一部分
课
程
设
计
指
导
书
1.设计目的
(1)掌握Labview软件编程方法
(2)掌握虚器仪器实验室硬件的应用
(3)培养综合应用所学知识来指导实践的能力
2.设计所用仪器及器件
(1)NI公司的数据采集和信号调理卡。
NIMyDQA卡,myboard辅助电路板。
(2)计算机一台。
(3)各种相关的实验材料和设备。
3.实物内容及要求
(1)设计成果一份。
(2)课程设计报告一份。
4.进程安排
1.布置任务、查阅资料,方案设计 (两天)
根据设计要求,查阅参考资料,进行方案设计及可行性论证,确定设计方案,画出详细的原理图。
2.上机在LabVIEW环境下按要求进行设计(三天)
要求在虚拟仪器上观测到正确的波形并达到规定的技术指标。
3.硬件的装配及调试 (三天)
使用数据采集卡进行装配调试,使其全面达到规定的技术指标,最终通过验收。
4.总结报告 (一天)
5.课程设计报告内容
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的任务
2.课程设计的要求及技术指标
3.总方案的确定并画出原理框图。
4.各基本单元原理及设计(结合设计图写)。
5.总原理图,工作原理、工作特性(结合框图及前面版讲解)。
6.电路安装、调试步骤及方法,调试中遇到的问题,及分析解决方法。
7.实验结果分析,改进意见及收获。
8.体会。
第二部分
课
程
设
计
报
告
1.设计目的
设计一个普通计算器,能够实现加减乘除四则运算,开方,倒数,求反等基本功能。
二.设计步骤:
1、面板按键的设计及感应
首先,在前面板上建立一个簇
然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的顺序)。
将按键给值并作适当的美化处理
图2.1.1
图2.1.2
在后面板中通过
将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--20)之间的对应。
每次按下一个键时,通过
查找出对应的键并把结果(对应的数字)连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。
图2.1.3
2、数字的键入(0~8键入1~9数字)
由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2→mun3再清空num2),所以有必要对此分开处理。
创建2分支(真、假)的case结构。
用change控制分支的选择:
在
处创建局部变量并转换为读入。
由于数字的键入是数据输入,change3用来保证backspace键仅对输入的数据有效,故应设置
分支结构的设计
由于初始化中布尔量改变设置都为“F”,则若change为假,表示数字为第一个输入,将得到的数据送给result1经处理后由result显示,同时送入num1用于即将的运算。
考虑到计算的连续性,即:
当前一次计算结束后,不需要再次清零即可进行下一次的运算,还需用到change1。
由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置change2状态。
Change为假时:
图2.2.1
图2.2.2
Change为真时:
图2.2.3
图2.2.4
图2.2.5
3、“0”的输入
由于存在多零的问题,多零开头时,删除多于零所以“0”的输入应区别于1~9的输入。
输入“0”,涉及到多零和数据输入,应设置
和
状态。
当change为真时,表示是第二次输入数据,与1~9的输入类似,另外考虑到多零的处理。
图2.3.1
图2.3.2
图2.3.3
图2.3.4
图2.3.5
4、小数点的键入
小数点的键入也相当于数据的录入,需要设置change3的状态
另外需考虑到:
一个数中不允许存在2个或者2个以上的小数点。
同上,根据change个数改变判断当前输入的小数点是第一输入还是第二输入。
Change为假时:
图2.4.1
图2.4.2
Change为真时:
图2.4.3
图2.4.4
5、等号的键入
当num1和num3都键入值,且有确定的运算关系后,按下等号键,显示出结果。
由于结果可能存在多零显现,所以需设置
状态。
由于开方、取反、取倒操作不涉及到等于键,故只需设计+、-、*、/四个键。
图2.5.1
图2.5.2
图2.5.3
图2.5.4
图2.5.5
6、四则运算的连续实现
具体的实现过程和上一步类似,但是应加入
,保证计算的连续性
图2.6.1
图2.6.2
图2.6.3
图2.6.4
图2.6.5
7、CE退出键
CE键的作用是,当按下此键后,程序结束循环,并将0显示在前面板上。
图2.7.1
8.开方键
图2.8.1
图2.8.2
9.倒数键
图2.9.1
图2.9.2
10.+/-键
图2.10.1
11.backspace键
图2.11.1
图2.11.2
图2.11.3
12.对result的处理
上述所有结果都赋值给result,result经0值处理后,由result1输出并在前面板上显示。
利用while循环,检测result最后一位是否为0,若为0,则减去末位后赋值给本身;若不为0,则退出循环显示数据,从而实现去0的功能。
用change2控制条件分支的选择,当change2为假时,直接将result值给result1并结束result处理循环。
图2.12.1
当change2真时,进行数据处理
图2.12.2
图2.12.3
三.总程序图:
图3.1
图3.2
图3.3
四.调试中遇到的问题
当程序设计完成之后要在前面板中将各个键准确的找出来实在是件头疼的事,刚开始每个键都不能使用,过了一段时间之后能出现一些数字了,然后我们就开始试每个键的作用,慢慢的才将每个键都确定下来了。
五.体会
为期一周半的虚拟仪器课程设计完成了,时间虽然不长,但是却十分的有意义,课题定下来之后,我们组就积极上网寻找资料,然后自己动手开始设计程序,当我们开始做的时候,一切都不像想象的那么容易,首先简单计算器的程序还比较复杂,虽然不需要接硬件设备,但程序我们编的够呛,不是多复杂,但是层层的嵌套让我们还是有点头晕呢,当我们用几天的时间将程序设计完成之后,我以为下面的工作应该会很简单,但是要将前面板上的键准确的找出来还是花费了我们很长的时间,幸好最后我们还是顺利的将每个键都找出来,实现了既定的设计目标,当结果出来的时候,我们都非常开心,因为这是我们努力出来的结果,这已经是我们大学时期最后第二个课程设计了,我们都非常珍惜这样的机会,在我们即将走向工作岗位的时候,这样需要动手动脑的设计会给我们很大的帮助,最后感谢老师的指导,让我们顺利的完成了课程设计。