【Proteus仿真】Arduino UNO花样流水灯
- 📺Proteus仿真演示:
📝示例代码
//-----------------------------------------------------------------
// 效果: 16只LED按预设的多种花样变换显示
//-----------------------------------------------------------------
const uint16_t Pattern[] = {//16位不同效果的数组
0xFCFF,0xF9FF,0xF3FF,0xE7FF,0xCFFF,0x9FFF,0x3FFF,0x7FFE,0xFFFC,
0xFFF9,0xFFF3,0xFFE7,0xFFCF,0xFF9F,0xFF3F,0xFFFF,0xE7E7,0xDBDB,
0xBDBD,0x7E7E,0xBDBD,0xDBDB,0xE7E7,0xFFFF,0xE7E7,0xC3C3,0x8181,
0x0000,0x8181,0xC3C3,0xE7E7,0xFFFF,0xAAAA,0x5555,0x1818,0xFFFF,
0xF0F0,0x0F0F,0x0000,0xFFFF,0xF8F8,0xF1F1,0xE3E3,0xC7C7,0x8F8F,
0x1F1F,0x3F3F,0x7F7F,0x7F7F,0x3F3F,0x1F1F,0x8F8F,0xC7C7,0xE3E3,
0xF1F1,0xF8F8,0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0x0F0F,0xF0F0,
0xFEFF,0xFDFF,0xFBFF,0xF7FF,0xEFFF,0xDFFF,0xBFFF,0x7FFF,0xFFFE,
0xFFFD,0xFFFB,0xFFF7,0xFFEF,0xFFDF,0xFFBF,0xFF7F,0xFF7F,0xFFBF,
0xFFDF,0xFFEF,0xFFF7,0xFFFB,0xFFFD,0xFFFE,0x7FFF,0xBFFF,0xDFFF,
0xEFFF,0xF7FF,0xFBFF,0xFDFF,0xFEFF,0xFEFF,0xFCFF,0xF8FF,0xF0FF,
0xE0FF,0xC0FF,0x80FF,0x00FF,0x00FE,0x00FC,0x00F8,0x00F0,0x00E0,
0x00C0,0x0080,0x0000,0x0000,0x0080,0x00C0,0x00E0,0x00F0,0x00F8,
0x00FC,0x00FE,0x00FF,0x80FF,0xC0FF,0xE0FF,0xF0FF,0xF8FF,0xFCFF,
0xFEFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF
};
int ledpins[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 };
//用数组指定LED所连接的引脚
int i,j; //定义两个变量
void setup()
{
for(i=0;i<16;i++)
pinMode(ledpins[i],OUTPUT);
//将ledPins数组指定的引脚逐一设为输出
}
void loop()
{
for(i = 0; i < 136; i++)
{ //循环读取花样数组中的各项数据
for (j = 0;j < 16; j++)
{ //每一项数据项分为16位输出
if((Pattern[i]>>j & 0x0001) ==0)
digitalWrite(ledpins[j],HIGH);
else
digitalWrite(ledpins[j],LOW);
}
delay(50);
}
}
📚仿真资源和程序源码
本实验基于
Proteus8.12
平台。
链接:https://pan.baidu.com/s/1U8Ma8_bO4dCCoADYy1de2Q
提取码:5snq
休对故人思故国,且将新火试新茶。诗酒趁年华。--苏轼《望江南·超然台作》 |
---|