采用LabVIEW平台的趣味流水灯程序设计

电子说

1.2w人已加入

描述

示例说明

先看下完成后的软件界面运行图,如下所示:

这个流水灯小程序共包括了8个小灯,其主要功能包括:

可设置每个小灯初始的亮灭状态;

可设置流水灯的移动方向;

可设置流水灯每次向左或向右移动的位数;

可设置流水灯移动的速度;

可控制流水灯的开始/暂停状态。

在LabVIEW中编程实现这么多功能是不是很难啊?其实还是比较简单的,下面看看怎么实现吧。

文末最后有动态图演示哦,不要错过。

代码实现

代码实现主要关键点:

主要程序结构:使用while循环结构+事件结构+移位寄存器,在事件结构的超时事件中完成流水灯状态的显示,在移位寄存器中存储上次流水灯状态对应的数值;

主要功能函数:布尔数组(流水灯数组的值)与数值(需要移位的值)之间的转换函数,循环移位函数;

为简化程序代码的设计,将前面板上所有的流水灯控件放到一个U8类型的一维数组控件中。

其中,超时事件代码框图如下图所示:

labview编程

这是这个程序功能实现的主要代码,在超时事件中,通过移位寄存器中读取上次流水灯状态对应的数值,然后根据前面板上的控件设置决定流水灯是否移动、左移或右移及移动的位数,其关键函数是循环移位函数,该函数参数接口意义如下,通过给定y值的正负号控件其左移或右移:

labview编程

当在前面板上改变流水灯初始值状态时,需重新给移位寄存器赋初值,其代码如下:

labview编程

在前面板上点击退出程序按钮时,在事件结构的值改变事件中退出程序的运行,代码如下:

labview编程

至此,程序的主要代码实现就完成了。

总结

可能大家会想,如果一开始让你在LabVIEW中实现一个这么花哨的多种控制功能的流水灯小程序,你可能会觉得这太难了,甚至无从下手,实际上,通过上面的实现代码可看出程序也并不是太难,关键是要熟悉如事件结构、移位寄存器、循环移位及布尔数组与数值之间的转换等几个小知识点,把任务分解清楚,花不了几分钟也就可以做出来了。

好了,大家照着这个例子做一遍吧,如果还做不出来的话,大家可以加关注并私信回复:LabVIEW065,可获取该文章对应的LabVIEW原程序下载。

最后再看下这个小例子的动态运行效果图吧:

labview编程
责任编辑人:CC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
班炳炳 2022-10-22
0 回复 举报
LabVIEW065 收起回复
jf_03243891 2022-10-11
0 回复 举报
LabVIEW065 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分