| 手機版  | 網站首頁 | 淘寶網店 | 電子套件 | 圖解教程 | 

電子基礎 |
器件資料 |
PCB 技術 |
控制電路 |
音響電路 |
報警電路 |
通信電路 |
充電穩壓 |
升壓逆變 |
日常電器 |
工具儀表 |
單片機欄 |
其它電路 |
教學視頻 |
在線客服
推薦文章
· 用AT89C2051制作8只LED顯示搖搖棒
· AT89C51電子時鐘
· 簡易旋轉LED的制作
熱門文章
· 簡易旋轉LED的制作
· 51單片機做的電風扇簡易定時器
· AT89C51電子時鐘
· 用AT89C2051制作8只LED顯示搖搖棒
· 點陣式漢字LED顯示屏的制作
相關文章
AT89C51單片機簡介
LED數碼管的檢測
簡易旋轉LED的制作
您現在的位置: 電子制作網 >> 單片機欄 >> 正文

用AT89C2051制作8只LED顯示搖搖棒

更新時間:2017/6/8 19:34:31    閱讀:4228    分享此文章:
情人節我們做電的兄弟們送什么禮物給心儀已久的MM?給大家提供一個適合作為禮物的簡單電路,自己動手做的漂亮玩具一定會是送給MM的最好的禮物。

圖形顯示的原理:

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

電路原理圖:

 

物理機制:

當我們在擺動手臂的時候,短時間內擺動位置和左右幅度不會有太大變化,利用我們手臂的這個運動規律,只要能得到棒從一側擺動到另一側的時間,然后把這個時間分成N份,然后在每一份的時間里顯示不同的花樣就能實現圖形的顯示。當我們在擺動手臂的時候,并不能預先得知此次擺動需要的時間,怎樣得到從一側擺動到另一側的時間呢?

再想想,短時間內我們手臂的擺動頻率也不會有特別大的變化,我們只要能得到前一次擺動所用的時間,然后用這個時間近似得到下一次擺動所需要的時間,然后分N份就可以了。得到一次擺動所需的時間的任務由光遮斷器完成,在棒上裝一個可以擺動的用來遮擋光遮斷器光線的細桿,粗細比光遮斷器的狹縫稍寬,我用的是整流橋焊后剪下的一段管腳。每左右擺動一次這個桿就會通過一次光遮斷器,使單片機產生一次中斷,兩次中斷之間的時間就是想要得到的時間,實現這個功能用掉2051的一個定時器T0和外部中斷INT0。然后用2051的另一個定時器T1,其定時時間是T0的N分之一,每次中斷依次顯示一列,就是照片上的效果。

再細想一下,手臂擺動的頻率大于2Hz的時候才大概能由視覺暫留看出圖形,再快也不過十幾Hz,由T0為16位定時器的最長計時時間得到2051的時鐘頻率1MHz最合適,還有遮擋用的細桿的粗細也可以大概估算,使其不會對計時精度產生太大影響。

所用元件:
AT89C2051
高亮LED共8個
電池盒
單面萬用板
晶振
光遮斷器
電阻電容導線

顯示效果:

 

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

以下是源程序:

程序下載(右鍵點擊-目標另存為)

  • 上一條文章視頻:
  • 下一條文章視頻:
  • 手機版 | 聯系我們 | 微信公眾號 | 回頂部

    電子制作網 版權所有 | 魯ICP備08005190號-1

    云南11选5开走势图