




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計基于51單片機(jī)的光立方設(shè)計姓 名: 梁泉明 學(xué) 號: 10030005 班 級: 10信科一班 專 業(yè): 信息科學(xué)與技術(shù) 所在系: 電子信息工程系 指導(dǎo)教師: 郝蕓 基于51單片機(jī)的光立方設(shè)計摘要 本文詳細(xì)的介紹了光立方的搭建過程,以51系列的單片機(jī)STC12C5A60S2為主要的控制芯片,由512個LED通過共陰的形式連接起來,由74HC595為擴(kuò)展單片機(jī)的I/O口,用ULN2803為驅(qū)動電路,形成一個規(guī)格為8*8*8(長,寬,高)14cm*14cm*20cm立方體,還介紹了這款芯片的特點和使用方法及在調(diào)試過程中遇到的軟件和硬件方面的問題及解決方法,詳細(xì)的闡述了光立方的設(shè)計原理和架構(gòu)方法,對光立方目前存在的意義也進(jìn)行了詳細(xì)的介紹。關(guān)鍵詞:光立方;74HC595;單片機(jī);ULN2803;LEDLight CuBe Based on 51 single ChiP miCroComPuterABstraCt本文詳細(xì)的介紹了光立方的搭建過程,以51系列的單片機(jī)STC12C5A60S2為主要的控制芯片,由512個led通過共陰的形式連接起來,由74hc595d為擴(kuò)展單片機(jī)的I/O口,用uln2803為驅(qū)動電路,形成一個規(guī)格為8*8*8(長,寬,高)14cm*14cm*20cm立方體,還介紹了這款芯片的特點和使用方法及在調(diào)試過程中遇到的軟件和硬件方面的問題及解決方法,詳細(xì)的闡述了光立方的設(shè)計原理和架構(gòu)方法,對光立方目前存在的意義也進(jìn)行了詳細(xì)的介紹。This PaPer introduCes the ProCess of Building Light CuBe, with 51 Series MCU STC12C5A60S2 as the main Control ChiP, ConneCted By 512 LED By CO Yin form, By 74HC595 for the exPansion of the MCU I/O Port, using ULN2803 as the drive CirCuit, the formation of a sPeCifiCation for 8*8* 8 (length, width, height) the 14Cm*14Cm*20Cm CuBe, also introduCes the CharaCteristiCs and methods of use of the ChiP and software and hardware in the ProCess of deBugging ProBlems and solutions, desCriBed in detail the design PrinCiPle and arChiteCture method Light CuBe, the CuBe existed at Present signifiCanCe have also Been introduCed in detail.關(guān)鍵詞:光立方;74HC595D;STC12C5A60S2單片機(jī);uln2803;ledKeywords: Light CuBe; 74HC595; STC12C5A60S2; ULN2803; LED目錄摘要2關(guān)鍵詞21.1課題研究的背景61.2課題研究的意義61.3課題研究內(nèi)容和結(jié)構(gòu)6第二章 總體設(shè)計72.1 系統(tǒng)的工作原理72.2 各模塊方案選擇72.2.1 單片機(jī)主控制模塊72.2.2 驅(qū)動模塊82.2.3 顯示模塊8第三章 系統(tǒng)硬件電路設(shè)計與實現(xiàn)83.1 硬件電路設(shè)計83.2 單片機(jī)最小系統(tǒng)93.2.1時鐘電路93.2.2 P0 口外接上拉電阻103.3驅(qū)動模塊的設(shè)計113.4 光立方整體設(shè)計思路123.4.1 LED燈排序方式設(shè)計123.4.2 LED燈接法方式設(shè)計133.5光立方搭建方法133.5.1將LED從點到線的搭建133.5.2將LED從線到面的搭建143.5.3將LED從面到體的搭建153.6 PCB板的焊接153.6.1 PCB板的制作153.6.2 主板的焊接163.6.3主芯片的焊接163.6.4開關(guān)及按鍵的焊接163.6.4排插及晶振的焊接17第四章 軟件設(shè)計184.1 主程序的設(shè)計184.2 顯示程序的設(shè)計194.2.1顯示模塊的原理194.2.2 顯示程序的設(shè)計194.3 軟件調(diào)試20第五章 成品測試和問題分析215.1 成品測試215.1.1. 硬件調(diào)試215.1.2. 軟件系統(tǒng)225.2 結(jié)果分析22第六章 結(jié)論23參考文獻(xiàn)24致謝語25附錄25程序清單27第一章 緒論 1.1課題研究的背景 “光立方”是一種基于娛樂和學(xué)習(xí)為一體的科學(xué)制作,光立方的娛樂體現(xiàn)在其開放性的DIY程序改造和立體的動畫表現(xiàn)形式,可以隨心所欲的變化程序來實現(xiàn)想要的動畫效果。光立方的學(xué)習(xí)價值體現(xiàn)在對單片機(jī)的控制操作和對512個LED燈的點陣控制及對個模塊功能的協(xié)調(diào)配合上,隨著近年來電子行業(yè)的飛速發(fā)展,越來越多的電子愛好者對于光立方產(chǎn)生了很濃厚的興趣,光立方創(chuàng)造出的浪漫氣氛和絢麗畫面,使它在很多場合作為一種生日禮物或者是示愛的工具,大多數(shù)的專業(yè)人士把光立方研究做為一種職業(yè),光立方技術(shù)也逐漸的變得成熟,不僅具有了學(xué)習(xí)價值還具備了商業(yè)價值,因為其的立體渲染效果也使的它是個很好的廣告宣傳工具,諸多好處也使得光立方越來越受人追捧,大家都在光立方原有的基礎(chǔ)上創(chuàng)新改進(jìn),其創(chuàng)造出的經(jīng)濟(jì)價值和娛樂價值已遠(yuǎn)遠(yuǎn)超過單純的LED點陣顯示,這也再一次深深的吸引了電子愛好者對其研究和創(chuàng)新。1.2課題研究的意義這次畢業(yè)課題的設(shè)計拋棄了傳統(tǒng)LED的二維顯示,改為了點陣的三維立體顯示,顯示的更加絢麗多彩,強(qiáng)烈沖擊了人們的視覺,傳統(tǒng)的光立方用的是簡單的單片機(jī),因為其性能制約使得其立體效果和動畫效果不是很流暢,本次運用了性能最優(yōu)秀的單片機(jī)STC12C5A60S2替代89C51,從而使系統(tǒng)的功能變得更加強(qiáng)大驅(qū)動能力更強(qiáng),在動畫的顯示上更加的流暢和逼真,此外,傳統(tǒng)的光立方的布局和排線太過復(fù)雜,DIY程序特別單一,硬件和軟件的穩(wěn)定性都非常的差,運行時存在的問題太多,焊接費時費力存在靜電危害,在這個設(shè)計中我們很好的處理了這些問題,避免了很多問題的出現(xiàn),畫面非常自然流暢,此次的制作和設(shè)計對智能化產(chǎn)品實現(xiàn)經(jīng)濟(jì)和商業(yè)的價值具有積極地作用。1.3課題研究內(nèi)容和結(jié)構(gòu)本文主要模塊如下:STC單片機(jī)控制模塊: 以STC12C5A60S2單片機(jī)為控制的核心,再加上輔助電路;時鐘信號產(chǎn)生模塊:用24MHZ的石英晶體作為整個系統(tǒng)的晶振發(fā)生器,給電路提供時鐘信號;立體的顯示模塊:通過對單片機(jī)輸入不同的代碼使其通過控制LED的亮暗達(dá)到顯示的作用;本文的結(jié)構(gòu)安排如下:第二章:主要敘述了系統(tǒng)的工作原理和結(jié)構(gòu)特點,對不同方案的選擇和優(yōu)化,對各個模塊的詳細(xì)介紹。第三章:詳細(xì)說明了各個硬件電路的排布和設(shè)計,并且說明了各個部分的作用和芯片引腳功能的分布和使用規(guī)則,此外還闡述了整個系統(tǒng)的設(shè)計思路和搭建的過程及過程中注意的問題。第4章 :介紹了軟件調(diào)試的過程及遇到的問題,軟件系統(tǒng)的整個架構(gòu)和邏輯關(guān)系。第5章 :講述了整個光立方在后期調(diào)試中的軟硬件問題和解決這些問題的方法。 第六章:主要敘述了在光立方制作和設(shè)計過程中遇到什么困難和如何解決,并在此次設(shè)計中的心得體會和得到什么收獲。第二章 總體設(shè)計2.1 系統(tǒng)的工作原理本系統(tǒng)設(shè)計主要以STC12C5A60S2單片機(jī)為核心,并以512個藍(lán)色LED燈做為顯示模塊組成的光立方,主要有主控模塊、驅(qū)動模塊、顯示模塊構(gòu)成,系統(tǒng)模塊框圖如圖2-1: 圖2-1 系統(tǒng)結(jié)構(gòu)框圖2.2 各模塊方案選擇2.2.1 單片機(jī)主控制模塊方案一:采用傳統(tǒng)的89C51單片機(jī)作為主控制芯片,應(yīng)為89C51單片機(jī)內(nèi)部只有8K的存儲空間,立體的光立方實現(xiàn)的功能比較復(fù)雜,一個單片機(jī)要控制512個燈所以程序代碼存儲空間可能大于8K有可能會溢出,所以不可采用此方案。方案二:采用與89C51有相同功能的STC12C5A60S2單片機(jī),此單片機(jī)具有60K的存儲空間,足夠應(yīng)付光立方復(fù)雜的圖像顯示程序代碼存儲,此單片機(jī)還有運行速度快,加密安全,抗干擾能力強(qiáng),內(nèi)部還有集成復(fù)位電路等特點,比較適合此設(shè)計的要求,所以可采用此方案。2.2.2 驅(qū)動模塊方案一:采用八個8050NPN三極管雖然可以起到反向的作用可是數(shù)量過多,從布線和三級管排布的美觀上感覺有點混亂,而且出錯率比較高,不夠穩(wěn)定,所以不采用此方案。方案二:采用與八個三極管功能一樣的集成芯片ULN2803,此芯片1-8端口輸入,18-11端口輸出,驅(qū)動能力為500MA50V,大大滿足了512個LED燈的電流,用一個芯片替代八個三極管,不僅體積變小了,功能還更強(qiáng)大了,所以采用此方案。 2.2.3 顯示模塊方案一:由于我們常用的LED燈不容易聚光,光發(fā)散比較厲害點亮?xí)r相互之間將會有影響,容易影響視角效果。因為傳統(tǒng)的LED燈的發(fā)光散比較厲害,而且燈彼此之間的距離比較近,互相之間干擾大,影響視覺效果,顯示的圖像不清晰,所以不可采用此方案。方案二:采用白發(fā)藍(lán)的LED霧燈,可以很好的收聚光線,使要顯示的燈的光亮不會影響周圍燈的亮度,暗滅很明顯,工作電壓2.7-4.2V,電流為2MA-10MA如圖2-2所示: 圖2-2 霧面乳型LED燈 第三章 系統(tǒng)硬件電路設(shè)計與實現(xiàn)3.1 硬件電路設(shè)計系統(tǒng)以STC12C5A60S2單片機(jī)為控制核心,其特點是能與8051指令和管腳兼容,而且片內(nèi)還有很大的存儲空間,滿足程序代碼存儲,此單片機(jī)還有低功耗和串口燒寫的功能,時鐘發(fā)生源有很多種,比如阻容低速時鐘源、帶緩沖放大的晶體時鐘源、普通晶體時鐘源等,但由于考慮到電路的穩(wěn)定性最終決定采用普通晶體時鐘源為時鐘發(fā)生器,其晶體用12MHZ的晶體,顯示模塊則用512個LED白發(fā)藍(lán)的霧燈來實現(xiàn)。3.2 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是指能夠讓單片機(jī)工作并發(fā)揮其作用的必要組成部分,就STC12C5A60S2單片機(jī)來說,其一般包括:單片機(jī)、時鐘電路、復(fù)位電路、輸入/ 輸出設(shè)備等(見圖3-1)。單片機(jī)的最小系統(tǒng)如下圖所示: 圖3-1單片機(jī)最小系統(tǒng)框圖3.2.1時鐘電路設(shè)計時鐘電路時,我們首先必須先了解單片機(jī)時鐘端口的使用和特點:XTAL1(AT89C51中19 腳) :單片機(jī)內(nèi)部振蕩電路的輸入端口。XTAL2(AT89C51中18 腳) :單片機(jī)內(nèi)部振蕩電路的輸出端口。XTAL1 與XTAL2其實就是一個反向的放大器,它可以與石英晶振連接作為一個時鐘振蕩電路。 內(nèi)部方式的的時鐘電路就是如圖3-3所示,只要在XTAL1、XTAL2上接一個石英晶體并在兩端接兩個電容,這樣就可以產(chǎn)生一個內(nèi)部激蕩電路,這里需要注意的是此實驗用的晶振是12MHZ的,和晶振相連的電容一般選用33PF的陶瓷電容。外部方式的時鐘電路就是如圖3-4所示,RXD直接接地,TXD再接外部振蕩器。外部振蕩信號要求采用頻率低于12MHZ的方波。圖3-3內(nèi)部方式時鐘電路 圖3-4外部方式時鐘電路要檢測晶振是不是正常工作可以通過示波器來檢查,方法是在XTAL2 輸出端接示波器并觀察波形是不是正弦波,要是是正弦波則正常工作,反之則不正常工作。也可以通過電壓表來測量,側(cè)量XTAL2 輸出端與地的電壓,要是2V則正常工作。3.2.2 P0 口外接上拉電阻由于STC12C5A60S2單片機(jī)P0口內(nèi)部沒有上拉電阻,是開漏的,不管它的驅(qū)動能力多大,相當(dāng)于它是沒有電源的,需要外部的電路提供,絕大多數(shù)情況下P0口是必需加上拉電阻的。作為一般的I/O口時,當(dāng)P0口用來驅(qū)動NPN管子的時候,就需要上拉電阻的,因為此時只有當(dāng)P0為1時候,才能夠使后端導(dǎo)通。圖3-6 P0端口的1位結(jié)構(gòu)3.3驅(qū)動模塊的設(shè)計在這里我們用的是ULN2803達(dá)林頓管來做系統(tǒng)的驅(qū)動,ULN2803采用AP=DIP18,AFW=SOL18封裝方式。8個NPN達(dá)林頓晶體管,1-8引腳:輸入端;11-18引腳:輸出端;9引腳:地端;10引腳:電源+,連接在陣列非常適合邏輯接口電平數(shù)字電路(例如TTL,CMOS或PMOS上/ NMOS)和較高的電流/電壓,如電燈,電磁閥,繼電器,打印錘或其他類似的負(fù)載,廣泛的使用范圍:計算機(jī),工業(yè)和消費應(yīng)用。所有設(shè)備功能由集電極輸出和鉗位二極管瞬態(tài)抑制。 該ULN2803是專為符合標(biāo)準(zhǔn)TTL,而制造ULN2804適合6至15V的高級別CMOS或PMOS上。該電路為反向輸出型,即輸入低電平電壓,輸出端才能導(dǎo)通工作。 圖二 ULN2803內(nèi)部電路圖 (1/8單元)3.4 光立方整體設(shè)計思路3.4.1 LED燈排序方式設(shè)計如圖為光立方的主視圖,分別是光立方的八個豎面,陽極的八個端口由單片機(jī)P3.5口擴(kuò)展出來的八個74HC595控制,而陰極則每層相連,由P3.6,P3.7口控制。 圖3-8 3D8光立方效果圖3.4.2 LED燈接法方式設(shè)計由于光立方是由8*8*8的512個燈組成的必須每盞燈都是單獨控制的,可單片機(jī)的I/O口沒有那么多,那么我們就要通過擴(kuò)展I/O口來實現(xiàn)控制,用什么來擴(kuò)展呢?這里我們用到的是結(jié)構(gòu)簡單的74hC593,用它我們就可以一個口擴(kuò)展成八個口,這樣單片機(jī)的八個口就可以擴(kuò)展出8*8一共64個I/O口這樣就可以控制LED燈的一個正極那么對于負(fù)極我們怎么控制呢,這里我們可以通過共連陰極的方法控制,就是把每層LED的陰極都連在一起,八層就有八個接口,這八個接口通過ULN2803控制接在單片機(jī)的另外八個接口上其實我們就是用單片機(jī)的16個I/O接口,通過擴(kuò)展得到了64+8個接口,這樣就可以把512個LED燈給控制好了,原理圖如圖3-9所示。 x軸y軸第一個74HC595八個口第八個74HC595八個口8到1從z軸x軸ULN2803的八個口 圖3-9 LED結(jié)構(gòu)設(shè)計圖 3.5光立方搭建方法3.5.1將LED從點到線的搭建準(zhǔn)備材料首先要找一塊萬用板如圖3-11,這樣就可以保持燈與燈之間的距離保持相等,在這里我們用的是白發(fā)藍(lán)的LED燈如圖3-12所示,長正短負(fù),我們采用的是共陰的連接方法,所以要把燈的形狀折成如圖3-13的樣子,必須要折成90度,把燈插在原來選好的孔內(nèi),兩個燈之間的距離是23mm,然后把八個這樣的燈焊接好如圖3-14所示 ,注意:彎折陰極腳時彎曲處盡量靠近燈體不要留太長,這樣焊接陽極時不容易造成短路。 圖3-11萬能板 圖3-12 LED燈的正負(fù)極 圖3-13 LED燈的形狀 圖3-14 已搭好的8個LED燈這樣做出一條有八個LED燈組成的共陰極的燈鏈如圖3-15所示,這里要注意焊接的時間和焊錫的用量,要是焊接時間太長就會把LED燈燙壞,用焊錫要均勻,不能太多也不能太少,太少連接不牢固,太多不美觀。圖3-15焊接好的8個LED燈鏈3.5.2將LED從線到面的搭建接下把焊好的64個共陰的LED燈的陽極相連如圖3-16所示,相連后就得到一個8*8的燈面如圖3-17所示,注意:在焊接過程中會產(chǎn)生靜電,所以要求電焊鐵要接地,焊接完后要用萬用表測量每個燈是否正常,是否存在虛焊和擊穿。 圖3-16陽極相連 圖3-17 64個LED焊接圖3.5.3將LED從面到體的搭建最后把焊好的八個面分別接在做好的電路板上,陽極對應(yīng)接在八個74HC573的八個引腳上,陰極每一層給連接起來接在ULN2803的輸出端口上,這樣硬件模塊的顯示部分就算做好了,如圖3-18所示。 圖3-18已搭好的8層LED燈3.6 PCB板的焊接 3.6.1 PCB板的制作PCB板制作分為制作印制電路板、清洗與打孔和檢修三個環(huán)節(jié),對于PCB板印刷的制作環(huán)節(jié)大致分為印制底圖圖樣描繪、底圖掩膜層制作和蝕刻加工等。對于主板的大小選擇上,主板是整個光立方的底座,大小要合適,不宜過大也不宜太小,太大不好看,太小放不下,一般設(shè)計的和焊的LED燈的尺寸差不多,剛好放的下還有點剩余最好,這樣既美觀又節(jié)省資源。首先要用到DXP進(jìn)行電路板的圖紙設(shè)計和仿真測試,當(dāng)仿真沒有錯誤后,就可以自動布線,手動布局,生成3D的PCB版圖,把生成的PCB版圖文件拿去制作PCB板。3.6.2 主板的焊接在焊接主板之前必須保證主板清潔干凈,檢查是否有破損有裂縫,各個元器件的符號是否清晰,所要焊接的元器件是否齊全,焊各種元器件的準(zhǔn)備工作是否都做好了,元器件是否都是完好的功能是否正常都要先檢測好,這些都確定沒有問題后,就開始按原理圖上的位置焊接元器件,焊接時用錫不要太多,那樣會很不好看,而且有可能會和附近的元器件發(fā)生短路,焊接時間不能太久,很多元器件受不了電烙鐵的高溫,還要避免靜電干擾,焊點要小要均勻,剛好焊住而且焊點光滑明亮。3.6.3主芯片的焊接 單片機(jī)的焊接是個難點,因為用的是貼片的單片機(jī)焊腳很小,焊錫一多就容易混成一團(tuán),對于貼片單片機(jī)的焊接和其它元器件的焊接不同,它的焊接首先是要固定四個腳,把四個角用焊錫固定好了,就一條邊一條邊的焊,先是在一條邊上用很多的焊錫,再用焊錫膏弄在焊錫上,然后烙鐵從一條邊上劃過,這時焊錫在焊錫膏的作用下就會彼此分離就剛好把單片機(jī)的引腳焊住了,以此類推其它邊也焊完了,這樣焊接的單片機(jī)既美觀又簡單,如果你按傳統(tǒng)辦法焊接,很容易兩個引腳短接還不美觀。圖3-1 單片機(jī)焊接3.6.4開關(guān)及按鍵的焊接按鍵的焊接是最簡單的,四個引腳分別插在四個孔中,要注意的是按鍵的四個腳是兩兩一對的,不要認(rèn)為他們都是一樣的,要是焊錯了就沒有按鍵的功能了,就成了一根導(dǎo)線了,自鎖開關(guān)的焊接比較復(fù)雜,特別是六根引腳的開關(guān),它的按下和彈回來接通的引腳是不同的引腳,自鎖開關(guān)的原理圖如下圖4-2所示。 圖3-2 自鎖開關(guān)圖3.6.4排插及晶振的焊接排插的焊接需要把針和板子貼緊,不能留下空隙,而且排插短的那頭接板子,在焊接的時候排插會比較熱,不能用手直接接觸,先焊排插的兩端,焊完兩端排插就固定了,再焊剩下的就簡單了,對于晶振的焊接要迅速,晶振比較脆弱,盡量快點焊接。圖3-3 PCB板的正反面第四章 軟件設(shè)計系統(tǒng)的組成有兩各個部分一個是硬件一個則是軟件,軟件的伸縮性很大,編寫的好的程序?qū)崿F(xiàn)起來簡單不易出錯,編的不好的數(shù)據(jù)會出現(xiàn)很多問題,本系統(tǒng)采用的是模塊化的設(shè)計方案,減少軟件出錯的概率,在軟件的設(shè)計過程中需要用到了軟件編輯器,軟件可以使單片機(jī)上電初始化,也可以是單片機(jī)實現(xiàn)特定的功能效果。本系統(tǒng)程序主要由三大塊組成,分別是主程序、按鍵程序和顯示程序,軟件的執(zhí)行過程如下圖3-1所示。首先程序執(zhí)行主程序,在主程序中判斷按鍵程序,當(dāng)接收到按鍵程序時,主程序調(diào)用顯示程序,把顯示程序發(fā)給硬件,硬件顯示出來。圖4-1 軟件執(zhí)行圖4.1 主程序的設(shè)計一般編寫程序都是從功能出發(fā),要求怎么的功能就寫怎么的代碼,本系統(tǒng)都是采用C語言的編碼格式編寫的代碼,設(shè)計了三個外接按鍵P3.2、P3.3、P3.4,分別是主菜單、確定和退出,主菜單里有自動模式、頻譜模式、測試模式,系統(tǒng)還設(shè)置了呼吸待機(jī)燈,流程圖如3-2所示:圖4-2 主程序流程圖程序的開始之前必須要寫好各個模塊的初始化定義,初始化的內(nèi)容有中斷初始化,定時器的初始化,串口的通信方式和波特率的選定,I/O口的設(shè)定等等。4.2 顯示程序的設(shè)計顯示程序一般由字庫代碼和執(zhí)行程序構(gòu)成,字庫代碼可以借助取模軟件,由靜態(tài)的畫面通過像素點的移動,利用人眼的視覺延時效果,產(chǎn)生動的效果,這就要求對掃描時間的控制和頻率的的快慢決定的很好。4.2.1顯示模塊的原理要使靜態(tài)的畫面動起來就需要對靜態(tài)圖像不斷的刷新,圖像與圖形之間切換的速度很快,這樣人眼看出來的效果才是流暢的動畫,掃描是把光立方分成很多的部分,一個部分一個部分的掃描顯示,當(dāng)掃描到最后一部分時又開始從第一部分循環(huán)掃描,其實每一個LED燈的亮度都是由刷新的速度決定的,刷新速度快燈的亮度就亮,這是因為人的視覺的延時,刷新速度太快亮滅的效果就看不出來,在人眼里看到的就是一直亮著,而且亮度還會疊加,實際的燈的亮度比看到的燈的亮度暗很多。4.2.2 顯示程序的設(shè)計本設(shè)計的程序采用的是動態(tài)的掃描顯示,通過選通一列的方式,這時程序里的一行數(shù)組就按照由低位到高位的方式依次從單片機(jī)的I/O口輸出到驅(qū)動74HC595移位寄存器中從寄存器中輸出到LED的陽極控制燈的亮暗,這樣一次一次的循環(huán)就可以產(chǎn)生一個動態(tài)的畫面,整個流程圖如下3-3所示。單片機(jī)高速的輸出數(shù)據(jù),數(shù)據(jù)通過P3.5口到達(dá)74HC595,通過綜合選通端口選通一個74HC595輸出,緊接著單片機(jī)又通過P3.5口輸出另一組數(shù)據(jù),通過改變選通端口輸入到另一個寄存器中再顯示,其實這些數(shù)據(jù)都有一個字模,通過調(diào)用這些字模,再配合數(shù)據(jù)的左移右移,或者加一減一,這樣一個字庫就可以動起來,再加上延時程序這樣程序就可以完美的顯示。 圖3-3 顯示程序流程圖4.3 軟件調(diào)試單片機(jī)是這個設(shè)計的核心,在硬件正常工作的情況下檢測軟件才是正確的,要是硬件都存在問題去檢測軟件完全沒有意義,對于硬件的檢測,可以對單片機(jī)的時鐘引腳18和19檢測,引腳18對地的電壓在2.24v,而引腳19是2.09v,對于復(fù)位電路的檢測則是用5v的電源短接下引腳9,模擬復(fù)位電路,如果單片機(jī)復(fù)位正常則不存在問題。在程序的編寫中用keil編寫,keil軟件可以生成.HEX文件,因為我們用到的下載軟件時專業(yè)的STCISP.exe軟件,這個軟件只能識別.HEX文件,只有.HEX文件才能寫入單片機(jī)。在程序的編寫中全部都是采用C語言編寫,C語言簡潔靈活,兼容性高,編譯簡單,執(zhí)行效率高,對于循環(huán)的使用方便。第五章 成品測試和問題分析5.1 成品測試5.1.1. 硬件調(diào)試本設(shè)計因為用到的LED燈比較多,必須確保每個燈都正常工作,如果512個LED燈有一個出現(xiàn)擊穿或者不亮就必須把八層LED都拆開,取下壞掉的燈換上好的再焊上,而且要保持結(jié)構(gòu)的整齊度行列對齊,這樣顯示的效果就會比較好。在測試過程中發(fā)現(xiàn)一些問題,以下是問題及問題的解決方法:1、這個系統(tǒng)功能比較強(qiáng)大,所以需要的驅(qū)動程序和程序量比較多8k的89C51完全不夠代碼的存儲會出現(xiàn)程序的溢出和無法編譯的情況。 解決方法:這里我們采用STC12C5A60S2 單片機(jī),它比89C51有更大的存儲,STC12C5A60S2單片機(jī)有60K FLASH ROM,而且還自帶AD功能,適應(yīng)高速掃描的光立方。 2、本系統(tǒng)發(fā)現(xiàn)部分LED燈的亮滅沒有規(guī)律,有些燈甚至都不亮,還有些燈閃爍不定。解決方法:這里我把八層LED燈從電路板上分別取下,單個燈用萬用表的測燈功能測量,發(fā)現(xiàn)不亮的LED燈時,我就給單個替換。3、在單個燈的替換過程中居然發(fā)現(xiàn)我測量的單個燈亮了,可是我沒測量的LED燈也同時亮了解決方法:這里我們知道可能是LED燈在焊接過程中被擊穿了,我采用的是反接正負(fù)橫豎排的方法,當(dāng)我們反接時壞掉的LED燈就會點亮,還有一種方法就是萬用表的正負(fù)兩極都接在橫排或者豎排,這時被點亮的LED燈就是被損壞的,取下替換了就可以了。4、在光立方的顯示中有某一層始終是亮的,不該點亮?xí)r是亮的,當(dāng)應(yīng)該點亮?xí)r又特別亮,而且把負(fù)極的引線去掉依然點亮。解決方法:這種情況就是整層中有一盞燈壞了,當(dāng)我們把負(fù)極的引線去掉后整層依然點亮,仔細(xì)觀察發(fā)現(xiàn)這一層會有一盞燈不亮,壞的燈就是它了,把他取下替換就可以了。5、系統(tǒng)焊接完成上電后發(fā)現(xiàn)沒有反應(yīng),燈不亮,系統(tǒng)不工作。解決方法:這里我們用萬用表對電路板個部分檢查,發(fā)現(xiàn)系統(tǒng)沒有供電,檢查電源模塊發(fā)現(xiàn)電源焊接口虛焊,電路板的焊點脫落,這里我們采用外部備用口送電。6、本系統(tǒng)由于焊接點比較多,而且焊接的點離燈頭很近,所以很容易把燈燒壞,焊烙鐵在焊接過程中會產(chǎn)生靜電,靜電可以把LED燈給損壞。解決問題:在這里我們考慮把焊烙鐵接地,如果焊烙鐵沒有接地線我們可以在焊烙鐵中部加一根引線接在暖氣片上或者直接接地,焊完一行檢查一次,焊完一個面再檢查一次,最后全部焊完再檢查,確保LED燈全部正常工作。 5.1.2. 軟件系統(tǒng)光立方程序比較多,需要的存儲空間要比常規(guī)的51系列單片機(jī)的大,而且刷新率非常的高,要求的性能很高,軟件編寫難度大,要有很強(qiáng)的空間思維意識,想像力要很豐富,程序變化大,編譯中存在很多問題,所以需要精心的調(diào)試很改進(jìn),優(yōu)化出最簡單效果最好的程序。1、燒入程序后,LED燈的亮度很不均勻,明亮閃爍。 解決方法:檢查元器件是否有虛焊和漏焊,調(diào)整延時的時間長短,調(diào)試出效果最佳的延時時間,2、用keil編寫完軟件發(fā)現(xiàn)無法編譯通過,顯示程序P3無定義。解決方法:頭文件選擇錯誤不能選擇常規(guī)單片機(jī)的頭文件,要自制一個頭文件,放在主程序的文件下。3、程序編譯完成后,編譯也通過了,沒有產(chǎn)生.HEX文件。解決方法:在軟件中沒有選擇產(chǎn)生.HEX文件,在設(shè)置里設(shè)置產(chǎn)生.HEX文件4、光立方顯示不穩(wěn)定,常常會自我中斷,不按程序設(shè)定的功能顯示。解決方法:程序編寫中對于按鍵沒有處理,要加一個按鍵去抖動判斷,判斷按鍵是否按下而不是抖動觸到。5.2 結(jié)果分析本設(shè)計經(jīng)過一個多月的焊接再加上一個多月的調(diào)試和改進(jìn),現(xiàn)在總算順利完成了,硬件和軟件的運行還是算比較穩(wěn)定,本設(shè)計利用硬件的立體性,利用軟件的變化多樣性,這兩者結(jié)合起來就可以產(chǎn)生非常絢麗的畫面效果,該設(shè)計功能強(qiáng)大,DIY性特別強(qiáng),可以通過改變程序產(chǎn)生很多意料不到的畫面效果。第六章 結(jié)論 本畢業(yè)設(shè)計主要采用STC12C5A60S2單片機(jī)控制,加上幾個輔助模塊,再加上LED顯示模塊,就構(gòu)成了立體顯示的8*8*8的光立方,此光立方集合了美學(xué),研究,觀賞于一體,既有觀賞性又有研究和開發(fā)的多種優(yōu)點,此外在光立方LED的焊接過程中要求比較高,工程量比較大,可以大大鍛煉焊接能力極大的提高自己的動手能力,是個很有趣很受鍛煉的設(shè)計。 從畢業(yè)設(shè)計的題目選擇到基本確定大概花了一個星期,在確定題目的同時我也積極在網(wǎng)上查找資料,有時去圖書館看看關(guān)于單片機(jī)類的書籍,查查芯片的使用和要求及優(yōu)點和不足,最終我找到最合適的STC12C5A60S2這款芯片集合了好多芯片的優(yōu)點,功能特別強(qiáng)大,現(xiàn)在最新的單片機(jī),正由于它是最新的,所以在找資料和畫原理圖方面很不好實現(xiàn),幾乎很難找到關(guān)于它的資料,即使找到了也是純英文的,還要自己翻譯,在原理圖方面也一樣復(fù)雜,幾乎沒有關(guān)于它的封裝,在找資料這塊花了不少時間,對于LED燈焊接方面也要求的很高,重復(fù)無聊的折LED的管腳這都還好,主要是LED燈的擊穿問題特別難處理,對于單個LED我們需要檢測,對于焊成條形的LED也要檢測,對于焊成面的LED還要檢測,最困難的是對于焊成體的LED還要檢測,有時一條LED燈沒問題,可是焊成面就出問題。雖然在動手做這個設(shè)計之前我也是做好各方面準(zhǔn)備,可是在實施的時候遇到的問題還是使我料想不到,各種軟件的使用還有貼片元件的焊接都是很考驗基本功的,有些不懂的我就在網(wǎng)上看相關(guān)視頻,到各種DIY論壇請教這方面的“大神”,可以說我已經(jīng)下載了網(wǎng)上所有關(guān)于光立方的資料,這過程很辛苦,有時一天就為了解決一個問題,從早找到晚,比如找74HC595的PCB封裝圖,或者STC12C5A60S2的原理圖和封裝圖。對于軟件模塊要求的就更高了,軟件的書寫規(guī)范和字庫的創(chuàng)建,都是一個不小的工程,這個系統(tǒng)中用到的延時程序,每一幀的時間計算,掃描的頻率和燈的亮度,都要細(xì)細(xì)計算,編寫調(diào)試再編寫再調(diào)試,這樣反復(fù)好多次才終于編寫出一個穩(wěn)定的程序??偟膩碚f,做這個設(shè)計確實累,可是當(dāng)光立方正常工作時看到它顯示出絢麗的動畫時,付出的這一切都值得了,在制作過程中得到的經(jīng)驗和學(xué)到的知識是扎實的,在制作和研究過程中覺得特別的充實,理論知識得到了鞏固,知識再也不是僅僅停留在書面上了,動手能力也加強(qiáng)了很多,現(xiàn)在懂得了自己查資料,自己分析問題解決問題,可以說這次的畢業(yè)設(shè)計做的非常的有意義,受益匪淺。參考文獻(xiàn)1閻石. 數(shù)字電子技術(shù)基礎(chǔ)第四版M北京:高等教育出版社, 1998.12:77 -1742 張瑞玲.單片機(jī)原理與應(yīng)用 西北工業(yè)大學(xué)出版社2010年12月3劉守義主編. 數(shù)字電子技術(shù)(第二版) M. 西安電子科技大學(xué)出版社, 2007,74陳堂敏.劉煥平主編.單片機(jī)原理與應(yīng)用.北京:北京理工大學(xué)出版社,20075余孟嘗數(shù)字電子技術(shù)基礎(chǔ)簡明教程高等教育出版社6鄧元慶數(shù)字電路與邏輯設(shè)計M北京:電子工業(yè)出版社, 1995:49- 195.7肖洪兵.跟我學(xué)用單片機(jī)M.北京航空航天大學(xué)出版社,20028楊元挺電子技術(shù)技能訓(xùn)練電子工業(yè)出版社9王東峰等.單片機(jī)C語言應(yīng)用100例M.電子工業(yè)出版社,200910潘永雄.新編單片機(jī)原理與應(yīng)用,西安:西安電子科技大學(xué)出版社,200311童詩白,華成英,模擬電子技術(shù)基礎(chǔ),北京:高等教育出版社,200012馬忠梅等,單片機(jī)的C語言應(yīng)用程序設(shè)計,北京航空航天大學(xué)出版社,13馮建華,趙亮單片機(jī)應(yīng)用系統(tǒng)設(shè)計與產(chǎn)品開發(fā)M北京:人民郵電出版社,200414付曉光.單片機(jī)原理與使用技術(shù)M.清華大學(xué)出版社,ISBN7- 81082- 169- 5TP 15胡漢才單片機(jī)原理及其接口技術(shù)(第2版) 北京:清華大學(xué)出版社16李中發(fā)數(shù)字電子技術(shù)基礎(chǔ)中國水利水電出版社致謝語臨近畢業(yè)現(xiàn)在才感覺學(xué)校那么的溫暖,有種不舍的情懷,在離別之際我留在這學(xué)校的唯一作品就是這份畢業(yè)設(shè)計,這里要感謝我的導(dǎo)師,在我做畢業(yè)設(shè)計的過程中,從論文的撰寫畢業(yè)設(shè)計的選題還有設(shè)計思路的擴(kuò)展方面都給予了很大幫助,主任抽出寶貴的時間給我指導(dǎo),時不時的問我有沒有什么困難,有困難她給我解決,處處對我很關(guān)照,作為導(dǎo)師盡職盡責(zé)和藹可親。在這也謝謝我的同學(xué)們給于我?guī)椭?,給我提供焊接和很多軟件和硬件測試工具。附錄1、 實物圖: 2、 系統(tǒng)原理圖:3、系統(tǒng)PCB圖:程序清單#inClude#inClude /空語句調(diào)用頭文件#inCludezimo.h#define uChar unsigned Char#define uint unsigned int/*/sBit DS=P10;/*/*/sBit CLK=P11; /74HC595的SH-CP(11腳)sBit STB=P12; /74HC595的時鐘和輸出鎖存(12腳)/*/ /*坐標(biāo)數(shù)組*/*/uChar Code shu8=0,1,2,3,4,5,6,7; /十進(jìn)制數(shù)選uChar Code x18=0x7f,0xBf,0xdf,0xef,0xf7,0xfB,0xfd,0xfe;/595數(shù)據(jù)uChar Code y18=0xfe,0xfd,0xfB,0xf7,0xef,0xdf,0xBf,0x7f;/595使能uChar Code z18=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/層掃描/*/ /*亮度調(diào)節(jié)延時*/*/void delay(unsigned int i)unsigned int j;for(;i0;i-) for(j=5;j0;j-); /*/ /*ms延時*/*/void delayms(uChar xms)uChar i,j;for(i=0;ixms;i+)for(j=0;j110;j+);/*/ /*亮度調(diào)整*/*/*void PWM_LIGHT(unsigned Char P)OE=0;del
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考語文第二輪專題復(fù)習(xí)強(qiáng)化訓(xùn)練:語言文字運用(附答案)二
- 中班健康遠(yuǎn)離噪音
- 胎兒胼胝體超聲評估體系
- 教師學(xué)習(xí)培訓(xùn)結(jié)業(yè)學(xué)員匯報
- 右肩胛骨骨折護(hù)理查房
- 新人入職培訓(xùn)規(guī)章制度
- 護(hù)理班級總結(jié)
- 溝通協(xié)調(diào)能力培訓(xùn)
- 值日班長培訓(xùn)
- 子宮切除術(shù)后疼痛護(hù)理
- 美國大學(xué)的性教育課件
- 河北工業(yè)大學(xué)給水排水管道系統(tǒng)期末考試重點 版本2
- VERICUT整套教程完整
- 好書推薦-《三毛流浪記》77955課件
- 事業(yè)單位工勤人員技師考試職業(yè)道德復(fù)習(xí)試題
- The Old Man and The Sea 老人與海 中英文對照版
- 冷凍水管道工程施工工藝
- 混凝土拌合站拆除方案
- 對照品管理SOP雙語
- 兩臺37kW三相交流電動機(jī)的動力配電柜設(shè)計(共21頁)
- 積雪草提取物對胃粘膜的保護(hù)作用及其機(jī)制探討
評論
0/150
提交評論