2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)課程設(shè)計(jì)說明書</b></p><p><b>  光 立 方</b></p><p>  院 、 部: 電氣與信息工程學(xué)院 </p><p>  專 業(yè): 電氣自動(dòng)化技術(shù) </p><p><b>  摘 要</b>

2、;</p><p>  本設(shè)計(jì)制作出一個(gè)三維立體顯示圖案的LED光立方。本產(chǎn)品不僅可以像發(fā)光二極管點(diǎn)陣一樣顯示平面的靜態(tài)或動(dòng)態(tài)畫面,還可以顯示立體的靜態(tài)或動(dòng)態(tài)畫面,打破了傳統(tǒng)的平面顯示方案。同時(shí)又增加了顯示的花樣和立體圖案顯示效果,可以廣泛用于傳媒信息顯示和各種裝飾顯示,為將來顯示技術(shù)的進(jìn)步和發(fā)展指導(dǎo)了方向,光立方顯示比發(fā)光二極管點(diǎn)陣更具有視覺效果,而且畫面圖案更加非富多彩。</p><p&g

3、t;  本設(shè)計(jì)是采用AT89S52單片機(jī)為核心控制器,八D邊沿觸發(fā)器(三態(tài))74LS573擴(kuò)展I/O口,完成硬件電路設(shè)計(jì)。通過軟件編程控制數(shù)據(jù)下載到單片機(jī)完成設(shè)計(jì)圖案的顯示。軟件采用自上而下的模塊化設(shè)計(jì)思想,使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。</p><p>  關(guān)鍵詞: 52單片機(jī);74HC573鎖存器;8*8*8LED顯示; </p><p>&l

4、t;b>  ABSTRACT</b></p><p>  This design produced a three-dimensional pattern of the LED light cube. This product can not only like a light-emitting diode dot matrix display plane static or dynamic s

5、creen can also display three-dimensional static or dynamic images,and to break the traditional program.While increasing the display patterns and three-dimensional effect can be widely used to display and decorative displ

6、ay for future progress and development to guide the direction,light cube display more visual effects than the </p><p>  The design is AT89S52 MCU core controller,eight D edge flip-flop 74LS574 (tri-state) ex

7、pansion I/O port completion of the hardware circuit design. Programmed by software to control the data is downloaded to the MCU to complete the designs of the show. This design software is a top-down modular design,the s

8、ystem moving in the direction of distributed,small development,enhance the stability of the system's scalability and running. </p><p>  KEY WORDS: 52single-chip;74HC573latch;8*8*8 3DLED;</p><p

9、><b>  目錄</b></p><p>  設(shè)計(jì)要求與方案…………………………………………………………………1</p><p>  1.1設(shè)計(jì)目的……………………………………………………………………1</p><p>  1.2設(shè)計(jì)要求……………………………………………………………………1</p><p>  

10、1.3設(shè)計(jì)思路……………………………………………………………………1</p><p>  1.4設(shè)計(jì)的總體要求及方案選擇……………………………………………2</p><p>  工作原理………………………………………………………………………3</p><p>  2.1模塊的簡(jiǎn)介…………………………………………………………………3</p><p&

11、gt;  2.2 3DLED光立方工作原理……………………………………………………4</p><p>  3、方案選擇…………………………………………………………………………5</p><p>  3.1電源的選擇…………………………………………………………………5</p><p>  3.2 3D顯示核心控制器…………………………………………………………5<

12、/p><p>  3.3 I/O口擴(kuò)展芯片的選擇……………………………………………………6</p><p>  3.4 LED發(fā)光顯示二級(jí)管………………………………………………………6</p><p>  4、硬件整體設(shè)計(jì)概述及功能分析…………………………………………………8</p><p>  4.1 系統(tǒng)概述 …………………………………………

13、………………………8</p><p>  4.2 系列單片機(jī)簡(jiǎn)介……………………………………………………………9</p><p>  4.3 時(shí)鐘電路設(shè)計(jì)………………………………………………………………9</p><p>  4.4 復(fù)位電路設(shè)計(jì)……………………………………………………………10</p><p>  4.5 74HC573芯片

14、連接電路圖與介紹…………………………………………11</p><p>  主程序設(shè)計(jì)思路………………………………………………………………13</p><p>  5.1程序流程框圖………………………………………………………………13</p><p>  5.2顯示程序的設(shè)計(jì)……………………………………………………………13</p><p> 

15、 5.2.1 LED顯示屏的數(shù)據(jù)傳送……………………………………………13</p><p>  5.2.2 顯示程序的設(shè)計(jì)……………………………………………………14</p><p>  硬件電路設(shè)計(jì)…………………………………………………………………15</p><p>  6.1 單片機(jī)與74HC573連接線路圖……………………………………………15</p&

16、gt;<p>  6.2 LED焊接方法………………………………………………………………15</p><p>  6.2.1焊前準(zhǔn)備工作……………………………………………………15</p><p>  6.2.2焊接…………………………………………………………………16</p><p>  6.3 整體實(shí)物圖…………………………………………………………

17、……17</p><p>  程序設(shè)計(jì)分析與選擇…………………………………………………………18</p><p>  7.1單片機(jī)C語(yǔ)言主要特點(diǎn)……………………………………………………19</p><p>  7.2單片機(jī)C語(yǔ)言與標(biāo)準(zhǔn)語(yǔ)言的區(qū)別…………………………………………19</p><p>  7.3數(shù)據(jù)類型的選用……………………………

18、……………………………20</p><p>  7.4算法設(shè)計(jì)問題……………………………………………………………20</p><p>  7.5數(shù)據(jù)存儲(chǔ)器的分配…………………………………………………………21</p><p>  7.6單片機(jī)C語(yǔ)言與匯編語(yǔ)言的混合編程……………………………………21</p><p>  7.7程序分析選擇……

19、………………………………………………………23</p><p>  程序設(shè)計(jì)………………………………………………………………………24</p><p>  設(shè)計(jì)結(jié)果分析…………………………………………………………………28</p><p>  總 結(jié)………………………………………………………………………………30</p><p>  致謝……

20、……………………………………………………………………………31</p><p>  參考文獻(xiàn)……………………………………………………………………………32</p><p><b>  1、設(shè)計(jì)要求與方案</b></p><p><b>  1.1 設(shè)計(jì)目的</b></p><p>  在當(dāng)今現(xiàn)代信

21、息化社會(huì)的高速發(fā)展過程中,大屏幕顯示已經(jīng)從公共信息展示等商業(yè)應(yīng)用向消費(fèi)類多媒體應(yīng)用滲透。隨著寬帶網(wǎng)絡(luò)的發(fā)展,數(shù)字化的多媒體內(nèi)容將在信息世界中占據(jù)主流,新型的大屏幕顯示設(shè)備將代替?zhèn)鹘y(tǒng)電視機(jī)成為人們享受信息和多媒體內(nèi)容的中心。為追求舒適、逼真、清晰的3D視頻顯示,為此制作出一個(gè)三維立體顯示圖案的LED光立方。該設(shè)計(jì)方案將打破了傳統(tǒng)的平面顯示視頻的方法,該方案設(shè)計(jì)的LED顯示屏顯示畫面色彩鮮艷,立體感強(qiáng),靜如油畫,可以廣泛應(yīng)用于廣告公司、交通

22、運(yùn)輸、車站、商場(chǎng)、醫(yī)院、賓館、證券市場(chǎng)、工業(yè)企業(yè)管理等公共場(chǎng)所。</p><p><b>  1.2 設(shè)計(jì)要求</b></p><p> ?。?)畢業(yè)設(shè)計(jì)(論文)中心突出,內(nèi)容充實(shí),論據(jù)充分,論證有力,數(shù)據(jù)可靠,結(jié)構(gòu)緊湊,層次分明,圖表清晰,格式規(guī)范,字跡工整,結(jié)論正確。</p><p>  (2)設(shè)計(jì)制作一個(gè)8*8*8的三維的發(fā)光二極管顯示

