1. <dd id="igaoq"><track id="igaoq"></track></dd>
    2.  找回密碼
       立即注冊

      QQ登錄

      只需一步,快速開始

      搜索
      查看: 133463|回復: 247
      打印 上一主題 下一主題
      收起左側

      創意pov鏡面旋轉LED屏(含C源碼、原理圖)

        [復制鏈接]
      跳轉到指定樓層
      樓主
      在51hei黑論壇也逛了蠻久了,一直在看別人的作品,今天我也貢獻一點內容,大家多多指教啊.
      POV,英文Persistance Of Vision的縮寫,即視覺暫留的意思。
      用POV的原理來做顯示屏,優勢主要表現在:能以少量LED實現傳統方式下海量LED才能實現的顯示屏。例如POV的16個LED可以輕松地同時顯示16個漢字,而傳統LED屏需要4096個LED。 隨之而來的是,體積小巧便于安裝在適當的場合。字樣或圖案的顯示效果,如漂浮在半空中。

      網上有老外做的LED旋轉顯示屏,在技術上軟硬件都不難,只需要花些時間慢慢調就能出來。關鍵是,給旋轉的LED供電,對電子愛好者來說,是個麻煩事。這里,給出一個不需要給LED電路供電的方法。即讓LED和單片機電路固定不動,而是旋轉一面鏡子。原理1.用一個小直流電機將一塊鏡子旋轉起來(鏡子背面貼一個小磁鐵片);2.在鏡子旋轉的支架上,固定一個干黃管或霍爾芯片(檢測是否有磁鐵靠近),霍爾芯片的輸出腳連到單片機上,這樣單片機就知道電機的旋轉速度。3.根據人眼的視覺滯留(大概是0.1~0.2秒),和上述測到的實時的電機旋轉速度,在不同的瞬間,點亮LED,最終就形成LED顯示的一個屏幕。(小時候的晚上,拿著蚊香在空中劃過,就變成了一條紅線,同理,一條LED線劃過,會變成一個面。)單片機電路 實物




      放置單片機電路:

      旋轉后 顯示效果:

      由于此旋轉結構是木頭鐵皮做的支架,精度較低,所以顯示效果還可以再提高很多,這里只是拋磚引玉。


      介紹

      下面實物圖中有兩部分組成,一是旋轉LED屏Demo板,二是風扇電機。Demo板固定在旋轉軸上,電機轉動后,Demo板上的16 個LED燈的旋轉軌跡是個圓柱面。運行后,顯示文字或圖形,效果圖如下圖的"奧運加油"字樣。
         
        實物圖        

        
      效果圖
      本設計另一個特點:以10個IO控制點亮16個LED燈(甚至可以做到32個LED),這樣使得2051這樣小單片機也能實現。
      將Demo板綁在自行車的鋼絲上(PCB上有6個定位鉆孔,很方便),如下圖。同時綁上3電池。在下圖“小磁鐵”處自行車內側放一個小磁鐵,以便Demo板上的霍爾芯片能感應到。車輪旋轉起來后,顯示的字樣如下圖右側。

         




      其它效果



      原理圖: 原理圖.pdf (52.26 KB, 下載次數: 1566)
      代碼: 0004_Software.rar (3.55 KB, 下載次數: 1199)

      評分

      參與人數 11威望 +9 黑幣 +46 收起 理由
      chit100 + 5
      楊yy + 5 很給力!
      桂電小天使 + 5 絕世好帖!
      彬Lsl + 5 很給力!
      SHA手 + 5 很給力!
      czy099128 + 5 很給力!
      HGH鐵柱 + 4 絕世好帖!
      半塊電路板 + 5 贊一個!
      environmentx + 7
      高山有崖 + 4
      V剎V + 5 回帖助人的獎勵!

      查看全部評分

      分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
      收藏收藏74 分享淘帖 頂19 踩
      回復

      使用道具 舉報

      沙發
      ID:51275 發表于 2013-6-26 16:16 | 只看該作者
      1. ///////////////////////////////////////////////////
      2. //
      3. //硬件配置: P00~P07=LED1~LED8,
      4. //                    P27~P20=LED9~LED16,
      5. //          INT0=Hall IC
      6. //
      7. //                        Crystal: 11.0592M
      8. ///////////////////////////////////////////////////
      9. #include <reg51.h>
      10. #include <string.h>


      11. //STC系列特殊寄存器
      12. sfr AUXR        =         0x8e ;//bit7~0 : T0x12 T1x12 UART_M0x6 EADCI , ESPI ELVDI - -
      13. sfr        P1M0        =        0x91;
      14. sfr        P1M1        =        0x92;
      15. sfr        P2M0        =        0x95;
      16. sfr        P2M1        =        0x96;
      17. sfr        P3M0        =        0xb1;
      18. sfr        P3M1        =        0xb2;

      19. unsigned int Font[3][16]=//賽先生
      20. {
      21. {0x1010,
      22. 0x6110,
      23. 0x4120,
      24. 0x5541,
      25. 0x550F,
      26. 0x7F42,
      27. 0x5542,
      28. 0xD55C,
      29. 0x5542,
      30. 0x7F42,
      31. 0x55F9,
      32. 0x5541,
      33. 0x4120,
      34. 0x5130,
      35. 0x6020,
      36. 0x0000
      37. },
      38. {0x0000,0x0A08,0x7210,0x2260,0x2380,0x2200,0xFE00,0x2200,  0x23F0,0x2208,0x2208,0x0208,0x0230,0x0000,0x0000,0x0000},
      39. {0x0408,0x1808,0xF108,0x1108,0x1108,0x1108,0xFFF8,0x1108,  0x1108,0x1108,0x1108,0x1008,0x0008,0x0000,0x0000,0x0000}

      40. };


      41. unsigned char MASK_1BIT_ON[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
      42. unsigned int ReverseHighByteOrder(unsigned int a)
      43. {
      44.         unsigned char c,i;
      45.         unsigned int b;
      46.         b=(a>>8)&0x00ff;//b=調換之前的high字節

      47.         c=0;//c=調換之后的字節
      48.         for(i=0;i<8;i++)
      49.         {
      50.                 if(MASK_1BIT_ON[i]&b)
      51.                         c=c|MASK_1BIT_ON[7-i];
      52.         }


      53.         b=c;
      54.         b=(b<<8)&0xff00;
      55.         b=b+(a&0x00ff);
      56.         return b;
      57. }
      58. unsigned int ReverseLowByteOrder(unsigned int a)
      59. {
      60.         unsigned char b,c,i;
      61.         b=a&0xff;//b=調換之前的低字節

      62.         c=0;//c=調換之后的低字節
      63.         for(i=0;i<8;i++)
      64.         {
      65.                 if(MASK_1BIT_ON[i]&b)
      66.                         c=c|MASK_1BIT_ON[7-i];
      67.         }

      68.         a=a&0xff00;
      69.         a=a+c;
      70.         return a;
      71. }
      72. void Delay_ms(ms)
      73. {
      74.         int i,j;
      75.         for(i=0;i<ms;i++)
      76.         {
      77.                 for(j=0;j<10;j++)
      78.                 {}
      79.         }
      80. }

      81. char HallIC_Coming;//是否是Hall IC碰到磁場
      82. int Timer0_Cnt;//Timer0中斷計數
      83. ///////////////////////////////////////////////////
      84. //
      85. //主函數
      86. //
      87. ///////////////////////////////////////////////////
      88. void main()
      89. {       
      90.         int i;
      91.         for(i=0;i<16;i++)
      92.         {
      93.                 Font[0][i]=        Font[0][i]^0xffff;//反相
      94.         //        Font[0][i]=ReverseLowByteOrder(Font[0][i]);//低字節的bit0~7修改為bit7~0
      95.                 Font[0][i]=ReverseHighByteOrder(Font[0][i]);//高字節的bit0~7修改為bit7~0
      96.         }

      97.         //Test
      98.         P0=0x00;//全部打開LED
      99.         P2=0x00;
      100.         Delay_ms(1000);
      101.         P2=0xff;

      102.            //Timer0的設置
      103.         TR0 = 1;                //timer0啟動
      104.         ET0 = 1;                //timer0中斷
      105.            TMOD |= 0x01;   //timer0設置為mode1
      106.         TH0=TL0=0;

      107.         EX0 = 1;       
      108.         EA = 1;

      109.         //計算電機旋轉速度
      110. /*        Timer0_Cnt=0;
      111.         HallIC_Coming=0;
      112.         for(i=0;i<100;i++)
      113.         {
      114.                 while(HallIC_Coming==0);
      115.                 HallIC_Coming=0;
      116.         }
      117. */        TR0=0;
      118.         ET0=0;
      119.        
      120.        

      121.         ////////////////////////////
      122.         //正式開始
      123.         HallIC_Coming=0;
      124.         while(1)
      125.         {
      126.                
      127.                 if(HallIC_Coming)//等待Hall IC觸發的中斷
      128.                 {
      129.                         //處理
      130.                         for(i=0;i<16;i++)                       
      131.                         {
      132.                                 P2=Font[0][i]&0xff;
      133.                                 P0=(Font[0][i]>>8)&0xff;
      134.                                 Delay_ms(5);
      135.                         }
      136.                         ////////////////////////////
      137.                         P0=P2=0xff;
      138.                         HallIC_Coming=0;
      139.                 }

      140.         }

      141. }


      142. ////////////////////////////////////////////////////////////////////////////////////////
      143. //
      144. //外部中斷0 (INT0,由Hall IC輸出腳觸發)
      145. //
      146. ////////////////////////////////////////////////////////////////////////////////////////
      147. void ISR_INT0(void) interrupt 0
      148. {
      149.         HallIC_Coming=1;
      150. }

      151. //Timer0中斷
      152. void ISR_Timer0(void) interrupt 1
      153. {
      154.         Timer0_Cnt++;
      155. }
      復制代碼
      回復

      使用道具 舉報

      板凳
      ID:51343 發表于 2013-7-1 16:52 | 只看該作者
      膜拜啊 能做出這么牛的東西來,51hei(51黑)論壇有你更精彩.
      回復

      使用道具 舉報

      地板
      ID:51343 發表于 2013-7-1 16:55 | 只看該作者
      我也來51hei很久了 咋就很難有進步呢 現在還只能搞流水燈之類的簡單東西.
      回復

      使用道具 舉報

      5#
      ID:51498 發表于 2013-7-4 20:26 | 只看該作者
      謝謝分享
      回復

      使用道具 舉報

      6#
      ID:51624 發表于 2013-7-9 05:42 | 只看該作者
      支持,好作品
      回復

      使用道具 舉報

      7#
      ID:51690 發表于 2013-7-10 16:43 | 只看該作者
      不怎么好玩
      回復

      使用道具 舉報

      8#
      ID:51767 發表于 2013-7-12 14:41 | 只看該作者
      太了不起了...什么時候我才可以額這樣子的能力哦...
      回復

      使用道具 舉報

      9#
      ID:51900 發表于 2013-7-16 10:10 | 只看該作者
      厲害啊
      回復

      使用道具 舉報

      10#
      ID:51900 發表于 2013-7-16 10:13 | 只看該作者
      厲害啊
      回復

      使用道具 舉報

      11#
      ID:51900 發表于 2013-7-16 10:14 | 只看該作者
      有創意!
      回復

      使用道具 舉報

      12#
      ID:40961 發表于 2013-7-16 22:11 | 只看該作者
      好哈學習學習
      回復

      使用道具 舉報

      13#
      ID:51939 發表于 2013-7-17 11:25 | 只看該作者
      謝謝分享
      回復

      使用道具 舉報

      14#
      ID:51962 發表于 2013-7-18 19:56 | 只看該作者
      菜鳥加初學者表示膜拜
      回復

      使用道具 舉報

      15#
      ID:52177 發表于 2013-7-23 22:25 | 只看該作者
      有套件賣嗎?我要
      回復

      使用道具 舉報

      16#
      ID:30196 發表于 2013-7-24 09:06 | 只看該作者
      謝謝分享,試做一下。
      回復

      使用道具 舉報

      17#
      ID:52244 發表于 2013-7-25 16:26 | 只看該作者
      請問樓主   顯示效果受旋轉速度影響嗎?如裝在自行車輪子上的那種。
      回復

      使用道具 舉報

      18#
      ID:52482 發表于 2013-7-30 22:24 | 只看該作者
      不錯不錯
      回復

      使用道具 舉報

      19#
      ID:52596 發表于 2013-8-3 14:09 | 只看該作者
      可以,有創意。
      回復

      使用道具 舉報

      20#
      ID:52655 發表于 2013-8-4 22:13 | 只看該作者
      不錯,支持下
      回復

      使用道具 舉報

      21#
      ID:52664 發表于 2013-8-5 10:17 | 只看該作者
      謝謝樓主啦
      回復

      使用道具 舉報

      22#
      ID:52768 發表于 2013-8-7 16:27 | 只看該作者
      學習啦!
      回復

      使用道具 舉報

      23#
      ID:52817 發表于 2013-8-8 16:57 | 只看該作者
      真厲害,向你學習
      回復

      使用道具 舉報

      24#
      ID:52848 發表于 2013-8-9 23:09 | 只看該作者
      這個不錯,準備做個來玩玩
      回復

      使用道具 舉報

      25#
      ID:52912 發表于 2013-8-10 18:50 | 只看該作者
      大神  牛逼啊
      回復

      使用道具 舉報

      26#
      ID:52941 發表于 2013-8-11 17:26 | 只看該作者
      謝謝分享。。。。。。。。。。。
      回復

      使用道具 舉報

      27#
      ID:52941 發表于 2013-8-11 17:27 | 只看該作者
      厲害。。。。。。。。。。
      回復

      使用道具 舉報

      28#
      ID:53155 發表于 2013-8-17 20:29 | 只看該作者
      很有創意!樓主,你確定是這份程序?這程序算不出來轉速。你是不是在來回調那個Delay_ms(5);?
      回復

      使用道具 舉報

      29#
      ID:53155 發表于 2013-8-17 20:42 | 只看該作者
      順便問下,樓主有霍爾元件選型網站、資料、手冊嗎?
      回復

      使用道具 舉報

      30#
      ID:54899 發表于 2013-9-11 14:30 | 只看該作者
      原理圖器件名稱,電阻值標的不是很明確。
      回復

      使用道具 舉報

      31#
      ID:54899 發表于 2013-9-11 14:31 | 只看該作者
      3Mhz249是什么?LED限流電阻是51歐姆?
      回復

      使用道具 舉報

      32#
      ID:54899 發表于 2013-9-11 14:31 | 只看該作者
      3Mhz249是什么?LED限流電阻是51歐姆?
      回復

      使用道具 舉報

      33#
      ID:55378 發表于 2013-9-24 19:58 | 只看該作者
      學一下
      回復

      使用道具 舉報

      34#
      ID:55559 發表于 2013-10-1 16:34 | 只看該作者
      不錯,不錯,不錯,學習學習
      回復

      使用道具 舉報

      35#
      ID:55559 發表于 2013-10-1 16:34 | 只看該作者
      學習一下
      回復

      使用道具 舉報

      36#
      ID:55594 發表于 2013-10-2 22:09 | 只看該作者
      不錯!剛接觸。多多交流。
      回復

      使用道具 舉報

      37#
      ID:55601 發表于 2013-10-3 21:29 | 只看該作者
      努力學習中
      回復

      使用道具 舉報

      38#
      ID:55695 發表于 2013-10-7 22:55 | 只看該作者
      蠻有創意的
      回復

      使用道具 舉報

      39#
      ID:55695 發表于 2013-10-7 22:56 | 只看該作者
      看了單片機功能太強大了
      回復

      使用道具 舉報

      40#
      ID:55734 發表于 2013-10-9 01:57 | 只看該作者
      學習一下
      回復

      使用道具 舉報

      您需要登錄后才可以回帖 登錄 | 立即注冊

      本版積分規則

      手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

      Powered by 單片機教程網

      快速回復 返回頂部 返回列表
      高清三级毛片_亚洲成A人片在线观看中文无码_久久精品国产精品亚洲蜜月_日本成在线网站