请教一个面试题,点亮10个灯
用单片机管脚点亮10个LED灯,LED灯从LED1到LED10每隔5秒点亮,再把LED灯从LED10到LED1依次每隔5秒熄灭,如此循环。不限制单片机,请说思路,最好赋有程序段,不用太详细即可。
[解决办法]
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
uchar i;
P2=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P2=_crol_(P2,1); //P2 的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1); //P2 的值向右循环移动
DelayMS(150);
}
}
}
时间上你自己调