23、方陣,能夠通過編寫程序來實(shí)現(xiàn)對(duì)每一個(gè)發(fā)光二級(jí)管控制,從而來顯示多種多樣的圖案??刂骑@示輸出至少二十種顯示效果。</p><p> ?。?)通過大量編寫程序調(diào)試實(shí)驗(yàn)現(xiàn)象結(jié)果分析研究數(shù)據(jù)形成規(guī)律,對(duì)規(guī)律總結(jié)得出結(jié)論并初步確定算法。</p><p><b>  1.3 設(shè)計(jì)思路</b></p><p>  本設(shè)計(jì)根據(jù)二極管點(diǎn)陣的原理由單片機(jī)I/O口

24、控制點(diǎn)亮不同的二極管從而組成出不同的畫面,根據(jù)人眼的視覺暫留現(xiàn)象即當(dāng)物體移去時(shí)視覺神經(jīng)對(duì)物體的印象不會(huì)立即消失而是要延續(xù)0.1-0.4秒的時(shí)間 ,來設(shè)置每幅畫面的延遲時(shí)間使連續(xù)的一系列畫面呈現(xiàn)動(dòng)態(tài)。每一個(gè)層面的二極管陽(yáng)極接在一起受一路I/O口控制,實(shí)際電路中該路I/O口輸出的控制信號(hào)通過5V繼電器的吸合和斷開來控制的,再輸入發(fā)光二極管的陽(yáng)極使其驅(qū)動(dòng)。每一個(gè)二極管的陰極分別受單片機(jī)擴(kuò)展后的I/O控制。每個(gè)燈都是由片選端口和控制端口共同決定

25、亮或滅。因此,我們可以隨意的來點(diǎn)亮立方體中任意一處的燈,來構(gòu)建多種多樣的圖案。</p><p>  1.4 設(shè)計(jì)的總體要求及方案選擇</p><p>  本次設(shè)計(jì)制作一個(gè)8*8*8的三維的發(fā)光二極管立方顯示體,能夠通過編寫程序來實(shí)現(xiàn)對(duì)每一個(gè)發(fā)光二級(jí)管的亮滅控制,從而可以顯示多種多樣的圖案。為了吸引觀眾增強(qiáng)顯示效果,可以有多種顯示模式。最簡(jiǎn)單的顯示模式是靜態(tài)顯示。與靜態(tài)顯示模式相對(duì)應(yīng),就有

26、各種動(dòng)態(tài)顯示模式,它們所顯示的圖文都是能夠變化的。按照?qǐng)D文運(yùn)動(dòng)的特點(diǎn)又可以分為閃爍、平移、旋轉(zhuǎn)、縮放等多種顯示模式。產(chǎn)生不同顯示顯示模式的方法,并不意味著一定要重新編寫顯示數(shù)據(jù),可以通過一定的算法從原來的顯示數(shù)據(jù)直接生成。這樣程序書寫就不會(huì)過于繁瑣和重復(fù),而且對(duì)核心控制器的內(nèi)存空間要求不高。</p><p>  借鑒單片機(jī)控制LED點(diǎn)陣顯示的原理,通過系統(tǒng)分析,確定該系統(tǒng)該具有哪些功能,有哪些模塊,各個(gè)模塊之間是

27、怎樣連接,以及怎樣組合電路是最合理最簡(jiǎn)單的,即硬件方案設(shè)計(jì)。編寫硬件電路的相對(duì)應(yīng)軟件程序部分,利用仿真軟件對(duì)程序進(jìn)行測(cè)試修改。電路系統(tǒng)焊接完畢后,測(cè)試整個(gè)的系統(tǒng)模塊的功能,看各個(gè)功能是否能正常運(yùn)行,并依據(jù)實(shí)驗(yàn)結(jié)果找出程序中的錯(cuò)誤,改正這些錯(cuò)誤至測(cè)試成功完成畢業(yè)設(shè)計(jì)要求。</p><p><b>  2、工作原理</b></p><p><b>  2.1模塊

28、的簡(jiǎn)介</b></p><p>  有8個(gè)8*8點(diǎn)陣,再用8個(gè)引腳來當(dāng)充當(dāng)各個(gè)8*8點(diǎn)陣的“開關(guān)”。只要將64個(gè)燈陽(yáng)極連在一起,在連到這個(gè)引腳上。采用了HC573暫存的方法,來分別把64個(gè)燈的亮滅信息存到這個(gè)上面,然后再一起輸出到燈上,573的64個(gè)輸出引腳控制前面所述每一個(gè)面的64個(gè)燈;而每層燈的陰極全連接在一起接入單片機(jī),由單片機(jī)控制的每一個(gè)層燈。通過單片機(jī)主控芯片AT89S52來控制所有燈的亮滅

29、,從而控制P0、P1、P2實(shí)現(xiàn)控制X、Y、Z空間立體控制來顯示我們所需要顯示的現(xiàn)象。如圖2.1和2.2所示。整個(gè)設(shè)計(jì)主要分為三個(gè)模塊分別是主控模塊、驅(qū)動(dòng)模塊、顯示模塊.</p><p><b>  圖2.1 層面 </b></p><p>  圖2.2 64個(gè)燈孔</p><p>  2.2 3DLED光立方工作原理</p>&

30、lt;p>  本設(shè)計(jì)介紹一個(gè)3D LED光立方顯示屏的制作,在單片機(jī)的P0口輸出顯示代碼,然后把掃描片選擇鎖存器送入74HC573,通過片選哪一列對(duì)應(yīng)的芯片就可以把顯示的內(nèi)容送到顯示屏顯示??紤]到P0口必需設(shè)置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。</p><p>  設(shè)計(jì)原理:利用單片控制LED點(diǎn)陣顯示的原理和控制技術(shù),來制作控制光立方顯示。通過編寫程序控制不同LED的顯示,顯示所要顯示的內(nèi)容

31、。根據(jù)人眼的視覺暫留效應(yīng),設(shè)置每幅畫面的延遲時(shí)間使連續(xù)的一系列畫面呈現(xiàn)動(dòng)態(tài)。最終達(dá)到所要顯示的內(nèi)容。每個(gè)燈都是由層控制端和列控制端共同決定亮或滅。</p><p>  圖2.2 LED光立方整體顯示框圖</p><p>  在三維光立方中采用動(dòng)態(tài)掃描顯示,這種顯示方式巧妙地利用了人眼的視覺暫留特性。將連續(xù)的幾幀畫面高速的循環(huán)顯示,只要幀速率高于24幀/秒,人眼看起來就是一個(gè)完整的,相對(duì)靜

32、止的畫面。最典型的例子就是電影放映機(jī)。在電子領(lǐng)域中,因?yàn)檫@種動(dòng)態(tài)掃描顯示方式極大的縮減了發(fā)光單元的信號(hào)線數(shù)量,因此在LED顯示技術(shù)中被廣泛使用?,F(xiàn)簡(jiǎn)單描述一下用動(dòng)態(tài)掃描顯示的方式,顯示字符“B”的過程。</p><p>  圖2.3 用動(dòng)態(tài)掃描顯示字符“B”的過程</p><p><b>  3、方案選擇</b></p><p><b&g

33、t;  3.1電源的選擇</b></p><p>  方案一:采用普通干電池作為L(zhǎng)ED系統(tǒng)的電源,由于點(diǎn)陣系統(tǒng)耗電量較大,點(diǎn)陣系統(tǒng)一般懸掛在高處上,一直不停的工作。使用干電池需經(jīng)常換電池,不符合節(jié)約型社會(huì)的要求。</p><p>  方案二:采用一塊LM7805三端集成穩(wěn)壓器。把市電經(jīng)變壓器降壓輸入電路,而后整流送到LM7805三端穩(wěn)壓器穩(wěn)壓輸出作為工作電壓。不僅功率上可以滿足

