C51单片机八个流水灯从中间向两边依次亮两个灯循环
时间: 2023-07-08 19:43:04 浏览: 2483
C51单片机流水灯的教程
好的,这是一个比较基础的单片机控制流水灯的程序,你可以参考下面的代码实现八个流水灯从中间向两边依次亮两个灯循环的效果:
```
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code LED[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; // 定义八个流水灯的显示码
void delay(uint t) // 延时函数
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<125;j++);
}
void main()
{
uchar i,j;
while(1)
{
for(i=0;i<4;i++) // 从中间往两边依次亮两个灯循环
{
P1=LED[i]+LED[7-i]; // 亮两个灯
delay(200); // 延时
}
}
}
```
在上面的代码中,通过一个 LED 数组保存了八个流水灯的显示码。在主函数中,通过循环依次亮两个灯,然后延时一段时间,再依次亮下两个灯,实现了八个流水灯从中间向两边依次亮两个灯循环的效果。
阅读全文