当前位置:首页 > 经验 >

流水灯常亮不闪烁(流水灯全亮怎么办)

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

说明:本文是扫盲教程的进阶,是上一篇点亮LED灯闪烁的升级版,LED流水灯也就是让LED像水流一样流动起来,也是单片机非常重要的一个实验,是前两种控制方式的结合,本文重在夯实基础,如果是大神,请自觉飘过。

好了,我们继续说回正题,单片机控制LED流水灯,这个其实比上一个点亮LED的实验复杂一点点,硬件上就是多几个LED, 其实他的控制原理并不复杂只要弄明白其中的原理,有好多问题就会融会贯通,下面我们从硬件和软件两个维度来深入剖析一下。希望你看完能有所收获。

流水灯常亮不闪烁,流水灯全亮怎么办(1)

硬件方面

发光二极管:我前面几篇文章都写得很细,这里同样不多赘述了,其实流水灯就是LED按照一定规律和间隔时间来闪烁。

单片机:单片机的点亮和工作原理,这里同样省略,如果不明白请移步 下面我要重点和大家说一下控制部分,例如我要用流水方式点亮0到7八个LED灯,方式为从左往右每隔0.5S依次点亮,控制代码的思路如下:首先单片机P0口输出高电平,其他输出低电平,然后计数器开始计时,计时到0.5S后,P1口输出高电平,其他输出低电平(即第二个灯点亮), 依次类推,当第八个灯灭后,又从第一个灯开始亮,周而复始循环下去,这就是流水灯的代码思路,好了了解完以后,下面我们就要实战了。

电路仿真原理图如下

流水灯常亮不闪烁,流水灯全亮怎么办(2)

注:本实验为降低难度,没有用计数器而是用延时函数实现。

下面附上软件参考代码及详细注释

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void) //主函数

{uint i;

uchar temp; //定义两个变量, I,temp

while(1) //循环语句

{temp=0x01; //给变量赋出值 ,如果这段看不懂,请自行充电C语言内容

for(i=0;i<8;i ) //8个流水灯逐个闪动 FOR循环语句

{P1=~temp;

delay(100); //调用延时函数,也可以用计数器实现 ,改变此函数的值可以改变流水灯点亮间隔

temp<<=1; //左移 }

temp=0x80; //赋值

for(i=0;i<8;i ) //8个流水灯反向逐个闪动

{ P1=~temp; //给P1赋值

delay(100); //调用延时函数

temp>>=1; }

temp=0xFE; //给TEMP赋值FE

for(i=0;i<8;i ) //8个流水灯依次全部点亮

{P1=temp;

delay(100); //调用延时函数,改变此函数的值可以改变流水灯点亮间隔

temp<<=1; }

temp=0x7F; //下面开始反向点亮程序

for(i=0;i<8;i ) //8个流水灯依次反向全部点亮

{ P1=temp;

delay(100); //调用延时函数,改变此函数的值可以改变流水灯点亮间隔

temp>>=1; }

void delay(uint t) //定义延时函数

{register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt ); }

下面是我拷入代码后的实验结果,实验成果!为降低难度我去掉了反向点亮的部分代码。

流水灯常亮不闪烁,流水灯全亮怎么办(3)

好了,看完了以上的文章,我想你应该明白这个实验的软硬件控制原理了吧,其实没有多难,只要理解了原理,然后多动动手就行了 很轻松就会掌握,其实这个实验效果最少有三种方法可以实现,如果你也感兴趣自己动动手用其他代码方式试一下吧!

最后如果有什么问题或者建议请给我留言或者私信啊,看到一定第一时间回复,如果你喜欢我的文章,欢迎关注转发评论哦,我们下期再见!

专注基础,从软硬件两个角度,从零开始带你探寻单片机的神秘世界!

想了解更多精彩内容,快来关注从零开始学单片机设计

栏目热文

流水灯亮几分钟闪一下(为什么流水灯闪一下就不亮了)

流水灯亮几分钟闪一下(为什么流水灯闪一下就不亮了)

大家好,我是修过汽车玩过改装的王琪。之前告诉了大家一些汽车养护方面的防坑秘籍,后来帮助大家解决一些买车上的疑虑,这期我就...

2022-11-14 05:47:33查看全文 >>

流水灯闪烁10次(流水灯老是一亮闪一下)

流水灯闪烁10次(流水灯老是一亮闪一下)

1.硬件原理流水灯的硬件原理,上一篇文章我们已经介绍了,这里就不赘述了。主要介绍如何控制流水灯速度的。硬件上我们通过ar...

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

流水灯闪烁怎么控制(流水灯闪烁怎么回事)

流水灯闪烁怎么控制(流水灯闪烁怎么回事)

当夜幕降临的时候,在繁华的城市就会有无数的彩灯闪烁述说着城市的繁华,大家注意到没有这些色彩鲜艳的广告彩灯的工作原理和制作...

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

家里灯一闪一闪怎么修(卫生间灯一闪一闪的是哪里坏了)

家里灯一闪一闪怎么修(卫生间灯一闪一闪的是哪里坏了)

现在我们的家庭用电基本上都采用的是智能电表,智能电表具有远程抄表和远程断电等功能。当你欠费时智能电表就会被远程断电,断电...

2022-11-14 05:39:01查看全文 >>

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

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

8月10日零点45分,黔东南州岑巩县消防救援大队接到报警称:镇远县羊坪镇羊坪村月家滩水坝,一女孩不慎掉入堤坝电站机房涵洞...

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

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

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

CD4017制作流水灯电路用CD4017组成的流水灯(二)用CD4017制作的流水LED灯(三)用CD4017集成块制作...

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

流水灯接上去一直闪什么原因(流水灯隔几分钟闪一下是什么原因)

流水灯接上去一直闪什么原因(流水灯隔几分钟闪一下是什么原因)

集成灶作为新型厨电之中最受瞩目的焦点,凭借其高效集成、一机多用、有效节省厨房空间的功能属性受到消费者的广泛欢迎。但随着越...

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

优学派本地磁盘空间不足怎么处理(后悔买优学派)

优学派本地磁盘空间不足怎么处理(后悔买优学派)

编辑 | 于斌出品 | 潮起网「于见专栏」在2021年教育行业大震荡以后,教育行业似乎变得越发冷门起来。不过,这或许只是...

2022-11-14 05:56:26查看全文 >>

优学派磁盘空间不足怎么操作(优学派本地磁盘空间不足怎么处理)

优学派磁盘空间不足怎么操作(优学派本地磁盘空间不足怎么处理)

读书郎教育科技公司无尘车间,工人在组装平板电脑。南方日报记者叶志文 摄 读书郎教育科技公司内,老师正在上直播课...

2022-11-14 05:56:27查看全文 >>

优学派储存空间不足怎样办(优学派开不开机怎么自己处理)

优学派储存空间不足怎样办(优学派开不开机怎么自己处理)

了解更多热门资讯、玩机技巧、数码评测、科普深扒,点击右上角关注我们---------------------------...

2022-11-14 05:38:51查看全文 >>

文档排行