34、系統(tǒng)需要,不需要更換電源,并且比較輕便,使用更加安全可靠。</p><p>  方案三:采用5V電源的移動(dòng)充電寶。</p><p>  基于以上分析,決定選取5V電源的移動(dòng)充電寶供電電源。</p><p>  3.2 3D顯示核心控制器</p><p>  控制部分是整個(gè)系統(tǒng)的核心部分,其功能可以實(shí)現(xiàn)與上位機(jī)通信接收上位機(jī)發(fā)送的數(shù)據(jù)和控制指令

35、經(jīng)處理過后控制顯示屏顯示內(nèi)容。其常用的電子設(shè)計(jì)方法有單片機(jī)、DSP、及EDA技術(shù)。</p><p><b>  方案一:?jiǎn)纹瑱C(jī)</b></p><p>  單片機(jī)是集成了CPU,ROM,RAM和I/ O口的微型計(jì)算機(jī)。它有很強(qiáng)的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機(jī)品種齊全,型號(hào)多樣 CPU 從8,16,32到64位,多采用RISC 技術(shù),片

36、上I/O非常豐富,有的單片機(jī)集成有A/ D,“ 看門狗”,PWM,顯示驅(qū)動(dòng),函數(shù)發(fā)生器,鍵盤控制等。它們的價(jià)格也高低不等,這樣極大地滿足了開發(fā)者的選擇自由。除此之外單片機(jī)還具有低電壓和低功耗的特點(diǎn)。隨著超大規(guī)模集成電路的發(fā)展,單片機(jī)在便攜式產(chǎn)品中大有用武之地。</p><p>  方案二:DSP 芯片</p><p>  DSP 又叫數(shù)字信號(hào)處理器。顧名思義,DSP主要用于數(shù)字信號(hào)處理領(lǐng)域

37、,非常適合高密度,重復(fù)運(yùn)算及大數(shù)據(jù)容量的信號(hào)處理?,F(xiàn)在已經(jīng)廣泛應(yīng)用于通信、便攜式計(jì)算機(jī)和便攜式儀表、雷達(dá)、圖像、航空、家用電器、醫(yī)療設(shè)備等領(lǐng)域。 DSP區(qū)別于一般微處理器的另一重要標(biāo)志是硬件乘法器以及特殊指令,一般微處理器用軟件實(shí)現(xiàn)乘法,逐條執(zhí)行指令,速度慢。DSP 依靠硬件乘法器單周期完成乘法運(yùn)算,而且還具有專門的信號(hào)處理指令。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。芯片內(nèi)置544字的高速SRAM。外部可尋址64K字

38、程序/數(shù)據(jù)及I/O,令周期在25ns~50ns之間,實(shí)時(shí)性處理比16位單片機(jī)快2倍以上,可取代一般的單片機(jī)。</p><p><b>  方案三:EDA</b></p><p>  EDA(即Electronic Design Automation) 即電子設(shè)計(jì)自動(dòng)化,它是以計(jì)算機(jī)為工具,在EDA 軟件平臺(tái)上,對(duì)用硬件描述語(yǔ)言HDL 完成的設(shè)計(jì)文件自動(dòng)地邏輯編譯、邏輯

39、化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定目標(biāo)芯片進(jìn)行適配編譯、邏輯影射和編程下載等。而且MCU和DSP都是通過串行執(zhí)行指令來實(shí)現(xiàn)特定功能,不可避免低速,而FPGA/CPLD則可實(shí)現(xiàn)硬件上的并行工作,在實(shí)時(shí)測(cè)控和高速應(yīng)用領(lǐng)域前景廣闊;另一方面,F(xiàn)PGA/CPLP器件在功能開發(fā)上是軟件實(shí)現(xiàn)的,但物理機(jī)制卻和純硬件電路一樣,十分可靠。</p><p>  基于以上分析,三種設(shè)計(jì)方式相比較各有

40、優(yōu)點(diǎn)且都能夠?qū)崿F(xiàn)控制功能,但單片機(jī)的技術(shù)門檻較低開發(fā)成本也較低非常適合初學(xué)者進(jìn)行學(xué)習(xí)和鍛煉使用?,F(xiàn)在市場(chǎng)上常用的單片機(jī)主要有MCS-52、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機(jī)首推Intel的52系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)常作為單片機(jī)學(xué)習(xí)的教材。所以決定選取52系列單片機(jī)作為控制部分的核心器件。</p><p>  3.3 I/O口擴(kuò)展芯片的選擇&l

41、t;/p><p>  方案一:選取串口輸入并口輸出芯片74LS164,雖然I/O口使用較少,由于本次設(shè)計(jì)共需要72路I/O口,列驅(qū)動(dòng)電路就需要8塊74LS164。顯示數(shù)據(jù)是先后順序給送去的,顯示會(huì)有延遲,而LED動(dòng)態(tài)顯示的刷新的時(shí)間控制大約10ms,實(shí)時(shí)性差,效果不好。</p><p>  方案二:74HC573 跟74LS573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS 輸出兼容的;加上拉電阻,

42、他們能和HC/ALSTTL 輸出兼容。當(dāng)鎖存使能端為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。8塊74HC573共用64個(gè)I/O口,數(shù)據(jù)可以并行寫入芯片,延遲時(shí)間少,滿足設(shè)計(jì)要求。</p><p>  綜合以上比較,決定選取74HC573作為列線驅(qū)動(dòng)I\O口擴(kuò)展芯片。 </p><p>  3.4 LED發(fā)光顯示二

43、級(jí)管</p><p>  LED是一種固體光源,當(dāng)它兩端加上正向電壓時(shí)就可以發(fā)光。采用不同的材料,可制成不同顏色的發(fā)光二極管。作為一種新的光源,廣受歡迎而得以快速發(fā)展。從而在各種各樣的傳媒信息的宣傳中得以體現(xiàn)。簡(jiǎn)述其分類方法如下。</p><p><b>  1)按顏色分類</b></p><p>  單基色顯示屏:?jiǎn)我活伾t色、綠色、黃色、

44、藍(lán)色等等)。</p><p>  雙基色顯示屏:紅和綠雙基色,256級(jí)灰度、可以顯示65536種顏色。</p><p>  全彩色顯示屏:紅、綠、藍(lán)三基色,256級(jí)灰度的全彩色顯示屏可以顯示一千六百多萬(wàn)種顏色。</p><p><b>  2)按使用場(chǎng)合分類</b></p><p>  室內(nèi)顯示屏:發(fā)光點(diǎn)較小,一般Φ3m

45、m--Φ8mm,顯示面積一般零點(diǎn)幾至十幾平方米。 </p><p>  室外顯示屏:面積一般幾十平方米至幾百平方米,亮度高,可在陽(yáng)光下工作,具有防風(fēng)、防雨、防水功能。 </p><p>  3)按發(fā)光點(diǎn)直徑分類</p><p>  室內(nèi)屏:Φ3mm、Φ3。75mm、Φ5mm。 </p><p>  室外屏:Φ10mm、Φ12mm、Φ16mm、

46、Φ19mm、Φ21mm、Φ26mm。 </p><p>  基于以上分析結(jié)果,加上由于成本和控制的難易程度,決定選取單色Φ3mm綠光LED作為本次設(shè)計(jì)顯示色彩,亮度高,顯示效果很好。</p><p>  4、硬件整體設(shè)計(jì)概述及功能分析</p><p><b>  4.1 系統(tǒng)概述 </b></p><p>  3D LE

