流水灯
##include"reg51.h"
sbit LED0=P2^0;
sbit LED1=P1^0;
void delay(unsigned int n)
{
unsigned int i=0,j=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++);
}
}
void led()
{
int i=0;
P2=~0X01; //¿ªÊ¼Ê±µÚÒ»ÕµµÆÁÁ
P1=0X01;
delay(200);
for(i=0;i<8;i++){
P2=~(0X01<<i);
delay(200);
P1=0x01<<i;
delay(200);
}
}
void main()
{
while(1)
{
led();
}
} 。
原理图
程序运行结果:灯从上到下一个一个点亮
共阳极:阴极为低电平时,灯点亮
共阴极:阳极为高电平时,灯点亮
例: