专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
电源
花样流水灯设计
2019-07-16 17:52
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
电源技术
8302
14
1072
花样流水灯设计
要 求:
①编写一
单片机
程序实现8盏LED花样流水灯效果;
②按下按键1实现LED1--->LED8依次点亮效果;
③按下按键2实现LED8--->LED1依次点亮效果;
④按下按键3实现奇数的灯与偶数的灯交替闪烁的效果,并通过数码管显示闪烁的次数。
⑤其他功能及创新。尽可能
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
51mcuxuexi
2019-07-17 07:34
#include<reg52.h>
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3; //用于跳出循环语句
/******延时函数自定义*******/
const int value=1000; //延时时间
int Sum=0; //奇偶闪烁计数
void LedShine(void)
{
char i;
if(!key1)
{
while(1)
{
for(i=0;i<8;i++)
{
P1=~(0x01<<i); //左移
delay(value);
if(!key4)
{
break;
}
}
if(!key4)
{
break;
}
}
}
else
{
if(!key2)
{
while(1)
{
for(i=0;i<8;i++)
{
P1=~(0x80>>i); //右移
delay(value);
if(!key4)
{
break;
}
}
if(!key4)
{
break;
}
}
}
else
{
if(!key3)
{
P1=0xaa; //赋初值
while(1)
{
P1=~P1; //奇偶交替闪烁
delay(value);
if(!key4)
{
break;
}
Sum++; //奇偶校验的闪烁次数 ,将这个数字经过处理后就送往数码管显示。
}
}
}
}
}
void main(void)
{
while(1)
{
LedShine();
}
}
加载中...
查看其它14个回答
一周热门
更多
>
相关问题
新百胜公司怎么注册账号www.xbs3603.com?
0 个回答
DCDC电源芯片MP2303未带负载电感发热的情况
6 个回答
求各路大神帮助
1 个回答
各位高手好,新手提问电动机速度控制解决办法。谢谢!
7 个回答
设计一个震动源每动一下计数器记录一下
3 个回答
相关文章
制造业关爱电源——高效、可靠的AC-DC交流线性稳压器应用实例分享
0个评论
保险丝与蜂鸣器的选型比较及总结
0个评论
普通的5V电源电路,如何设计它的限流功能?
0个评论
电源接反了烧电路怎么办?电源防反接技术讨论
0个评论
Win2003优化方法
0个评论
来一个LM1875T
0个评论
RTX 2080显卡拆解,功率接近1080的2倍,看散热就知道发热量
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
电源
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3; //用于跳出循环语句
/******延时函数自定义*******/
const int value=1000; //延时时间
int Sum=0; //奇偶闪烁计数
void LedShine(void)
{
char i;
if(!key1)
{
while(1)
{
for(i=0;i<8;i++)
{
P1=~(0x01<<i); //左移
delay(value);
if(!key4)
{
break;
}
}
if(!key4)
{
break;
}
}
}
else
{
if(!key2)
{
while(1)
{
for(i=0;i<8;i++)
{
P1=~(0x80>>i); //右移
delay(value);
if(!key4)
{
break;
}
}
if(!key4)
{
break;
}
}
}
else
{
if(!key3)
{
P1=0xaa; //赋初值
while(1)
{
P1=~P1; //奇偶交替闪烁
delay(value);
if(!key4)
{
break;
}
Sum++; //奇偶校验的闪烁次数 ,将这个数字经过处理后就送往数码管显示。
}
}
}
}
}
void main(void)
{
while(1)
{
LedShine();
}
}
一周热门 更多>