做的流水灯程序,要求从右到做两次就停下来,可是不行?

2019-03-24 18:33发布

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,b;
void delay(uint z);
void main()
{
             temp=0xfe;
             P2=temp;
             b=1;
             for(b=1;b>18;b++)
             while(1)
             {
                 
                temp=_crol_(temp,1);               
                delay(9);
                P2=temp;
                b++;
                if(b>16)
                break;
              }
}

void delay(uint z)
{
         uint x,y;
         for(x=z;x>0;x--)
           for(y=14000;y>0;y--);
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
qq729101414
1楼-- · 2019-03-25 00:24
逻辑错误了。 for(b=1;b>18;b++) 。。。
xiaotian105
2楼-- · 2019-03-25 04:47
 精彩回答 2  元偷偷看……
sute1223
3楼-- · 2019-03-25 10:43
for(b=1;b>18;b++)

这一句,刚开始执行,会先判断b是否大于18,判断为假,所以直接退出for循环,故不能实现你想要的功能。

一周热门 更多>