本帖最后由 herrible 于 2014-4-30 16:19 编辑
程序要求:实现流水灯从左到右依次闪亮,再从右到左依次闪亮如此循环。
程序编写:
#include<reg52.h>
#include<intrins.h>
unsigned char a,c,d,x;
unsigned int b,e;
void delay(unsigned char);
void main()
{
e=0;
a=0xfe;
while(1)
{
for(b=0,e=0;b<9;b++,e++)
{
P1=a;
delay(250);
a=_cror_(a,1);
}
for(e=9,b=9;e>0;e--,b--);
{
P1=a;
delay(250);
a=_crol_(a,1);
}
}
}
void delay(unsigned char x)
{
for(c=5000;c>0;c--)
for(d=x;d>0;d--);
}
编译后实际情况是从左到右正常,从右到左只闪亮了一个灯就又执行从左到右了。 |