導航:首頁 > 操作系統 > 流水燈驅動單片機

流水燈驅動單片機

發布時間:2023-02-08 14:18:06

『壹』 51單片機能否正常驅動32盞LED燈LED燈做流水燈用。求高人解答!

驅動小功率LED是沒有問題的。1個51單片機外加4個PNP三極體(如C9012或8550),以及12個電阻就可以了。將32個LED分成4組共陽連接,採用動態掃描方式輸出驅動LED,這樣共佔用單片機12根口線。

『貳』 單片機控制流水燈

可以,不過單片機可能無法直接驅動,要經過三極體或MOS管來控制

『叄』 單片機中流水燈如何控制

單片機中流水燈控制:
硬體連接很簡單,只要將8個LED指示燈接在P1口上
另一端通過220歐姆的電阻接+5V電源上,就可以了。
主要靠軟體控制,簡單的可以使用左移或右移指令,將低電平0
逐漸移入寄存器中,即控制LED指示燈逐漸一個一個地點亮或一個一個地熄滅。
復雜點:
可以進行花式流水控制。
例如:
可以由兩邊逐漸向內點亮
然後再由內逐漸向外一個一個熄滅。
還可以由由內逐漸向兩邊內點亮
然後再由兩邊漸向內逐一個一個熄滅。
在程序的實現上
可以把各種花式流水的P1口亮滅狀態字
事先定義成數組
然後每隔一定的時間
取出送P1口顯示。
呵呵
俺只提供給你一個號的演算法
程序就自己動手自立更生吧
滿意
就選滿意回答

『肆』 單片機流水燈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++);

}

(4)流水燈驅動單片機擴展閱讀

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);

}

}

}

『伍』 求51單片機驅動32盞LED流水燈(單向流水,全部亮時閃爍兩次,雙向流水,全部亮時閃爍兩次)的C程序!謝謝

這個比較簡單吧
uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void delay();//自己寫吧 延遲一秒
void led_blink();//~~~~~~~~~~~~
void single_stream();//單向流水函數聲明
void double_stream();//~~~~~~~~

void led_blink() //全部亮時閃爍兩次

{
uchar i;
if(P3^7==0)

{ i=2;

while(i--)

{
P0=0x00;//低電平點亮
P1=0x00;
P2=0x00;
P3=0x00;
delay();
P0=0xff;//熄滅
P1=0xff;
P2=0xff;
P3=0xff;
delay();

}
}

}
void single_stream()//單向流水燈
{
uchar i;//自己定義一下 unsigned char

for(i=0;i<8;i++)
{
P0=table[i];//逐個點亮led0-7 第零組

delay();

}
for(i=0;i<8;i++)
{
P1=table[i];//第一組
delay();
}
for(i=0;i<8;i++)
{
P2=table[i];//第二組
delay();
}
for(i=0;i<8;i++)
{
P3=table[i];//第三組
delay();
}

}

void double_stream()//這個你也自己寫吧
{

}

void main()//main 函數就調用下 前面的就可以了。。

{
while(1)
{
single_stream();
led_blink();
double_stream();
led_blink();
}

}// 大概就是這樣。。我沒測試

『陸』 單片機流水燈程序

程序如下:

#include <reg52.h>

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3。

讓電子信息技術與單片機技術相融合,有效提高了單片機應用效果。作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。

從二十世紀九十年代開始,單片機技術就已經發展起來,隨著時代的進步與科技的發展,目前該技術的實踐應用日漸成熟,單片機被廣泛應用於各個領域。現如今,人們越來越重視單片機在智能電子技術方面的開發和應用,單片機的發展進入到新的時期。

無論是自動測量還是智能儀表的實踐,都能看到單片機技術的身影。當前工業發展進程中,電子行業屬於新興產業,工業生產中人們將電子信息技術成功運用。

『柒』 如何用單片機做流水燈

因為電路用單片機控制,所以電路非常簡潔。其電路原理圖見下圖,印製板圖如下圖所示。

電路的核心部分是AT89C2051單片機,前面提到它有Pl和P3兩組I/O口,我們這里只用到Pl口,共8個引腳。圖中Cl、R9組成典型的上電復位(即在加電時單片機復位)電路,XTAL、C2、C3與AT89C2051片內振盪電路組成時鍾振盪器。值得注意的是,C2、C3的容量不能與圖中數值偏差太大,否則可能引起不起振或振盪不穩定。XTAL的頻率可以在4-20MHz之間,不過,頻率的變化會導致程序運行速度的變化,這樣就需要調整延時子函數的參數。事實上,不調整參數亦可,只是此時延遲時間不再是1秒,其延遲時間會隨著XTAL頻率的降低而增加。

