单片机C语言,将8个灯依次点亮(被点亮的继续亮),然后再依次熄灭,(在没有熄灭完时熄灭的保持灭)

2025-04-17 04:01:51
推荐回答(4个)
回答1:

其次,我建议还是自己尝试写一写,这个不难,我给你个思路
首先定义变量类似于P1_2 = P1^2这种,先把这八个管脚全部定义好,之后给个for循环,让P1(假设的你LED灯连接的是P1口)口的P1^0~P1^7相关标志位依次等于0或者1(0还是1需要看你在LED等上给的是高电位亮还是低电位亮),之后再给个for循环,五次的循环,全部P1口置为1(假设高电平LED亮),之后设置P1口全为1,再让P1口的相关标志位置为0,再置为0的时候可以加个延时

回答2:

先左移加一,后右移,或者顺序执行程序。很简单。

回答3:

假设是P2口
int i;
int P2;
while(1)
{
for(i=0;i<=8;i++)
{
P2=0XFF>>i;
//延时
}
for(i=0;i<8;i++)
{
P2=0XFF>>(7-i);
//延时
}
}

回答4:

#include
#define uint unsigned int
char aa;
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

void main()
{
while(1)
{
for(aa=0;aa<9;aa++)
{
P1=0xff< delayms(300);
}
for(aa=8;aa>-1;aa--)
{
P1=0xff< delayms(300);
}

}
}