<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      單片機搖棒制作——LED顯示搖棒

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011/10/12
      情人節我們做電的兄弟們送什么禮物給心儀已久的MM?給大家提供一個適合作為禮物的簡單電路,自己動手做的漂亮玩具一定會是送給MM的最好的禮物。

      顯示效果圖片

      LED顯示搖棒制作 

      原理圖

      LED搖動棒,LED搖棒電路原理圖 
      以下是詳細說明:

      圖形顯示的原理:
             利用人眼的視覺暫留效應,使手在擺動到不同位置的時候,讓位于一條直線上的LED顯示二維圖像的不同的列,實現圖形掃描顯示。

      物理機制:
             當我們在擺動手臂的時候,短時間內擺動位置和左右幅度不會有太大變化,利用我們手臂的這個運動規律,只要能得到棒從一側擺動到另一側的時間,然后把這個時間分成N份,然后在每一份的時間里顯示不同的花樣就能實現圖形的顯示。當我們在擺動手臂的時候,并不能預先得知此次擺動需要的時間,怎樣得到從一側擺動到另一側的時間呢?
             再想想,短時間內我們手臂的擺動頻率也不會有特別大的變化,我們只要能得到前一次擺動所用的時間,然后用這個時間近似得到下一次擺動所需要的時間,然后分N份就可以了。得到一次擺動所需的時間的任務由光遮斷器完成,在棒上裝一個可以擺動的用來遮擋光遮斷器光線的細桿,粗細比光遮斷器的狹縫稍寬,我用的是整流橋焊后剪下的一段管腳。每左右擺動一次這個桿就會通過一次光遮斷器,使單片機產生一次中斷,兩次中斷之間的時間就是想要得到的時間,實現這個功能用掉2051的一個定時器T0和外部中斷INT0。然后用2051的另一個定時器T1,其定時時間是T0的N分之一,每次中斷依次顯示一列,就是照片上的效果。
             再細想一下,手臂擺動的頻率大于2Hz的時候才大概能由視覺暫留看出圖形,再快也不過十幾Hz,由T0為16位定時器的最長計時時間得到2051的時鐘頻率1MHz最合適,還有遮擋用的細桿的粗細也可以大概估算,使其不會對計時精度產生太大影響。

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

      可選元件:
      電源開關 1元

      總成本不超過20元

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

      此電路電路非常簡單,代碼短,但是用到了2051的外部中斷編程和T0、T1定時器編程,非常適合初學者練習。我制作這個玩具花費了兩個晚上的時間。此電路和程序還有擴展改進的空間,如在長時間不擺動的情況下可以使單片機進入省電模式,顯示不僅限于對稱圖片等,大家可以試試。

      以下是源程序:

      /*************************************************************************/
      // ---------------
      // LED顯示搖棒
      // ---------------
      // 作者:rouvin 于 http://www.zhimadaxue.com 2005-1-7
      //
      // 本設計版權歸作者所有,請勿擅自用于商業目的,轉載請注明作者及出處
      /*************************************************************************/
      #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幅圖片循環
      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;
      }
      }

      Tags:單片機搖棒制作,LED,搖棒,單片機制作  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 狠狠色综合久色aⅴ网站 | 玖玖爱zh综合伊人久久| 一本久久a久久精品vr综合| 久久精品综合一区二区三区| 久久狠狠一本精品综合网| 久久综合噜噜激激的五月天| 亚洲日韩在线中文字幕综合| 国产成人综合美国十次| 综合五月激情五月开心婷婷| 国产色婷婷精品综合在线 | 亚洲色婷婷综合久久| 一本色道久久综合亚洲精品蜜桃冫| 狠狠色丁香婷婷综合| 一本色道久久综合无码人妻 | 亚洲AV成人潮喷综合网| 伊人色综合久久天天五月婷| 亚洲熟女乱综合一区二区| 色悠久久久久综合网香蕉| 激情综合亚洲色婷婷五月| 久久久久亚洲AV综合波多野结衣| 天天综合亚洲色在线精品| 亚洲欧洲自拍拍偷综合| 亚洲综合一区二区| 色偷偷亚洲第一综合网| 亚洲国产综合精品中文第一| 亚洲综合激情另类小说区| 久久综合狠狠综合久久97色| 色噜噜狠狠成人中文综合| 婷婷五月综合缴情在线视频| 久久青青草原综合伊人| 亚洲精品第一国产综合野| 精品综合久久久久久98| 久久久久青草线蕉综合超碰| 久久婷婷国产综合精品| 色综合天天综合网站中国| 久艾草国产成人综合在线视频| 精品综合一区二区三区| 综合在线视频精品专区| 色狠狠成人综合色| 国产成人综合在线视频| 中文字幕亚洲综合久久男男|