LabVIEW编程实例:趣味流水灯程序设计
很多小伙伴在学单片机的时候,不管是用汇编也好,还是用C语言也好,都写过各种各样的流水灯小程序,当一排LED灯按你的设计循环亮起的时候,是不是非常有成就感呢?
那么我们思考下,在LabVIEW平台上,是否也可以编程实现一个纯软件版的流水灯演示小程序呢?答案是肯定的,下面看看怎么做吧。
示例说明
先看下完成后的软件界面运行图,如下所示:
这个流水灯小程序共包括了8个小灯,其主要功能包括:
可设置每个小灯初始的亮灭状态;可设置流水灯的移动方向;可设置流水灯每次向左或向右移动的位数;可设置流水灯移动的速度;可控制流水灯的开始/暂停状态。在LabVIEW中编程实现这么多功能是不是很难啊?其实还是比较简单的,下面看看怎么实现吧。
文末最后有动态图演示哦,不要错过。
代码实现
代码实现主要关键点:
主要程序结构:使用while循环结构+事件结构+移位寄存器,在事件结构的超时事件中完成流水灯状态的显示,在移位寄存器中存储上次流水灯状态对应的数值;主要功能函数:布尔数组(流水灯数组的值)与数值(需要移位的值)之间的转换函数,循环移位函数;为简化程序代码的设计,将前面板上所有的流水灯控件放到一个U8类型的一维数组控件中。其中,超时事件代码框图如下图所示:
这是这个程序功能实现的主要代码,在超时事件中,通过移位寄存器中读取上次流水灯状态对应的数值,然后根据前面板上的控件设置决定流水灯是否移动、左移或右移及移动的位数,其关键函数是循环移位函数,该函数参数接口意义如下,通过给定y值的正负号控件其左移或右移:
当在前面板上改变流水灯初始值状态时,需重新给移位寄存器赋初值,其代码如下:
在前面板上点击退出程序按钮时,在事件结构的值改变事件中退出程序的运行,代码如下:
至此,程序的主要代码实现就完成了。
总结
可能大家会想,如果一开始让你在LabVIEW中实现一个这么花哨的多种控制功能的流水灯小程序,你可能会觉得这太难了,甚至无从下手,实际上,通过上面的实现代码可看出程序也并不是太难,关键是要熟悉如事件结构、移位寄存器、循环移位及布尔数组与数值之间的转换等几个小知识点,把任务分解清楚,花不了几分钟也就可以做出来了。
好了,大家照着这个例子做一遍吧,如果还做不出来的话,大家可以加关注并私信回复:LabVIEW065 ,可获取该文章对应的LabVIEW原程序下载。
最后再看下这个小例子的动态运行效果图吧:
本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!
51系列单片机汇编语言实现简单的交通灯控制
十字路口交通灯控制
四个路口各有红、绿2个LED,模拟交通灯的控制,即东西走向的灯变红,南北走向的灯应该变绿,反之亦然。
电路图和代码如下:
相关问答
单片机汇编语言 按键控制 流水灯 ,两个开关k1,k2。实现功能按下k1, 流水灯 左移动,按下k2, 流水灯 右移动?假设P0.0接k1,P0.1接k2,k1或k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相...
单片机 用 汇编语言 编写用一个控制器控制8个LED灯亮?ORG0000HLJMPMAINORG000BHLJMPT0ISRORG0030HMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-50000)MOVTL0,#LOW(65536...
51 单片机 用 汇编语言 如何编写LED灯渐渐变亮在渐渐变暗啊-ZOL问答使LED灯亮度发生变化可以采用PWM控制或者通断延时时间发生变化来实现,举例如下:LEDEQUP1.0ORG0000HLJMPMAINORG0030HMAIN:MOVR7,#1...
单片机 三个按键独立控制三个led 灯汇编语言 ?51单片机的IO口接按键,实现外部触发(外部中断,高低电平,上下降沿),触发后再通过IO控制LED的开关即可。51单片机的IO口接按键,实现外部触发(外部中断,高低电平...
单片机 1秒钟定时 汇编语言 怎么编?可以有两种方法,设晶振为12M,则第一种方法:用延时的方法实现DELAY:MOVR3,#10;延时子程序,延时1秒D1:MOVR4,#200D2:MOVR5,#250D3:DJ...
单片机 , 汇编语言 (2)(1)8255的端口地址为:();(2)8253的端口...[最佳回答]8255的端口地址为80H,82H,84H,86H8253的端口地址为90H,92H,94H,96H8259的端口地址为A0H,A2H,8251的端口地址为B0H,B2H...
用C 语言 写51 单片机 闹钟程序 - 156****1626 的回答 - 懂得汇编做的可以不.有秒表.有闹钟.//*********************************************************//实现2113功能:本程序实现在P1口模拟一个...
AT89C51 单片机 怎么用 汇编语言 让4个数码管同时显示1234?4、使用方法:设有启动键K1和暂停/清零键K2。按k1启动计时,按k2则暂停计时,再按k2则清零。5、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,...
pic 汇编语言 是什么意思?pic汇编语言指令格式pic系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作码助记符操...
单片机 怎么实现一个开关控制八个灯按一下亮一个按八下八个灯都亮 汇编语言 程序?一个开关控制八个灯;按一下亮一个;按八下八个灯都亮;按键接在P1.0;八个灯在P0,低电平灯亮KEYEQUP1.0ORG0000HMOVA,#11111111BWAIT:MOV......