用labview设计一个计算器(虚拟仪器)

上传人:cn****1 文档编号:498631154 上传时间:2023-12-18 格式:DOCX 页数:16 大小:827.16KB
返回 下载 相关 举报
用labview设计一个计算器(虚拟仪器)_第1页
第1页 / 共16页
用labview设计一个计算器(虚拟仪器)_第2页
第2页 / 共16页
用labview设计一个计算器(虚拟仪器)_第3页
第3页 / 共16页
用labview设计一个计算器(虚拟仪器)_第4页
第4页 / 共16页
用labview设计一个计算器(虚拟仪器)_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《用labview设计一个计算器(虚拟仪器)》由会员分享,可在线阅读,更多相关《用labview设计一个计算器(虚拟仪器)(16页珍藏版)》请在金锄头文库上搜索。

1、# / 15虚拟仪器实验报告目:名:系:号: 别:(学术、专业)实验一 Labview 计算器一、实验目的通过利用 labview 设计一个简易计算器熟练的掌握labview 基本功能和基本操作方法。 二、实验要求利用设计的计算器可以进行简单的四则运算、 可以进行平方、 开根号和倒数运算、 计算器可以进行清零和关闭计算器操作、 在输入数据时不慎将某个数字输错可以运用Backspace清除该值等一些基本简单的运算。三、实验原理和框图1、前面板设计前面板是LabVIEW勺图形用户界面,在LabVIEW境中可以对这些对象的外 观和属性进行设计,LabVIEW!供了非常丰富的界面对象,可以方便地设计出

2、生 动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象, 即,控件和显示器。本程序中控件主要是按钮,显示器主要是文本显示。在前面板设计过程中先在前面板整齐排列放置22 个确定按钮, 将这 22 按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:09十个数字、小数点、正 负号、加、减、乘、除、等号、倒数、根号、清零、退格和 X 的 Y 次方。前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示, 通过改变显示控件的大小使之于计算器的大小相适应。 计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW勺编辑界面。为了前

3、面板的美观和防止按钮的移动, 分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。如下图所示:计算器2.后面板设计程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。本课程设计的程序框图主要运用了 while循环、时间结构、条件结构和平铺顺序等结构。通过上图可以看出当小数点按钮按下时,0.和存临时数据通过字符串连接控件将 两者连接到一起;小数点按钮没有按下时,临时数据和小数点通过字符串连接按 钮也将两者连接在一起,将连接到一起的数

4、据送到显示控件。数值控件与运算按钮没有直接的连线, 这就需要对控件进行引用,将引用后 的结果经过属性节点和字符串至十进制转换将按下的按钮扫描到临时数据进行 临时保存。陶投下源类型陋控件引用原值新值运苴符 匚图3-3四则运算的除法运算在四则运算的过程中,通过运算符按钮对四则运算进行控制, 在进行除法运 算当除数为零时,会出现错误的提示。当除数不为零时,除法运算跟加减乘的运 算是一样的。I Fir.Ujml1 1lilt.ll图3-4清零操作清零操作就是将运算符、小数点、显示和操作等控件的局部变量返回到计算图3-5退格操作当输入的数据较大或者在进行连续运算时,不慎将某个数输入错误如果进行 清零操作

5、就会导致以前的工作全部功亏于溃, 这是只需进行退格操作将输入错误 的数值清除即可,不过计算后的结果不能进行退格操作。图3-6开根号运算开根号是计算器最基本的功能,在进行开根号运算之前应该先对开根号的数 值进行判断是否满足开根号的条件。当根号下的数值小于零时,会显示出“错误: 被开放数小于零!” ;根号下的数值大于等于零时,会通过计算显示出正确的结果。图3-7x的y次哥运算在进X的Y次幕操作时,先输入的为底数后输入的为幕数。 X的Y次幕运算已经在前面定义过了,在这里只需调用就可以了图3-8倒数运算倒数运算跟除法运算非常相似,只需将除法运算中的被除数改为固定数 就可以了,同时还必须考虑除数为零的情

6、况,这按除法运算的设计方法就可以了四、系统调试:1 .四则运算。此运算利用+、一、X、+可以进行一些基本简单的混合运算;2 .开平方(Sqrt)。此按键的功能是对某个数进行开方运算;3 .清除按键( Backspace) 。 此按键的功能是当输入有误时, 用此按键可以清楚错误输入;4 .清零按键( CE) 。 此按键的功能是直接将显示数据清零, 从新开始新的运算;5 .x的y次方运算(x Ay) o此按键的功能是进行x的y次方运算;6 .取倒数(1/x)。此按键的功能是求x的倒数。五、总结利用本次计算器课程设计实验, 我对虚拟仪器技术有了更加一步的了解, 在全球数据采集( DAQ )市场中长期

7、保持领先地位的 NI 数据采集系列产品专门针对绝对精度、 高速性能、 易用性和安全性等方面进行优化设计。 通过创造性地将模拟和数字设计相结合, NI 数据采集设备可以帮助工程师们轻松满足各种测量要求。# / 15实验二模拟输入一、实验目的1 了解LabVIEW用进行数据采集的过程;2掌握基本的数据采集模块的使用;3学会使用中级数据采集模块进行编程;4学会用软件触发显示实时波形。二、实验要求通过BNC-2120连接器和P6014E采集卡,实现单通道多点采集,用软件 触发显示实时波形。三、实验原理及框图1单通道连续数据采集本程序需调用 Intermediate VI 中的 AI Config VI

