在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 消費電子 > LED顯示搖棒全套方案及源程序

            LED顯示搖棒全套方案及源程序

            ——
            作者:nim 時間:2007-09-29 來源:http://www.21icbbs.com 收藏

              作者:nim    于 http://www.21icbbs.com    2005-1-7

                email: [email protected]
                   
                本設(shè)計版權(quán)歸作者所有,請勿擅自用于商業(yè)目的,轉(zhuǎn)載請注明作者及出處。

                情人節(jié)我們做電的兄弟們送什么禮物給心儀已久的MM?在離情人節(jié)還有一個月的時間,給大家提供一個適合作為禮物的簡單電路,自己動手做的漂亮玩具一定會是送給MM的最好的禮物。

              顯示效果圖片upload/2005_01/050117013990931.jpg

              原理圖http://www.21icsearch.com/buzi/upimage/upfile/20047221015470.jpg

              曾經(jīng)在新手園地發(fā)過的帖子http://www.21icbbs.com/club/bbs/showAnnounce.asp?id=1288814

            以下是詳細(xì)說明:

            圖形顯示的原理:

                利用人眼的視覺暫留效應(yīng),使手在擺動到不同位置的時候,讓位于一條直線上的顯示二維圖像的不同的列,實現(xiàn)圖形掃描顯示。

            物理機制:

                當(dāng)我們在擺動手臂的時候,短時間內(nèi)擺動位置和左右幅度不會有太大變化,利用我們手臂的這個運動規(guī)律,只要能得到棒從一側(cè)擺動到另一側(cè)的時間,然后把這個時間分成N份,然后在每一份的時間里顯示不同的花樣就能實現(xiàn)圖形的顯示。當(dāng)我們在擺動手臂的時候,并不能預(yù)先得知此次擺動需要的時間,怎樣得到從一側(cè)擺動到另一側(cè)的時間呢?再想想,短時間內(nèi)我們手臂的擺動頻率也不會有特別大的變化,我們只要能得到前一次擺動所用的時間,然后用這個時間近似得到下一次擺動所需要的時間,然后分N份就可以了。得到一次擺動所需的時間的任務(wù)由光遮斷器完成,在棒上裝一個可以擺動的用來遮擋光遮斷器光線的細(xì)桿,粗細(xì)比光遮斷器的狹縫稍寬,我用的是整流橋焊后剪下的一段管腳。每左右擺動一次這個桿就會通過一次光遮斷器,使單片機產(chǎn)生一次中斷,兩次中斷之間的時間就是想要得到的時間,實現(xiàn)這個功能用掉2051的一個定時器T0和外部中斷INT0。然后用2051的另一個定時器T1,其定時時間是T0的N分之一,每次中斷依次顯示一列,就是照片上的效果。

                再細(xì)想一下,手臂擺動的頻率大于2Hz的時候才大概能由視覺暫留看出圖形,再快也不過十幾Hz,由T0為16位定時器的最長計時時間得到2051的時鐘頻率1MHz最合適,還有遮擋

            用的細(xì)桿的粗細(xì)也可以大概估算,使其不會對計時精度產(chǎn)生太大影響。

            所用元件:

               AT89C2051      8元
               高亮共8個   3.6元
               電池盒         0.5元
               單面萬用板     8元    可以裁成3塊,做3個搖棒
               陶瓷諧振器     1元
               光遮斷器       2元
               電阻電容導(dǎo)線   2元
              外殼*          0.7元    可以裁成2塊

            可選元件:

              電源開關(guān)       1元

              總成本不超過20元

            *外殼我用在家樂福買的半透明文件夾卷成的


                此電路電路非常簡單,代碼短,但是用到了2051的外部中斷編程和T0、T1定時器編程,非常適合初學(xué)者練習(xí)。我制作這個玩具花費了兩個晚上的時間。此電路和程序還有擴展改進

            的空間,如在長時間不擺動的情況下可以使單片機進入省電模式,顯示不僅限于對稱圖片等,大家可以試試。

            以下是源程序:

            /*************************************************************************/
            //        ---------------
            //          顯示搖棒
            //        ---------------
            //    作者:nim    于 http://www.21icbbs.com    2005-1-7
            //
            //    email: [email protected]
            //       
            //    本設(shè)計版權(quán)歸作者所有,請勿擅自用于商業(yè)目的,轉(zhuǎn)載請注明作者及出處
            /*************************************************************************/
            #include <reg51.h>
            #define SEG 17        //每幀圖片分成17列來顯示
            #define INTERVAL 20    //每幅圖片在左右搖擺20次后換下一幅

            typedef unsigned char uchar;
            typedef unsigned int uint;

            code char pattern[17][3]={    //3幅圖片的字模
            {0xff,0xff,0xff},
            {0xff,0xff,0xff},
            {0xff,0xff,0xff},
            {0xff,0x9f,0xff},
            {0xff,0x6f,0xf9},
            {0xff,0x77,0x65},
            {0xfe,0xbb,0x1e},
            {0x7e,0xdd,0xfe},
            {0x00,0xee,0xfe},
            {0x7e,0xdd,0xfe},
            {0xfe,0xbb,0x1e},
            {0xff,0x77,0x65},
            {0xff,0x6f,0xf9},
            {0xff,0x9f,0xff},
            {0xff,0xff,0xff},
            {0xff,0xff,0xff},
            {0xff,0xff,0xff},
            };


            uchar phase,th1,tl1,index,count;


            main()
            {
                EA=0;
                EX0=1;
                ET1=1;
                PX0=1;       
                IT0=1;    
                TMOD=0x11;
                index=0;
                EA=1;
                while(1)
                {
                }
            }

            void Int0_Handle(void) interrupt 0 using 2
            {
                uint t0_time;
                TR0=0;
                TR1=0;
                TF1=0;
                    t0_time=TH0<<8|TL0;
                TL0=0;
                TH0=0;
                TR0=1;
                t0_time=65535-t0_time/SEG;
                th1=t0_time/256;
                TH1=th1;
                tl1=t0_time % 256;
                TL1=tl1;
                if (count<3*INTERVAL){        //3幅圖片循環(huán)
                    count++;
                }
                else{
                    count=0;
                }
                index=count/INTERVAL;
                if (th1!=0xff || tl1!=0xff){    //如果擺動特別慢,定時器溢出就不顯示
                    phase=0;
                    TR1=1;
                }
                else{
                    TR1=0;
                }
            }

            void Timer1(void) interrupt 3 using 3
            {
                if (phase<SEG)            //17段依次顯示
                {
                    P1=pattern[phase][index];
                    phase++;
                    TH1=th1;
                    TL1=tl1;
                }
            }



            關(guān)鍵詞: LED 發(fā)光二極管 LED

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