日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于51单片机的8x8x8LED光立方设计

發(fā)布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于51单片机的8x8x8LED光立方设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.簡介
本設(shè)計是以STC89C52單片機的8x8x8的LED光立方。本設(shè)計將LED光立方分成8層,分別由單片機的P1,8個IO口來控制每一層,由于采用的是共陰極所以當(dāng)層電位為高電平有效,由P0口和P2的總共16個IO口來控制每層的64盞燈,低電平有效,P2口通過8個74HC573緩沖器芯片來驅(qū)動LED。這樣就可以通過控制IO口的輸出電平來控制每盞燈的亮滅。

2.硬件設(shè)計
本系統(tǒng)的硬件電路主要單片機最小系統(tǒng)、LED光立方驅(qū)動電路、LED光立方電路組成,其硬件框圖如圖:

(1)光立方驅(qū)動電路原理
以8X8X8光立方為例:

一個光立方我們可以拆成8個面,如圖

而每個面又有8X8共64個LED燈,如圖:

這樣,我們只要控制這 64 個燈使其能夠自由變換,然后再通過控制每個層依次點亮即可,由于我們眼睛的視覺暫留,使我們感覺看到的東西是一起再亮的。這樣我們就看到了一個完整的個體。
驅(qū)動的步驟是:

  • Z軸選中一個要點亮的面(一個面共有8段Y軸)
  • Y軸選中一個需要點亮的Y軸(一段Y軸共有8個LED燈)
  • X軸上的8個控制引腳通過設(shè)定的編碼來點亮8個LED中某幾個,并延時相應(yīng)的時間
  • 重復(fù)掃描8個Y軸邊完成一個面的點亮,然后再重復(fù)掃描其他7個面,便完成了一次光立方的點亮了
  • (2)光立方驅(qū)動電路設(shè)計
    此光立方采用一個ULN2308驅(qū)動芯片(作為Z軸的選擇),和8個8路的74HC573鎖存器(一個74HC573作為一個Y軸)來驅(qū)動8X8X8共512個LED燈。整體電路如圖:

    總的原理是每一時刻選中573的LE使能腳,使其為低電平,再由573輸送次引腳對應(yīng)的8個LED的亮滅狀態(tài),一個陰極點需要8位,即一個字節(jié)數(shù)據(jù),完成一次完整的顯示需要64個字節(jié),此為一幀,要產(chǎn)生動畫效果則需要產(chǎn)生中斷進入下一幀。

    (3)總體硬件電路

    3.軟件設(shè)計
    (1)軟件說明
    光立方的軟件設(shè)計相對簡單,主要根據(jù)相應(yīng)的動畫效果的編碼對光立方進行動態(tài)掃描,軟件流程如圖:

    程序開始運行,獲取到要顯示的LED所在的層和列然后調(diào)用顯示子程序點亮LED燈,通過延時程序進行短暫延時后繼續(xù)獲取下一個要顯示的LED燈的所在的層和列。
    如果你想要設(shè)計自己所要的動畫效果,可以通過常用的光立方取模軟件獲得相應(yīng)的動畫編碼。

    (2)部分顯示效果編碼

    uchar code display[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, //10x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x24,0x24,0x3c,0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x24,0x00,0x00, //20x00,0x00,0x24,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x3c,0x24,0x24,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,............0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, //骰子1-490x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}

    (3)主函數(shù)代碼

    void main() {init(); while(1){for(i=0;i<8;i++){Z = Z_Seg[i];for(j=0;j<8;j++){Y = Y_Seg[j];X = display[count++];delay();}}count=64*temp; } }

    源碼+AD原理圖 下載:關(guān)注公眾號,首頁回復(fù)“光立方”獲取資料

    總結(jié)

    以上是生活随笔為你收集整理的基于51单片机的8x8x8LED光立方设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。