今天簡單地介紹一下發(fā)光二極管,發(fā)光二極管看似簡單,但是在市場中也有很多應用。比如說,在大家經(jīng)常使用的充電器就有發(fā)光二極管的應用,如下圖所示:
本文引用地址:http://www.ex-cimer.com/article/201611/322434.htm
這就是簡易充電器電路,其中LED也就是發(fā)光二極管既起到半波整流的作用又兼做指示燈。同樣的原理,發(fā)光二極管還可以給燈具開關做指示燈、給工業(yè)設備配電箱做指示燈以及用共陰極雙色LED對電源插座指示等等。
接下來,簡單地說一下c語言程序。
大體而言,可以采用位操作與總線操作兩種方式寫程序,比如讓第一個發(fā)光二極管亮:
(1)、位操作(2)總線操作
#include#include
sbitD1=P1^0;voidmain()
voidmain(){P1=0xfd;
{D1=0;}
}
在此基礎上,添加一些循環(huán)、延時就可以讓其閃爍,如讓第一個二極管閃爍的三種方法:
法一:#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--);
}
}
當然,還有更好玩的,比如非常好看的流水燈,其實原理跟上面一樣:
法一:直接法
#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++);}
評論