二、軟體部分

本程序包含兩個函數,一個是主函數,另一個是延時子函數。源程序如下(為了便於講解,我們為每行程序加上了編號):

程序各行作用如下:

00行:把AT89C2051的頭文件「AT89x051.H」包含進來。

01行:聲明Delay()延時子函數,該函數有一個無符號整型參數k,同時函數前面的void表明函數不返回函數值。

02行:延時子函數的開始,同時聲明兩個無符號整型變數i和j。

不過請注意,這里沒有象上期的程序一樣,把表示函數開始的「{」單獨成行,而是把下一行寫在一起了。事實上,寫C程序的時候,可以把多行寫作一行,C編譯器只要遇到分號就認為是一行語句的結束。

當然,我們不能因為C程序有這個特點,就隨意把多行合作一行書寫,實際書寫C程序的時候,還是要養成良好的程序書寫習慣,按照約定俗成的原則來書寫。

03行:聲明for()循環。這個循環的初始條件是i=0,終止條件是i<k,循環計數是每循環一次,用手計數的變數i加1。因此,這個循環的循環次數就是k次。這樣,只要改變k的值(即改變Delay()延時子函數的參數k的值),就可以很容易地控制循環次數,從而獲得不同的延時時間。

04行:聲明嵌套在03循環中的一個新的for()循環,這個循環與上一個循環相似,其循環次數是120次。本循環與上一個循環嵌套後,使得總的循環次數達120×k次。

05行:第一個分號,表示L條空語句,佔用一個機器時間,以實現延時的目的。後面的兩個「}」中,第一個「}」是04行for()循環的結束標志,程序遇到它時,將自動返回04行,使用於循環計數的變數j加1,同時判斷j是否小於120,如果否,則轉入05行;第二個是03行for()循環的結束標志,程序遇到它則會返回03行

『捌』 如何在實現led流水燈時用單片機精確控制流水燈切換時間

1、首先新建一個工程(新項目)。
2、其次查看原理圖確定需求(流水燈)對應LED引腳在單片機上的哪個引腳。
3、然後編寫程序(通過查看原理圖可以看到需要控制整個P2口以控制8個LED燈)。
4、最後編譯程序,下載程序至開發板,查看效果(調試)即可。

『玖』 什麼是單片機流水燈

就是單片機驅動多個LED燈,亮的時候順序亮,滅的時候也是順序滅,看起來就像流水一樣。

『拾』 關於單片機流水燈的問題

12MHz為時鍾周期,如果不分頻,定時器周期也為12MHz,51單片機為12分頻。
以下計算均為不分頻。
Fc = 12MHz, Time = 1s ,計數次數為12_000_000,如果有16bit定時器,計數上限65535,不可以滿足,因此要配合軟體計數。12000000 = 60_000 X 200.
硬體連接為:
發光二極體的壓降為1~3V,
額定電流:20mA

如果用單片機IO口直接驅動,假設輸出電壓為5V,壓降1.2V,那麼分壓電阻R = (5-1.2)/0.02 =240(ohm),當然了一般可以用1K的電阻。有時候單片機驅動能力不足,要上拉電阻,這個阻值要根據單片機倒灌電流的閾值計算,一般阻值1~10K

閱讀全文

與流水燈驅動單片機相關的資料

熱點內容
漢語詞典pdf下載 瀏覽:351
android公網ip 瀏覽:611
要塞1地圖放哪個文件夾 瀏覽:848
凡科建站怎麼弄伺服器 瀏覽:939
蘋果手機怎麼設置app播放 瀏覽:202
下載網站源碼用什麼瀏覽器 瀏覽:241
六線譜pdf 瀏覽:156
linuxmysqlsock 瀏覽:239
人教版數學pdf下載 瀏覽:460
文檔安全加密系統 瀏覽:491
數控銑床編程簡單數字 瀏覽:788
編程電纜如何重啟 瀏覽:121
myqq命令行發消息 瀏覽:365
日產逍客怎麼使用app升窗 瀏覽:503
安卓系統怎麼快速刪除微信內容 瀏覽:653
csharppython 瀏覽:409
程序員脖子按摩儀 瀏覽:563
小米桌面文件夾亂碼怎麼回事 瀏覽:858
點歌台app怎麼連接 瀏覽:318
大學電腦編程學什麼好 瀏覽:348