rgb灯循环7种颜色的程序用51单片机写
时间: 2023-09-17 08:13:35 浏览: 101
以下是基于51单片机的RGB灯循环7种颜色的程序:
```c
#include <reg51.h>
#define RGB P2 // 定义RGB灯连接的端口
void delay(unsigned int time) // 延时函数
{
unsigned int i, j;
for (i = time; i > 0; i--)
for (j = 125; j > 0; j--);
}
void main()
{
unsigned char i = 0, j = 0;
while (1)
{
switch (i) // 根据i值选择输出的颜色
{
case 0: RGB = 0x07; break; // 红色
case 1: RGB = 0x38; break; // 绿色
case 2: RGB = 0x1C; break; // 蓝色
case 3: RGB = 0x1F; break; // 黄色
case 4: RGB = 0x3F; break; // 青色
case 5: RGB = 0x39; break; // 紫色
case 6: RGB = 0x00; break; // 关灯
default: break;
}
delay(1000); // 延时1秒
j++; // 控制i值的改变
if (j >= 7)
{
j = 0;
i++;
if (i >= 7)
{
i = 0;
}
}
}
}
```
上述程序中,通过定义RGB灯连接的端口为P2,利用switch case语句根据i值的不同选择输出不同的颜色,从而实现RGB灯循环7种颜色的效果。同时,在程序中使用了一个延时函数delay,来控制每个颜色输出的时间,以及i值的改变,从而实现循环。
阅读全文