當前位置:首頁 » 編程語言 » 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);
}