欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機光立方設計(protel protues仿真)+代碼

[復制鏈接]
跳轉到指定樓層
樓主
基于51單片機的光立方設計原理圖(protel protues 仿真)+代碼


全部資料51hei下載地址:
光立方.rar (350.19 KB, 下載次數: 90)


由于實訓的時候要求用的是單面板的,所以PCB是單面布線的,排PCB的時候沒有考慮到插針的位置,所以飛線很多.PCB的話建議自己再畫一下,多加幾個插針。電路就比較沒有那么復雜.

電子創新實訓報告



學       院     電子信息科學學院   

實 訓 題 目    基于單片機的光立方  
專 業 名 稱      電子信息工程         
班       級                  
學       號            
學 生 姓 名
指 導 教 師                     
目錄
任 務 書... 2
實訓應達到的目的:... 2
二、實訓任務和基本要求... 2
摘要:... 3
1、光立方的制作... 3
1.1 光立方的概述... 3
1.2 LED燈的選用... 4
1.3 光立方的焊接... 4
2、模塊設計... 6
2.1 主控模塊... 7
2.1.1晶振電路... 7
2.1.2復位電路... 7
2.1.3主控電路圖... 8
2.2驅動模塊... 9
2.2.1  ULN2803芯片... 9
2.2.274HC573芯片... 9
2.3  顯示模塊... 11
2.4  電路原理圖... 13
2.5電路仿真... 13
2.6電路實物圖... 15
3.軟件開發... 16
3.1光立方的動態顯示... 16
4.電路的焊接與調試... 16
4.1LED燈二維平面點陣的搭建... 16
4.2LED面到體的搭建... 17
5.元器件清單... 18
6.結束語... 19
7.參考文獻... 20
電子創新實訓
基于單片機的光立方
摘要:3D光立方是由長寬高均8顆LED燈組成,即總共512顆LED點陣構成的三維立方體。本光立方的搭建方式是引導出8 個層引出線,這些引出線將作為各個點陣層面的“開關”,再將64個LED燈的正極連在一起,之后再連接到這個引出線上,總共引出72根線。本設計是采用延時控制的方式,由C51編寫的控制程序燒錄到單片機中,通過單片機來控制LED燈的亮滅情況,使整個光立方能夠展現五花八門的動態造型。
本設計采用的是STC89C51RD+單片機芯片實現的實現8*8*8的光立方的動態顯示。


1、光立方的制作
1.1 光立方的概述

我們通過平時常見的LCD1602、LCD12864 和LED 點陣屏等的學習,懂得了2D 平面圖形的設計、生成和編程,這一過程會讓我們受到啟發,在光立方的制作當中,把我們的2D思維提升到3D 的思維方式。3D 圖形的編程也是很巧妙的事情,并不只是簡單地把幾個2D 的圖形疊加起來這么簡單。設計3D 圖形,需要有新的思維方式,發現三維空間中點、線、面、體的算法規律。在程序中運用循環、判斷語句、參數邏輯運算等方法,用最
少的語句達到最佳的顯示效果。一改以往的平面顯示效果,采用全新的立體顯示,展示3D的超炫表現力,讓人享受各種視覺上的沖擊,迎合3D顯示時代的到來。
光立方為一個立體LED點陣。本項目制作并實現了一個8*8*8的光立方,較之平時常見的LED點陣屏,其擁有獨特的特點:
1、8*8*8的LED陣列立體顯示器;
2、連貫的圖形顯示效果,渾然一體,一氣呵成;
3、超炫的立體動態顯示,多種顯示樣式;


1.2 LED燈的選用LED發光體的體積越小,光立方整體的通透性就越好,也就是說后排的LED就越不容易被前排的LED擋住;而另一方面,發光體越大,越容易看到光點,例如使用直徑更大的LED或是使用霧面而非光面的LED。這二者是有一定的相互矛盾的關系。此外還要注意LED光點的可視角度,霧面LED要比光面LED要大,而草帽頭LED的可視角度又比普通窄體的LED要大。另外,一樣可以根據擺放位置,角度,將LED的朝向進行改變,以獲得更好的觀感。
本項目使用的LED為臺灣產的3MM、圓頭、藍色、霧狀散光LED,其最大電流為20mA,電壓范圍3.0-3.5V,波長460-465nm,亮度,1000mcd,發光角度120度,正極的引腳長度為27mm,負極的為25mm。實物圖如圖1.1所示:

