流水灯不能实现........

2019-03-24 18:58发布

未命名.jpg


为什么 a=0xfe: 这个语句在while(1)循环内不能实现流水灯?
求大家帮我分析哈! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
xy363586
2019-03-25 17:41
把a=0xfe放在循环里面,每次执行循环都先给p0口赋值0xfe,延时后左移一位送给p0.然后再重复前面的过程.所以不能实现流水灯.赋值语句放在外面后,就可以解决上面的问题.
参考程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
        uchar i;
        while(x--)
        {
                for(i=0;i<120;i++);
        }
}
//主程序
void main()
{
        P0=0xfe;
        while(1)
        {       
                P0=_crol_(P0,1); //P0的值向左循环移动
                DelayMS(150);
        }
}

一周热门 更多>