当前位置:首页 » 编程语言 » 8个灯顺序亮的c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

8个灯顺序亮的c语言

发布时间: 2023-02-03 23:16:53

Ⅰ 单片机流水灯c语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp>>=1;

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(1)8个灯顺序亮的c语言扩展阅读

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

Ⅱ 类似流水灯程序,c语言编程,一共8个灯

我不知道你的点灯和灭灯函数是什么,所以随便取了一个,思路大概就是这样
void
main()
{
int
pull[8]={0};
int
push[8]={1,2,3,4,5,6,7,8};
int
flag=0;
int
i=0;
while(1)
{
if(flag==0)
{
for(i=0;i<8;i++)
{
pull[i]=push[i];
push[i]=0;
light(pull[i]);//点亮pull[i]数组里面存放的灯一秒
turn(pull[i]);//灭pull[i]数组里面存放的灯一秒
}
flag=1;
}
else
{
for(i=0;i<8;i++)
{
push[i]=pull[i];
pull[i]=0;
light(push[i]);//点亮push[i]数组里面存放的灯一秒
turn(push[i]);//灭push[i]数组里面存放的灯一秒
}
flag=0;
}
}
}

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

其次,我建议还是自己尝试写一写,这个不难,我给你个思路
首先定义变量类似于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的时候可以加个延时

Ⅳ 控制8个LED灯,完成从左到右依次点亮,然后从右到左依次熄灭,魂环10次后完成全部闪烁。C语言代码

#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j,led;
for(i=0;i<10;i++)
{
led=0xfe;
for(j=0;i<8;i++)
{
P0=led;
led=led<<1;
delay(200);
}
led=0x80;
for(j=0;i<8;i++)
{
P0=led;
led=(led>>1)|0x80;
delay(200);
}
}
P0=0xff;
while(1);
}