8、、AI Strat VI 及 AI Read VI 等来实现,其程序如图1所示,首先在AI Config VI中需要指定缓冲区长度Buffer size,其余参数可采用默认值。在 AI Start VI中需要设置扫描速率scan rate,即 指定采样频率;止匕外,需将通道列表扫描的次数 number of scans to acquire殳为0, 以实现连续采集。程序中设置了一个 While循环,开始采集后,在循环中不断读 取缓冲区中数据,并送往示波器加以显示。用 AI Clear VI来清除模拟输入操作 和缓冲区的配置,并释放 DAQ卡上的资源。Waveform Graphdevice (

9、1)channels HlconricMgSTART昌4 -1buffer size (1000 sc停止Uraljhfl图1单通道连续数据采集程序2软件触发数据采集软件触发是在数据采集时,对A/D转化的信号进行比较监测,当满足软件触 发的条件时开始将采集数据读取到数据缓冲区,并在采集结束后将数据传输到计 算机。即信号采集一直在进行,但只对满足条件的数据进行处理。其程序如图2所示,主要需要对 AI Read VI的conditional retrieval进行配置,包括触发电平、触发方式等。device (1)01CONFIGchannels (0)buffer size 11000 scC7

10、 J 1.1condition削 retriCYdlWavefarm GraphSTART停止an Hte (1000 1【ans/5Ri:pf hbmJErrorftl CLEAR T 12雷图2软件触发数据采集程序四实验结果1单通道连续数据采集以1kHz为采样频率,对正弦波信号源进行连续采样,所得结果如图3所示2软件触发数据采集以1V为触发电平,在上升沿和下降沿到来时进行数据采集,所得结果如图4device (1)1Waveform Graph3-channels (0)缸|卷二 Tbuffer size (1000 scans):|10002-00.020.040.060.080-1 T

11、fcnofl AHA cr ant /停止31000.00STOP图3单通道连续数据采集结果图4软件触发数据采集结果五实验总结通过本次实验,我初步了解了虚拟仪器的数据采集功能,学会了在LabVIEW 中编写简单的数据采集程序,基本达到了实验目的,为以后学习和实验打下了基 础。实验三、模拟输出一、实验目的在数据采集的基础上,进一步熟悉数据输出的各种模块了解它们的作用和接 方式能够正确运用DDS原理产生单通道的正弦波信号,并能够对频率和幅度进 行调节。二、实验要求输出频率f可调,且频率分辨率Af可调的正弦波。以固定100KS/S采样率采 集并实时显示输出波形。三实验原理及框图1DDS原理介绍DDS

12、就是直接数字合成技术。在数据输出中,先产生一系列的正弦波数据, 存储到buffer中,然后通过参数的配置,输出不同频率和幅度的正弦波,如图 1 所示:图1 DDS原理框图首先产生N个的正弦波的值存储到buffer中,n表示这N个正弦波值采集 了多少个正弦波的周期。输出波形的频率为:匚 FsF = 一 nN. f = N(2)其中:F表示输出信号的频率,Fs表示DA的update ratq 也表示步长,n表示buffer里面存储的正弦波值的周期,2、波形输出配置DDS是整个程序的主要部分,N表示buffer的大小。接下来将产生的DDS数组输入到write模块中,具体模块如图2所示:图2波形输出配

13、置框图config模块中对通道以及buffer的大小进行配置,接着write模块中将上一步 产生的DDS数组输入,该模块的作用就是将输入DDS数组写入到采集卡的buffer 中,为下一步的数据输出做准备。Start模块主要有2个参数配置,如上图所示。 该模块则是将在buffer中的数据不停的输出,0表示不停的连续输出,而30000 则是update rate就是在DDS中提到的Fs。这是一个比较重要的参数,对输出信 号波形的好坏有很大的影响。比如用30K的的update rate输出一个频率为2K的信号,那么一个周期内就 有15个点,基本上能比较完整的表示一个正弦波,而通过实验表明本采集卡的

14、最大update rate略大于30K,在产生3K信号的时候效果不是太好。3)实时参数更改实验要求能够对输出的波形实时的更改其频率以及幅度。因此在程序中加入 了一个while循环,如图3所示。(actu:=l waveform frequency (cycle5/sec)Cflmpute Sine Waveformampli tud& | 一update rate IOOD pnints.i sec.)buffer, Lod uidStart Iavefora Generati an质频率美辨率I(one charnelcontinuous gener at i. on9(RTTESTARTLoop witil stop button pressed or error ccute图3 while循环设置循环左面的局部变量是为了判断频率或者步长是否发生变化,如果发生了变 化就产生新的DDSB号,重新对buffer写入。在进入write模块以前可以对幅 度进行调节。如果没有变化,就不对 buffer进行操作。一直循环到按下stop键。要注意步长的更改,因为在设计上将Fs固定,所以在改变步长以后 N也发生了变化,也就是buffer的大小发生了变化,所以必须对采集卡重新进行配置。四实验

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号