當前位置:首頁 » 課程大全 » 8個led燈循環閃爍課程設計

8個led燈循環閃爍課程設計

發布時間: 2021-02-23 01:53:51

① 求單片機設計8個led燈同時閃爍的程序,

八個燈接在單片機的P1口(P0,P2,P3,P4都一樣)
while(1)
{
delay(你想要延時的時間);專屬
P1=0xff;
delay(你想要延時的時間);
P1=0;
}
注意led最好加驅動,不然單片機會壞的。

② 8個LED指示燈循環閃爍的程序(單片機)

1:設置一個變數i,它可以從0循環到3

2:檢測一個已取消緩沖的鍵。按「+1」

3:當I值為每個值時,執行相應的模式。

水量燈參考程序

#include

#include

#定義uchar無符號字元

Ucharj,溫度;

無效延遲(無符號整型ms)

Uchart;

(女士)

對於(t = 0;T < 123;T + +);

Voidmain()

P1=0XFF;

延遲(500);

Temp=0xfe;//奇怪,led連接在P2.3~P2.6

對於(j = 0;J < 4;J + +)

P1=temp;

延遲(500);

Temp=_crol_(Temp,1);

P1=0XFF;

(1);

(2)8個led燈循環閃爍課程設計擴展閱讀:

注意事項:

#include「reg52。這個文件為單片機定義了一些特殊的功能寄存器

Typedef無符號int在16以下;//以聲明的方式定義數據類型

無符號charu8;

//LED燈

Sbitleda=P0;

Sbitled1=P0^0;

Sbitled2=P0^1;

Sbitled3=P0^2;

Sbitled4=P0^3;

Sbitled5=P0^4;

Sbitled6=P0^5;

Sbitled7=P0^6;

Sbitled8=P0^7;

無效延遲(16歲以下)

,(我);

Voidmain()

而(1)

勒達=1;//所有的燈都亮著

//從左到右熄滅

Led1=0;

延遲(50000);//延遲時間約為450毫秒

Led2=0;

延遲(50000);//延遲時間約為450毫秒

Led3=0;

延遲(50000);//延遲時間約為450毫秒

Led4=0;

延遲(50000);//延遲時間約為450毫秒

Led5=0;

延遲(50000);//延遲時間約為450毫秒

Led6=0;

延遲(50000);//延遲時間約為450毫秒

Led7=0;

延遲(50000);//延遲時間約為450毫秒

Led8=0;

延遲(100000);//延遲大約900毫秒

//從右到左照明

Led8=1;

延遲(50000);//延遲時間約為450毫秒

Led7=1;

延遲(50000);//延遲時間約為450毫秒

Led6=1;

延遲(50000);//延遲時間約為450毫秒

Led5=1;

延遲(50000);//延遲時間約為450毫秒

Led4=1;

延遲(50000);//延遲時間約為450毫秒

Led3=1;

延遲(50000);//延遲時間約為450毫秒

Led2=1;

延遲(50000);//延遲時間約為450毫秒

Led1=1;

延遲(50000);//延遲時間約為450毫秒

勒達=1;//所有的燈都亮著

③ 設計一個具有8個LED燈,要求從右向左依次點亮一秒後熄滅,循環往復的單片機程序。跪求

#include"reg52.h"//此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16;//對數據類型進行聲明定義

typedef unsigned char u8;

//LED燈命名

sbit leda=P0;

sbit led1=P0^0;

sbit led2=P0^1;

sbit led3=P0^2;

sbit led4=P0^3;

sbit led5=P0^4;

sbit led6=P0^5;

sbit led7=P0^6;

sbit led8=P0^7;

void delay(u16 i)

{

while(i--);

}

void main()

{

while(1)

{

leda=1;//全部燈亮

//從左到右依次熄滅

led1=0;

delay(50000);//大約延時450ms

led2=0;

delay(50000);//大約延時450ms

led3=0;

delay(50000);//大約延時450ms

led4=0;

delay(50000);//大約延時450ms

led5=0;

delay(50000);//大約延時450ms

led6=0;

delay(50000);//大約延時450ms

led7=0;

delay(50000);//大約延時450ms

led8=0;

delay(100000);//大約延時900ms

//從右到左依次點亮

led8=1;

delay(50000);//大約延時450ms

led7=1;

delay(50000);//大約延時450ms

led6=1;

delay(50000);//大約延時450ms

led5=1;

delay(50000);//大約延時450ms

led4=1;

delay(50000);//大約延時450ms

led3=1;

delay(50000);//大約延時450ms

led2=1;

delay(50000);//大約延時450ms

led1=1;

delay(50000);//大約延時450ms

leda=1;//全部燈亮

}

}

(3)8個led燈循環閃爍課程設計擴展閱讀:

main()應用:

1、C++中的main函數

C++繼承了C語言的大部分特性,因此保留了「程序總是從main函數開始執行,且總是默認從main函數的return語句或結尾處結束運行」這一傳統,

但是要注意,C++中的main函數要想作為程序執行的出入口,必須寫在全局(Global)范圍,不能寫成某個結構體或某個類的成員。

