设计51单片机花样流水灯循环点亮效果的代码
时间: 2023-09-24 17:10:52 浏览: 53
以下是基于51单片机的花样流水灯循环点亮效果的代码,实现了不同的灯光效果,你可以根据自己的需要进行修改:
```
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //数码管显示0~F的值
uchar code pattern[] = {0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81}; //流水灯的效果模式
void delay(uint z) //延时函数
{
uint x, y;
for (x = z; x > 0; x--)
for (y = 110; y > 0; y--)
;
}
void main()
{
uchar i = 0, j = 0; //i表示流水灯的效果模式,j表示流水灯的位置
while (1)
{
P0 = pattern[i]; //依次点亮流水灯效果
P2 = table[j]; //在数码管上显示流水灯位置的值
delay(1000); //延时1秒
j++; //流水灯位置加1
if (j > 7) //当流水灯位置达到7时,重新开始
{
j = 0; //流水灯位置从0开始
i++; //效果模式加1
if (i > 7) //当效果模式达到7时,重新开始
{
i = 0; //效果模式从0开始
}
}
}
}
```
这段代码实现了基本的循环点亮效果,你可以根据需要进行修改,添加自己的花样灯效果。