1.3 光立方的焊接首先,為了保持整體的通透性、立體感,3D8光立方沒有設計額外的LED支架,所有搭接直接使用LED自身的管腳,我們先將512個LED的正引腳彎折,且正負引腳的夾角一定是90°,彎折后的LED燈如圖1.2所示:

   其次,我們可以把它分為8個層,每層含8*8個LED燈,每一層的LED陣列都要求排列整齊,互相看齊,將彎曲的LED一個個進行排列焊接,每一層焊接的效果如圖所示:
         

最后,要進行LED燈立體矩陣的搭建。LED搭接過程比較繁瑣,我們需要8 層的LED陣,列內共陰,層內共陽。焊接直接在LED管腳上進行。為使光立方外形的美觀,每一層的LED陣列都要求排列整齊,互相看齊,完整的光立方如圖所示:
               
我們只要控制這64個燈使其能夠自由變換,然后再通過控制每個層依次點亮即可,由于我們眼睛的視覺暫留(大概50ms至200ms),使我們感覺看到的東西是同時亮的,這樣我們就看到了一個完整的個體。
2、模塊設計
本系統主要是由以下四個模塊組成的,分為:主控模塊、驅動模塊、顯示模塊。主控模塊:以高性能的STC89C51RD+單片機為控制核心。驅動模塊:由鎖存器74HC573和驅動器ULN2803兩個硬件構成。顯示模塊:利用512個LED燈組成8*8*8的立方體結構。

圖1 系統總體的模塊框圖
2.1 主控模塊本項目采用51單片機 最小系統,以高性能的STC89C51RD+單片機為控制核心。主要特點是:加密性強,低功耗,價格便宜,高速,高可靠、強防靜電,強抗干擾。主要是由于本次設計需要寫入的代碼比較多,那么就需要較大的空間的單片機來實現。由于STC89C51RD+的RAM會比較大,其大小為1280
其引腳圖同普通的51單片機一樣.      
2.1.1 晶振電路AT89C51雖然有內部振蕩電路,但要形成時鐘,必須外部附加電路。AT89C51單片機的時鐘產生方法有兩種。內部時鐘方式和外部時鐘方式。晶振是給單片機提供工作信號脈沖的這個脈沖就是單片機的工作速度 比如 12M晶振單片機工作速度就是每秒12M 當然單片機的工作頻率是有范圍的不能太大一般24M就不上去了不然不穩定。本次設計采用的是內部時鐘方式:
  如圖二所示:晶振與單片機的腳XTAL0和腳XTAL1內部的振蕩電路便產生自激振蕩。構成的振蕩電路中會產生偕波(也就是不希望存在的其他頻率的波) 這個波對電路的影響不大, 但會降低電路的時鐘振蕩器的穩定性。為了電路的穩定性, ATMEL公司只是建議在晶振的兩引腳處接入兩個10pf-50pf的瓷片電容接地來削減偕波對電路的穩定性的影響所以晶振所配的電容在10pf-50pf之間都可以的沒有什么計算公式。
因為一個機器周期含有6個狀態周期,而每個狀態周期為2個振蕩周期,所以一個機器周期共有12個振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個振蕩周期為1/12us,故而一個機器周期為1us。如圖3所示為時鐘電路。

圖3晶振電路
2.1.2 復位電路在電路圖中,電容的的大小是1uf,電阻的大小是100。所以根據公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是100*1UF=0.0001S。也就是說在電腦啟動的0.0001S內,電容兩端的電壓時在0~3.5V增加。這個時候100電阻兩端的電壓為從5~1.5V減少(串聯電路各處電壓之和為總電壓)。所以在0.0001S內,RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.0001S內,單片機系統自動復位(RST引腳接收到的高電平信號時間為0.0001S左右)。
復位方法有上電自動復位和手動復位兩種,單片機在時鐘電路工作以后, 在RESET端持續給出2個機器周期的高電平時就可以完成復位操作。例如使用晶振頻率為12MHz時,則復位信號持續時間應不小于2us。本設計采用的是自動復位電路。如圖4所示為復位電路。

圖4 復位電路

2.1.3 主控電路圖

圖5 主控電路圖

