尹其畅流水灯的操作Word格式文档下载.docx
《尹其畅流水灯的操作Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《尹其畅流水灯的操作Word格式文档下载.docx(20页珍藏版)》请在冰点文库上搜索。
{
ucharj,k;
for(j=i;
j>
0;
j--)
for(k=125;
k>
k--);
}
//延时函数结束
voidmain()
while
(1)
keyscan();
voidkeyscan()
//关闭所有的流水灯
P0=0x00;
P2=0x00;
P3=0x00;
//选择流水灯工作模式
if(key1==0)//判断是不是按下了开关1,也就是是不是模式1,从左到右的流水灯
{
delay(100);
if(key1==0)
while(!
key1);
delay(100);
moshi1();
}
if(key2==0)//判断是不是按下了开关1,也就是是不是模式1,从左到右的流水灯
if(key2==0)
key2);
moshi2();
if(key3==0)//判断是不是按下了开关1,也就是是不是模式1,从左到右的流水灯
if(key3==0)
key3);
moshi3();
//开关1控制流水灯向右移动开始
voidmoshi1()
ucharf,i;
aa=0x06;
for(i=0;
i<
9;
i++)
f=0x01;
aa=aa+f;
P0=aa;
delay(4000);
aa=0x70;
P0=0x00;
8;
f=0x10;
}
aa=0x07;
P2=aa;
;
P3=aa;
//开关1控制流水灯向右移动结束
voidmoshi2()
{
ucharf,i,aa;
aa=0xf0;
7;
aa=aa-f;
aa=0x0f;
voidmoshi3()
{uchari,f,aa;
aa=0x08;
3;
f=0x02;
aa=0x80;
f=0x20;
#include<
#defineuintunsignedint
voiddelayms(uint);
ucharaa,bb,cc,dd,oo;
{
voidkeyscan()//判断按下的开关
delayms(100);
delayms(100);
oo=0xff;
P1=oo;
if(key2==0)//判断是不是按下了开关2,也就是是不是模式2,从右到左的流水灯
oo=0xff;
moshi2();
if(key3==0)//判断是不是按下了开关3,也就是是不是模式3,流水灯全亮
moshi3();
voidmoshi1()//模式一流水从左往右流动
uinti;
aa=0xfe;
//P0开始工作
delayms(300);
i++)//控制PO口的八个流水灯工作
aa=_crol_(aa,1);
aa=0xff;
//关闭PO口的八个流水灯
P0=aa;
bb=0xf7;
//P1开始工作
P1=bb;
for(i=7;
11;
i++)//控制P1口的五个流水灯工作
bb=_crol_(bb,1);
P1=bb;
}
bb=0xff;
//关闭P1口的八个流水灯
cc=0xfe;
//P2开始工作
P2=cc;
for(i=11;
18;
i++)//控制P2口的八个流水灯工作
cc=_crol_(cc,1);
cc=0xff;
//关闭P2口的八个流水灯
P2=cc;
dd=0xfe;
//P3开始工作
P3=dd;
for(i=18;
25;
i++)//控制P3口的八个流水灯工作
dd=_crol_(dd,1);
dd=0xff;
//关闭P3口的八个流水灯
P3=dd;
voidmoshi2()//模式二流水从右往左走动
aa=0x7f;
aa=_cror_(aa,1);
P3=aa;
//关闭P3口的八个流水灯
bb=0x7f;
//P2开始工作
P2=bb;
14;
bb=_cror_(bb,1);
//关闭P2口的八个流水灯
cc=0x7f;
//P1开始工作
P1=cc;
for(i=14;
i++)//控制P1口的五个流水灯工作
cc=_cror_(cc,1);
P1=cc;
//关闭P1口的五个流水灯
dd=0x7f;
P0=dd;
i++)//控制P0口的八个流水灯工作
dd=_cror_(dd,1);
P0=dd;
//关闭PO口的八个流水灯
voidmoshi3()//模式三所有的灯都亮
P0=0x00;
P1=0x07;
P2=0x00;
P3=0x00;
voiddelayms(uintxms)//延迟函数,大约是xms毫秒
{uinti;
uintj;
for(i=xms;
i>
i--)
for(j=110;
j--);