单片机流水灯8到1依次亮程序(单片机流水灯1到16依次亮)

介绍

单片机流水灯是一种非常基本的电子制作项目。它是一个简单、易于理解的程序,通常由一排LED组成,这些LED会按照固定的顺序依次点亮和熄灭。在本文中,我们将学习如何制作一个8到1依次亮的单片机流水灯程序。

流水灯程序的原理

单片机流水灯的原理是通过控制每个LED的点亮与否,来实现LED串行亮起的效果。流水灯电路的基本结构是由许多LED灯和一个单片机组成的。初始状态下,第一个LED点亮,而其他LED全部熄灭。单片机不断地给每个LED发送不同的信号,从而构成了流水灯的效果。整个过程中,每个LED的点亮状态总是在前一个LED熄灭之后,后一个LED点亮之前。

程序示例

接下来,我们给出一个单片机流水灯8到1依次亮的程序示例。我们使用的是51系列单片机。 代码如下:

```c
#include //51单片机头文件
#define uint unsigned int //定义无符号整型 uint
#define uchar unsigned char //定义无符号字符型 uchar

uchar code table[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义显示表

void delay(uint z) //延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

void main()
{
uchar i,j;
while(1)
{
for(i=0;i<8;i++) //向右移位
{
for(j=0;j<8;j++)
{
P0 = table[j];
delay(200);
}
}
}
}
```

我们先定义了一个无符号字符型的 const 数组 table,它用于保存从左往右点亮的 LED 灯的位置。之后,我们定义了一个 delay()函数来产生延时效果。在主函数中,我们使用循环语句来控制 LED 灯的点亮与熄灭。程序使用循环语句每隔一段时间就将输出口置零,然后循环位移,最后往右移动一个LED。

单片机流水灯8到1依次亮程序(单片机流水灯1到16依次亮)

这个程序在运行过程中会有一个流水灯从左到右依次亮起的效果,非常简单、易于理解。因此,它是一个非常适合初学者的程序。

结论

流水灯程序是电子制作中最基本的项目之一,也是编程语言和硬件控制学习中非常重要的一环。通过学习单片机流水灯顺序灯的程序,我们可以了解单片机的基本运行原理和控制方法。此外,在以后的学习中,我们将探讨更加复杂的单片机运行程序,如计数器、定时器、PWM 信号等。

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

郑重声明:

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

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

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

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

(0)
上一篇 2023年4月25日 下午9:41
下一篇 2023年4月25日 下午9:42

猜你喜欢