<samp id="2irls"><ruby id="2irls"></ruby></samp>
  • <samp id="2irls"><li id="2irls"></li></samp>
      <th id="2irls"><delect id="2irls"></delect></th>

          <th id="2irls"><delect id="2irls"></delect></th>

            單片機論壇

             找回密碼
             立即注冊

            QQ登錄

            只需一步,快速開始

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

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

            評分

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

            使用道具 舉報

            沙發
             樓主| 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 | 只看該作者
            學習一下
            回復

            使用道具 舉報

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

            本版積分規則

            QQ|手機版|小黑屋|單片機論壇 |51Hei單片機16群 聯系QQ:125739409;技術交流QQ群7344883

            Powered by 單片機教程網

            快速回復 返回頂部 返回列表
            香港马会全年资枓大全