<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201611/322434.htm

          法二:使用數(shù)組

          #include

          unsignedchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

          voidyanshi();

          voidmain()

          {unsignedinti;

          while(1)

          {

          for(i=0;i<8;i++)

          {P1=table[i];(注意,在這里的大括號是一定要加的,否則你就out了)

          yanshi();

          }}}

          voidyanshi()

          {unsignedinti;

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

          法三:左移右移

          #include

          unsignedchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

          unsignedinti;

          voidyanshi();

          voidmain()

          {P1=0xfe;

          while(1)

          {P1=P1<<1;

          P1=P1|0x01;(因為是左移而不是循環(huán)左移,所以要末位置一,這樣的結(jié)果也會導致最后只挨個量一次)

          yanshi();}

          }

          voidyanshi()

          {unsignedinti;

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

          其實想想并不是很難,就是賦值控制亮滅,主要是記住延時那個函數(shù),最后調(diào)用就可以了,在這個基礎(chǔ)上再拓展一下,雙燈左移右移閃爍,也就是雙燈左移7次,右移7次,然后全閃7次,程序如下:

          #include

          voidDelay(unsignedinti);

          voidmain()

          {unsignedchari;

          unsignedchartemp;

          while(1)

          {temp=0xfc;

          P1=temp;

          for(i=0;i<7;i++)

          Delay(50000);

          {temp<<=1;

          temp=temp|0x01;

          P1=temp;}之所以加入temp做中間變量,防止直接操作端口造成的短暫閃爍

          Temp=0x3f;

          P1=temp;

          For(i=0;i<7;i++)

          {Delay(50000);

          Temp>>=1;

          Temp|=0x80;

          P1=temp;}

          For(i=0;i<3;i++)

          P1=0xff;

          Delay(50000);

          P1=0x00;

          Delay(50000);}

          }}

          voidDelay(unsignedinti)

          {

          while(--i);

          }

          這么一分析,發(fā)光二極管真的很簡單,賦值端口,控制亮滅,延時,調(diào)用函數(shù),基本上就可以了,最重要的是c語言簡單知識的一些規(guī)范,這都是入門的,不難理解,細心一些就好了,個人覺得比較好的還是自己寫程序去調(diào)試,調(diào)試次數(shù)多了,自然而然就熟悉了,孰能生巧,對很多事情都是亙古不變的真理,學習更是如此。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 51單片機發(fā)光二極

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();