单片机流水灯先下后上循环
- 格式:doc
- 大小:28.00 KB
- 文档页数:3
今天刚买一个单片机,然后看着教程发现其实单片机很有意思,看完他的第一个例子,就是流水灯实验,我就想着让他先是从上往下,然后从下往上的循环,下面就是代码了:
#include
#include
#define uint unsigned int
#define uchar unsigned char
void later(uint xms);
uchar aa;
uchar bb;
uint x,y;
void main()
{
aa=0xfe;
while(1)
{
x=1;y=1;
while(x)
{
P1=aa;
later(500);
aa=_crol_(aa,1);
bb=0xBF;
if(P1==bb)
{
x=0;
}
}
while(y)
{
P1=aa;
later(500);
aa=_cror_(aa,1);
bb=0xFD;
if(P1==bb)
{
y=0;
}
}
}
}
void later(uint xms)
{
int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
第一个出现的while是整个的循环,第二个while是看灯是否到达最后一个,如果是到达了,那就结束循环。第三个while是检测是否到达第一个,如果到达第一个那就结束循环,代码就是这样了,然后至于一些新手可能会问,怎么知道他显示亮的那个灯,很简单,如果第一个灯亮了那他的二进制就是:11111110,你自己转换到十六进制就知道了,然后第二个就是:11111101,以此内推下去