普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 5182|回复: 2

51单片机LED左右流水灯问题求解

 关闭 [复制链接]

1

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2016-1-30 18:29:01 | 显示全部楼层 |阅读模式
#include<reg51.h>
void main()
{
        void delay(unsigned int a);
        P0=~0x01;
        while(1)
        {
                while(P0!=~0x80)
                {
                        delay(50);
                        P0=P0<<1;
                        P0=P0|0x01;
                }
                while(P0!=~0x01)
                {
                        delay(50);
                        P0=P0>>1;
                        P0=P0|0x80;
                }
        }
       
}
void delay(unsigned int a)
{
        unsigned char b,c;
        for(;a>0;a--)
        {
                for(b=38;b>0;b--)
                {
                        for(c=130;c>0;c--);
                }
        }
}

这个程序跑不了

但是把第二个while中的条件变为P0!=0x7f。第三个while中的条件变为P0!=0xfe就可以了。为什么?求解
回复

使用道具 举报

0

主题

10

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-2-2 15:41:43 | 显示全部楼层
新手表示看不懂你的程序,但是还是支持一下
回复 支持 反对

使用道具 举报

0

主题

10

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-2-2 16:00:18 | 显示全部楼层
楼主我的想法跟你说了,不知道对不对,到时候可以一起讨论下,如果还没解决的话,解决的话就请指教一下,真的不是特别懂,也希望有大神能够抽时间看一下哪里有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-11 05:02 , Processed in 0.106126 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表