记得如果你打开intri
可是,如果你去面试的时候,这个时候,你难道还用它自带的循环函数么?当然不能了。真是的(有时候我们自己小组出的笔试题就是流水灯,可是我却紧锁眉头,感觉很是窝囊。咳,今天就把源程序写出来。)这时候就要用到你的c语言知识了,呵呵。
假如说是共阴极数码管的话:
程序可以这样(只写主要算法):
while(1)
{
temp=0x01;
P1=temp;
delay(100); //延时100ms
for(i=1;i<8;i++)
{
temp=temp<<1;
P1=temp;
delay(100);
}
}
可是假如是共阳极流水灯的话,就得写成这样,更好些:
while(1)
{
temp=0xfe;
P1=temp;
delay(100);
for(i=1;i<8;i++)
{
P1=(temp<>(8-i);
delay(100);
}
}
看到没有,其中核心的一条语句就是 temp=temp<<1;P1=temp; 和P1=(temp<>(8-i);,其实第一个可以用第二个代替,不过对于共阴极的太过简单,直接写出来就行了,可是对于共阳极的话,就得思考思考了,先左移,然后和右移的数进行相或,这是相当经典的(8次)。呵呵,可能还有更经典的,以后有时间补充上,呵呵。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』