文档详情

Labview编程编写举例.doc

发布:2018-09-28约1.72千字共14页下载文档
文本预览下载声明
虚拟仪器实验报告三 一、实验目的:LabVIEW编程软件入门学习 二、实验内容:学习LabVIEW的程序结构 三、实验步骤:1、 顺序结构(Sequence Structure) 2、 For循环 3、 While循环 4、 Case结构 5、 事件结构(Event Structure) 6、 使能结构 7、 公式节点(Formula Node) 8、 跟着实例学—模拟温度采集监测系统 四、实验结果: 练习1 建一个 VI,计算生成等于某个给定值的随机数所需要的时间 练习2 用For循环和移位寄存器计算一组随机数的最大值 练习3 使用While循环和图表 练习4 使用移位寄存器 练习5 使用Case结构 解:输入为非负数,输出它的平方根 输入为负数,输出-999.且提示出错 练习6 使用公式节点 练习7 用一个开关控制两个循环 练习8 全局变量的调用 五、实验作业: 1. 利用顺序结构和timing面板下的tick count VI,计算for循环1000000次所需的时间。 解:用顺序结构实现。 第一帧是tick count VI计算循环所需的时间; 第二帧是for循环1000000次,用移位寄存器实现,每循环一次,循环次数加一,总循环次数设为1000000次; 第三帧是输出循环所需的时间。 2. 用While循环和定时器,实现连续的温度采集监测。 解:采集连续的摄氏温度,并且设定上限温度为60℃。 点击“开始”,运行系统进行采集,当采集的温度超过了设定温度,报警灯亮,且报警次数加1,未超出设定温度,则只实时显示采集的温度。 点击“暂定”,则系统进入暂停状态,再点击“停止”,则系统关闭,停止采集。 我设计的采集系统存在一些缺陷,只有当“暂定”、“停止”同时按下时,才能关闭系统。另外,也不能实现摄氏温度和华氏温度的切换。 通过查阅资料,完善的采集系统如下所示: 3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节。 解:利用顺序结构,构成五帧。第一帧1灯亮,接着第二帧2灯亮,直到第五帧5灯亮。闪烁间隔由滑动杆决定,即控制灯亮的时间。然后由While循环控制使灯循环点亮。 4. 求分数序列 前20项之和。 解: 方法一:利用移位寄存器 利用移位寄存器将每次的除数和被除数锁存,它们的和作为下一个分数的分子,被除数作为下一个分数的分母。再将每个分数加到运算结果中。 方法二:这种方法,是我查资料学会的。使用反馈节点,将每一个分数的分子通过反馈节点,成为下一个分数的分母,每一个分数的分子和分母之和通过反馈节点,作为下一个分数的分子。最后将每一分数累加到运算结果中。但采用这种方法,运算较慢。 在for循环框的边缘,点击右键,创建反馈节点 5. 给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。 解: 如果输入的数值超出了0—100的范围,则提示“输入错误!” 6. 利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12… 解:最外层是事件结构,按下确定按钮,则开始累加。里面又用了一个for循环。首先将输入的数字转换为字符串,测出字符串的长度作为总循环次数N。 因为每次输入的数字总是输入数值的个位,所以利用移位寄存器将输入的数值除以10取余即得到个位数,不断累加即可得累加值。 7. 利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2~sqrt(N),依次去对N求余,只要有一个余数是0,则N就不是素数。 解:利用公式节点,编写判断素数的程序。若指示灯亮,则输入的为素数,否则不是素数。 五、实验总结: 相较数据操作,程序结构更复杂,学起来较吃力,尤其它们之间的嵌套,编程过程中要更多的思考。公式节点中的语法一直弄不太懂,编写的程序看似简单,可是实验结果总是有误。所以这部分还是得好好练习练习。
显示全部
相似文档