当前位置:首页 > 经验 >

流水灯不稳定闪烁是怎么回事(流水灯隔几分钟闪一下是什么原因)

来源:原点资讯(m.360kss.com)时间:2022-11-14 05:32:38作者:YD166手机阅读>>

​关注一下,更多精彩等着你!

上一节我们介绍了什么是总线的方法,以及如何通过十六进制来控制IO口。并把我们的之前单点操作的流水灯进行了改进,成为了一个新的更加简洁的程序。这回,就再用总线方法,来实现流水灯的更加多样化的操作。

这次,我们要实现正向流水结束后再反过来流水,如此循环。然后再间隔闪烁。然后再累积流水,最后结束。

正向流水结束,再反过来。这个如何实现呢,我们需要使用到一些运算方法。

第一个是移位指令<<。

流水灯不稳定闪烁是怎么回事,流水灯隔几分钟闪一下是什么原因(1)

由于数字对比不强,看的不是很清晰,所以把数字给换成红色了。

<<这个标志符的意思是,向左移动一位,就像下边这样:

1111 1111》1111 111_

移动完成后,会发现,最低位空出来了,此时程序会自动去填补一个0。于是就成了:

1111 1111》1111 111_》1111 1110

第一次移位1111 1110,第二次在第一次基础上移位1111 1100,第三次在第二次基础上移位1111 1000,如此循环,就可以一直把所有位都变成0。

我们在看下一句"|",这个符号是或的意思,我们知道,逻辑中的或,是说只要有其一为一,结果就是一。所以,我们把1100|0001,结果就是头两个一和最后一个一留下来,第三位因为都是0,所以就是0.结果就是1101了。当再次移位后,数据就变成1010了,我们再次跟0001取或,最后一位就再次置1,结果就是1011,从结果上看,1110》1101》1011……就是0在不断的左移。

通过这个方法,可以让每一位都会单独置零。然后再给以一定时间的延时,就会看到流水灯了。

如果我们不赋初值0xfe会出现什么情况?

就会出现,移位产生一个0,在或运算时就会被重新置1,如此循环,就进入不到第二个LED,也就不会出现流水灯了。可以自己尝试下。

流水灯不稳定闪烁是怎么回事,流水灯隔几分钟闪一下是什么原因(2)

向右流水,效果是一样的,需要注意的是初值更改为左侧为0,就是0x7f,0111 1111,然后移位符号>>,还有取或的语句需要用0x80,1000 0000.

基本上是在左移位的基础上稍作修改即可。

接下来是闪烁的。

流水灯不稳定闪烁是怎么回事,流水灯隔几分钟闪一下是什么原因(3)

闪烁,我们用的是间隔LED的方法,就是隔一个亮一个,端口输出是1010 1010。翻译成十六进制就是0xaa。这次用到的是一个取反的运算,就是把每一位的0变成1,1变成0,然后延时一段时间,再次取反,循环几个周期,就看起来像是不断闪烁。取反的操作相对好理解一些,就是这一位,现在是1,那么取反后就是0,就是0和1的变换。

最后是一个累积点亮LED。

流水灯不稳定闪烁是怎么回事,流水灯隔几分钟闪一下是什么原因(4)

这个程序就是把第一个我们向左移位的函数,进行了更改,取消了赋初值,不用取或了,这样就可以对比着理解,各个语句的作用,如果不使用,会产生什么结果。如果我们的第一个函数不用取或这一步,那最终输出结果就和这个现象一样了。

所以,我们在写程序时,需要认真,仔细分析自己需要的结果,然后对照程序进行简单的演算。保证每一段都是可以输出想要的结果,不然累积到最终,几百行的代码,看起来就会头疼的,尤其是在没有标注释的情况下,有时就会忘记自己为什么要写这一句。

好的,这篇先说到这里,有问题或建议可以留言或私信给我。

想了解更多精彩内容,快来关注小亮谈电气

更多多内容,欢迎关注百家号:小亮谈电气。*电气学苑。

栏目热文

流水灯不流水全亮怎么回事(流水灯全亮怎么办)

流水灯不流水全亮怎么回事(流水灯全亮怎么办)

本文将用C语言实现按键控制LED流水的效果。8颗LED接51单片机的P1端口,当按下按键的时候LED流水,否则LED全亮...

2022-11-14 05:43:48查看全文 >>

流水灯闪一下又不亮了(流水灯隔几分钟闪一下是什么原因)

流水灯闪一下又不亮了(流水灯隔几分钟闪一下是什么原因)

案例精选36:指示灯一闪一灭原来是变压器坏了刚才在群里看到有人问,压力桶里不存水是啥原因?还说,打开压力桶球阀,无水也没...

2022-11-14 05:40:32查看全文 >>

流水灯一直闪是怎么回事(为什么流水灯一直亮)

流水灯一直闪是怎么回事(为什么流水灯一直亮)

硬件资源名称功能引脚FPGA_CLK外部时钟 50MhzE1RESET复位M1LED0指示灯0B7 D11LED1指示灯...

2022-11-14 05:19:23查看全文 >>

流水灯闪烁解决办法(怎么把流水灯改为一直亮)

流水灯闪烁解决办法(怎么把流水灯改为一直亮)

从开始接触Altera(现在应该叫intel PSG了)的NIOS II处理器,到现在,已经有6个年头了。从开始的C语言...

2022-11-14 05:49:24查看全文 >>

门球瞄准有哪些技巧(门球最好的瞄准法动图)

门球瞄准有哪些技巧(门球最好的瞄准法动图)

门球运动由它的趣味性和优雅性,被越来越多的人们所喜爱,不仅如此,各地方政府或社会团体纷纷出资捐款,有计划地建造运动场地,...

2022-11-14 05:25:20查看全文 >>

流水灯一直闪怎么回事(流水灯带闪是怎么回事)

流水灯一直闪怎么回事(流水灯带闪是怎么回事)

终于迎来了盼望已久的国庆七天乐,非常开心的出去玩,一路各种风景,各种好看的车子数不胜数,使旺哥更加意识到赚钱的重要性。其...

2022-11-14 05:46:11查看全文 >>

流水灯开灯闪是怎么回事(流水灯接好的时候为什么会闪一闪)

流水灯开灯闪是怎么回事(流水灯接好的时候为什么会闪一闪)

灯带的相关知识一、高压灯带和低压灯带低压灯带可以触碰,对人身无危害,可以用各种场景;低压灯带触碰有生命危害,使用不当或者...

2022-11-14 05:11:25查看全文 >>

流水灯闪一下就不亮了怎么回事(流水灯为什么全亮不流水)

流水灯闪一下就不亮了怎么回事(流水灯为什么全亮不流水)

安装楼梯时,很多人也会选择安装楼梯踏步灯,这样能保证夜晚走楼梯的安全性。那么,楼梯踏步灯怎么布线呢?未安装的朋友先来了解...

2022-11-14 05:36:28查看全文 >>

灯打开后不亮但微亮(灯打开一会亮一会不亮)

灯打开后不亮但微亮(灯打开一会亮一会不亮)

户内照明突然不亮了怎么办?户内照明对每个人来说很熟悉,每天晚上都需要用到,但是,强电这个东西对大多数人来说又很神秘,它看...

2022-11-14 05:16:54查看全文 >>

流水灯只亮不闪的原因(流水灯不亮什么原因)

流水灯只亮不闪的原因(流水灯不亮什么原因)

走在家居潮流前线的你,一定听说过灯带吧!灯带,即LED灯带,是由多个LED灯珠附着在柔性线路板上,从而实现线性照明的灯具...

2022-11-14 05:25:58查看全文 >>

文档排行