0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機實現(xiàn)LED閃爍

CHANBAEK ? 來源: 工控小新 ? 作者: 工控小新 ? 2023-11-10 11:28 ? 次閱讀

LED有兩種連接方式,一種是共陽極連接,一種是共陰極連接。

共陽極連接是指多個LED的陽極連接在一起,接到電源正極,而各自的陰極接到單片機的輸出引腳。這樣,當(dāng)單片機輸出低電平時,相應(yīng)的LED就會點亮;當(dāng)輸出高電平時,相應(yīng)的LED就會熄滅。

共陰極連接是指多個LED的陰極連接在一起,接到電源負極,而各自的陽極接到單片機的輸出引腳。這樣,當(dāng)單片機輸出高電平時,相應(yīng)的LED就會點亮;當(dāng)輸出低電平時,相應(yīng)的LED就會熄滅。

我們可以根據(jù)上述的原理來實現(xiàn)一個LED閃爍,讓你的LED真正會“眨眼睛”

準(zhǔn)備知識:

在實現(xiàn)LED閃爍之前,我們需要學(xué)習(xí)一下一些基本的知識。

1、typedef(重定義)的功能使用

C語言允許用戶使用 typedef 關(guān)鍵字來定義自己習(xí)慣的數(shù)據(jù)類型名稱,來替代系統(tǒng)默認(rèn)的基本類型名稱、數(shù)組類型名稱、指針類型名稱與用戶自定義的結(jié)構(gòu)型名稱、共用型名稱、枚舉型名稱等。一旦用戶在程序中定義了自己的數(shù)據(jù)類型名稱,就可以在該程序中用自己的數(shù)據(jù)類型名稱來定義變量的類型、數(shù)組的類型、指針變量的類型與函數(shù)的類型等。

例如:

typedef unsigned char u8;

typedefunsigned int ul6;

重新定義一些常用的關(guān)鍵詞,可以增強程序的可移植性,因為在不同的編譯軟件上面,C語言的數(shù)據(jù)類型的關(guān)鍵詞的位寬是不一樣的。

2、While循環(huán)函數(shù)

while循環(huán)函數(shù)語句的意義:當(dāng)函數(shù)值內(nèi)的循環(huán)條件為真時,則執(zhí)行循環(huán)體內(nèi)的函數(shù)值;當(dāng)且僅當(dāng)循環(huán)條件為假時,才會退出循環(huán),程序往下執(zhí)行。

3、delay延時函數(shù)

簡答的以while循環(huán)來做一個延時函數(shù)說明,根據(jù)設(shè)定的延時時間i,然后每次循環(huán)一個while程序進行減一計算,直到i為0時才退出延時計算。

void delay(u16 i)

{

while(i--);

}

編寫程序:

有了上述的知識儲備之后,我們在編寫一個LED閃爍的程序,首先要明白,一個LED閃爍,就是要通過接通一段時間,斷開一段時間,這樣反反復(fù)復(fù)的原理,讓我們的視覺上產(chǎn)生出閃爍現(xiàn)象,有了這個想法之后,我們就可以使用程序?qū)⑾敕ň攥F(xiàn)化。

#include //頭文件

typedef unsigned char u8;

typedef unsigned int u16; //重定義類型

sbit led=P2^0; //定義P2.0引腳為LED

void delay(u16 i) //延時函數(shù)

{

while(i--);

}

void main() //主函數(shù)

{

while(1) //循環(huán)函數(shù),while循環(huán)函數(shù)條件為1,就永遠循環(huán)下去

{

led=1; //LED接通

delay(5000); //延時5000,這個時間不準(zhǔn)確,如果非要準(zhǔn)確的花需要自己使用小工具來實現(xiàn)最好

led=0; //LED斷開

delay(5000);

}

}

圖片

仿真演示:

利用proteus軟件進行仿真具現(xiàn)出來。