47、D光立方總體框圖如圖3.1所示。電路大體上可以分成核心控制電路、顯示驅(qū)動(dòng)電路、串信通信電路三部分。核心控制電路部分包括一個(gè)52系統(tǒng)CUP和一些外圍電路。在整個(gè)電路當(dāng)中此電路部分可以相當(dāng)于一個(gè)上位機(jī),它負(fù)責(zé)控制整個(gè)電路以及相應(yīng)的程序的運(yùn)行、與PC機(jī)的串行通訊、以及給顯示屏部分發(fā)送命令。單片機(jī)根據(jù)編寫好的內(nèi)容和指令通過I/O口擴(kuò)展后驅(qū)動(dòng)8*8*8 LED光立方顯示屏。本次設(shè)計(jì)將以此方案為指導(dǎo)思想展開具體的硬件電路設(shè)計(jì)。</p>

48、<p>  顯示電路采用動(dòng)態(tài)掃描方式進(jìn)行顯示時(shí),每列有一個(gè)列驅(qū)動(dòng)器,各列的同名行共用一個(gè)行驅(qū)動(dòng)器。由單片機(jī)給出的行選通信號(hào),從第一列開始,按順序依次對(duì)各列進(jìn)行掃描選通,根據(jù)鎖存器的特性可以把數(shù)據(jù)鎖存輸出。這樣就可以把八列的數(shù)據(jù)輸出顯示,完成列線數(shù)據(jù)的傳送。另一方而,根據(jù)各列層面要顯示的數(shù)據(jù),通過三極管驅(qū)動(dòng)繼電器來控制相應(yīng)層面的電平,列與層面的數(shù)據(jù)結(jié)合共同來顯示圖案。</p><p>  圖4.1 系統(tǒng)

49、結(jié)構(gòu)設(shè)計(jì)總圖</p><p>  4.2 系列單片機(jī)簡(jiǎn)介</p><p>  單片機(jī)(Microcontroller,又稱微處理器)是在一塊硅片上集成了各種部件的微型機(jī),這些部件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。單片機(jī)最小系統(tǒng)包括時(shí)鐘電路和復(fù)位電路。</p><p>  時(shí)鐘電路用于產(chǎn)生AT89S52單片機(jī)

50、工作時(shí)必需的控制信號(hào)。單片機(jī)的內(nèi)部電路正是在時(shí)鐘信號(hào)的控制下,嚴(yán)格地按照時(shí)序執(zhí)行指令進(jìn)行工作。復(fù)位電路是為單片機(jī)初始化操作準(zhǔn)備的。只要單片機(jī)的復(fù)位引腳RST上的復(fù)位信號(hào)要持續(xù)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上,就可以使AT89S52單片機(jī)復(fù)位。如圖3.2所示。</p><p>  圖4.2 單片機(jī)最小系統(tǒng)電路圖</p><p>  4.3 時(shí)鐘電路設(shè)計(jì)</p><p&

51、gt;  AT89S52單片機(jī)各功能部件的運(yùn)行都以時(shí)鐘信號(hào)為基準(zhǔn),有條不紊、一拍一拍地工作。因此時(shí)鐘頻率直接影響單片機(jī)的處理速度,時(shí)鐘電路的質(zhì)量也是直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。本次采用外部時(shí)鐘方式。</p><p>  AT89S52單片機(jī)芯片內(nèi)部設(shè)有一個(gè)由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端,時(shí)鐘可有內(nèi)

52、部或外部生成,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩。系統(tǒng)采用的定時(shí)元件為石英晶體和電容組成的并聯(lián)諧振回路。時(shí)鐘頻率fosc采用12MHZ,C1、C2的電容值取30pF,電容的大小起頻率微測(cè)的作用。如3.3圖所示。</p><p>  圖4.3 時(shí)鐘電路圖</p><p>  4.4 復(fù)位電路設(shè)計(jì)</p><p>  AT89S52

53、單片機(jī)在啟動(dòng)運(yùn)行時(shí)或者出現(xiàn)死機(jī)時(shí)需要復(fù)位,使CPU以及其他功能部件處于一個(gè)確定的初始狀態(tài),PC初始化為0000H。單片機(jī)從這個(gè)狀態(tài)開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序行出錯(cuò)(如程序“跑飛”)或操作錯(cuò)誤使系統(tǒng)處于 “死鎖”狀態(tài)時(shí),也需要按復(fù)位鍵即RST腳為高電平,使AT89S52擺脫“跑飛”“死鎖”狀態(tài)而重新啟動(dòng)程序。</p><p>  單片機(jī)有多種復(fù)位方式,常用的復(fù)位操作有上電復(fù)位和手動(dòng)按鍵電平復(fù)

54、位方式。本設(shè)計(jì)采用手動(dòng)按鍵電平復(fù)位方式,電路搭建圖見圖4.4。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,復(fù)位電路產(chǎn)生的復(fù)位信號(hào)(高電平有效)由RST通過復(fù)位電路相連,手動(dòng)輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)對(duì)AT89S52單片機(jī)進(jìn)行復(fù)位。當(dāng)上電時(shí),C3相當(dāng)于短路,有時(shí)碰到干擾時(shí)會(huì)造成錯(cuò)誤復(fù)位,可在復(fù)位端加個(gè)去耦電容,可以復(fù)位電路更加可靠。</p><p>  圖4.4 按鍵電平復(fù)位

55、電路圖</p><p>  4.5 74HC573芯片連接電路圖與介紹</p><p>  圖4.5 74HC573芯片連接電路圖</p><p>  74HC573 跟74LS573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS 輸出兼容的;加上拉電阻,他們能和HC/ALSTTL 輸出兼容。當(dāng)鎖存使能端為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)

56、鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。輸出能直接接到CMOS,NMOS 和TTL 接口上操作電壓范圍:2.0V~6.0V,低輸入電流:1.0uA,CMOS 器件的高噪聲抵抗特性。管腳功能圖:</p><p><b>  管腳功能圖</b></p><p>  74HC573功能表</p><p>  74HC573邏輯圖&l

57、t;/p><p><b>  5、主程序設(shè)計(jì)思路</b></p><p>  5.1 程序流程框圖</p><p>  系統(tǒng)軟件采用匯編語(yǔ)言編寫,按照模塊化的設(shè)計(jì)思路設(shè)計(jì)程序。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)可靜態(tài)顯示、動(dòng)態(tài)顯示、三維立體顯示。通過按鍵控制程序選擇不同的顯示程序進(jìn)行顯示。</p><p>  圖5.1

58、主程序流程圖</p><p>  程序開始時(shí)首先必須對(duì)單片機(jī)進(jìn)行初始化設(shè)置,其中初始化設(shè)置的內(nèi)容包括:中斷優(yōu)先級(jí)的設(shè)定,中斷初始化,定時(shí)器初始化,串行通信時(shí)通信方式的選擇和波特率的設(shè)定,各IO口功能的設(shè)定等。把各子程序?qū)憺橐粋€(gè)可單獨(dú)執(zhí)行的完整子程序段。各子程序編譯沒有錯(cuò)誤后再下載到單片機(jī)進(jìn)行仿真驗(yàn)證,這兩項(xiàng)都通過后再將所有的程序整合到一起,形成一個(gè)完整的程序再進(jìn)行編譯和仿真驗(yàn)證。</p><p

59、>  5.2 顯示程序的設(shè)計(jì)</p><p>  5.2.1 LED顯示屏的數(shù)據(jù)傳送</p><p>  動(dòng)態(tài)掃描顯示是把整個(gè)LED屏幕分成若干部分,每一幅畫面顯示過程是顯示完一部分后,又顯示第二部分……直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進(jìn)行。在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的靜態(tài)畫面。也就是說采用動(dòng)態(tài)掃描顯示需要不斷進(jìn)行畫面的刷新。動(dòng)態(tài)掃描分為

