当前位置:文档之家› LABVIEW计算器设计报告

LABVIEW计算器设计报告

虚拟仪器大作业——模拟计算器
班级:电1004
姓名:
学号:20102389
一、设计思想:
.创建3个字符串显示控件num1,num2,num3,其中:
1、第一个输入数据存储在num1中
2、第二个输入数据存入num2中
3、将其赋给 num3,并使num2为空,以便输入的数据存入num2
4、所有的运算是在num1和 num3间进行
5、运算结果都赋给result,同时赋给num1,用于下一次的运算
.创建4个布尔开关按钮change,change1,change2,change3,其中:
1、Change的真假用来判断是第一个数据还是第二个数据
2、change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算
3、change2用来去掉数据小数末尾的0
4、change3用来保证backspace键仅对输入的数据有效,对运算结果无效
.创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:
1、type1用来存储运算符号
2、type2用来保证连续“+、-、*、/”的正确性
3、所有的运算结果都赋给result
4、result经过去零处理后得到result1,将数据显示在前面板上。

二、实现过程
1、面板按键的设计及感应
首先,在前面板上建立一个簇
然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个平方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的顺序)。

将按键给值并作适当的美化处理
在后面板中通过将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--20)之间的对应。

每次按下一个键时,通过
查找出对应的键并把结果(对应的数字)连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。

2、数字的键入(0~8键入1~9数字)
由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2→mun3再清空num2),所以有必要对此分开处理。

创建2分支(真、假)的case结构。

用change控制分支的选择:在处创建局部变量并转换为读入。

由于数字的键入是数据输入,change3用来保证backspace键仅对输入的数据有
效,故应设置
分支结构的设计:
由于初始化中布尔量改变设置都为“F”,则若change为假,表示数字为第一个输入,将得到的数据送给result1经处理后由result显示,同时送入num1用于即将的运算。

考虑到计算的连续性,即:当前一次计算结束后,不需要再次清零即可进行下一次的运算,还需用到change1。

由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置change2状态。

具体的设计如图:
对数字键1-9设计如图
Change为真时,表示数据的第二次输入,具体设计如下:
3、“0”的输入
由于存在多零的问题,多零开头时,删除多于零所以“0”的输入应区别于1~9的输入。

输入“0”,涉及到多零和数据输入,应设置和状态。

当change为真时,表示是第二次输入数据,与1~9的输入类似,另外考虑到多零的处理。

具体设计如下:
当change为假时,表示数据的第一次输入,与第二次输入的第一帧类似,具体设计如下:
4、小数点的键入
小数点的键入也相当于数据的录入,需要设置change3的状态
另外需考虑到:一个数中不允许存在2个或者2个以上的小数点。

同上,根据change个数改变判断当前输入的小数点是第一输入还是第二输入。

Change为假:
Change为真:
5、等号的键入
当num1和num3都键入值,且有确定的运算关系后,按下等号键,显示出结果。

由于结果可能存在多零显现,所以需设置状态。

由于开方、取反、取倒操作不涉及到等于键,故只需设计+、-、* 、/四个键。

具体设计如下:
6、四则运算的连续实现
具体的实现过程和上一步类似,但是应加入,保证计算的连续性
7、清零键清零作用
清零键的作用是:当按下此键后,程序初始化
8、退出键
退出键的作用是,当按下此键后,程序结束循环,并将0显示在前面板上。

9、开方键
10、倒数键
11、反号键
删除键仅对输入数据有效
13、平方键
14、默认状态
14、对result的处理
上述所有结果都赋值给result,result经0值处理后,由result1输出并在前面板上显示。

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

用change2控制条件分支的选择,当change2为假时,直接将result值给result1
并结束result处理循环。

Chenge为真时进行数字处理:
至此,后面板设计完毕,总图如下:
前面板结构:
三、总结
通过此次对虚拟仪器系统开发实践的课程设计,使我初步了解虚拟仪器系统开发的过程,能够在学习与工作中应用虚拟仪器技术开发一些简单的仪器及系统。

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

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

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

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

可以遇见的是,这些主流的商业可用技术将让虚拟仪器技术向更多的应用领域敞开大门!
利用本次计算器课程设计实验,我对虚拟仪器技术有了更加一步的了解,在全球数据采集(DAQ)市场中长期保持领先地位的NI数据采集系列产品专门针对绝对精度、高速性能、易用性和安全性等方面进行优化设计。

通过创造性地将
模拟和数字设计相结合,NI数据采集设备可以帮助工程师们轻松满足各种测量要求。

NI数据采集设备支持大部分的常用总线,包括PCI、PXI、USB、PCMCIA 以及IEEE 1394(火线),同时兼容各种工业常用的操作系统,如Windows、Linux 以及Mac OS X等,为工程师们提供了从分布式、便携性到工业级的全方位测量测试应用的解决方案。

当测量测试应用需要更高的性能、分辨率以及采样速率时,工程师们可以使用NI模块化仪器,它将分立式仪器的高质量和测量功能与NI 数据采集产品的灵活可升级性完美地结合在一起,为用户提供集成式的定时和同步功能,以及其他的商业化性能,例如ADC、DAC、FPGA和PC总线等。

测试和设计工程师们可以结合使用NI模块化仪器和强大的NI LabVIEW软件开发出自定义的测试测量系统,这些系统可以提供的灵活性、测量精度以及数据吞吐量和同步性都大大高于传统系统。

相关主题