可以看到,當(dāng)我們啟動仿真的時候,那么對應(yīng)的LED燈就會亮一段時間,然后熄滅一段時間,這樣就能實現(xiàn)了“眨眼睛”了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    23062

    瀏覽量

    657040
  • 單片機
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631960
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7594

    瀏覽量

    135850
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4277

    瀏覽量

    62323
  • LED閃爍
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    9799
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用51單片機實現(xiàn)led閃爍

    如何利用51單片機實現(xiàn)led閃爍?
    發(fā)表于 10-12 06:25

    如何利用STM32單片機實現(xiàn)LED閃爍

    如何利用STM32單片機實現(xiàn)LED閃爍?
    發(fā)表于 10-25 06:19

    89C52單片機實現(xiàn)LED閃爍的方法

    ;第二個led寄存器置高電平LCALL DEL ;調(diào)用子程序,相當(dāng)于調(diào)用函數(shù),子程序執(zhí)行完后則執(zhí)行LCALL后的語句 CLRP2.0;LCALL DELAJMP START...
    發(fā)表于 12-02 08:13

    如何實現(xiàn)單片機led閃爍

    如何實現(xiàn)單片機led閃爍?
    發(fā)表于 01-19 07:42

    使用STC15系列單片機實現(xiàn)LED閃爍的資料和程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用STC15系列單片機實現(xiàn)LED閃爍的資料和程序免費下載。
    發(fā)表于 09-20 17:19 ?21次下載
    使用STC15系列<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>的資料和程序免費下載

    使用51單片機的定時器實現(xiàn)LED閃爍的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機的定時器實現(xiàn)LED閃爍的程序免費下載。
    發(fā)表于 08-22 17:30 ?7次下載
    使用51<b class='flag-5'>單片機</b>的定時器<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>的程序免費下載

    使用80C51單片機實現(xiàn)LED閃爍的程序和電路圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用80C51單片機實現(xiàn)LED閃爍的程序和電路圖免費下載。
    發(fā)表于 07-16 17:39 ?5次下載
    使用80C51<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>的程序和電路圖免費下載

    LED閃爍的程序和電路圖及仿真資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)LED閃爍的程序和電路圖及仿真電路圖免費下載。
    發(fā)表于 05-28 12:04 ?14次下載
    <b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>的程序和電路圖及仿真資料免費下載

    使用單片機實現(xiàn)閃爍LED的程序和仿真資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)閃爍LED的程序和仿真資料免費下載。
    發(fā)表于 06-11 16:59 ?13次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>閃爍</b><b class='flag-5'>LED</b>的程序和仿真資料免費下載

    使用單片機實現(xiàn)LED閃爍的程序和仿真工程文件免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)LED閃爍的程序和仿真工程文件免費下載。
    發(fā)表于 03-17 17:00 ?19次下載

    51單片機led閃爍實例

    51單片機代碼實例(keil)源代碼
    發(fā)表于 11-12 12:21 ?6次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>led</b>燈<b class='flag-5'>閃爍</b>實例

    單片機零基礎(chǔ)入門(3):實現(xiàn)LED閃爍

    上期回顧:上篇文章我寫了單片機入門(2):點亮奇數(shù)位/偶數(shù)位LED燈,這篇文章實現(xiàn)LED閃爍單片機
    發(fā)表于 11-17 16:06 ?16次下載
    <b class='flag-5'>單片機</b>零基礎(chǔ)入門(3):<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>LED</b>燈<b class='flag-5'>閃爍</b>

    STM32和C51單片機實現(xiàn)程序設(shè)計與仿真測試(LED閃爍

    STM32和C51單片機實現(xiàn)程序設(shè)計與仿真測試(LED閃爍
    發(fā)表于 11-20 11:36 ?26次下載
    STM32和C51<b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b>程序設(shè)計與仿真測試(<b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>)

    51單片機如何跳出wile循環(huán)_51單片機閃爍LED

    閃爍LED燈 51單片機是較為簡單的8位單片機,意思是一次能處理8位2進制數(shù)據(jù)。這一次閃爍L
    發(fā)表于 11-23 10:06 ?21次下載
    51<b class='flag-5'>單片機</b>如何跳出wile循環(huán)_51<b class='flag-5'>單片機</b><b class='flag-5'>閃爍</b><b class='flag-5'>LED</b>燈

    單片機led閃爍實驗總結(jié)_Linux下單片機開發(fā)2(C51):LED閃爍

    :/**************************************************************************************然后make 代碼沒有什么問題就寫入單片機中效果如下LED
    發(fā)表于 01-17 10:51 ?2次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>led</b>燈<b class='flag-5'>閃爍</b>實驗總結(jié)_Linux下<b class='flag-5'>單片機</b>開發(fā)2(C51):<b class='flag-5'>LED</b><b class='flag-5'>閃爍</b>