60、行掃描和列掃描,兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。先選通列然后再?gòu)男兴腿雽?duì)應(yīng)列的數(shù)據(jù),這樣從第1列到第8列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時(shí)特性就可以看見一幅穩(wěn)定的畫面。</p><p>  5.2.2 顯示程序的設(shè)計(jì)</p><p>  顯示采用的是掃描顯示方式,選通一列后按照列對(duì)應(yīng)的數(shù)據(jù)表的數(shù)據(jù)第i列對(duì)應(yīng)的列數(shù)據(jù)為數(shù)組中的第i和第i+7個(gè)元素。將對(duì)應(yīng)數(shù)據(jù)由低

61、至高位依次從控制端口輸出顯示。向右邏輯移位所得結(jié)果通過單片機(jī)端口輸出到鎖存器,通過片選需要顯示對(duì)應(yīng)的鎖存器在輸出顯示。如此依次循環(huán)選通各列來顯示所需畫面。</p><p>  動(dòng)態(tài)顯示程序流程圖見5.2.2。把顯示的數(shù)據(jù)送到P0口,相應(yīng)的鎖存器接收數(shù)據(jù),再把片選鎖存器的數(shù)據(jù)送到端口,相應(yīng)鎖存器接收數(shù)據(jù)并鎖存輸出顯示,接著把下一組數(shù)據(jù)送到P0口,改變片選鎖存器的數(shù)據(jù),送到相應(yīng)鎖存器輸出顯示,直到把所有的數(shù)據(jù)局輸出傳

62、送完畢后,顯示完成后,退出顯示程序,等待指令。輸出形式多種多樣,可以靜態(tài)輸出圖案,也可以動(dòng)態(tài)、左移、右移、循環(huán)等花樣顯示。</p><p>  圖5.2.2 顯示程序流程圖</p><p><b>  6、硬件電路設(shè)計(jì)</b></p><p>  6.1 單片機(jī)與74HC573連接線路圖</p><p>  首先在po

63、rter平臺(tái)里畫出單片機(jī)AT89S52與芯片74HC573的連接圖,變換成PCB圖,轉(zhuǎn)印在PCB板上面,然后再根據(jù)圖把各個(gè)元器件焊接上去。但考慮到PCB板太小,不能滿足燈座的占地面積,所以把PCB板重新固定在20*22的萬(wàn)能板上。如圖5.1所示。</p><p>  圖6.1 單片機(jī)與74HC573連接線路圖</p><p>  6.2 LED燈焊接方法 </p><

64、p>  6.2.1 焊接前準(zhǔn)備工作 </p><p>  準(zhǔn)備好烙鐵、焊錫絲、鉗子等工具,以及LED。LED的正負(fù)極很好判別,長(zhǎng)的引腳為+,短的為-。LED最好選用直徑3mm的LED,推薦選綠色。長(zhǎng)腳的LED可以省很多工作量。實(shí)際測(cè)量長(zhǎng)腳是29mm,短腳為27mm,由于LED光立方板子燈的間距決定了,每個(gè)LED的間距是20mm。這樣長(zhǎng)短引腳都符合這個(gè)尺寸。由于所有LED框架焊接好后,一旦有LED損壞更換難

65、度很大,所以焊接前要測(cè)試所有LED,用一般數(shù)字顯示萬(wàn)用表打到二極管量程,用萬(wàn)用表紅表筆接長(zhǎng)引腳,黑的接短引腳。LED正常發(fā)光并且亮度基本一致,這樣的LED就是好的,否則是壞燈。如果為了確保可靠也可以焊接好一層后測(cè)試LED是否能點(diǎn)亮。</p><p><b>  6.2.2 焊接 </b></p><p>  將8個(gè)LED焊接為一組,可以通過2種方法完成。</p&

66、gt;<p>  方法一:需要用鉗子將LED的正極扭彎,這個(gè)彎,一定要小,正好露出LED外圍打彎正合適,LED的正極折彎后留下的引腳長(zhǎng)度必須大于LED的間距20mm,以確保有足夠的重合位LED燈腳全部折好后,就可以焊接了,為了方便焊接可以在萬(wàn)能板上面鉆幾個(gè)2mm的孔,間距為 8個(gè)洞洞置以便焊接。焊接細(xì)節(jié),將一個(gè)LED正極的引腳靠近到另一個(gè)LED正極的打彎處,然后上焊錫焊接,焊接要光亮可靠,有一定機(jī)械強(qiáng)度。這樣將全部LED焊

67、接成8個(gè)一組的LED燈排待用。焊接時(shí)避免用過多助焊劑,要不會(huì)粘到LED表面,影響外觀。焊機(jī)避免正負(fù)2極短路。注意每一層的二極管都是共陰的。</p><p>  方法二:需要借助一個(gè)工藝設(shè)備,這個(gè)東西可以自己動(dòng)手制作,用這個(gè)輔助焊接當(dāng)然要容易些。焊接方法也是一樣的,將一個(gè)LED正極的引腳靠近到另一個(gè)LED正極的打彎處,然后上焊錫焊接,焊接要光亮可靠,有一定機(jī)械強(qiáng)度。這樣將全部LED焊接成8個(gè)一組的LED燈排待用。焊

68、接小經(jīng)驗(yàn),由于LED燈腳有一定彈性,一個(gè)LED的引腳靠近到另一個(gè)LED正極的打彎處時(shí),一松手就又彈遠(yuǎn)了,所以建議焊接時(shí)多掰一點(diǎn),掰過了之后利用彈性將兩個(gè)要焊接的引腳 靠進(jìn),這樣焊接會(huì)容易許多。如圖6.2.2所示。</p><p>  圖6.2.2 燈焊接模具</p><p><b>  6.3整體實(shí)物圖</b></p><p>  整個(gè)光立方

69、的連接是用排線和杜邦線連接而成,這樣方便拆和安裝,但過程比較繁瑣,也很容易出錯(cuò)誤,有事也會(huì)產(chǎn)生接觸不良。整體圖如圖6.3.1和圖6.3.2所示。</p><p>  圖6.3.1 排線和杜邦線連接圖</p><p>  6.3.2 整體實(shí)物圖</p><p>  7 程序設(shè)計(jì)的選擇與分析</p><p>  作為一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,C語(yǔ)

70、言的特點(diǎn)就是可以使你盡量少地對(duì)硬件進(jìn)行操作,具有很強(qiáng)的功能性、結(jié)構(gòu)性和可移植性,常常被優(yōu)選作為單片機(jī)系統(tǒng)的編程語(yǔ)言。但是基于單片機(jī)的C語(yǔ)言和標(biāo)準(zhǔn)C語(yǔ)言有很大區(qū)別,如何結(jié)合單片機(jī)的系統(tǒng)資源,用C語(yǔ)言開發(fā)符合實(shí)際工程需要的單片機(jī)系統(tǒng),對(duì)用編程者來說具有十分重要的意義。</p><p>  7.1單片機(jī)C語(yǔ)言主要特點(diǎn) 用C 編寫程序比匯編更符合人們的思考習(xí)慣,開發(fā)者可以擺脫與硬件無(wú)必要的接觸,更專心的考慮功能和

71、算法而不是考慮一些細(xì)節(jié)問題,這樣就減少了開發(fā)和調(diào)試的時(shí)間。C語(yǔ)言具有良好的程序結(jié)構(gòu),適用于模塊化程序設(shè)計(jì),因此采用C語(yǔ)言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),首先要盡可能地采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,將功能模塊化,由不同的模塊完成不同的功能[1],這樣可使整個(gè)應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),對(duì)于一些要重復(fù)調(diào)用的程序一般把其編成函數(shù),這樣可以減少程序代碼的長(zhǎng)度,又便于整個(gè)程序的管理,還可增強(qiáng)可讀性

