技术文档

单片机汇编语言 流水灯 LabVIEW编程实例:趣味流水灯程序设计

小编 2024-11-24 技术文档 23 0

LabVIEW编程实例:趣味流水灯程序设计

很多小伙伴在学单片机的时候,不管是用汇编也好,还是用C语言也好,都写过各种各样的流水灯小程序,当一排LED灯按你的设计循环亮起的时候,是不是非常有成就感呢?

那么我们思考下,在LabVIEW平台上,是否也可以编程实现一个纯软件版的流水灯演示小程序呢?答案是肯定的,下面看看怎么做吧。

示例说明

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

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

可设置每个小灯初始的亮灭状态;可设置流水灯的移动方向;可设置流水灯每次向左或向右移动的位数;可设置流水灯移动的速度;可控制流水灯的开始/暂停状态。

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

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

代码实现

代码实现主要关键点:

主要程序结构:使用while循环结构+事件结构+移位寄存器,在事件结构的超时事件中完成流水灯状态的显示,在移位寄存器中存储上次流水灯状态对应的数值;主要功能函数:布尔数组(流水灯数组的值)与数值(需要移位的值)之间的转换函数,循环移位函数;为简化程序代码的设计,将前面板上所有的流水灯控件放到一个U8类型的一维数组控件中。

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

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

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

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

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

总结

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

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

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

本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!

单片机零基础自学入门基础知识(新手必看)

大家好,我是麦琪,今天给大家分享下我们导师是如何自学单片机的!

单片机自学百分之九十九是可以学会的,网上的教程现在是铺天盖地,思潮泛滥来形容了

有些确实讲的很不错,有些教程是利益驱动的,毫无营养可言

华维单片机编程的导师都是自学过来的,下面通过我的经历来解答这些问题。

一、单片机自学多久可以成功

我曾经从零基础学习单片机到找到相应研发工作大概花了3个多月。

很多人可能觉得不可思议,在我们学校没有两年时间都学不会,当然这得看人的天赋,也有人十天学会的,比如说郭某某

华维好几个导师都是非科班出身,都是兴趣使然,一做就搞了十几年

一。必备基础

1. C语言基础

在我看来,接受过六年基础教育都能学会,当你能使用C语言开发应用系统就行 包括但不限于进制转换、逻辑运算、编程能力,51单片机开发使用的是C-51语言,在C语言的基础上增加了一些数据类型,单片机是用C语言或者汇编来编程的,汇编主要是针对一些低成本,高实时的应用,不太适合做中大型项目,一般用的不多,所以主流还是C语言。

C语言的学习和单片机同步,比如说你学了基本数据类型和基本语句,就可以在开发板上做个流水灯了。

所以没有C语言基础的同学不要吝啬几根头发哈,学就完事了。

2. 会看电路图

(电路和数字,模拟电路知识更好,没有问题也不大,跟着我来)只要能正确使用电阻,电容等元器件掌握二极管,三极管基本工作原理

二.学习环境搭建

1. 一块51单片机开发板+一根安卓数据线

有板子的话可以用仿真软件,Bai度一下,你就知道;驱动装不上有可能就是数据线的问题,上次返厂维修那边也查不出问题,后来我换了根数据线行了,所以大家不要像我这样白给某通某达快递送钱...

2. 一台电脑

安装好开发环境(如keil 4/5),驱动和烧录软件(买板子商家会送)。

三.最后经验总结

毕竟是实践性的东西,能力它也不会平白无故到你手上不是,。在单片机学习过程中每个人都会遇到无数不能解决的问题,需要你向有经验的过来人虚心求教,否则,一味的自己埋头摸索会走许多弯路,浪费很多时间。

最后一点我向学员强调很多次,就是不要去深挖知识点,切勿浪费时间,学单片机最终目地是产品开发,根据产品的需求来定!

相关问答

...51 单片机 控制16个 流水灯 ,依次左移点亮,.用 汇编语言 写】作业帮

[最佳回答]低电平点亮START:MOVR0,#8MOVR1,#8SETBCMOVA,#0FEHMOVP1,AS1:RLCACALLDELAYMOVP1,ADJNZR0,S1SETBCMOV...

单片机汇编语言 按键控制 流水灯 ,两个开关k1,k2。实现功能按下k1, 流水灯 左移动,按下k2, 流水灯 右移动?

假设P0.0接k1,P0.1接k2,k1或k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相...

c51 单片机汇编语言 ,八个小灯,依次亮灯,间隔0.5s,最后一个点亮后,全部灭掉,请教大神怎么编程?

如果你的灯在p1端口的话,你试试我的程序ORG0000HSTART:MOVP1,#7EHACALLDELAYMOVP1,#0BDHACALLDELAYMOVP1,#0DBHA...

单片机 汇编语言 编写一个。用十个按钮分别控制十个灯。比如:按下按钮K1 LED1灯亮。按下"?

检测是否有按键按下,相应的指示灯点亮,并熄灭其它的指示灯。至于10S锁住其他按钮,如果程序不做其它的事情,最简单的方法就是点亮指示灯后延时10S,再回到主函...

单片机 汇编语言 设计一个彩灯控制系统,有4个控制开关,8盏LED灯?

1、程序实现上应该不难,假设用3个8位变量来调节这三个灯,理想上可以得到256单色灰度效果。但通常能做到16等级灰度,也能看到一定效果。2、这三个PWM周期相同...

单片机 用C 语言 编程很好学,为什么还要用 汇编 呢?

现在一般单片机都支持C语言和晦涩难懂的汇编语言,在许多介绍单片机应用技术的教材中有相当一部分是用汇编语言编写的这说明汇编语言在学习单片机和编写单片机程...

单片机 汇编语言 编写用一个控制器控制8个LED灯亮?

ORG0000HLJMPMAINORG000BHLJMPT0ISRORG0030HMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-50000)MOVTL0,#LOW(65536...

如何让 单片机 灯亮?

让单片机控制LED灯亮的实现方法很多,下面是其中一种基于AVR单片机和汇编语言的控制方法:1.准备材料:ATmega32单片机(或其他型号的AVR单片机)、一个...

帮忙用MSC-51 单片机汇编语言 修改给出的代码,要求每个灯闪烁5...

[回答]ORG00HLOOP:MOVA,#0FEH;赋初值.MOVR2,#8;设计数值.OUTPUT:MOVR3,#5;设计数值.OUT_5:MOVP1,A;送P1口输出....

如果我想能看懂 单片机 的程序,需要怎样学习 语言 ?

非常感谢你发来的邀请,我很高兴回答你的问题!现在单片机编程语言主要有两种,一种是汇编语言、一种是C语言。汇编语言要求要对单片机内部结构有要熟悉,由于其...

猜你喜欢