没什么实质的区别只是各人说法不一样,像流水灯程序也有人叫跑马灯,说个简单的例子,比方说一个亮点不断的左循环就叫流水灯。从中间亮两个点,从左右两边流动就叫花样。
估计楼上都没看题目,花样灯应该没啥既定要求,流水灯和跑马灯有区别,跑马灯是一亮一灭,流水灯是实现一个流水的效果
流水灯和跑马灯(图源CSDN)
可以把每组I/O口看成一个数组,进行移位取反等操做就可以边不同的流水灯程序,参考一下:#include
unsigned char i;
unsigned char temp,temp1;
unsigned char a,b;
void delay(void)
{
unsigned char m,n,s;
for(m=10;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
{
while(1)
{
temp=0x80;
temp1 = 0x01;
P0=temp;
delay();
for(i=0;i<9;i++)
{
P0 = temp>>i;
delay();
}
for(i=0;i<9;i++)
{
P2 = temp1<delay();
}
for(i=0;i<9;i++)
{
P0 = temp>>i;
delay();
}
for(i=0;i<9;i++)
{
P2 = temp1<delay();
}
for(i=0;i<3;i++)
{
P0=P2=0xff;delay();
P0=P2=0x00;delay();
}
}
}
这个是我在开发板上的实验程序,很久以前了,从程序来看应该是两组八个的,
转一圈然后闪三下。
等 到 你单片机学到一定程度就理解了,这些灯只是按照自己的意思来亮,至于名称都无所谓
这三个和你了解都差不多,只是顺序不同