通过一个按键实现8个流水灯的不同显示方式,有左移、右移、两边向中间点亮、中间向两边点亮,适合初学者练习。程序如下:
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
void main()
{
j=1; //初始化为开机第一种流水灯状态
while(1)
{
if(KEY==0)
{
delay(10);
if(KEY==0)
{
j++;
delay(10);
if(j>4)
j=1;
}
}
switch(j)
{
case 1: //第一种流水灯状态
for(z=0;z<8;z++)
{
LED=led_1[z];
delay(150);
if(KEY==0)
{
delay(10);
if(KEY==0)
{
j++;
delay(10);
if(j>4)
j=1;
}
}
}
break;
case 2: //第二种流水灯状态
for(z=0;z<8;z++)
{
LED=led_2[z];
delay(150);
if(KEY==0)
{
delay(10);
if(KEY==0)
{
j++;
delay(10);
if(j>4)
j=1;
}
}
}
break;
case 3: //第三种流水灯状态
for(z=0;z<5;z++)
{
LED=led_3[z];
delay(150);
if(KEY==0)
{
delay(10);
if(KEY==0)
{
j++;
delay(10);
if(j>4)
j=1;
}
}
}
break;
case 4: //第四种流水灯状态
for(z=0;z<5;z++)
{
LED=led_4[z];
delay(150);
if(KEY==0)
{
delay(10);
if(KEY==0)
{
j++;
delay(10);
if(j>4)
j=1;
}
}
}
break;
}
}
}
仿真图
里面没有.C程序只有原理图,帖子里面显示的部分源程序缺失各种定义的实数和数组,无法使用,求大神补全
仿真文件下载(求补全):
按键控制流水灯.zip
(24.6 KB, 下载次数: 62)
|