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

2019-03-24 18:58发布

未命名.jpg


为什么 a=0xfe: 这个语句在while(1)循环内不能实现流水灯?
求大家帮我分析哈! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
tiankai001
1楼-- · 2019-03-25 04:26
你始终给P0口送的0XFE吧,
把那一句话一到while循环之外看看
zpc131425123
2楼-- · 2019-03-25 09:47
你那个赋值真的应该放外面!
yangchen422
3楼-- · 2019-03-25 14:27
 精彩回答 2  元偷偷看……
xy363586
4楼-- · 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);
        }
}
yangchen422
5楼-- · 2019-03-25 18:28
好吧,谢谢了!

一周热门 更多>