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

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

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

基于單片機(jī)實(shí)現(xiàn)LED閃爍

CHANBAEK ? 來(lái)源: 工控小新 ? 作者: 工控小新 ? 2023-11-10 11:28 ? 次閱讀

LED有兩種連接方式,一種是共陽(yáng)極連接,一種是共陰極連接。

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

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

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

準(zhǔn)備知識(shí):

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

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

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

例如:

typedef unsigned char u8;

typedefunsigned int ul6;

重新定義一些常用的關(guān)鍵詞,可以增強(qiáng)程序的可移植性,因?yàn)樵诓煌木幾g軟件上面,C語(yǔ)言的數(shù)據(jù)類(lèi)型的關(guān)鍵詞的位寬是不一樣的。

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

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

3、delay延時(shí)函數(shù)

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

void delay(u16 i)

{

while(i--);

}

編寫(xiě)程序:

有了上述的知識(shí)儲(chǔ)備之后,我們?cè)诰帉?xiě)一個(gè)LED閃爍的程序,首先要明白,一個(gè)LED閃爍,就是要通過(guò)接通一段時(shí)間,斷開(kāi)一段時(shí)間,這樣反反復(fù)復(fù)的原理,讓我們的視覺(jué)上產(chǎn)生出閃爍現(xiàn)象,有了這個(gè)想法之后,我們就可以使用程序?qū)⑾敕ň攥F(xiàn)化。

#include //頭文件

typedef unsigned char u8;

typedef unsigned int u16; //重定義類(lèi)型

sbit led=P2^0; //定義P2.0引腳為L(zhǎng)ED

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

{

while(i--);

}

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

{

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

{

led=1; //LED接通

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

led=0; //LED斷開(kāi)

delay(5000);

}

}

圖片

仿真演示:

利用proteus軟件進(jìn)行仿真具現(xiàn)出來(lái)。

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

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

    關(guān)注

    242

    文章

    23286

    瀏覽量

    661101
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44561

    瀏覽量

    635636
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

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

    關(guān)注

    3

    文章

    4332

    瀏覽量

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

    關(guān)注

    0

    文章

    29

    瀏覽量

    9822
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用51單片機(jī)實(shí)現(xiàn)led閃爍?

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

    如何利用STM32單片機(jī)實(shí)現(xiàn)LED閃爍?

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

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

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

    如何實(shí)現(xiàn)單片機(jī)led閃爍?

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

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

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

    使用51單片機(jī)的定時(shí)器實(shí)現(xiàn)LED閃爍的程序免費(fèi)下載

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

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

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

    LED閃爍的程序和電路圖及仿真資料免費(fèi)下載

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

    使用單片機(jī)實(shí)現(xiàn)閃爍LED的程序和仿真資料免費(fèi)下載

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

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

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

    51單片機(jī)led閃爍實(shí)例

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

    單片機(jī)零基礎(chǔ)入門(mén)(3):實(shí)現(xiàn)LED閃爍

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

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

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

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

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

    單片機(jī)led閃爍實(shí)驗(yàn)總結(jié)_Linux下單片機(jī)開(kāi)發(fā)2(C51):LED閃爍

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