72、和移植性。在實(shí)際單片機(jī)程序設(shè)計(jì)中,程序結(jié)構(gòu)一般均采用如下結(jié)構(gòu):#include<reg52.h> /*頭文件說明部份*/unsigned char x1,x2; /*全局變量聲明部份*/…Function1(… ){ /*功能函數(shù)定義部份*/……}main()</p><p>  { inti,j; /* 整型變量聲明部份*/ Function

73、1(…); /* 功能函數(shù)說明部份*/……}</p><p>  7.2 單片機(jī)C語(yǔ)言與標(biāo)準(zhǔn)C語(yǔ)言的區(qū)別 由于現(xiàn)在越來越多的產(chǎn)品都采用單片機(jī)開發(fā),所完成的計(jì)算和控制工作也日趨復(fù)雜,但是單片機(jī)系統(tǒng)是一種資源十分有限的系統(tǒng),這主要表現(xiàn)在程序存儲(chǔ)器資源的不足,因此在程序設(shè)計(jì)時(shí)如何使用好這些有限的資源就顯得十分重要。用C語(yǔ)言編程雖然具有許多的優(yōu)點(diǎn),但是生成的代碼相對(duì)要長(zhǎng),要是編程技術(shù)不好,生成的代碼甚至有可能

74、比匯編語(yǔ)言生成的代碼長(zhǎng)幾倍,因此對(duì)編程者來說,應(yīng)該注意到單片機(jī)C語(yǔ)言和一般意義上的標(biāo)準(zhǔn)C語(yǔ)言的區(qū)別,對(duì)程序進(jìn)行適當(dāng)?shù)膬?yōu)化。7.3 數(shù)據(jù)類型的選用 單片機(jī)C語(yǔ)言編程不同于一般的C語(yǔ)言編程的顯著的一個(gè)特點(diǎn),就是要和程序存儲(chǔ)器資源結(jié)合起來,雖然其提供的數(shù)據(jù)據(jù)類型十分豐富,但是只有bit和char等數(shù)據(jù)類型是是機(jī)器語(yǔ)言直接支持的數(shù)據(jù)類型,用此類數(shù)據(jù)類型的語(yǔ)句所生成的代碼較短;而其它的數(shù)據(jù)類型如整型、浮點(diǎn)型等數(shù)據(jù)要有一定的內(nèi)部程序或內(nèi)

75、部函數(shù)的支持,相對(duì)來說用該類數(shù)據(jù)類型的語(yǔ)句生成的代碼要長(zhǎng)。有些C語(yǔ)言程序表面上看起來十分的簡(jiǎn)單,但在在實(shí)際編譯時(shí),生成的代碼卻相當(dāng)長(zhǎng)。因此我們要按照實(shí)際需要,合理地選用數(shù)據(jù),可以大大的減少所生成的代碼長(zhǎng)度。例如在</p><p>  通過表1我們知道,不同的數(shù)據(jù)類型所生成的機(jī)器代碼長(zhǎng)度相差很多,相同類型的數(shù)據(jù)類型有無(wú)符號(hào)對(duì)機(jī)器代碼長(zhǎng)度也有影響。在程序編譯時(shí)生成機(jī)器代碼長(zhǎng)的數(shù)據(jù)類型的優(yōu)先級(jí)越高,不同的數(shù)據(jù)類型在進(jìn)行

76、程序運(yùn)算時(shí)要轉(zhuǎn)化為高優(yōu)先級(jí)的的數(shù)據(jù)類型,相應(yīng)的代碼長(zhǎng)度也會(huì)增長(zhǎng)[2]。因此我們應(yīng)盡可能地使用bit,char等機(jī)器語(yǔ)言直接支持的數(shù)據(jù)類型,無(wú)符號(hào)數(shù)的變量應(yīng)聲明為無(wú)符號(hào)數(shù),盡可能地減少程序中使用的數(shù)據(jù)類型的種類。7.4算法設(shè)計(jì)問題 單片機(jī)C語(yǔ)言和標(biāo)準(zhǔn)C語(yǔ)言存在著很大差別,在計(jì)算機(jī)上進(jìn)行C語(yǔ)言程序設(shè)計(jì)時(shí)由于不必考慮程序代碼的長(zhǎng)短,只需考慮程序功能實(shí)現(xiàn),但是在單片機(jī)上進(jìn)行C語(yǔ)言程序設(shè)計(jì)就必須考慮系統(tǒng)的硬件資源。有時(shí)并不是程序的算法越

77、簡(jiǎn)單、長(zhǎng)度越短越好,因?yàn)橛幸恍┧惴ㄒ{(diào)用一些內(nèi)部的子程序和函數(shù),生成的機(jī)器代碼長(zhǎng)度非常長(zhǎng)。不同的算法對(duì)程序代碼長(zhǎng)度影響十分大,因此在進(jìn)行程序設(shè)計(jì)時(shí),就盡量采用程序生成代碼短的算法,在不影響程序功能實(shí)現(xiàn)的情況下可以采用一些優(yōu)化算法[2]。 在單片機(jī)C語(yǔ)言編譯成機(jī)器代碼時(shí),不同的運(yùn)算生成的機(jī)器代碼的長(zhǎng)度相差很大,盡可能地減少程序中對(duì)某種數(shù)據(jù)類型的運(yùn)算種類,越復(fù)雜的數(shù)據(jù)類型</p><p>  7.5 數(shù)據(jù)存儲(chǔ)

78、器的分配 單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM只有幾百字節(jié),如果擴(kuò)展外部存儲(chǔ)器RAM來提高數(shù)據(jù)存儲(chǔ)量話必將會(huì)增加了硬件成本,使系統(tǒng)更加的復(fù)雜,訪問外部存儲(chǔ)器比訪問內(nèi)部存儲(chǔ)器所需的代碼也要長(zhǎng)得多。有效地使用片內(nèi)存儲(chǔ)器、提高存儲(chǔ)器空間的利用率對(duì)開發(fā)者來說十分關(guān)鍵。 內(nèi)部處理器、內(nèi)部堆棧、壓縮棧、所有程序變量和所有包含進(jìn)來的庫(kù)函數(shù)都將使用數(shù)量有限的內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM。因?yàn)镃語(yǔ)言采用了存儲(chǔ)器的覆蓋技術(shù)[2],可以在程序進(jìn)行連接時(shí),它將那

79、些已經(jīng)被其它程序段釋放了的存儲(chǔ)器空間重新定義給另一個(gè)程序段的變量使用,當(dāng)這個(gè)程序運(yùn)行結(jié)束時(shí)再將這些存儲(chǔ)器釋放以供其它程序段使用。全局變量的作用范圍是整個(gè)程序,因此不能被釋放;靜態(tài)變量由于在函數(shù)的調(diào)用中專用不變,也不能被釋放;只有局部變量中的動(dòng)態(tài)變量可以被釋放。 因此在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)該盡量的使用局部變量,提高內(nèi)部數(shù)據(jù)存儲(chǔ)器的使用率。在C語(yǔ)言中程序中間結(jié)果及參數(shù)傳傳遞是通過內(nèi)部的寄存器來完成的,要是內(nèi)部的存儲(chǔ)器不夠,將會(huì)給你的程序

