找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3257|回复: 6
收起左侧

求大神!基于单片机的花样流水灯控制

[复制链接]
ID:258285 发表于 2017-12-6 18:11 | 显示全部楼层 |阅读模式
要求: 1用单片机连接16个流水灯,按4*4矩阵排列;
       2 设置四个独立式按键;按下第一个按键,外圈流水灯闪烁,闪烁间隔为1秒,按下第二个按键,内圈流水灯闪烁,闪烁间隔为2秒,当按下第三个按键时,对角线上的灯依次点亮,间隔时间为一秒当按下第四个按键时,第一行闪烁三次后熄灭,第二行闪烁两次后熄灭,第三行闪烁四次后熄灭,第四行闪烁一次后熄灭,按此方式循环。
我做出来了原理图不会编程诶
原理图.jpg

回复

使用道具 举报

ID:258405 发表于 2017-12-6 22:21 | 显示全部楼层
还是经典的主程序加子程序吧
回复

使用道具 举报

ID:258465 发表于 2017-12-7 08:48 | 显示全部楼层
小白也来一起学习
回复

使用道具 举报

ID:258509 发表于 2017-12-7 10:21 | 显示全部楼层

小白也来一起学习
回复

使用道具 举报

ID:258509 发表于 2017-12-7 10:21 | 显示全部楼层

小白也来一起学习啊
回复

使用道具 举报

ID:257664 发表于 2017-12-7 15:09 | 显示全部楼层
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
uint aa,p,i;
while(1)
    {
aa=0xfe;
P1=aa;
for(i=0;i<7;i++)
{
delay(500);
aa=aa<<1;
P1=aa;
}
for(i=0;i<8;i++)
{
delay(500);
aa=aa>>1;
P1=aa;
}
P1=0xff;
   delay(50);
   for(i=0;i<5;i++)
{
P1=0x00;
delay(300);
P1=0xff;
delay(300);
}
aa=0xfe;
P1=aa;
for(p=0;p<7;p++)
{
delay(500);
aa=_crol_(aa,1);
P1=aa;
}
aa=0x7f;
P1=aa;
for(p=0;p<8;p++)
{
delay(500);
aa=_cror_(aa,1);
P1=aa;
}
for(i=0;i<5;i++)
{
P1=0x00;
delay(300);
P1=0xff;
delay(300);
}
}
}
回复

使用道具 举报

ID:258696 发表于 2017-12-7 16:17 | 显示全部楼层
这个还是挺好弄得。小白正在学习
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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