单片机led左右灯实验:要求: 八个LED灯依次向左再向右,循环点亮,间隔闪烁

#include<reg51.h>
#include<intrins.h>
void delayms(unsigned char ms)
{ unsigned char i;
while(ms--)
{ for(i=0;i<120;i++);}}
flash()
main()
{unsigned char LED;
LED=0xfe;
P0=LED;
delayms(250);
if(LED==0x7f)
{flash();
P0=0x7f;
while(P0!=0xfe)
{P0=P0<<7|P0>>1;
delayms(250);}
flash()}}}

flash括号里填的是8个LED灯每隔250微秒闪烁一次,闪烁4~5次的程序

第1个回答  2013-12-11

你现在的程序就有问题啊。我给你改改吧。一会儿给你发程序附件。你要的就是流水灯程序呗,就是先从左向右依次点亮led灯然后在从右向左依次点亮对吧。

程序已经给你传到附件里面了,用电脑下载吧,传的c程序你可以直接用。有什么不懂的再问我吧。(你的编程风格很有问题啊,程序写的一坨,层次不清晰没有标注,我初学的时候也犯了这样的错误,将来你写大篇幅的程序的时候会出现一堆问题的,清晰地编程风格非常重要,仅仅是建议。)

追问

老师要的是flash子函数里面的程序flash括号里填的是8个LED灯每隔250微秒闪烁一次,闪烁4~5次的程序
这不是我编的 我还不会编呢 是书上的 看来你是位大神啊

追答

程序里面我忘了一个环节,就是闪烁四五次,我这个程序是一直闪的,不过我可以给你改一下,一会给你传

相似回答