1.單霹靂燈,使用次數控制燈號。
/*單向霹靂燈*/
#include<reg51.h>
void delay(int );
main()
{
int i;
P1=0xfe;
while(1)
{
for(i=0;i<7;i++)
{
delay(100);
P1=(P1<<1)|0x01;
}
for(i=0;i<7;i++)
{
delay(100);
P1=(P1>>1)|0x80;
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<600;j++);
}
2.單霹靂燈,使用判斷控制燈號。
/*單向霹靂燈*/
#include<reg51.h>
void delay(int );
main()
{
int i;
P1=0xfe;
while(1)
{
while(P1!=0x7f)
{
delay(100);
P1=(P1<<1)|0x01;
}
while(P1!=0xfe)
{
delay(100);
P1=(P1>>1)|0x80;
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<600;j++);
}
3.雙向霹靂燈,使用陣列。
/*雙向霹靂燈*/
#include<reg51.h>
void delay(int );
main()
{
char code led[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};
int i;
P1=0x7e;
while(1)
{
for(i=0;i<6;i++)
{
P1=led[i];
delay(100);
}
}
}
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<600;j++);
}
文章標籤
全站熱搜
