新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)系列連載2—美麗的發(fā)光二極管

51單片機(jī)系列連載2—美麗的發(fā)光二極管

作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
今天簡單地介紹一下發(fā)光二極管,發(fā)光二極管看似簡單,但是在市場(chǎng)中也有很多應(yīng)用。比如說,在大家經(jīng)常使用的充電器就有發(fā)光二極管的應(yīng)用,如下圖所示:

本文引用地址:http://m.butianyuan.cn/article/201611/322434.htm



這就是簡易充電器電路,其中LED也就是發(fā)光二極管既起到半波整流的作用又兼做指示燈。同樣的原理,發(fā)光二極管還可以給燈具開關(guān)做指示燈、給工業(yè)設(shè)備配電箱做指示燈以及用共陰極雙色LED對(duì)電源插座指示等等。

接下來,簡單地說一下c語言程序。

大體而言,可以采用位操作與總線操作兩種方式寫程序,比如讓第一個(gè)發(fā)光二極管亮:

(1)、位操作(2)總線操作

#include#include

sbitD1=P1^0;voidmain()

voidmain(){P1=0xfd;

{D1=0;}

}

在此基礎(chǔ)上,添加一些循環(huán)、延時(shí)就可以讓其閃爍,如讓第一個(gè)二極管閃爍的三種方法:

法一:#include

sbitP1_1=P1^0;

voidmain()

{unsignedinti;

while(1)

{P1_1=0;

for(i=1;i<10000;i++);

P1_1=1;

for(i=1;i<10000;i++);

}}

法二:#include

sbitP1_1=P1^0;

voidyanshi();

voidmain()

{while(1)

{P1_1=0;

yanshi();

P1_1=1;

yanshi();}}

voidyanshi()

{unsignedinti;

for(i=0;i<10000;i++);}

法三:#include

voidmain()

{while(1)

{

inti;i=50000;

P1=0xfe;

while(i--);

P1=0xff;

i=50000;

while(i--);

}

}

當(dāng)然,還有更好玩的,比如非常好看的流水燈,其實(shí)原理跟上面一樣:

法一:直接法

#include

sbitP1_1=P1^0;

voidyanshi();

voidmain()

{while(1)

{P1=0xfe;

yanshi();

P1=0xfd;

yanshi();

P1=0xfb;

yanshi();

P1=0xf7;

yanshi();

P1=0xef;

yanshi();

P1=0xdf;

yanshi();

P1=0xbf;

yanshi();

P1=0x7f;

yanshi();

}}

voidyanshi()

{unsignedinti;

for(i=0;i<10000;i++);}


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