单片机流水灯程序8个灯(单片机流水灯程序8个灯依次亮,延时05s)

介绍单片机流水灯程序

单片机流水灯是使用单片机来控制一组LED灯进行不断流动的效果,并且可以随着时间不断的变化。该程序不仅简单易学,而且是初学者入门的一个好的案例,也是了解单片机基础知识和常用语法的绝佳方法。

实现8个灯的单片机流水灯程序

对于单片机流水灯程序的实现,我们需要使用到单片机的输出端口,通过向端口发送高低电平控制LED灯亮灭。如果要实现8个灯的单片机流水灯,我们需要把8个LED灯连接到单片机的8个输出端口上,并且控制它们的输出顺序。

单片机流水灯程序8个灯(单片机流水灯程序8个灯依次亮,延时05s)

在代码实现中,我们需要使用单片机自带的延时函数,来控制LED灯亮灭时间,从而实现流水灯的效果。这种方式也被称为硬件延时,因为其不依赖于单片机的处理速度,而依赖于单片机电路自身的稳定性。代码实现如下:

#include
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
void delay(unsigned int);
void main()
{
    while(1)
    {
        LED1=1;
        delay(1000);
        LED2=1;
        delay(1000);
        LED3=1;
        delay(1000);
        LED4=1;
        delay(1000);
        LED5=1;
        delay(1000);
        LED6=1;
        delay(1000);
        LED7=1;
        delay(1000);
        LED8=1;
        delay(1000);
        LED1=0;
        LED2=0;
        LED3=0;
        LED4=0;
        LED5=0;
        LED6=0;
        LED7=0;
        LED8=0;
    }
}
void delay(unsigned int xms)
{
    unsigned int i,j;
    for(i=xms;i>0;i--)
        for(j=112;j>0;j--);

单片机流水灯程序的优化

虽然我们已经成功实现了单片机流水灯程序,但是程序极其简单,效果也较单调,我们可以对程序进行优化,以使其流光溢彩。在对程序进行优化时,几乎所有的优化都是围绕延时部分进行的。下面是优化后的代码:

#include
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
void delay(unsigned int);
void main()
{
    while(1)
    {
        LED1=1;
        delay(200);
        LED2=1;
        delay(200);
        LED3=1;
        delay(200);
        LED4=1;
        delay(200);
        LED5=1;
        delay(200);
        LED6=1;
        delay(200);
        LED7=1;
        delay(200);
        LED8=1;
        delay(200);
        LED1=0;
        LED2=0;
        LED3=0;
        LED4=0;
        LED5=0;
        LED6=0;
        LED7=0;
        LED8=0;
        delay(200);
    }
}
void delay(unsigned int xms)
{
    unsigned int i,j;
    for(i=xms;i>0;i--)
        for(j=112;j>0;j--);
}

上面的代码通过减小延时的时间,使得LED灯相继亮灭的时长变得更短,从而使得灯与灯之间的切换更加顺畅和流畅。我们也可以通过添加更多的灯,改变延时时间比例等方法,来进一步美化单片机流水灯的效果,并且可以随意的调整。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/mcuodb.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月26日 上午12:50
下一篇 2023年4月26日 上午12:50

猜你喜欢