[分享]學單片機一個星期完成了郭老師的一個作業發上來鼓勵一下自己 也請高手們給指點指點程序還可以怎樣改的更好
間隔300ms先奇數亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;8個全部閃爍3次;關閉發光管,程序停止。
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar LED;
uchar a,b;
void delay(uint);
void delay(uint z)
{
uint x,y;
for( x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
for(a=3;a>0;a--)
{
P1=0xaa;
delay(400);
P1=0x55;
delay(400);
}
LED=0xfe;
for(b=0;b<3;b++)
{
for(a=0;a<7;a++)
{
P1=LED;
delay(400);
LED=_crol_(LED,1);
}
LED=0x7f;
for(a=0;a<7;a++)
{
P1=LED;
delay(400);
LED=_cror_(LED,1);
}
}
P1=0xfe;
delay(400);
P1=0xff;
delay(400);
for(b=0;b<3;b++)
{
P1=0x7e;
delay(400);
P1=0xbd;
delay(400);
P1=0xdb;
delay(400);
P1=0xe7;
delay(400);
}
P1=0xff;
delay(400);
for(b=0;b<3;b++)
{
P1=0xe7;
delay(400);
P1=0xdb;
delay(400);
P1=0xbd;
delay(400);
P1=0x7e;
delay(400);
}
P1=0xff;
delay(400);
for(b=0;b<3;b++)
{
P1=0x00;
delay(400);
P1=0xff;
delay(400);
}
while(1)
{}
}
|