|
把a=0xfe放在循环里面,每次执行循环都先给p0口赋值0xfe,延时后左移一位送给p0.然后再重复前面的过程.所以不能实现流水灯.赋值语句放在外面后,就可以解决上面的问题.
参考程序:
#include
#include
#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);
}
} |
|