标题: 单片机按键控制流水灯程序 左移、右移、两边向中间点亮、中间向两边点亮 [打印本页]

作者: 1241648256    时间: 2020-12-14 10:48
标题: 单片机按键控制流水灯程序 左移、右移、两边向中间点亮、中间向两边点亮
通过一个按键实现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)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1