单片机c语言编程让二极管移动亮然后依次静止亮最后全都亮怎样做?

2024-12-12 09:37:23
推荐回答(2个)
回答1:

哥们专门给你写的,记得加分啊!
#include
#include
#define uint unsigned
#define uchar unsigned

void delayms(uint);
uchar aa;

void main()
{
uint i,j;
aa=0xfe; //这里选LED灯为共阳接法
for(i=0;i<8;i++)
{
P1=aa;
delayms(500);
aa=_crol_(aa,1); //调用头文件intrins.h,循环左移
} //LED灯动态点亮

aa=0xfe;
for(j=0;j<8;j++)
{
P1=aa; //LED灯依次点亮
delayms(500);
aa=aa<<1;
}
while(1); //最后全保持亮
}

void delayms(uint ms)
{
uint x,y;
for(x=ms;x>0;x--);
for(y=110;y>0;y--);
}

调试ok,仿真ok!

楼下的兄弟们有懂单片机串口编程的?要实战的,关于通信协议的还请详细讲讲,大家也学习则个!

回答2:

先点亮po,延时,再点亮P1,延时,再点亮P2.延时....直到P7 。再熄灭po,延时,熄灭P1延时,熄灭P2延时.......直到P7。最后全部点亮。要循环的话,加个while(1)就可以。点亮和熄灭可以用for循环来完成,点亮P0延时,然后左移一位,延时,左移一位.......熄灭也一样。