网站首页 > 资源文章 正文
很多小伙伴在学单片机的时候,不管是用汇编也好,还是用C语言也好,都写过各种各样的流水灯小程序,当一排LED灯按你的设计循环亮起的时候,是不是非常有成就感呢?
那么我们思考下,在LabVIEW平台上,是否也可以编程实现一个纯软件版的流水灯演示小程序呢?答案是肯定的,下面看看怎么做吧。
示例说明
先看下完成后的软件界面运行图,如下所示:
这个流水灯小程序共包括了8个小灯,其主要功能包括:
- 可设置每个小灯初始的亮灭状态;
- 可设置流水灯的移动方向;
- 可设置流水灯每次向左或向右移动的位数;
- 可设置流水灯移动的速度;
- 可控制流水灯的开始/暂停状态。
在LabVIEW中编程实现这么多功能是不是很难啊?其实还是比较简单的,下面看看怎么实现吧。
文末最后有动态图演示哦,不要错过。
代码实现
代码实现主要关键点:
- 主要程序结构:使用while循环结构+事件结构+移位寄存器,在事件结构的超时事件中完成流水灯状态的显示,在移位寄存器中存储上次流水灯状态对应的数值;
- 主要功能函数:布尔数组(流水灯数组的值)与数值(需要移位的值)之间的转换函数,循环移位函数;
- 为简化程序代码的设计,将前面板上所有的流水灯控件放到一个U8类型的一维数组控件中。
其中,超时事件代码框图如下图所示:
这是这个程序功能实现的主要代码,在超时事件中,通过移位寄存器中读取上次流水灯状态对应的数值,然后根据前面板上的控件设置决定流水灯是否移动、左移或右移及移动的位数,其关键函数是循环移位函数,该函数参数接口意义如下,通过给定y值的正负号控件其左移或右移:
当在前面板上改变流水灯初始值状态时,需重新给移位寄存器赋初值,其代码如下:
在前面板上点击退出程序按钮时,在事件结构的值改变事件中退出程序的运行,代码如下:
至此,程序的主要代码实现就完成了。
总结
可能大家会想,如果一开始让你在LabVIEW中实现一个这么花哨的多种控制功能的流水灯小程序,你可能会觉得这太难了,甚至无从下手,实际上,通过上面的实现代码可看出程序也并不是太难,关键是要熟悉如事件结构、移位寄存器、循环移位及布尔数组与数值之间的转换等几个小知识点,把任务分解清楚,花不了几分钟也就可以做出来了。
好了,大家照着这个例子做一遍吧,如果还做不出来的话,大家可以加关注并私信回复:LabVIEW065,可获取该文章对应的LabVIEW原程序下载。
最后再看下这个小例子的动态运行效果图吧:
本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!
猜你喜欢
- 2024-12-27 LabVIEW Arduino无线蓝牙遥控智能车(项目篇—2)
- 2024-12-27 LabVIEW色彩分类识别(基础篇—15)
- 2024-12-27 LabVIEW实现手机摄像头调用 labview调用usb摄像头
- 2024-12-27 LabVIEW十六进制和字符类型转换 labview16进制字符转10进制字符串
- 2024-12-27 如何通过LabVIEW控制电脑自带摄像头?
- 2024-12-27 LabVIEW读写各类格式图像的方法(基础篇—1)
- 2024-12-27 Labview通过西门子官方库S7.net与S71200或S71500系列PLC通讯
- 2024-12-27 LabVIEW控制Arduino驱动1602液晶显示屏(基础篇—10)
- 2024-12-27 LabVIEW编程实例:一个简单通用的“关于”对话框实现
- 2024-12-27 仿真工具Multisim正版下载安装 Multisim中文版下载
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)