<em id="aeask"></em>

  • <span id="aeask"></span>

  • <tbody id="aeask"><noscript id="aeask"></noscript></tbody>
    <th id="aeask"><p id="aeask"></p></th>

      <th id="aeask"><pre id="aeask"><video id="aeask"></video></pre></th>

         找回密碼
         立即注冊

        QQ登錄

        只需一步,快速開始

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

        創意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, 下載次數: 1489)
        代碼: 0004_Software.rar (3.55 KB, 下載次數: 1134)

        評分

        參與人數 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空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
        收藏收藏54 分享分享 分享淘帖 頂16 踩
        回復

        使用道具 舉報

        沙發
         樓主| laowen 發表于 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. }
        復制代碼
        回復

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

        18#
        鮮の水晶葡萄 發表于 2013-7-30 22:24 | 只看該作者
        不錯不錯
        回復

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

        33#
        愛你一萬年 發表于 2013-9-24 19:58 | 只看該作者
        學一下
        回復

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        使用道具 舉報

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

        本版積分規則

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

        Powered by 單片機教程網

        快速回復 返回頂部 返回列表
        北京匀瞬国际贸易有限公司