一個簡單的流水燈c51程序
#includereg52.h> //頭文件
#define uchar unsigned char //宏定義
#define uint unsigned int
void delay(uint x) //延時函數(shù)(控制燈亮與滅的間隔)
{
uint i,j;
for(i=500;i>0;i--)
for(j=x;j>0;j--);
}
void main() //主函數(shù)
{
uchar i; //定義局部變量
P2=0x00; //關(guān)閉所有發(fā)光二極管
while(1) //死循環(huán)
{
P2=0xfe; //第一個二極管亮
delay(100); //延時
for(i=0;i7;i++) //左移7次
{
P2=~P2; //把P2的值取反
P2=P21; //左移一位
P2=~P2;
delay(100);
}
for(i=0;i3;i++)
{
P2=0xff; //所有的二極管都滅
delay(100);
P2=0x00; //所有的二極管都亮
delay(100);
}
P2=0x7f; //最后一個二極管亮
delay(100);
for(i=0;i7;i++)
{
P2=~P2;
P2=P2>>1;
P2=~P2;
delay(100);
}
for(i=0;i3;i++)
{
P2=0x00;
delay(100);
P2=0xff;
delay(100);
}
}
}
/*注:發(fā)光二極管接單片機的P2口,低電平有效,即可實現(xiàn)流水燈效果
*/
評論