单片机控制8个led灯交替点亮的程序? 5

 我来答
小为行4522
2020-02-28 · TA获得超过4049个赞
知道大有可为答主
回答量:6217
采纳率:87%
帮助的人:222万
展开全部
#include "reg51.h"
main()
{
unsigned int i,j;
while(1)
{
P1=0xfe; //点亮第一个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfd; //点亮第二个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfb; //点亮第三个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xf7; //点亮第四个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xef; //点亮第五个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xdf; //点亮第六个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xbf; //点亮第七个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0x7f; //点亮第八个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
}
}
或:
#include "reg51.h"
void delay(unsigned int t)
{
unsigned inti,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char w,i;
while(1)
{
w=0xfe;
for (i=0;i<8;i++)
{
P1=w; //循环点亮LED
w<<=1; //点亮灯的位置移动,最低位补0
w=w|0x01; //将最低位置1
delay(500); //延时
}
}
}
或:
#include "reg51.h"
//程序中使用_crol_函数,所以要包含头文件"intrins.h"
#include "intrins.h"
void delay(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char temp;
temp=0xfe;
while(1)
{
P1=temp;
delay(500); //延时
temp=_crol_(temp,1); //点亮LED的位置循环左移一位
}
}
追问
非常感谢您,我其实想实现2468灯亮的同时1357灯是熄灭的,这两组灯交替闪烁
老张讲科技
2020-04-27 · TA获得超过1249个赞
知道小有建树答主
回答量:1782
采纳率:62%
帮助的人:390万
展开全部
如果是低电平点亮:
程序:LED1=0;其他等于1。
延时一秒或自己定
LED2=0;其他等于1。
延时
。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永华龙飞电子
2020-02-28 · 电子电路调试,集成电路测试
永华龙飞电子
采纳数:418 获赞数:1949

向TA提问 私信TA
展开全部
#include
void main()
{
unsigned int i;
while(1)
{
P0 = 0x55;
For(I=0;I<30000;I++);
P0 = 0xaa;
For(I=0;I<30000;I++);
}
}
追问
我想实现1357和2468两组led灯交替闪烁
追答
这程序不符合您要求?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式