进阶教程:51单片机控制LED流水灯项目 适合新手

时间:2023-03-27来源:佚名

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

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

进阶教程:51单片机控制LED流水灯项目 适合新手

硬件方面

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

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

电路仿真原理图如下

进阶教程:51单片机控制LED流水灯项目 适合新手

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

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

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 ); }

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

进阶教程:51单片机控制LED流水灯项目 适合新手

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

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

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

    相关阅读

    空调小管(供液管)结霜是什么原因

    空调空调小管(供液管)结霜,常见原因如下: 1、缺冷媒 当空调中缺少冷媒时,极有可能出现空调结霜 现象。解决办法:及时查漏补漏,添加适量的制冷剂,使空调恢复运行。 2、系统...
    2022-12-12
    空调小管(供液管)结霜是什么原因

    空调铜管裸露在外面有什么影响?

    几十年前安装的空调,铜管都是裸露的,没有现在这么讲究,但制冷制热效果一样杠杠的。先抛开“空调用铜管还是铝管好 ”不说,单从使用者的角度来说,将铜管裸露在外是有影响的...
    2022-12-12
    空调铜管裸露在外面有什么影响?

    电风扇不转的四种原因,电风扇不转的处理方法

    在平时使用电风扇时,有时会遇到电风扇不转的问题,那么是什么原因引起的风扇不转,原因有很多种,最常见的电风扇不转的原因就是电容损坏,线路问题,电机故障等,下面就来看...
    2022-12-23
    电风扇不转的四种原因,电风扇不转的处理方法

    空调指示灯亮着会不会费电,一年能费多少度电

    对于空调指示灯亮着会不会费电的问题,会费电,这个不用怀疑。无论哪一种电器设备,哪怕是微小的指示灯,也会是费电的,只是费电量微乎其乎,一年消耗的电量可以忽略不计。...
    2022-12-23
    空调指示灯亮着会不会费电,一年能费多少度电

    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    有关小牛电动车解限速的方法,可以破解20公里限速的,破解流程不复杂,只要6个步骤就可以搞定,小牛电动车怎么解锁限速,可以来试一试本文给出的解锁限速的方法。 小牛电动车解...
    2022-12-13
    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    建筑物防雷问题:高层建筑防雷接闪器设计及安装规范

    建筑物防雷问题:高层建筑防雷接闪器设计及安装规范 高层建筑 防雷 接闪器设计及安装规范 雷电是一种强度极大、作用时间极短的瞬变过程。雷电流击中建筑物时,通常会产生电效应...
    2022-12-21
    建筑物防雷问题:高层建筑防雷接闪器设计及安装规范

    2022年格力大一匹空调移机多少钱

    格力大一匹空调移机费用 大一匹的格力空调一般是1.5匹的,2022年1.5匹和1.5匹以下的空调移机费用: 1、普通移机费用150元1台,只拆不装和单装是100元1台; 2、2楼以下无高空费,2楼-5楼...
    2022-12-12
    2022年格力大一匹空调移机多少钱

    空调开冷气时温度越低会不会越费电

    家里买了空调,在夏天用的时候较多,即空调制冷比制热的时间要多一些,那么空调开冷气时温度越低越费电吗,空调开度28度与22度时哪一个会更费电,电工天下小编带大家来了解下。...
    2022-12-23
    空调开冷气时温度越低会不会越费电

    网站栏目