(完整版)51单片机流水灯程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.第一个发光管以间隔200ms 闪烁。

2.

8 个发光管由上至下间隔1s 流动,其中每个管亮500ms, 灭500ms 。

3.

8 个发光管来回流动,第个管亮100ms 。

4.

用8 个发光管演示出8 位二进制数累加过程。

5.

8 个发光管间隔200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms 间隔全部闪烁 5 次。重复此过程。

6.

间隔300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到8 个管亮,然后重复整个过程。

7.

间隔300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8 个全部闪烁 3 次;关闭发光管,程序停止。

1

#include

#define uint unsigned int

sbit led 仁P"0;

void delay();

void main()

{

while(1)

{

led1=0;

delay();

led1=1;

delay();

}

}

void delay()

{

uint x,y;

for(x=200;x>0;x--) for(y=100;y>0;y--);

}

#include #include #define uint unsigned int #define uchar unsigned char sbit p P1A0; uchar a;

void delay(); void main() {

a=0xfe;

P1=a;

while(1)

{ a=_crol_(a,1); delay();

P1=a; delay();

}

}

void delay()

{

uint b; for(b=55000;b>0;b--);

}

3

#include

#include

#define uint unsigned int #define uchar unsigned char void delay() {

uint x,y; for(x=100;x>0;x--) for(y=110;y>0;y--);

}

void main() {

uchar a,i;

while(1)

a=0xfe; for(i=0;i<8;i++)

{

P1=a; delay(100); a=_crol_(a,1);

}

a=0x7f; for(i=0;i<8;i++)

{

P1=a; delay(100); a=_cror_(a,1);

4

#include

#include #define uint unsigned int #define uchar unsigned char void delay(uint a) { uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);

}

void main() {

uchar b;

while(1)

{

b++;

P1=~b; delay(200);

5

#include

#include #define uint unsigned int #define uchar unsigned char void main() { uchar a,i,j;

while(1)

{ for(j=0;j<2;j++)

{

a=0xfe; for(i=0;i<8;i++)

{

P1=a;

delay(200); a=_crol_(a,1);

}

a=0x7f; for(i=0;i<8;i++)

{

P1=a; delay(200); a=_cror_(a,1);

}

}

P1=0xff; for(j=0;j<10;j++) {

delay(300);

P1=~P1;

}

}

}

void delay()

{

uint x,y; for(x=200;x>0;x--) for(y=110;y>0;y--); 6 #include #include #define uint unsigned int #define uchar unsigned char void delay()

{

uint x,y; for(x=300;x>0;x--) for(y=110;y>0;y--);

} void main()

{

uchar a,i,j; while(1) {

a=0xfe; for(j=0;j<8;j++) { for(i=0;i<8-j;i++) {

P1=a; delay(200); a=_crol_(a,1);

} a=_crol_(a,j); P1=0xff; a=a<<1;

}

} }

7

#include #include #define uint unsigned int #define uchar unsigned char void delay(uint z)

{

uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{

uchar a,i,j;

for(j=0;j<3;j++)

{

P1=0x55;

delay(300);

P1=0xaa; delay(300);

}

for(j=0;j<3;j++)

{

a=0xfe;

for(i=0;i<8;i++)

{

P1=a;

delay(300); a=_crol_(a,1);

}

}

P1=0xff; for(j=0;j<3;j++)

{

P1=0x7e;

delay(300);

P1=0xbd; delay(300);

P1=0xdb; delay(300);

P1=0xe7; delay(300);

}

P1=0xff;

for(j=0;j<3;j++)

{

相关文档
最新文档