80、帶來許多莫名其妙的錯(cuò)誤。例如在進(jìn)行程序設(shè)計(jì)時(shí)語(yǔ)句不應(yīng)該太長(zhǎng),一個(gè)長(zhǎng)語(yǔ)句可以分成多個(gè)語(yǔ)句,這樣的話可以大的</p><p>  7.6 單片機(jī)C語(yǔ)言與匯編語(yǔ)言的混合編程 在絕大多數(shù)場(chǎng)合采用C語(yǔ)言編程即可完成預(yù)期的目的,但是對(duì)實(shí)時(shí)時(shí)鐘系統(tǒng)、要求執(zhí)行效率高的的系統(tǒng)就不適合采用C語(yǔ)言編程,對(duì)這些特殊情況進(jìn)行編程時(shí)要結(jié)合匯編語(yǔ)言。匯編語(yǔ)言具有直接和硬件打道、執(zhí)行代碼的效率高等特點(diǎn),可以做到C語(yǔ)言所不能做到的一些

81、事情,例如對(duì)時(shí)鐘要求很嚴(yán)格時(shí),使用匯編語(yǔ)言成了唯一的選擇。這種混合編程[2]的方法將C語(yǔ)言和匯編語(yǔ)言的優(yōu)點(diǎn)結(jié)合起來,已經(jīng)成為目前單片機(jī)開發(fā)最流行的編程方法。 目前大多數(shù)據(jù)單片機(jī)系統(tǒng),在C語(yǔ)言中使用匯編語(yǔ)言有兩種情況:一種是匯編程序部分和C程序部分為不同的模塊,或不同的文件,通常由C程序調(diào)用匯編程序模塊的變量和函數(shù)(也可稱為子程序或過程);另一種是嵌入式匯編,即在C語(yǔ)言程序中嵌入一段匯編語(yǔ)言程序。 當(dāng)匯編程序和C程序?yàn)椴煌?/p>

82、模塊時(shí)程序一般可分為若于個(gè)C程序模塊和匯編程序模塊,C程序模塊通常是程序的主體框架,而匯編程序模塊通常由用C語(yǔ)言實(shí)現(xiàn)效率不高的函數(shù)組成,也可以是已經(jīng)成熟的、沒有必要再轉(zhuǎn)化成C語(yǔ)言的匯編子程序。在這種混合編程技術(shù)中,關(guān)鍵是參數(shù)的傳遞和函數(shù)的返回值。它們必須有完整的約定,否</p><p>  7.7 程序分析選擇 C語(yǔ)言具有很強(qiáng)的功能性和結(jié)構(gòu)性,可以縮短單片機(jī)控制系統(tǒng)的開發(fā)周期,而且易于調(diào)試和維護(hù),已經(jīng)成為

83、目前單片機(jī)語(yǔ)言中最流行的編程語(yǔ)言。所以本設(shè)計(jì)選取C語(yǔ)言作為編輯語(yǔ)言。</p><p><b>  8程序設(shè)計(jì)</b></p><p>  #include<reg52.h> </p><p>  #define uint unsigned int </p><p>  #define uchar unsig

84、ned char</p><p>  uchar_ceng[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};</p><p>  uchar table_erwei[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};</p><p>  uchar LED_A[]={0x00, 0x7E,

85、 0x88, 0x88, 0x88, 0x88, 0x7E, 0x00};</p><p>  uchar LED_B[]={0x00, 0x6C, 0x92, 0x92, 0x92, 0x92, 0xFE, 0x00};</p><p>  uchar LED_C[]={0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00};</p>

86、<p>  uchar LED_D[]={0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0xFE, 0x00};</p><p>  void delay(uint z);</p><p>  void erwei();</p><p>  void ceng();</p><p>  void juxi

87、ng();</p><p>  void LEDA();</p><p>  void LEDB();</p><p>  void LEDC();</p><p>  void LEDD();</p><p>  void main() </p><p><b>  { </b

88、></p><p><b>  while(1) </b></p><p><b>  { </b></p><p><b>  ceng();</b></p><p>  delay(200);</p><p><b>  erwei(

89、);</b></p><p>  delay(200);</p><p><b>  LEDA();</b></p><p>  delay(200);</p><p><b>  }} </b></p><p>  void delay(uint z) <

90、/p><p>  { uchar x,y; </p><p>  for(x=0;x<z;x++) </p><p>  for(y=0;y<121;y++); </p><p><b>  }</b></p><p>  void erwei() </p><p&

91、gt;<b>  { uint a;</b></p><p>  P2=0xFF;P0=0xFF;</p><p>  for(a=0;a<8;a++)</p><p>  { P1=table_erwei[a];</p><p>  delay(200);delay(200);</p><p

92、><b>  }</b></p><p>  for(a=8;a>0;a--)</p><p><b>  {</b></p><p>  P1=table_erwei[a];</p><p>  delay(200);delay(200);</p><p>&l

93、t;b>  }</b></p><p><b>  }</b></p><p>  void ceng()</p><p>  { uint i; </p><p>  P2=0xFF;P0=0xFF; </p><p>  for(i=0;i<8;i++)</p&

94、gt;<p>  { P1=uchar_ceng[i];</p><p>  delay(200);</p><p>  delay(200);</p><p>  delay(200); </p><p><b>  }</b></p><p>  for(i=7;i>0;

95、i--)</p><p>  { P1=uchar_ceng[i];</p><p>  delay(200);</p><p>  delay(200);</p><p>  delay(200);</p><p><b>  } </b></p><p><b&

96、gt;  } </b></p><p>  void LEDA()</p><p><b>  { uint b;</b></p><p><b>  P1=0XFF;</b></p><p><b>  P2=0XFF;</b></p><p&

97、gt;  for(b=0;b<8;b++)</p><p><b>  { </b></p><p>  P0=LED_A[b];</p><p>  delay(200); </p><p><b>  }</b></p><p><b>  }</b

98、></p><p><b>  9 設(shè)計(jì)結(jié)果分析</b></p><p>  本次光立方的設(shè)計(jì),主要控制電路是采用雙面附銅板,燈座是用萬(wàn)能板焊接而成。因?yàn)榭紤]在作圖是的方面,設(shè)想完全采用排線和杜邦線將整個(gè)電路連接。而事實(shí)在實(shí)際的操作過程中,產(chǎn)生很多的問題。最主要的問題,就是將已經(jīng)連接好的電路運(yùn)行時(shí),只要光立方有觸動(dòng),運(yùn)行就會(huì)出現(xiàn)亂碼。因?yàn)樵谶B線的接觸點(diǎn)有接觸不良

99、的問題產(chǎn)生,而這也是避免不了的。這就是用外界線連接電路的最大弊端。</p><p>  采用排線和杜邦線連接整個(gè)電路有很大的弊端。但是,用porter99SE作圖時(shí),簡(jiǎn)單方便很多,大大節(jié)省的作圖時(shí)間。而且,在拆取過程和組裝過程也很方便。</p><p><b>  總 結(jié)</b></p><p>  畢業(yè)設(shè)計(jì)是學(xué)生即將完成學(xué)業(yè)的最后一個(gè)重要環(huán)

100、節(jié),它既是對(duì)學(xué)校所學(xué)知識(shí)的全面總結(jié)和綜合應(yīng)用,又為今后走向社會(huì)的實(shí)際操作應(yīng)用鑄就了一個(gè)良好的開端。所以在此有必要對(duì)這次的畢業(yè)設(shè)計(jì)作一個(gè)系統(tǒng)的總結(jié),說一說自己內(nèi)心的想法。</p><p>  這次畢業(yè)設(shè)計(jì),我選擇了實(shí)做的題目:基于單片機(jī)的8*8*8*的光立方的設(shè)計(jì)。本次設(shè)計(jì)達(dá)設(shè)計(jì)預(yù)期要求:LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和簡(jiǎn)單的文字,而且顯示圖形和文字顯示穩(wěn)定、清晰無(wú)串?dāng)_。圖形或文字顯示有靜止、移入移出等

