基于Keil的全彩呼吸灯程序
时间: 2023-09-01 09:10:54 浏览: 68
好的,这是一个基于 Keil 软件的全彩呼吸灯程序:
```c
#include <8051.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code led_table[] = {
0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F,
0xFF, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE
}; // 定义全彩灯颜色表
void delay(uint i) // 延时函数
{
uint j;
while(i--)
{
for(j=0; j<125; j++);
}
}
void main()
{
uchar i = 0, j = 0; // 定义循环变量
while(1)
{
for(i=0; i<16; i++)
{
// 依次点亮每个全彩灯
P2 = led_table[i];
delay(50);
}
for(j=0; j<8; j++)
{
// 控制亮度逐渐增加
for(i=0; i<16; i++)
{
P2 = led_table[i];
delay(20);
}
}
for(j=0; j<8; j++)
{
// 控制亮度逐渐减小
for(i=15; i>0; i--)
{
P2 = led_table[i];
delay(20);
}
}
}
}
```
该程序使用了 8 个全彩灯,通过依次点亮每个全彩灯实现呼吸灯的效果。程序中使用了一个全彩灯颜色表,每个元素代表一个颜色。程序会循环执行三个 for 循环,分别控制全彩灯的点亮和亮度的增加和减小。
在程序中,使用了一个延时函数 `delay`,用于控制全彩灯的亮度变化速度。`P2` 引脚通过单片机的 8 位并行口控制,根据不同的值点亮不同的 LED 灯。程序中的 `while(1)` 语句表示程序会一直循环执行,直到被手动停止。
请注意,在使用全彩灯时,需要根据其具体型号和接口来进行连接和控制。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)