#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar aa;
void delay(uint z);
void main()
{
uchar i,j,k;
while(1)
{
for(i=0;i<2;i++)
{
aa=0xfe;
for(j=0;j<7;j++)
{
P1=aa;
delay(200);
aa=_crol_(aa,1);
}
aa=0x7f;
for(k=0;k<7;k++)
{
P1=aa;
delay(200);
aa=_cror_(aa,1);
}
}
P1=0xff;
for(j=0;j<10;j++)
{
P1=~P1;
delay(300);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
这个程序可以说是是一次写成功的!!程序基本能按照预定效果执行;唯一的一次修改是灯闪烁的过程中要执行十次循环。闪烁五次,而我先前只让其循环了五次!