/*功能說(shuō)明: 1、單個(gè)LED流水燈從左到右 2、單個(gè)LED流水燈從右到左 3、從左邊一個(gè)個(gè)點(diǎn)亮8個(gè)LED 4、從右邊一個(gè)個(gè)點(diǎn)亮8個(gè)LED 5、所有的LED開(kāi)關(guān)8次 6、左右閃爍8次 7、8個(gè)流水燈兩邊向中間依次點(diǎn)亮8次 8、8個(gè)流水燈中間向兩邊依次點(diǎn)亮8次 晶振:11.0592 *************************************************************/ #include<reg51.h> //51系列單片機(jī)定義文件
#define uchar unsigned char //定義無(wú)符號(hào)字符
#define uint unsigned int //定義無(wú)符號(hào)整數(shù)
sbit leds=P1^4;
void delay(uint); //聲明延時(shí)函數(shù)
void main(void); //聲明主函數(shù)
/***********************************************************
主程序
/***********************************************************/
void main(void)
{
uint i;
uchar temp;
leds=0;
P2=P2&0x7f; //將p2.7置0,鎖存段選74hc573,使得所有數(shù)碼管熄滅
while(1)
{
/***********************************************************
8個(gè)流水燈逐個(gè)閃動(dòng)
/***********************************************************/
temp=0x01;
for(i=0;i<8;i++)
{
P0=~temp;
delay(100);
temp<<=1;
}
/***********************************************************
8個(gè)流水燈反向逐個(gè)閃動(dòng)
/***********************************************************/
temp=0x80;
for(i=0;i<8;i++)
{
P0=~temp;
delay(100);
temp>>=1;
}
/***********************************************************
8個(gè)流水燈依次全部點(diǎn)亮
/***********************************************************/
temp=0xFE;
for(i=0;i<8;i++)
{
P0=temp;
delay(100);
temp<<=1;
}
/***********************************************************
8個(gè)流水燈依次全部熄滅
/***********************************************************/
temp=0xFE;
for(i=0;i<8;i++)
{
P0=~temp;
delay(100);
temp<<=1;
}
/***********************************************************
8個(gè)流水燈依次反向全部點(diǎn)亮
/***********************************************************/
temp=0x7F;
for(i=0;i<8;i++)
{
P0=temp;
delay(100);
temp>>=1;
}
/***********************************************************
8個(gè)流水燈依次反向全部熄滅
/***********************************************************/
temp=0x7F;
for(i=0;i<8;i++)
{
P0=~temp;
delay(100);
temp>>=1;
}
/***********************************************************
8個(gè)流水燈全部點(diǎn)亮關(guān)閉8次
/***********************************************************/
temp=0xfF;
for(i=0;i<8;i++)
{
P0=temp;
delay(100);
P0=~temp;
delay(100);
}
/***********************************************************
8個(gè)流水燈左右晃動(dòng)8次
/***********************************************************/
temp=0xAA;
for(i=0;i<8;i++)
{
P0=temp;
delay(200);
P0=~temp;
delay(200);
}
/***********************************************************
8個(gè)流水燈兩邊向中間點(diǎn)亮8次
/***********************************************************/
P0=0XFF;
delay(200);
for(i=0;i<8;i++)
{
P0=0x7e;
delay(100);
P0=0xbd;
delay(100);
P0=0xdb;
delay(100);
P0=0xe7;
delay(100);
}
/***********************************************************
8個(gè)流水燈中間向兩邊點(diǎn)亮8次
/***********************************************************/
P0=0XFF;
delay(200);
for(i=0;i<8;i++)
{
P0=0xe7;
delay(100);
P0=0xdb;
delay(100);
P0=0xbd;
delay(100);
P0=0x7e;
delay(100);
}
}
}
/***********************************************************
延時(shí)程序
/***********************************************************/
void delay(uint t) //定義延時(shí)函數(shù)
{
register uint bt;
for(;t;t--)
for(bt=0;bt<155;bt++);
}
|