(完整版)51单片机流水灯程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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
}
void main() {
uchar b;
while(1)
{
b++;
P1=~b; delay(200);
5
#include
#include
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
{
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
{
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++)
{