求89C52单片机控制32个LED流水灯的C语言程序

要求一开始全亮,然后只有第一灭,其他全亮,然后只有第二灭,其他全亮,如此类推到最后一个灭,其他全亮,最后全亮全灭交替闪烁5次,每一个单灯灭的步骤用一个代码控制,以方便随时... 要求一开始全亮,然后只有第一灭,其他全亮,然后只有第二灭,其他全亮,如此类推到最后一个灭,其他全亮,最后全亮全灭交替闪烁5次,每一个单灯灭的步骤用一个代码控制,以方便随时更改哪个灯灭,每个步骤延迟200ms,求这个程序!谢谢!! 展开
 我来答
zhxiufan
2013-05-24 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38381
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>
#define uchar unsigned char
uchar led1,led2,led3,led4;
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{ uchar num;
unsigned long int led;
P0=0xff;
P0=0xff;
P0=0xff;
P0=0xff;
delay(200);
while(1)
{
led=0x00000001;
num=0;
while(num<32)
{
led1=(led<<num)>>24;
led2=(led<<num)>>16;
led3=(led<<num)>>8;
led4=led<<num;
P0=led1;
P1=led2;
P2=led3;
P3=led4;
delay(200);
num++;
}
for(num=0;num<5;num++)
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
delay(200);
P0=0xff;
P0=0xff;
P0=0xff;
P0=0xff;
delay(200);
}
}
}
更多追问追答
追问
如果再加上“P0.4,P1.4,P2.4,P3.4亮,再到P0.3,P0.5,P1.3,P0.5,P2.3,P2.5,P3.3,P3.5亮,再到P0.2,P0.6亮”该如何改?
追答
说清楚点,什么时候做什么事
tonkeys
2013-05-24 · TA获得超过1513个赞
知道大有可为答主
回答量:2087
采纳率:33%
帮助的人:2425万
展开全部
这个是比较简单的了。都很容易,不过就写起来有一定代码量,有确有需要帮你写出源码,请追问。
追问
需要,谢谢
追答
上面的有代码了。呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式