101、顯示方式。</p><p>  本次畢業(yè)設(shè)計(jì)不僅是對(duì)我的一種鍛煉,也是對(duì)我大學(xué)年所學(xué)知識(shí)的綜合檢查。從開始設(shè)計(jì)到設(shè)計(jì)的完成,我感覺收獲很多,不僅在理論上有了很大的升華,并且還在實(shí)踐中鍛煉了自己。使自己成長(zhǎng)了許多。</p><p>  本文首先對(duì)整個(gè)系統(tǒng)的工作原理和實(shí)現(xiàn)方法進(jìn)行了簡(jiǎn)單的介紹,給出了系統(tǒng)工作的整體框圖。在此基礎(chǔ)上,介紹了系統(tǒng)設(shè)計(jì)用到的各個(gè)模塊的功能特性,并進(jìn)性了方案比較,選擇出

102、了最優(yōu)越的方案。在理論上對(duì)整個(gè)系統(tǒng)有一定了解的情況下,進(jìn)行了系統(tǒng)模塊的電路的設(shè)計(jì),充分利用各方面的資料,發(fā)揮我所學(xué)的特長(zhǎng)。整個(gè)系統(tǒng)的開發(fā)過程是曲折的,首先在硬件設(shè)計(jì)上,由于以前所學(xué)課程有一定的基礎(chǔ),我多方查閱資料,不斷的向老師、同學(xué)學(xué)習(xí)請(qǐng)教,以確保設(shè)計(jì)的電路系統(tǒng)完整,并能實(shí)現(xiàn)最完美的系統(tǒng)功能。經(jīng)過幾個(gè)月學(xué)習(xí),我設(shè)計(jì)出了各個(gè)部分模塊的電路圖,并實(shí)現(xiàn)了電路圖的組合。經(jīng)過測(cè)試與修改,與指導(dǎo)老師最終完善了硬件電路的設(shè)計(jì),并能夠比較理想的完成本次

103、畢業(yè)設(shè)計(jì)功能。</p><p>  在完成畢業(yè)設(shè)計(jì)的過程中也存在一些問題:沒有考慮仿真軟件是一個(gè)理想的仿真環(huán)境,而實(shí)際連接的電路板與仿真現(xiàn)象有差異。譬如連接不當(dāng),驅(qū)動(dòng)能力不強(qiáng),相鄰器件間的干擾等問題會(huì)導(dǎo)致在仿真軟件中能良好運(yùn)行的程序,出現(xiàn)顯示問題,經(jīng)過排查和合理的器件擺放焊接,問題解決。</p><p>  對(duì)于軟件設(shè)計(jì),因?yàn)橐郧暗木幊探?jīng)驗(yàn)不夠,因此,在這方面花費(fèi)了很多的精力和時(shí)間。盡管過

104、程很艱難,但是在真正意義上學(xué)到了知識(shí),為以后的工作和學(xué)習(xí)積累了寶貴的經(jīng)驗(yàn)。</p><p>  總體來說這次的畢業(yè)設(shè)計(jì)很成功,達(dá)到了預(yù)期的設(shè)計(jì)要求。不僅學(xué)到了許多課本上學(xué)不到的知識(shí),提高了自己動(dòng)手動(dòng)腦的能力,豐富了創(chuàng)新和創(chuàng)造的思維。有點(diǎn)缺憾是時(shí)間有限,不能進(jìn)一步深入和擴(kuò)散學(xué)習(xí)和研究。希望有時(shí)間可以對(duì)程序和電路圖作更進(jìn)一步的改進(jìn),譬如實(shí)現(xiàn)顯示圖案的上下移動(dòng),對(duì)角線移動(dòng),三色顯示等。在研制過程中注重先進(jìn)、適用的原則,

105、注重科技與應(yīng)用結(jié)合,來用產(chǎn)、學(xué)、研結(jié)合,側(cè)重于科研技術(shù)轉(zhuǎn)化為生產(chǎn)力。本系統(tǒng)經(jīng)過了設(shè)計(jì)階段、開發(fā)實(shí)現(xiàn)階段以及最后的應(yīng)用測(cè)試階段。經(jīng)過1個(gè)月的努力,核心問題已經(jīng)全部解決,所有功能均已基本實(shí)現(xiàn),只是在通用性上還有待提高。這次畢業(yè)設(shè)計(jì)的經(jīng)歷使我對(duì)52單片機(jī)的一些特征、性能,以及應(yīng)用及原理有了深刻的了解,真正做到了學(xué)有所得、學(xué)有所用,可以說獲益匪淺。</p><p>  但是,總的說來,由于我在理論和實(shí)踐方面存在一定的不足

106、,所以在設(shè)計(jì)思路和實(shí)現(xiàn)功能上難免有不足之處,請(qǐng)各位老師多多批評(píng)指正。</p><p>  設(shè)計(jì)結(jié)束了,但學(xué)習(xí)仍在繼續(xù)。從這次的畢業(yè)論文設(shè)計(jì)中,我真正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。我們電子專業(yè)的學(xué)習(xí)更是如此,不僅要有豐富的理論知識(shí),還要有很強(qiáng)的動(dòng)手能力,只有理論與實(shí)踐并重,專業(yè)水平才能提高,這就是在這次畢業(yè)設(shè)計(jì)中的最大收獲。在今后的人生中,不斷

107、對(duì)自己所學(xué)的知識(shí)進(jìn)行更新,進(jìn)行補(bǔ)充。</p><p><b>  致 謝</b></p><p>  在論文即將完成之際,我首先向關(guān)心、幫助、指導(dǎo)我的導(dǎo)師——萬(wàn)系杰老師表示衷心的感謝并致以崇高的敬意! </p><p>  在這三年的大學(xué)學(xué)習(xí)生涯中,我的人生步伐一直向前,在學(xué)習(xí)上和思想上,以及動(dòng)手能力上都受益匪淺,這除了自身的努力外與電子辦公

108、室的各位老師的辛勤幫助、熱心鼓舞、積極開導(dǎo)是分不開的。謹(jǐn)向各位老師們致以衷心的感謝和崇高的敬意!本課題在選題及設(shè)計(jì)過程中一直得到萬(wàn)老師的悉心指導(dǎo)。萬(wàn)老師曾多次為我指點(diǎn)迷津,幫助我開拓設(shè)計(jì)思路,精心點(diǎn)撥、熱忱鼓勵(lì)。萬(wàn)老師以其淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的工作作風(fēng)和他敏捷的思維、飽滿的工作熱情以及對(duì)我的耐心指導(dǎo)和嚴(yán)格要求給我留下了深刻的印象,使我在理論和實(shí)際應(yīng)用兩方面的能力都得到了很大的提高,使我受益匪淺。萬(wàn)老師治學(xué)嚴(yán)謹(jǐn)、待人誠(chéng)懇,他高

109、屋建瓴的學(xué)術(shù)眼光、對(duì)事業(yè)孜孜不倦地追求和勤奮不輟的精神將使我終生受益,是我終生學(xué)習(xí)的榜樣,在此向恩師致以最誠(chéng)摯的謝意。</p><p>  在此,我還要感謝在一起設(shè)計(jì)討論的同學(xué),正是由于你們的幫助和支持,我才能克服一個(gè)又一個(gè)的困難和疑惑,直至本設(shè)計(jì)的順利完成。感謝你們給予我的幫助并且對(duì)于我提出的任何難題都給予熱心、耐心的解答,使我受益頗深。</p><p>  最后,我要向在百忙之中抽時(shí)間

110、對(duì)本文進(jìn)行審閱、評(píng)議的老師表示感謝!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 關(guān)積珍.LED顯示屏發(fā)展?fàn)顩r及趨勢(shì)[J].世界電子元器件。</p><p>  [2] 關(guān)積珍,陸家和我國(guó)LED顯示屏技術(shù)和產(chǎn)業(yè)發(fā)展及展望。</p><p>  [3] Jeyamkondan S,Jayas

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論