nydns 发表于 2012-10-26 12:05:00

流水灯求助,让两种水流灯同时运行

while(1)
{       
        for(n=0;n<10;n++)
        {                       
                P11=1;
                delay300ms();//0.3秒
                P11=0;
                              P13=1;
                delay300ms();//0.3秒
                P13=0;

        }

        for(i=0;i<6;i++)
        {
                P12=~P12;
                delay100ms();//0.1秒
        }
}
让两种水流灯同时运行
现在我这个是顺序执行的.

horalxi 发表于 2012-10-26 12:13:06

for(n=0;n<30;n++)
{
P11=1;
P13=1;
P12=~P12;
n++;
delay100ms()
while(n%3==0)
{
P11=0;
P13=0;
}
}
思路:以0.1ms为基准对n自加,当n对3取余等于0时,改变P11/P13;
只是提供一种思路,没运行通过,希望有所帮助。

devcang 发表于 2012-10-26 12:23:16

单片机那么快,快点切换,看不出时间差异的

witkey1983 发表于 2012-10-26 12:24:44

学习了。。。。。

wele 发表于 2012-10-26 12:32:57

借助于RTOS,多组都有可能

keshipt 发表于 2012-10-26 15:00:10

用定时器很容易实现啊 不要用delay

JamesErik 发表于 2012-10-26 15:01:27

状态机,傻孩子教过。

keshipt 发表于 2012-10-26 15:05:31

或者这样
int i;
while(1)
{
   i++;
   if(i==xx){第一组LED}
   ......
   if(i==YY){第二组LED;i=0;}
}

renwocai 发表于 2012-10-26 15:21:43

这个不用定时器挺难实现的

z421868436 发表于 2012-10-26 15:23:34

状态机……

xlgxufashu 发表于 2012-10-27 10:00:12

JamesErik 发表于 2012-10-26 15:01 static/image/common/back.gif
状态机,傻孩子教过。

请教一下,状态机杂用啊?新手求助

yurinacn 发表于 2012-10-27 10:10:02

状态机{:sweat:}笑了。。。
把动作拆分,穿插进行。最好用定时器解决。跟状态机没关系。
页: [1]
查看完整版本: 流水灯求助,让两种水流灯同时运行