LED有兩種連接方式,一種是共陽極連接,一種是共陰極連接。
共陽極連接是指多個(gè)LED的陽極連接在一起,接到電源正極,而各自的陰極接到單片機(jī)的輸出引腳。這樣,當(dāng)單片機(jī)輸出低電平時(shí),相應(yīng)的LED就會(huì)點(diǎn)亮;當(dāng)輸出高電平時(shí),相應(yīng)的LED就會(huì)熄滅。
共陰極連接是指多個(gè)LED的陰極連接在一起,接到電源負(fù)極,而各自的陽極接到單片機(jī)的輸出引腳。這樣,當(dāng)單片機(jī)輸出高電平時(shí),相應(yīng)的LED就會(huì)點(diǎn)亮;當(dāng)輸出低電平時(shí),相應(yīng)的LED就會(huì)熄滅。
我們可以根據(jù)上述的原理來實(shí)現(xiàn)一個(gè)LED閃爍,讓你的LED真正會(huì)“眨眼睛”
準(zhǔn)備知識(shí):
在實(shí)現(xiàn)LED閃爍之前,我們需要學(xué)習(xí)一下一些基本的知識(shí)。
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)鍵詞,可以增強(qiáng)程序的可移植性,因?yàn)樵诓煌木幾g軟件上面,C語言的數(shù)據(jù)類型的關(guān)鍵詞的位寬是不一樣的。
2、While循環(huán)函數(shù)
while循環(huán)函數(shù)語句的意義:當(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ù)
簡答的以while循環(huán)來做一個(gè)延時(shí)函數(shù)說明,根據(jù)設(shè)定的延時(shí)時(shí)間i,然后每次循環(huán)一個(gè)while程序進(jìn)行減一計(jì)算,直到i為0時(shí)才退出延時(shí)計(jì)算。
void delay(u16 i)
{
while(i--);
}
編寫程序:
有了上述的知識(shí)儲(chǔ)備之后,我們?cè)诰帉懸粋€(gè)LED閃爍的程序,首先要明白,一個(gè)LED閃爍,就是要通過接通一段時(shí)間,斷開一段時(shí)間,這樣反反復(fù)復(fù)的原理,讓我們的視覺上產(chǎn)生出閃爍現(xiàn)象,有了這個(gè)想法之后,我們就可以使用程序?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í)函數(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)確的花需要自己使用小工具來實(shí)現(xiàn)最好
led=0; //LED斷開
delay(5000);
}
}
仿真演示:
利用proteus軟件進(jìn)行仿真具現(xiàn)出來。
可以看到,當(dāng)我們啟動(dòng)仿真的時(shí)候,那么對(duì)應(yīng)的LED燈就會(huì)亮一段時(shí)間,然后熄滅一段時(shí)間,這樣就能實(shí)現(xiàn)了“眨眼睛”了。
-
led
+關(guān)注
關(guān)注
242文章
23771瀏覽量
671868 -
單片機(jī)
+關(guān)注
關(guān)注
6066文章
44946瀏覽量
648305 -
C語言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140763 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4374瀏覽量
64420 -
LED閃爍
+關(guān)注
關(guān)注
0文章
29瀏覽量
10020
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)實(shí)現(xiàn)LED燈閃爍的過程
89C52單片機(jī)實(shí)現(xiàn)LED閃爍的方法
使用STC15系列單片機(jī)實(shí)現(xiàn)LED閃爍的資料和程序免費(fèi)下載

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

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

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

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

使用單片機(jī)實(shí)現(xiàn)LED燈閃爍的程序和仿真工程文件免費(fèi)下載
單片機(jī)零基礎(chǔ)入門(3):實(shí)現(xiàn)LED燈閃爍

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

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

評(píng)論