雖然main函數可以作為結構體或者類的成員函數,但相應地會失去作為程序出入口的功能。

C++中全局main函數的書寫格式與C語言完全相同,功能也完全相同,且同一C++程序同樣只能有一個全局main函數。

2、Java中的main函數

Java同樣是以main函數作為程序執行出入口的,但Java作為「更純潔」的面向對象語言,它的main函數與C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允許返回值,因此int main是被禁止的,必須使用void main,int main僅限在JavaBean中使用。

其次,Java中所有的函數必須屬於類,沒有什麼全局函數一說,因此main函數不能是全局成員,必須是某個類的成員。

第三,由於main函數變成了類的成員函數,因此要想直接被系統調用,還必須使用public static使其成為靜態函數並具有公開許可權。

第四,main函數的參數被簡化,只需要提供字元串數組即可,不需要提供參數個數(這是由於Java的數組具有下標檢查功能的原因)

Java Application中的main函數一般格式如下(類名可以自定義,但保存為Java源碼時,主文件名必須與類名相同,否則可能無法運行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此處寫入主函數的內容

}

}

Java Applet的運行機制與Java Application完全不同,因此不需要main函數

3、C#中的main函數

C#中的main函數與Java大同小異,同樣必須是類成員,同樣使用字元串數組作唯一參數,同樣是靜態函數,同樣的void main,

與之不同的是:main的首字母變成了大寫,即"Main函數「,且是否限定為public級別已經無所謂了(默認沒有public,但某些場合可能還是需要public)

另外,需要注意的是,C#中不再有」類名必須與主文件名同名「的限制,即使類名不和主文件名相同,程序照樣可以運行。

C#應用程序中的main函數默認是這樣的(注意main的首字母已是大寫)

C#和C/C++、java不同的是C#不在拘泥於必須從main()函數開始執行,C#是屬於事件觸發。

class Program{

static void Main(string[]args){

//TODO:在此處寫入主函數的內容

}

}

④ 8個LED燈循環閃爍。

51單片機就能實現 數字電路的話 麻煩

⑤ 用單片機設計8個led燈同時閃爍的程序,

#includereg52.h

void LED_turnon()
{

}
void Delay1s()

{

}
void LED_turnoff()

{

}

void main()
{
while(1)
{
LED_turnon();

Delay1s();

LED_turnoff();

Delay1s();

}
}

⑥ 匯編語言編程 8 個LED 燈循環閃爍。

你的問題我幫你在半導體器件應用技術論壇發過帖子了,就等待那邊的高手解答。如果問題比較急,你可以登錄論壇然後搜索你的標題看別人的回答也行。

⑦ 8個LED燈怎麼不能循環閃爍我用Proteus和Keil,圖畫的沒問題,就是不知程序錯在哪

#include "reg52.h"
#define uchar unsigned char;
uchar num,t;
void main()
{
num=0xfe;
t=0;
TMOD=0x10;
EA=1;
ET1=1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
while(1)
{
if(t==7)
t=0;
}
}
void time0() interrupt 3
{
【 TH0=(65536-50000)/256;//請問,你到底是想用定時器1還是定時器0
TL0=(65536-50000)%256;】
t++;
【 num=num|0x01;
num=num<<1;】這兩行調換位置

P1=num;
}
從你犯的這兩個問題可以看出,你是一位初學者。遇到問題知道來網上進行求助,說明你懂得應用網路這個資源,但是,我建議在往後的學習中能夠細心一點,這樣能避免很多不必要的問題。建議多看一點別人寫的比較正規的程序,注意格式,你的程序什麼注釋也沒有。
要學會自己找問題,自己解決問題,我們要學習是方法,如何解決問題的方法。
說多了!個人之言,僅供參考!

⑧ 利用8個LED燈設計一組循環彩燈,要有多種花型自動變換(至少6種),並且自定義控制開關,

moleledwater(clk,led,s)
inputclk;
input[1:0]s;
output[7:0]led;

reg[7:0]led=0;
reg[1:0]olds=0;

always@(posedgeclk)olds<=s;
always@(posedgeclk)
if(olds^s)
case(s)
2'b00:led<=1;//*a
2'b01:led<=1;
2'b10:led<=8'b1010_1010;
2'b11:led<=8'b0000_0111;
endcase
else
case(s)
2'b00:led<={led[6:0],led[7]};//*b
2'b01:led<={led[0],led[7:1]};
2'b10:led<=~led;
2'b11:led<={led[6:0],led[7]};
endcase
endmole
//第一種:一個燈亮,從右往左逐個移動,並循環
//第二種:一個燈亮,從左往右逐個移動,並循環
//第三種:一個間一個燈亮,並交替循環
//第四種:三個燈亮,從右往左逐個移動,並循環
//當然可以再多一些花樣:
//如:燈從右往左逐步點亮
//*a改為:led<=1;
//*b改為:led<=(&led)?1:{led[6:0],1'b1};

⑨ 用單片機設計8個led燈同時閃爍的程序!!

AT8951單片機控制8個發光二極體跑馬燈課程設計程序。我給你

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919