<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 旋轉LED屏原理介紹

旋轉LED屏原理介紹

作者: 時(shí)間:2012-03-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  POV led”一詞(POV即persistancd of vision),LED屏。那些搖晃出的空中圖案,漂浮在車(chē)輪上的動(dòng)畫(huà),以及形態(tài)各異的時(shí)鐘,一定給你留下深刻印象。你是否想過(guò)自己親自動(dòng)手做一個(gè)LED屏呢?其實(shí)說(shuō)白了就是一個(gè)晃動(dòng)的流水燈。

旋轉LED屏原理介紹

  在51單片機最簡(jiǎn)系統的其中的一個(gè)端口P0接上8個(gè)LED,就是一個(gè)典型的流水燈實(shí)驗電路。由于沒(méi)有幾個(gè)元件,說(shuō)干就干,把所有元件焊在萬(wàn)能板上,不需花費多長(cháng)時(shí)間,就可完成整個(gè)制作。

  

旋轉LED屏原理介紹

  下面是隨便找一個(gè)流水燈的C51程序

  #include

  void main(void)

  {

  unsigned int i,ch;

  ch=0x01;

  while(1)

  {

  for(i=500;i>0;i--);

  if(ch==0x00) ch=0x01; else ch=ch1;

  P0=~ch;

  }

  }

  將這程序編譯下載到系統的單片機上,待LED燈光開(kāi)始正常開(kāi)跑后,我們拿著(zhù)它在手上來(lái)回晃動(dòng),你發(fā)現這光已經(jīng)不是一條豎直線(xiàn)了,它已經(jīng)變成了一條條斜線(xiàn)。你可以適當修改程序中的延時(shí),讓這一連串的斜線(xiàn)更漂亮些(寬和高基本一致),怎么樣,我們的最簡(jiǎn)LED屏就這樣做成了。

  

旋轉LED屏原理介紹

  高興之余,發(fā)現這與我們的目標好象還有點(diǎn)遙遠,我們并不需要這些斜線(xiàn),怎樣才能做出網(wǎng)上的那些大蝦那樣顯示的各種各樣的文字圖案呢?接下來(lái),我們還得想其它辦法,換一下思路,將需要的圖案數據一串存在數組中,運行時(shí)又將數據一串串讀出來(lái),驅動(dòng)LED,這樣就能看到我們想看到的圖案了。

這是用此思路編的流水燈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;j8;j++){

  P0=~led[j];

  for(i=3000;i>0;i--);

  }

  }

  }

  運行看一下,結果與我們的第一個(gè)程序效果是一樣的,但這個(gè)程序的優(yōu)勢在于我們可以按我們的要求,改變數組中的數據來(lái)驅動(dòng)端口上的LED,達到我們預期的顯示效果。這可以說(shuō)是流水燈的萬(wàn)能程序。這樣我們邁出了第一步。

  再來(lái)看如何產(chǎn)生需要的圖案。

  現在我們讓LED顯示數字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)制數,我得到8個(gè)16進(jìn)制數

  10000010=0x82

  11111111=0xff

  10000000=0x80

  00000000=0x00

  11100011=0xe3

  10010001=0x91

  10001001=0x89

  10000111=0x87

  這樣我們得到了我們想要的一組掃描碼{0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87}

  將前一程序的數組數據改成我們得到的掃描碼,我們得到新的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;j8;j++){

  P0=~led[j];

  for(i=600;i>0;i--);

  }

  for(i=8000;i>0;i--);

  for(i=8000;i>0;i--);

  }

  }

  編譯下載后,將運行進(jìn)的電路板來(lái)回晃晃看……,哈,“12”已隱約出現在眼前。

  

旋轉LED屏原理介紹

  

旋轉LED屏原理介紹

  哈哈,是不是成功離我們已經(jīng)不遠了。

  最后是發(fā)揮部分。接著(zhù)要做的事就是解決如何讓這些LED運動(dòng),如何檢測運行時(shí)的開(kāi)始和結束,如何給運動(dòng)著(zhù)的系統供電,如何控制運動(dòng)著(zhù)的系統….等等。不同的解決方案造就各具特色的LED旋轉屏。



關(guān)鍵詞: 旋轉 LED屏 原理介紹

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>