完整的word格式的光立方課設(shè)論文下載:
光立方.doc
(11.27 MB, 下載次數(shù): 77)
2016-5-15 12:18 上傳
點擊文件名下載附件
光立方 下載積分: 黑幣 -5
下面是課設(shè)內(nèi)容預(yù)覽:
總分=實物*50%+課程設(shè)計報告書*50%。
2.元器件明細表:
1.017.jpg (82.64 KB, 下載次數(shù): 119)
下載附件
2016-5-15 17:42 上傳
3.附圖: 1.整體電路圖:
1.018.jpg (76.14 KB, 下載次數(shù): 130)
下載附件
2016-5-15 17:42 上傳
2.PCB板圖:
1.019.jpg (100.95 KB, 下載次數(shù): 134)
下載附件
2016-5-15 17:42 上傳
3.作品照片:
1.020.jpg (52.09 KB, 下載次數(shù): 131)
下載附件
2016-5-15 17:42 上傳
1.021.jpg (41.84 KB, 下載次數(shù): 123)
下載附件
2016-5-15 17:42 上傳
目錄
第一章 引言.................1
1.1設(shè)計要求..................1
第二章 設(shè)計方案分析與論證....................2
2.1總體電路分析.....................2
2.2方案論證..................3
第三章 單元電路設(shè)計..................5
3.1單片機電路設(shè)計.................5
3.2時鐘電路設(shè)計.................5
3.3復(fù)位電路設(shè)計.................6
3.4驅(qū)動電路設(shè)計.................6
3.5 軟件設(shè)計.................8
第四章 實物制作..................10 4.1
前期準備.................10
4.2電路板的制作....................10
第五章 測試結(jié)果分析與設(shè)計體會.....................12
5.1系統(tǒng)調(diào)試與誤差分析..................12
5.2 總結(jié)及心得.....................15
參考文獻...................16
附錄.................17
第一章 引言 在當(dāng)今信息化社會的高速發(fā)展過程中,大屏幕顯示已經(jīng)從公共信息展示等商業(yè)應(yīng)用向消費類多媒體應(yīng)用滲透。隨著寬帶網(wǎng)絡(luò)的發(fā)展,數(shù)字化的多媒體內(nèi)容將在信息世界中占據(jù)主流,新型的大屏幕顯示設(shè)備將代替?zhèn)鹘y(tǒng)電視機成為人們享受信息和多媒體內(nèi)容的中心。與傳統(tǒng)的顯示設(shè)備相比,這種未來的巨大需求讓LED大屏幕顯示技術(shù)成為眾人目光的焦點。LED顯示屏一般分為圖文顯示屏和視頻顯示屏,均由LED矩陣塊組成。動態(tài)圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計算機進行控制,圖文、圖像并茂,以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維的動畫、錄像、電視、VCD節(jié)目以及現(xiàn)場實況轉(zhuǎn)播。不僅可以用于室內(nèi)環(huán)境裝飾還可以用于室外環(huán)境信息傳播,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點。而且顯示畫面色彩鮮艷,立體感強,靜如油畫,動如電影,廣泛應(yīng)用于交通運輸、車站、商場、醫(yī)院、賓館、證券市場、工業(yè)企業(yè)管理等公共場所。 隨著社會經(jīng)濟的不斷進步,人們對LED顯示器的認識不斷加深,其應(yīng)用領(lǐng)域越來越廣。目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。 1.1設(shè)計要求 本次設(shè)計制作一個8*8*8的三維的發(fā)光二極管立方顯示體,能夠通過編寫程序來實現(xiàn)對每一個發(fā)光二級管的亮滅控制,從而可以顯示多種多樣的圖案。按照圖文運動的特點又可以分為閃爍、平移、旋轉(zhuǎn)、縮放等多種顯示模式。產(chǎn)生不同顯示顯示模式的方法,并不意味著一定要重新編寫顯示數(shù)據(jù),可以通過一定的算法從原來的顯示數(shù)據(jù)直接生成。這樣程序書寫就不會過于繁瑣和重復(fù),而且對核心控制器的內(nèi)存空間要求不高。 借鑒單片機控制LED點陣顯示的原理,通過系統(tǒng)分析,確定該系統(tǒng)該具有哪些功能,有哪些模塊,各個模塊之間是怎樣連接,以及怎樣組合電路是最合理最簡單的,即硬件方案設(shè)計。編寫硬件電路的相對應(yīng)軟件程序部分,利用仿真軟件對程序進行測試修改。電路系統(tǒng)焊接完畢后,測試整個的系統(tǒng)模塊的功能,看各個功能是否能正常運行,并依據(jù)實驗結(jié)果找出程序中的錯誤,改正這些錯誤至測試成功完成課程設(shè)計要求。
第二章 設(shè)計方案分析與論證 2.1 總體電路分析 2.1.1總電路工作原理 本設(shè)計是用STC125A60S2單片機做控制芯片的,由單片機上的P2口來控制8個鎖存器的鎖存端,以此決定數(shù)據(jù)的輸入和鎖存。光立方有8層8x8點陣,用8個引腳來當(dāng)充當(dāng)各層8x8點陣的“開關(guān)”(每層共陰)。再將64個燈陽極連到74hc573的輸出引腳上,每個74hc573控制8列LED。驅(qū)動采用了74hc573暫存的方法,來分別把64個燈的亮滅信息存到上面,然后再一起輸出到燈上,74hc573的64個輸出引腳控制前面所述每一個面的64個燈;而每層燈的陰極全連接在一起接入uln2803,由uln2803控制的每一個層燈。通過單片機主控芯片STC12C5A60S2來控制所有燈的亮滅,這樣512個LED每一個都有單獨的位置編碼,燈的亮滅可以自由控制。總體電路原理框圖如(圖2.1):
1.001.jpg (17.77 KB, 下載次數(shù): 130)
下載附件
2016-5-15 17:42 上傳
圖2.1
2.2方案論證 2.2.1電源電路的選擇 方案一:選擇采用5號電池作為3D光立方顯示系統(tǒng)的電源。 優(yōu)點:移動性強,方便隨時使用。 缺點:該系統(tǒng)耗電量較大,需要長時間不間斷的工作。雖然采用電池供電能夠?qū)崿F(xiàn),但是這種方法不斷更換電池,造成了各種使用不便與環(huán)保問題。 方案二:采用三端集成穩(wěn)壓器LM7805作為電源供電穩(wěn)壓核心。 優(yōu)點:選用LM7805穩(wěn)壓器在功率問題上不僅滿足了系統(tǒng)需求,而且安全、方便和可靠。 缺點:電源體積大,移動性不強。 基于以上分析,決定選取LM7805三端穩(wěn)壓器穩(wěn)壓電路作為系統(tǒng)供電電源。 2.2.2核心控制芯片的選擇 方案一:單片機 。 優(yōu)點:單片機擁有很強大的接口性能,集成了CPU、RAM和I/O口等電路,低成本、低電壓和低功耗是單片機的特點,使得單片機的市場非常之大,教學(xué)上使用的單片機更是非常多,為了適應(yīng)各種應(yīng)用,各種各樣的單片機出現(xiàn),它們的性能可靠性,編程方便,開發(fā)成本低等各種優(yōu)點都使得在教學(xué),生產(chǎn)、民用、商業(yè)化等擁有非常多的市場。 缺點:ROM內(nèi)存小,運行慢。 方案三:DSP 芯片。 優(yōu)點: DSP 是數(shù)字信號處理器。它主要用于數(shù)字信號處理,在擁有非常多數(shù)據(jù)需要處理的系統(tǒng)下,DSP的能力會被無窮顯現(xiàn)出來,當(dāng)遇見高密度,運算量非常之大等情況下,DSP非常好處理。相對于一般的單片機,DSP的處理速度會快上2倍以上,在信號處理領(lǐng)域上D SP能夠非常好的勝任工作,在光立方的大顯示數(shù)據(jù)量,DSP更是顯示它強大的功能。 缺點:需要模數(shù)轉(zhuǎn)換,受采樣頻率的限制,處理頻率范圍有限;數(shù)字系統(tǒng)由耗電的有源器件構(gòu)成,沒有無源設(shè)備可靠。 基于以上分析,以上三種核心控制處理芯片都能夠勝任3D光立方顯示器的數(shù)據(jù)處理與控制,但是基于單片機的成本與技術(shù)難度較低,因此在權(quán)衡利弊之后決定選用的控制部分核心器件為單片機,單片機型號為STC12C5A60S2。 2.2.3列驅(qū)動電路的選擇 方案一:選取串口輸入并口輸出芯片74HC595, 優(yōu)點:74HC595中擁有8位移位寄存器和一個存儲器,具有三態(tài)輸出功能、數(shù)據(jù)鎖存功能和數(shù)據(jù)輸出功能,最重要是它具有串行輸入并行輸出的特點。 缺點:但是在3D光立方顯示器,它依舊有不少的延遲時間。 方案二:采用鎖存器74HC573, 優(yōu)點:74HC573是一種硅門CMOS器件并且?guī)в墟i存數(shù)據(jù)和能夠同步輸出數(shù)據(jù);通過控制使能端口,來控制鎖存器鎖存數(shù)據(jù)并且控制數(shù)據(jù)鎖存保持的時間;當(dāng)時鐘處于上升沿狀態(tài)下,8個74HC573同時正常工作,并且通過16個I/O口并行輸入數(shù)據(jù)到芯片里,并行傳輸數(shù)據(jù)時間比串行傳輸數(shù)據(jù)的延遲時間更加少,滿足設(shè)計要求。 綜合以上各方面的分析和比較,決定選取74HC573作為每一列的驅(qū)動芯片。 2.2.4層驅(qū)動電路選擇 光立方顯示器擁有512個LED,當(dāng)它們有同時工作時,層面積聚電流隨之增大,所以需要把電流放大,提高驅(qū)動能力,驅(qū)動整個顯示正常工作。電流不夠而導(dǎo)致的部分LED不亮或出現(xiàn)亮度不夠的問題,會導(dǎo)致顯示信息出錯等問題。整個層面驅(qū)動電路的設(shè)計在整個系統(tǒng)起到舉足輕重的地位,以下有兩種方案: 方案一:采用5V繼電器來進行控制。 優(yōu)點:可以使用5V繼電器來充當(dāng)開關(guān)實現(xiàn)控制, 缺點:會加大成本還有電路設(shè)計的復(fù)雜程度,顯示器的重量也隨之增大。 方案二:采用達林頓管ULN2803作為層面驅(qū)動電路芯片。 優(yōu)點: ULN2803的驅(qū)動電流可以達到500mA,能夠驅(qū)動層面的LED正常工作。測試結(jié)果穩(wěn)定可靠,可以滿足設(shè)計要求。 基于以上分析,決定選取ULN2803達林頓管作為層面電路控制器。
第三章 單元電路設(shè)計
3.1單片機電路設(shè)計 單片機又稱微處理器,它是在一塊硅片上集成了CPU、ROM、定時器和多種I/O接口電路等電路的集成塊。單片機最小系統(tǒng)包括了單片機芯片、時鐘電路和復(fù)位電路。時鐘電路是用于產(chǎn)生STC12C5A60S2單片機正常工作的時鐘頻率,單片機的正常工作是在這種時鐘電路產(chǎn)生的是時鐘頻率信號的控制下,嚴格地按照時序運作。單片機的初始化是由單片機的復(fù)位電路控制的。硬件電路滿足復(fù)位時序要求,單片機進入從初始化工作狀態(tài)。單片機電路圖如(圖3.1)所示。
1.002.jpg (31.11 KB, 下載次數(shù): 130)
下載附件
2016-5-15 17:42 上傳
圖3.1 3.2時鐘電路設(shè)計 STC12C5A60S2單片機芯片的內(nèi)部時鐘提供時鐘頻率方式是因內(nèi)部設(shè)有一個振蕩器,這個振蕩器是由反向放大器構(gòu)成的,而這個振蕩電路的輸入端與輸出端為別為XTAL1和XTAL2,如果在引腳XTAL1和XTAL2上外接晶振,使用32MHZ晶振率,需要兩個30pF電容值的電容連接,它們可以起到頻率微側(cè)的作用。時鐘電路如(圖3.2)所示。
1.003.jpg (8.52 KB, 下載次數(shù): 135)
下載附件
2016-5-15 17:42 上傳
圖3.2 3.3復(fù)位電路設(shè)計 單片機最小系統(tǒng)的復(fù)位電路也是必不可少的,當(dāng)STC12C5A60S2單片機在 正常運行時,需要復(fù)位,也就是重新開始運行程序時,使單片機從初始狀態(tài)下重新工作,這個時候就需要復(fù)位電路了,所以復(fù)位電路也非常重要,單片機從初始值開始運行程序需要復(fù)位電路,當(dāng)程序運行錯誤,或者進入死循環(huán),這個時候也需要復(fù)位電路,只需要按下復(fù)位按鍵,使得RST引腳為高電平,這個時候STC12C5A60S2單片機就會從死循環(huán)跳出從程序初始值開始運行程序,上電復(fù)位與手動按鍵控制電平復(fù)位方式是最為常用的單片機復(fù)位方式,而這個顯示系統(tǒng)選用上電復(fù)位控制電平復(fù)位的方式。上電復(fù)位電平復(fù)位電路圖如(圖3.3)所示。
1.004.jpg (4.3 KB, 下載次數(shù): 153)
下載附件
2016-5-15 17:42 上傳
圖3.3 3.4驅(qū)動電路設(shè)計 3.4.1層驅(qū)動電路設(shè)計 ULN2803是本設(shè)計中的層面片選控制器電路的核心控制芯片。ULN2803是八重的達林頓管,1到8腳是8路輸入,18到11腳是8路輸出,驅(qū)動能力為500MA(V,使用時,引腳9接地,用來驅(qū)動感性負載,引腳10接負載電源,輸入電平為0V或5V,當(dāng)輸入5V的電平時候,輸出達林頓飽和;輸入0V時候,輸出達林頓截止。輸出負載加在電源V+和輸出口上,當(dāng)輸入高電平時候,輸出負載工作。ULN2803的引腳圖如圖3.4所示。
1.005.jpg (17.78 KB, 下載次數(shù): 126)
下載附件
2016-5-15 17:42 上傳
圖3.4 3.4.2列驅(qū)動電路設(shè)計 74HC573是一個八進制3態(tài)非反轉(zhuǎn)透明鎖存器(三態(tài)),是一種高性能硅門 CMOS器件,當(dāng)使能(OE)為高時,Q 輸出。當(dāng)鎖存使能端LE為高電平時,這些器件的鎖存對于數(shù)據(jù)是同步輸出。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時。當(dāng)輸入的數(shù)據(jù)消失時,在芯片的輸出端,數(shù)據(jù)仍然保持。列驅(qū)動電路圖如圖3.5所示。
1.006.jpg (92.92 KB, 下載次數(shù): 152)
下載附件
2016-5-15 17:42 上傳
圖3.5 3.5 軟件設(shè)計 3.5.1主程序設(shè)計 光立方顯示器的軟件系統(tǒng)設(shè)計是通過模塊化的設(shè)計思路來進行程序的設(shè)計與開發(fā)的,整個程序設(shè)計采用的是C語言編程的方法。第一先進行顯示系統(tǒng)的實現(xiàn)功能的分析考慮,整個系統(tǒng)要實現(xiàn)的功能是能夠進行靜態(tài)顯示、動態(tài)顯示、模式轉(zhuǎn)換和上位機控制。通過按鍵控制程序,可以選擇不同的模式來進行顯示。通過打開上位機串口,能夠?qū)崿F(xiàn)PC機控制光立方顯示。主程序的工作流程如圖3.6所示。
1.007.jpg (33.22 KB, 下載次數(shù): 128)
下載附件
2016-5-15 17:42 上傳
圖3.6 3.5.2顯示模塊的程序設(shè)計 光立方顯示器的顯示部分采用顯示機制是掃描的顯示方法,因為采用的是掃描機制,所以選擇單片機的數(shù)據(jù)從由低位到高位依次從數(shù)據(jù)輸入端口輸入,接著從鎖存器輸出端口輸出數(shù)據(jù)與鎖存器數(shù)據(jù)控制端口控制輸出顯示。光立方顯示程序流程圖如圖3.5.1所示。首先單片機把想顯示的圖案轉(zhuǎn)換為在相應(yīng)在光立方上顯示的點的數(shù)據(jù),在把顯示圖案的數(shù)據(jù)從單片機P0口輸出到相應(yīng)的鎖存器,鎖存器接收這些數(shù)據(jù),并通過控制端口,選擇輸出數(shù)據(jù)還是鎖存數(shù)據(jù),接著又把下一組的數(shù)據(jù)依次送到片選的鎖存器進行輸出顯示,當(dāng)所以的數(shù)據(jù)被正常輸出并顯示后,顯示程序退出,等待下一次的顯示數(shù)據(jù)到來。因為有8個鎖存器,有64引腳控制列的數(shù)據(jù)顯示,通過對應(yīng)的控制端口的控制片選,由一個ULN2803控制每一層的數(shù)據(jù)顯示,形成了各種各樣的顯示效果。顯示模塊的程序設(shè)計如圖3.7所示。
1.008.jpg (940 Bytes, 下載次數(shù): 140)
下載附件
2016-5-15 17:42 上傳
1.009.jpg (28.42 KB, 下載次數(shù): 126)
下載附件
2016-5-15 17:42 上傳
圖3.7 第四章 實物制作 4.1 前期準備 提前了解8x8x8光立方的相關(guān)資料并學(xué)習(xí)和掌握相關(guān)的知識,掌握相關(guān)知識后對8x8x8光立方進行仿真,如果仿真不成功就找出問題并解決,如果仿真成功就進行下一步,仿真成功后把所需的元器件清單列出來并購買回來。 4.2電路板的制作 在前期工作都完成后,就進行電路板的制作。我這里用的是Altium Dsigner6.9軟件進行電路板的前期制作,在Altium Dsigner6.9把所有元器件都列出來,按照仿真成功的電路圖進行繪制,繪制成功后轉(zhuǎn)到pcb中進行排版,因為電路圖有點難度需要跳線。最終的pcb電路圖如圖4.2所示。
1.010.jpg (115.35 KB, 下載次數(shù): 134)
下載附件
2016-5-15 17:42 上傳
圖4.1
Pcb圖完成后就進行腐板,腐好的電路板如圖4.2所示。
1.011.jpg (52.25 KB, 下載次數(shù): 134)
下載附件
2016-5-15 17:42 上傳
圖4.2 接下來就進行焊接元器件。
第五章 測試結(jié)果分析與設(shè)計體會
5.1系統(tǒng)調(diào)試與誤差分析 5.1.1系統(tǒng)調(diào)試 電路測試:對焊接的每一個發(fā)光二極管進行必要的檢測,一個發(fā)光二極管的顯示故障導(dǎo)致的問題可能是程序或者是硬件,所以一開始就需要進行必要的發(fā)光二極管的檢測。方法:使用數(shù)字式萬用電表的紅表筆接二極管的正極,黑表筆姐二極管的負極,觀察二極管的發(fā)光情況。接下來對照電路圖與實際的電路板上的線路連線正常情況。比如說,各個點的焊接情況,線路的連通情況,電容的正負極,電源的供電極性等,在所有檢查完畢后在進行下一步通電檢測。通電檢測電路,通電后,把數(shù)字式萬用電表調(diào)到電壓檔,測量接入電源的電壓是否正常,如果不正常則立刻斷開電源,如果有元器件發(fā)燙等情況應(yīng)立刻斷開電源并檢測各個點,看哪里出現(xiàn)短路情況,排除各種故障。 5.1.2測試結(jié)果與分析 模式一:
1.012.jpg (27.67 KB, 下載次數(shù): 135)
下載附件
2016-5-15 17:42 上傳
模式二:
1.013.jpg (31.02 KB, 下載次數(shù): 137)
下載附件
2016-5-15 17:42 上傳
模式三:
1.014.jpg (29.44 KB, 下載次數(shù): 124)
下載附件
2016-5-15 17:42 上傳
模式四:
1.015.jpg (27.19 KB, 下載次數(shù): 150)
下載附件
2016-5-15 17:42 上傳
模式五:
1.016.jpg (22.14 KB, 下載次數(shù): 135)
下載附件
2016-5-15 17:42 上傳
經(jīng)調(diào)試可見在調(diào)試過程中發(fā)光二極管亮度有問題,3D顯示效果不是很明顯,后來經(jīng)過觀察發(fā)現(xiàn)LED亮度有問題可能是限流電阻用的過大了,也可能是購買這種LED不適合在白天顯示。3D效果不明顯不原因可能是發(fā)光二極管在焊接過程中是焊得不是很好,出現(xiàn)了個別松動現(xiàn)象,不亮等元器件本身已經(jīng)損壞問題,導(dǎo)致后面測試時顯示的畫面不是很立體。還有一問題就是在制板過程中由于沒有考慮周全導(dǎo)致在后期階段的操作出現(xiàn)了困難。 5.2 總結(jié)及心得 通過了這次的設(shè)計與制作,鞏固了自己對所學(xué)的知識和理論,對計算機應(yīng)用系統(tǒng)有了大概的了解,并且掌握了基本的單片機軟件和硬件的開發(fā)方法,能夠提升對實際的單片機軟件和硬件開發(fā)的能力。同時,加強了我對實際遇到問題的分析能力和解決能力。系統(tǒng)的性能指標(biāo)和運行的穩(wěn)定性更是我關(guān)注的重點,以系統(tǒng)的穩(wěn)定性和精確性為主的原則,采用了各種的優(yōu)化方法,基本完成了設(shè)計規(guī)定的指標(biāo)和要求,而且對于某些指標(biāo)進行了功能擴展與優(yōu)化。在制作課程設(shè)計過程中還要非常感謝我身邊的同學(xué),有了他們的幫助我才得以這么順利的完成了我的設(shè)計,同時我也從他們的幫我的過程中學(xué)到了很多知識。 參考文獻 [1] 張瑞玲.單片機原理與應(yīng)用[M].西北工業(yè)大學(xué)出版社,2010,12 [2] 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].高等教育出版社,2014,1 [3] 陳海宴.51單片機原理及應(yīng)用—基于Keil C與Proteus[M].北京航空航天大學(xué)出版社,2013.3 [4] 譚浩強.C語言設(shè)計[M].清華大學(xué)出版社,2010,7 [5] 郭天祥.新概念51單片機C語言教程[M].北京,電子工業(yè)出版社,2009,46-79. [6] 姚永平等,STC12C5A60S2系列單片機器件手冊[M]. [7] 張毅剛.基于proteus單片機課程的基礎(chǔ)實驗與課程設(shè)計[M].北京,人民郵電出版社,2012.32-99 [8] 阮永松.打造音樂頻譜時鐘.無線電[J].2012-6(第597期),44-47
附錄
1.主要程序
- #include
- #include
- #define uchar unsigned char
- #define uint unsigned int
- uchar display[8][8];/*rank:A,1,2,3,4,I,心,U*/
- void sinter()
- {
- IE=0x82;
- TCON=0x01;
- TH0=0xc0;
- TL0=0;
- TR0=1;}
- void delay5us(void) //誤差 -0.026765046296us STC 1T 22.1184Mhz
- {
- unsigned char a,b;
- for(b=7;b>0;b--)
- for(a=2;a>0;a--);
- }
- void delay(uint i)
- {
- while (i--){
- delay5us();}//12t的mcu 注釋這個延時即可
- }/*To judge the num bit*/
- uchar judgebit(uchar num,uchar b)
- {
- char n;
- num=num&(1<<b);
- if (num)
- n=1;
- else
- n=0;
- return n;
- }
- /*To figure out the round number*/
- uchar abs(uchar a)
- {
- uchar b;
- b=a/10;
- a=a-b*10;
- if (a>=5)
- b++;
- return b;
- }
- /*To figure out the absolute value*/
- uchar abss(char a)
- {
- if (a<0)
- a=-a;
- return a;
-
- }
-
- /*The function can comparat the character.
- And remove the big one to the back.*/
- void max(uchar *a,uchar *b)
- {
- uchar t;
- if ((*a)>(*b))
- {
- t=(*a);
- (*a)=(*b);
- (*b)=t; }
- }
- /*The function is to figure out the max number and return it.*/
- uchar maxt(uchar a,uchar b,uchar c)
- {
- if (a<b)
- a=b;
- if (a<c)
- a=c;
- return a;
- }
- void trans(uchar z,uint speed)
- {
- uchar i,j;
- for (j=0;j<8;j++)
- {
- for (i=0;i<8;i++)
- {
- display[z][i]>>=1;
- }
- delay(speed);
- }}
- void print() interrupt 1
-
- {
-
- uchar i;
-
- static uchar layer=0;
-
- P1=0;
-
- for (i=0;i<8;i++)
-
- {
-
- P2=1<<i;
-
- delay(3);
-
- P0=display[layer][i];
-
- delay(3);
-
- }
-
- P1=1<<layer;
-
- if (layer<7)
-
- layer++;
-
- else
-
- layer=0;
-
- TH0=0xc0;
-
- TL0=0;
-
- }
-
復(fù)制代碼
|