Download presentation
Presentation is loading. Please wait.
1
第5章 程序结构
2
本章内容 5.1 顺序结构(Sequence Structure) 5.2 For循环 5.3 While循环 5.4 Case结构
5.5 事件结构(Event Structure) 5.6 使能结构 5.7 公式节点(Formula Node) 5.8 跟着实例学—模拟温度采集监测系统
3
5.1 顺序结构(Sequence Structure)
5.1.1 LabVIEW程序的执行顺序 数据流式的编程方法 多段代码同时执行
4
5.1 顺序结构(Sequence Structure)
Flat Sequence Structure Stacked Sequence Structure
5
5.1 顺序结构(Sequence Structure)
在Flat Sequence Structure的Frame间传递数据
6
5.1 顺序结构(Sequence Structure)
在Stacked Sequence Structure的Frame间传递数据
7
5.2 For循环 For循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数组的大小给定
8
5.2 For循环 输入和输出数组
9
5.2 For循环 5.2.3 移位寄存器(Shift Register) 一个累加10次的a++程序 通过局部变量实现 通过移位寄存器实现
10
5.2 For循环 5.2.4 反馈节点(Feedback Node) 通过反馈节点实现a++
11
5.3 While循环
12
5.3 While循环 5.3.2 添加定时器
13
5.3 While循环 5.3.3 使用移位寄存器和反馈节点 累加器程序
14
5.4 Case结构 If(a%2==0) b=a+2; else b=a+1; end
5.4.1 等价于if...else...语句的Case结构 If(a%2==0) b=a+2; else b=a+1; end
15
5.4 Case结构 5.4.3 等价于switch语句的Case结构 switch (fruit)
{case apple: price=9; case banana: price=10; case pear: price=8; default: price=0; }
16
5.5 事件结构(Event Structure)
基于While循环和Case结构的单击计数器 分析该程序可以看出,这个程序在没有用户点击的情况下完全都是在“空转”,浪费了大量的CPU资源,而且当“事件”发生太快时可能会被忽略。因此Labview提供了事件结构来解决这个问题,即仅当“事件”发生时,程序才做相应的响应
17
5.5 事件结构(Event Structure)
18
5.5 事件结构(Event Structure)
20
5.5 事件结构(Event Structure)
基于事件结构的单击计数器
21
5.5 事件结构(Event Structure)
5.5.2 Filter事件 顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。
22
注意: 一般来说,事件只能通过外在用户的动作触发,如单击鼠标,键盘等。如果需要内部数据触发事件(例如当a>b条件满足时触发一个事件),就需要通过用户自定义事件的方法实现,这将在本书的21.3节中介绍。
23
5.6 使能结构 5.6.1 框图使能结构——注释程序框图
24
5.7 公式节点(Formula Node) 通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如if…else…, case, while循环之类的语句。 y=
25
5.7 公式节点(Formula Node) 公式节点中可以包含任意数量的公式
26
5.7 公式节点(Formula Node) 5.7.2 文本编程语言的实现 基于公式节点的CRC16算法的实现
27
5.8 跟着实例学—模拟温度采集监测系统
28
小试身手 1. 利用顺序结构和timing面板下的tick count VI,计算for循环1000000次所需的时间。
2. 为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测
29
小试身手 3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节
30
小试身手 4. 求分数序列 前20项之和。 5. 给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。
31
小试身手 6. 利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12…
32
小试身手 7. 利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2~sqrt(N),依次去对N求余,只要有一个余数是0,则N就不是素数。
Similar presentations