找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15808|回复: 0
收起左侧

单片机按键控制流水灯程序 左移、右移、两边向中间点亮、中间向两边点亮

[复制链接]
ID:845951 发表于 2020-12-14 10:48 | 显示全部楼层 |阅读模式
通过一个按键实现8个流水灯的不同显示方式,有左移、右移、两边向中间点亮、中间向两边点亮,适合初学者练习。程序如下:
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
81d46e6046469a481f49be5a1c689b94.png
单片机源程序如下:
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;
        }
        }
}

仿真图
51hei.png

51hei.png
里面没有.C程序只有原理图,帖子里面显示的部分源程序缺失各种定义的实数和数组,无法使用,求大神补全
仿真文件下载(求补全): 按键控制流水灯.zip (24.6 KB, 下载次数: 62)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表