单片机(c语言控制)流水灯程序设计方案书附proteus仿真图
89c51与8个发光二极管相连流水控制
一、不同花样的控制源程序代码:
/*#include
#define uchar unsigned char;
uchar ledtab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(int n)
{while(n--);}
main()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
P1=ledtab[i];
delay(20000);
} //1~8号灯依次闪烁
for(i=0;i<8;i++)
{
P1=ledtab[7-i];
delay(2000);
} //8~1号灯依次闪烁
}
}
*/
/*#include
#include
#define uint unsigned int
#define uchar unsigned char
void delay(uint z);
void main()
{
uint i;
uchar a;
P1=0xfe;
while(1)
{ a=P1;
for(i=1;i<=10;i++)
{delay(300);
P1=0xff;
delay(300);
P1=a;
}
P1=_crol_(P1,1);
}
}
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
*/ //依次闪烁10次后,循环点亮
/* #include
#include
#define uint unsigned int
void delay(uint z);
void main()
{
while(1){
P1=0xf0;
delay(1000);
P1=0x0f;
delay(1000);
}
}
void delay(uint z)
{uint x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
*/ //4个一组,每隔0.5秒交替闪烁点亮
二、总体的连线图(proteus)
三、对应的各种仿真:
1. //1~8号灯依次闪烁
2. //8~1号灯依次闪烁
3. //依次闪烁10次后,循环点亮
4. //4个一组,每隔0.5秒交替闪烁点亮