基于单片机(c语言控制的)流水灯程序设计及proteus仿真图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机(c语言控制的)流水灯程序设计及proteus仿真图
89c51与8个发光二极管相连流水控制
一、不同花样的控制源程序代码:
/*#include
#define uchar unsigned char;
uchar
ledtab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0 xbf,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秒交替闪烁点亮