2.2驅動模塊2.2.1  ULN2803芯片我選擇采用ULN2803芯片的理由是因為光立方的制作所用到的LED燈數量比較多,要選擇能承受較大電流的芯片,而ULN2803芯片正好符合條件。
ULN2803是八重的達林頓管,NPN型.1到8腳是8路輸入,18到11腳是8路輸出,驅動能力為500mA(使用時,引腳9接地,用來驅動感性負載,引腳10接負載電源,輸入電平為0V或5V,當輸入5V的電平時候,輸出達林頓飽和,不需要通過標準的邏輯緩沖器處理數據,它能夠直接處理數據;輸入0V時候,輸出達林頓截止。輸出負載加在電源V+和輸出口上,當輸入高電平時候,輸出負載工作。它不但工作電壓高,而且工作電流也大,可以達到500毫安。通常連接在陣列中,極其適合邏輯接口的電平數字電路和較高的電流、電壓中。
ULN2803引腳圖如圖6所示:

內部原理圖  外部引腳圖
                    圖6 ULN2803芯片引腳圖


2.2.2 74HC573芯片選擇74HC573芯片驅動,它有以下優點:1.它的輸出不是低電平或者高電平,而是高阻態,并且支持多個芯片并聯輸出;2.能夠緩沖控制輸入,有改善使能輸入抗擾度滯后的作用;3.數據能夠鎖存,保存數據;4.具有緩沖數據及加強驅動的能力。
74HC573的引腳圖如圖7所示;

圖7 74HC573引腳圖
74HC573芯片的邏輯圖如圖8所示;
圖8  74HC573芯片邏輯
74HC573屬于硅門 CMOS 器件,不僅引腳與LS/AL573相同,并且74HC573的輸出也能與之輸出兼容。74HC573有三態總線驅動輸出,工作的電壓在兩伏特到六伏特之間,低輸入電流為1.0uA。置數能夠全并行的存取,緩沖控制輸入,并能使能輸入能夠具有改善抗擾度滯后的作用。假如鎖存的使能端變高了,就表示器件的鎖存相對而言數據是透徹的;假如鎖存的使能端變低了,那么吻合設立時間還有維系時間的數據將會被它鎖存住。74HC573的功能表如下圖所示。
  
2.3 顯示模塊考慮到外觀及整體形狀的美觀,本設計采用LED霧狀藍方燈,因為霧狀燈的亮度比高亮燈的亮度更均勻柔和,所以選擇霧狀燈。

圖8 顯示模塊


2.4 電路原理圖
2.5電路仿真Protues仿真
LED燈與74HC573連接圖

ULN2803接線圖

電路總原理圖

電路總Pcb圖


由于板子不夠大,所以分成兩塊板子來打印,所以中間有兩根飛線沒有辦法在PCB中生成布線

2.6電路實物圖

實體整體圖


74HC573實物接線圖

主控板電路
      


3.軟件開發3.1光立方的動態顯示光立方雖然不同于平時常見的LED點陣屏,但其原理還是一樣的,都是通過對LED的快速掃描,利用人眼視覺暫留效應,以達到動態顯示的效果。只不過設計3D 圖形,需要有新的思維方式,發現三維空間中點、線、
面、體的算法規律。在程序中運用循環、判斷語句、參數邏輯運算等方法,用最少的語句達到最佳的顯示效果。
要實現光立方的動態掃描,那么首先得先點亮一個燈,然后通過快速依次點亮想顯示圖形的每一個燈,即可得到動態顯示圖形。
4.電路的焊接與調試4.1 LED燈二維平面點陣的搭建   搭建LED燈二維平面點陣,首先將LED燈的正負極彎折好如圖1所示,再把LED燈放入平面模板中,并將各個燈的負極焊接在一起。在彎折負極的時候,我們將彎曲的地方盡可能靠近燈的根部,這樣可以有效避免在焊接正極之時造成短路的情況。


      
             圖1                                      圖2
所有LED燈的正極與正極相連,負極與負極相連,管腳之間用焊錫固定住。因為焊接時烙鐵溫度比較高容易損壞LED燈,所以我們在焊接工作完成完之后對每個LED燈都進行了第二次測試,確保每個燈正常發光。焊好之后將所有燈從模板上取下,如圖2所示就可完成二維平面點陣了。
4.2 LED面到體的搭建把已經焊接好的8個面一層一層有序的插到底板上,每插一面燈,都用焊錫將燈的正極管腳與底板固定。8個面焊接結束后,我們可以用手將8個燈面微調,以保證光立方的美觀。
然后用9根鍍錫鋼線,每一層都用一根鍍錫鋼線搭接好,多余的一根鍍錫鋼線搭接在光立方的另一面的頂層,起到一個穩固的作用。確保面與面、層與層之間在同一水平面上,排列整齊,搭建完成后再測試一次層與層之間連接的LED燈的好壞。搭建完成后的光立方成品如圖3所示。

5.元器件清單
  序號
        材料名稱
        規格與型號
        數量
  
  1
        51單片機 最小系統
  
        40P鎖緊座帶活動座電子模塊支持
  STC12C5A60S2,STC89C52RC
        1
  
  2
        單片機芯片
        STC89C51RD+
        1
  
  3
        74HC573
   
        74HC573N
  八路D類鎖存器 直插DIP20 IC
  
        8
  
  4
        ULN2803
        ULN2803
        1
  
  5
        IC插座
        18P
  
        9
  
  6
        下載線
        USB轉TTL CH340模塊 USB轉串口 單片機下載線 刷機板 升級小板
  
        1
  
  7
        杜邦線
        
        若干
  
  8
        M霧狀藍色
  LED
  
        2*5*7MM霧狀藍色 2X5X7MM 方形藍燈 LED發光二極管 光立方燈珠
  
  
        512
  

6.結束語一、設計過程中遇到的問題:
1.代碼問題
    ① 首先是時間間隔的計算,由于用的是C語言來編寫的程序,所以在延時控制這方面沒有用匯編語言來得精準,所以在設計延時的時候遇到了比較的問題,延時的時間和晶振頻率以及延時程序中設置的代碼參數有關,后來經過仿真調試使得延時程序得到了解決
    ② 主要是顯示上的問題,由于本次實現的燈的變化都是完全由單片機芯片內的代碼完全實現的,所以需要把想要實現的圖形都寫進代碼里,這里就部分參考了網上設計好的圖形的程序。

2.原理圖及仿真問題
① 首先在原理圖上出現的問題是,選擇合適的芯片,經過上網查閱資料以及借鑒經驗貼決定了使用ULN2803和74HC573這兩種芯片來作為驅動。
對與驅動的問題,還有一個就是在P0口需要接一個上拉電阻,這樣驅動才會足夠不然會發現等不夠亮。
② 原本是打算采用STC15F2K60S2這個芯片來實現led燈的動態顯示以及音樂頻譜的改變的,但是由于protues這個軟件沒有STC15F2K60S2這個芯片可以來實現仿真,并且在買元器件的時候沒有買MAX232以及串口轉USB線所以最終選擇采用STC89C51RD+來實現光立方燈的變化。
③ 在protel中繪制pcb的時候,如果把分開的兩塊板子放在一起的話,自動布線會不成功并且線路會很密集不好分。為了使線路更好分以及保證線路不斷的情況下我們分成了兩個電路板來繪制PCB板子。
連接電路與檢測電路遇到的問題
    ④ 本次電路的線是很多的,但是由于引出來的插針不夠,所以只能用導線含在背面,這樣增加了工作量。下次在繪制pcb的時候一定要更加認真思考需要引出來的線
在接線的過程中遇到的最多的問題就是焊點虛焊。在保證電源正負極不接在一起的情況下,我們把程序燒到了芯片中讓電路運行。查看那些燈不亮。
在檢查的時候,發現有一整排的燈不亮,最后發現是這排燈接的74hc573的20引腳也就是電源沒有與它連接上
⑤ 在檢查的時候,還發現有一些燈是不會亮的。經過檢查線路之后發現是所有74hc573的1引腳都沒有接到GND上所以導致了功能的選擇上出現了錯誤,也就是顯示的效果不理想
⑥ 我們的線路還有一小列的燈會有時閃一下,經過檢查,線路是沒有問題的,至今還沒有解決
⑦ 關于下載和電源的問題
1.下載線與光立方的連接線:GND         接   GND5v或者VCC        接   5v或者VCC RXD         接   RXDTXD         接   TXD 

2.電源:直接將下載線與光立方連接,轉USB

二、本次設計的收獲
在本項目的過程中,光立方的制作對焊接和布局提出了一定要求,其次是FFT的學習與應用。經過本次制作,進一步加深了點陣的掃描控制,也學會了如何將理論聯系實際,把所學的書本知識應用到實際運用中去。每一次的項目制作,都讓自己有一種新的收獲,這便是經驗逐步積累的過程。




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:577349 發表于 2019-7-4 15:33 | 只看該作者
謝謝,太感謝了,多謝啦
回復

使用道具 舉報

板凳
ID:1110477 發表于 2025-3-1 03:26 | 只看該作者
希望看到三色LED做的光立方
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表