色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

          本文引用地址:http://cafeforensic.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++);}


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