新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机系列连载2—美丽的发光二极管

51单片机系列连载2—美丽的发光二极管

作者: 时间:2016-11-27 来源:网络 收藏
今天简单地介绍一下发光二极管,发光二极管看似简单,但是在市场中也有很多应用。比如说,在大家经常使用的充电器就有发光二极管的应用,如下图所示:

本文引用地址://m.amcfsurvey.com/article/201611/322434.htm



这就是简易充电器电路,其中LED也就是发光二极管既起到半波整流的作用又兼做指示灯。同样的原理,发光二极管还可以给灯具开关做指示灯、给工业设备配电箱做指示灯以及用共阴极双色LED对电源插座指示等等。

接下来,简单地说一下c语言程序。

大体而言,可以采用位操作与总线操作两种方式写程序,比如让第一个发光二极管亮:

(1)、位操作(2)总线操作

#include#include

sbitD1=P1^0;voidmain()

voidmain(){P1=0xfd;

{D1=0;}

}

在此基础上,添加一些循环、延时就可以让其闪烁,如让第一个二极管闪烁的三种方法:

法一:#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++);}


上一页 1 2 下一页

评论


技术专区

关闭