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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 旋轉(zhuǎn)LED燈原理和應(yīng)用

          旋轉(zhuǎn)LED燈原理和應(yīng)用

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          這是用此思路編的流水燈C51程序
          #include
          code unsigned char led[]={0x01,
          0x02,0x04,0x08,0x10,0x20,0x40,0x80};
          void main(void)
          {
          unsigned int i,j;
          while(1)
          {
          for(j=0;j<8;j++){
          P0=~led[j];
          for(i=3000;i>0;i--);
          }
          }
          }
          運(yùn)行看一下,結(jié)果與我們的第一個(gè)程序效果是一樣的,但這個(gè)程序的優(yōu)勢(shì)在于我們可以按我們的要求,改變數(shù)組中的數(shù)據(jù)來(lái)驅(qū)動(dòng)端口上的LED,達(dá)到我們預(yù)期的顯示效果。這可以說(shuō)是流水燈的萬(wàn)能程序。這樣我們邁出了第一步。
          再來(lái)看如何產(chǎn)生需要的圖案。
          現(xiàn)在我們讓LED顯示數(shù)字12為例,我們先作一個(gè)表。

          0 1 0 0 1 1 1 1 低四位
          1 1 0 0 1 0 0 1
          0 1 0 0 0 0 0 1
          0 1 0 0 0 0 1 0
          0 1 0 0 0 1 0 0 高四位
          0 1 0 0 1 0 0 0
          0 1 0 0 1 0 0 0
          1 1 1 0 1 1 1 1
          從下到上將每列看成是一個(gè)16進(jìn)制數(shù),我得到8個(gè)16進(jìn)制數(shù)
          10000010=0x82
          11111111=0xff
          10000000=0x80
          00000000=0x00
          11100011=0xe3
          10010001=0x91
          10001001=0x89
          10000111=0x87
          這樣我們得到了我們想要的一組掃描碼{0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87}
          將前一程序的數(shù)組數(shù)據(jù)改成我們得到的掃描碼,我們得到新的C51程序
          #include
          code unsigned char led[]={0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87};
          void main(void)
          {
          unsigned int i,j;
          while(1)
          {
          for(j=0;j<8;j++){
          P0=~led[j];
          for(i=600;i>0;i--);
          }
          for(i=8000;i>0;i--);
          for(i=8000;i>0;i--);
          }
          }
          編譯下載后,將運(yùn)行進(jìn)的電路板來(lái)回晃晃看……,哈,“12”已隱約出現(xiàn)在眼前。


          是不是成功離我們已經(jīng)不遠(yuǎn)了。
          最后是發(fā)揮部分。接著要做的事就是解決如何讓這些LED運(yùn)動(dòng),如何檢測(cè)運(yùn)行時(shí)的開(kāi)始和結(jié)束,如何給運(yùn)動(dòng)著的系統(tǒng)供電,如何控制運(yùn)動(dòng)著的系統(tǒng)….等等。不同的解決方案造就各具特色的LED旋轉(zhuǎn)屏。
          用上面的辦法對(duì)一些簡(jiǎn)單圖案還能行,當(dāng)遇到LED個(gè)數(shù)多或圖文復(fù)雜時(shí),用這樣直接取碼的工作量就會(huì)很大,這就需要專門(mén)軟件,根據(jù)顯示的字符和圖案自動(dòng)生成掃描碼。好在網(wǎng)上有不少這類軟件可免費(fèi)下載,免去了手工取碼之苦。
          臨淵羨魚(yú),不如退而結(jié)網(wǎng),動(dòng)手做一個(gè)真正屬于自己的旋轉(zhuǎn)LED顯示并不難。
          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(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); })();