功能
按键修改流水灯的花型,一共四种花型。
效果
部分代码
while (1)
{
PinIN();
I2C_IODect(); /*按键检测处理 */
delay_ms(20);
time++;
if (time > 6)
{
time = 0;
if (mode == 0)
{
index++;
if (index > 7)
{
index = 0;
}
PinOUT(0, 1); /* 指定0号管脚输出为0 */
PinOUT(1, 1); /* 指定1号管脚输出为0 */
PinOUT(2, 1); /* 指定0号管脚输出为0 */
PinOUT(3, 1); /* 指定1号管脚输出为0 */
PinOUT(4, 1); /* 指定0号管脚输出为0 */
PinOUT(5, 1); /* 指定1号管脚输出为0 */
PinOUT(6, 1); /* 指定0号管脚输出为0 */
PinOUT(7, 1); /* 指定1号管脚输出为0 */
PinOUT(index, 0); /* 指定0号管脚输出为0 */
}
else if (mode == 1)
{
if (index == 0)
{
index = 7;
}
else
{
index--;
}
PinOUT(0, 1); /* 指定0号管脚输出为0 */
PinOUT(1, 1); /* 指定1号管脚输出为0 */
PinOUT(2, 1); /* 指定0号管脚输出为0 */
PinOUT(3, 1); /* 指定1号管脚输出为0 */
PinOUT(4, 1); /* 指定0号管脚输出为0 */
PinOUT(5, 1); /* 指定1号管脚输出为0 */
PinOUT(6, 1); /* 指定0号管脚输出为0 */
PinOUT(7, 1); /* 指定1号管脚输出为0 */
PinOUT(index, 0); /* 指定0号管脚输出为0 */
}
else if (mode == 2)
{
index++;
if (index > 15)
{
index = 0;
}
PinOUT(0, 1); /* 指定0号管脚输出为0 */
PinOUT(1, 1); /* 指定1号管脚输出为0 */
PinOUT(2, 1); /* 指定0号管脚输出为0 */
PinOUT(3, 1); /* 指定1号管脚输出为0 */
PinOUT(4, 1); /* 指定0号管脚输出为0 */
PinOUT(5, 1); /* 指定1号管脚输出为0 */
PinOUT(6, 1); /* 指定0号管脚输出为0 */
PinOUT(7, 1); /* 指定1号管脚输出为0 */
if (index < 8)
{
PinOUT(index, 0); /* 指定0号管脚输出为0 */
}
else
{
PinOUT(7 - (index - 8), 0); /* 指定0号管脚输出为0 */
}
}
else if (mode == 3)
{
index++;
if (index > 3)
{
index = 0;
}
PinOUT(0, 1); /* 指定0号管脚输出为0 */
PinOUT(1, 1); /* 指定1号管脚输出为0 */
PinOUT(2, 1); /* 指定0号管脚输出为0 */
PinOUT(3, 1); /* 指定1号管脚输出为0 */
PinOUT(4, 1); /* 指定0号管脚输出为0 */
PinOUT(5, 1); /* 指定1号管脚输出为0 */
PinOUT(6, 1); /* 指定0号管脚输出为0 */
PinOUT(7, 1); /* 指定1号管脚输出为0 */
if (index == 0)
{
PinOUT(0, 0); /* 指定0号管脚输出为0 */
PinOUT(7, 0); /* 指定1号管脚输出为0 */
}
else if (index == 1)
{
PinOUT(1, 0); /* 指定0号管脚输出为0 */
PinOUT(6, 0); /* 指定1号管脚输出为0 */
}
else if (index == 2)
{
PinOUT(2, 0); /* 指定0号管脚输出为0 */
PinOUT(5, 0); /* 指定1号管脚输出为0 */
}
else if (index == 3)
{
PinOUT(3, 0); /* 指定0号管脚输出为0 */
PinOUT(4, 0); /* 指定1号管脚输出为0 */
}
}
}
}
}
全部代码
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2