版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 電氣信息學(xué)院</b></p><p> 單片機(jī)技術(shù)課程設(shè)計(jì)報(bào)告</p><p> 課題名稱 彩燈控制器的設(shè)計(jì) </p><p> 2012年6月12日至6月19日</p><p><b> 摘 要</b></p><p&g
2、t; 本文介紹了一種簡(jiǎn)易LED彩燈控制系統(tǒng)的軟硬件設(shè)計(jì)過(guò)程,本方案以AT89C51單片機(jī)作為主控核心,按鍵控制電路、彩燈顯示電路以及單片機(jī)最小系統(tǒng)等模塊組成的核心主控制電路。利用軟件編程燒錄程序到單片機(jī)來(lái)實(shí)現(xiàn)對(duì)LED彩燈進(jìn)行控制,本系統(tǒng)亮燈模式多,用戶根據(jù)操作提示可以隨意變換想要的閃爍方式和控制彩燈的閃爍頻率,還可以全自動(dòng)運(yùn)行。系統(tǒng)利用匯編語(yǔ)言開發(fā),并在軟硬件設(shè)計(jì)中分別使用了Proteus 、keilC51開發(fā)平臺(tái)。本系統(tǒng)具有電路結(jié)構(gòu)
3、簡(jiǎn)單、易操作、硬件少、體積小、成本低、低能耗等優(yōu)點(diǎn),具有一定的實(shí)用和參考價(jià)值。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī);LED彩燈;匯編語(yǔ)言;Proteus;keilC51;</p><p><b> 目 錄</b></p><p> 第1章 設(shè)計(jì)任務(wù)1</p><p> 第2章 設(shè)計(jì)方案2</p>
4、<p> 2.1 設(shè)計(jì)方案2</p><p> 2.2 方案選擇3</p><p> 第3章 硬件設(shè)計(jì)4</p><p> 3.1 直流穩(wěn)壓電源電路4</p><p> 3.2 單片機(jī)最小系統(tǒng)4</p><p> 3.3 LED彩燈顯示電路5</p><p>
5、 3.4 按鍵控制電路6</p><p> 第4章 軟件設(shè)計(jì)8</p><p> 4.1 主程序設(shè)計(jì)8</p><p> 4.2 自動(dòng)模式程序設(shè)計(jì)9</p><p> 4.3 延時(shí)程序設(shè)計(jì)10</p><p> 4.3 中斷子程序設(shè)計(jì)10</p><p> 第5章 仿
6、真與性能分析11</p><p> 5.1 系統(tǒng)仿真過(guò)程11</p><p> 5.2 仿真結(jié)果與分析12</p><p> 第6章 設(shè)計(jì)小結(jié)15</p><p><b> 參考文獻(xiàn)16</b></p><p> 附錄1 LED彩燈控制系統(tǒng)仿真電路圖17</p&g
7、t;<p> 附錄2 LED彩燈彩燈控制程序代碼18</p><p><b> 第1章 設(shè)計(jì)任務(wù)</b></p><p> 當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一
8、,它所給人帶來(lái)的方便也是不可否定的。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說(shuō),智能控制與自動(dòng)控制的核心就是單片機(jī)。</p><p> LED彩燈由于其豐富的燈光色彩,低廉的造價(jià)以及控制簡(jiǎn)單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來(lái)裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。但目前市場(chǎng)上各式樣的LED彩燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場(chǎng)
9、合、不同時(shí)間段的需要來(lái)調(diào)節(jié)亮燈時(shí)間、模式、閃爍頻率等動(dòng)態(tài)參數(shù)。這種彩燈控制器結(jié)構(gòu)往往有芯片過(guò)多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響彩燈效果,因此有必要對(duì)現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。</p><p><b> 1. 基本要求</b></p><p> 用16盞以上的LED小燈,實(shí)現(xiàn)至少4種彩燈燈光效果(不含全
10、部點(diǎn)亮,全部熄滅;</p><p> 可以用輸入按鈕在幾種燈光效果間切換;</p><p> 可以通過(guò)按鈕暫停彩燈效果,使小燈全亮,再次按下相同按鈕后繼續(xù)之前的效果。</p><p><b> 2. 選做</b></p><p> 增加自動(dòng)在幾種效果間切換的功能,并設(shè)置一個(gè)按鈕可以在自動(dòng)模式和手動(dòng)模式間切換。&l
11、t;/p><p><b> 使用定時(shí)中斷延時(shí)</b></p><p> 實(shí)現(xiàn)其他除1~5中提到的功能(創(chuàng)新部分)</p><p><b> 3. 設(shè)計(jì)提示</b></p><p> LED可以采用共陽(yáng)極或共陰極接法直接接在并行口,也可以用8255擴(kuò)展更多的小燈。</p><p
12、> 多種效果可以放在不同的子程序空間中,主程序通過(guò)散轉(zhuǎn)來(lái)訪問不同的子程序段。</p><p> 暫停效果可用中斷,或定時(shí)掃描實(shí)現(xiàn)。</p><p><b> 第2章 設(shè)計(jì)方案</b></p><p><b> 2.1 設(shè)計(jì)方案</b></p><p> 彩燈控制器大致可分為兩種方案
13、實(shí)現(xiàn)。一種是利用電子電路裝置控制,另一種是采用單片機(jī)控制。</p><p><b> 方案一:</b></p><p> 根據(jù)設(shè)計(jì)任務(wù)要求介紹的彩燈控制電路的基本組成,可以確定彩燈控制器應(yīng)由振蕩電路、計(jì)數(shù)/時(shí)序分配電路、移位位寄存器和彩燈顯示五部分組成。其框圖如圖1所示。</p><p><b> 方案二:</b>&
14、lt;/p><p> 本方案主要是通過(guò)對(duì)基于單片機(jī)的多控制、多閃爍方式的LED彩燈循環(huán)系統(tǒng)的設(shè)計(jì),來(lái)達(dá)到本設(shè)計(jì)的要求。其硬件構(gòu)成框圖如圖2所示,以單片機(jī)為核心控制,由單片機(jī)最小系統(tǒng)(時(shí)鐘電路、復(fù)位電路、電源)、按鍵控制電路、LED發(fā)光二極管和5V直流電源電路組成。</p><p> 圖2 單片機(jī)彩燈循環(huán)控制系統(tǒng)硬件框圖</p><p> 此設(shè)計(jì)方案中單片機(jī)的P1口
15、接7路按鍵控制電路,實(shí)現(xiàn)彩燈花型的切換、自動(dòng)與手動(dòng)的切換及暫停功能;單片機(jī)的P3.7引腳接上一個(gè)按鈕開關(guān)以實(shí)現(xiàn)對(duì)彩燈閃爍頻率的控制,即實(shí)現(xiàn)了快慢兩種節(jié)拍實(shí)現(xiàn)花型的變換;單片機(jī)上的P0和P2口接16路LED發(fā)光二極管組成彩燈電路,顯示彩燈循環(huán)情況。</p><p><b> 2.2 方案選擇</b></p><p> 結(jié)合設(shè)計(jì)任務(wù)書比較以上兩種方案可知:利用電子電路
16、裝置控制,其電路不很復(fù)雜,制作相對(duì)較容易點(diǎn),成本也相對(duì)較低,但可調(diào)性差,亮燈模式少而且樣式單調(diào),達(dá)不到設(shè)計(jì)任務(wù)要求或?qū)崿F(xiàn)困難。采用單片機(jī)控制其優(yōu)點(diǎn)是電路集成度高,工作原理簡(jiǎn)單,清晰明了,自定義編程,控制的圖案花樣多,移植性好等。</p><p> 綜上,顯然方案二各方面優(yōu)越于方案一,以及為了體現(xiàn)專業(yè)優(yōu)勢(shì),本次設(shè)計(jì)采用第二種方案。</p><p><b> 第3章 硬件設(shè)計(jì)&l
17、t;/b></p><p> 3.1 直流穩(wěn)壓電源電路</p><p> 對(duì)于一個(gè)完整的電子設(shè)計(jì)來(lái)講,首要問題就是為整個(gè)系統(tǒng)提供電源供電模塊,電源電路的穩(wěn)定可靠是系統(tǒng)平穩(wěn)運(yùn)行的前提和基礎(chǔ)。電子設(shè)備除用電池供電外,還采用市電(交流電網(wǎng))供電。通過(guò)變壓、整流、濾波和穩(wěn)壓后,得到穩(wěn)定的直流電。直流穩(wěn)壓電源是電子設(shè)備的重要組成部分!本項(xiàng)目直流穩(wěn)壓電源為+5V。如下圖所示:</p&g
18、t;<p> 直流穩(wěn)壓電源的制作一般有3種制作形式,分別是分立元件構(gòu)成的穩(wěn)壓電源、線性集成穩(wěn)壓電源和開關(guān)穩(wěn)壓電源。下圖穩(wěn)壓電源采用的是三端集成穩(wěn)壓器7805構(gòu)成的正5V直流電源。</p><p> 圖3 三端固定式集成穩(wěn)壓電源電路圖</p><p> AT89C51單片機(jī)的工作電壓范圍:4.0V—5.5V,所以通常給單片機(jī)外接5V直流電源。由于時(shí)間關(guān)系,此處用3節(jié)1.5
19、V的干電池供電,在此不在贅述此穩(wěn)壓電源電路圖原理。</p><p> 3.2 單片機(jī)最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)是能夠讓單片機(jī)工作的最小硬件電路。除單片機(jī)外,一般單片機(jī)最小系統(tǒng)包括單片機(jī)的供電電路、時(shí)鐘電路和復(fù)位電路等。單片機(jī)最小系統(tǒng)如下圖4所示。</p><p> 時(shí)鐘電路:為單片機(jī)工作提供基本時(shí)鐘,因?yàn)閱纹瑱C(jī)內(nèi)部由大量的時(shí)序電路構(gòu)成,沒有時(shí)鐘
20、脈沖即“脈搏”的跳動(dòng),各個(gè)部分將無(wú)法工作。本系統(tǒng)采用單片機(jī)內(nèi)部方式產(chǎn)生時(shí)鐘信號(hào),用于外接一個(gè)12MHz石英晶體振蕩器和2個(gè)30pF微調(diào)電容,構(gòu)成穩(wěn)定的的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時(shí)鐘電路。</p><p> 復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程。單片機(jī)系統(tǒng)的復(fù)位方式有上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位。本設(shè)計(jì)采用手動(dòng)按鍵復(fù)位,該復(fù)位方式同樣具有上電自動(dòng)復(fù)位功能。電路如下圖所示。</
21、p><p> 圖4 單片機(jī)最小系統(tǒng)</p><p> 3.3 LED彩燈顯示電路</p><p> LED彩燈顯示電路(如圖所示)實(shí)際上是由16個(gè)發(fā)光二極管和16個(gè)電阻構(gòu)成的電路。發(fā)光二極管與電阻對(duì)應(yīng)串聯(lián),然后接在與之相對(duì)應(yīng)的P0和P2口上。P0口作為通用的I/O接口使用時(shí),需外接10k歐姆的上拉電阻。通過(guò)軟件編程對(duì)P0和P2口輸出高低電平來(lái)實(shí)現(xiàn)不同的閃爍花型。由
22、于發(fā)光二極管的導(dǎo)通電壓一般為1.7V以上,另外,他的工作電流根據(jù)型號(hào)不同一般為1mA到30mA,電阻選擇范圍100歐姆~3千歐姆。在此我們這里選用300歐姆的電阻。</p><p> 在此次課程設(shè)計(jì)中,我設(shè)計(jì)了四種花型:</p><p><b> 花型1:</b></p><p> D1-D2-D3-D4……D14-D15-D16 - D
23、1D5D9D13 - D1D2D5D6D9D10D13D14- D1D2D3D5D6D7D9D10D11D13D14D15-全亮-全滅;</p><p><b> 花型2:</b></p><p> D1-D3-D5……D13-D15-D16-D14-D12……D4-D2-全亮-全滅-全亮-全滅;</p><p><b> 花型
24、3:</b></p><p> D1D9-D2D10-D3D11……D7D15-D8D16-全滅- D1D2D3D4D9D10D11D12- D5D6D7D8D13D14D15D16-全滅;</p><p><b> 花型4:</b></p><p> D1D16 -D2D3D14D15- D4D5D6D11D12D13-全亮
25、-全滅- D8D9-D6D7D10D11- D3D4D5D12D13D14-全亮-全滅;</p><p> 圖5 LED彩燈顯示電路</p><p> 3.4 按鍵控制電路</p><p> 按鍵控制電路(如圖6所示)是由7個(gè)按鍵開關(guān)構(gòu)成的。K1—K5接在P1.0—P1.4,K6接到P3.7,K7接到P3.2引腳。K1—K4實(shí)現(xiàn)一對(duì)一的控制LED燈的閃爍方式,
26、K5實(shí)現(xiàn)自動(dòng)到手動(dòng)的切換,K6控制LED燈的閃爍頻率,K7實(shí)現(xiàn)暫停功能。</p><p><b> 圖6 鍵盤控制電路</b></p><p> 當(dāng)按下開關(guān)K1時(shí), LED彩燈系統(tǒng)閃爍第1種彩燈花型;</p><p> 當(dāng)按下開關(guān)K2時(shí), LED彩燈系統(tǒng)閃爍第2種閃爍方式;</p><p> 當(dāng)按下開關(guān)K3時(shí),
27、LED彩燈第3種方式閃爍;</p><p> 當(dāng)按下開關(guān)K4時(shí), LED彩燈系統(tǒng)閃爍第4種花型;</p><p> 當(dāng)按下開關(guān)K5時(shí), LED彩燈系統(tǒng)按照方式1-方式2-方式3-方式4循環(huán)閃爍,且只要K5是接通的,手動(dòng)按鍵K1- K4均不起作用。只有當(dāng)K5彈起時(shí),才能實(shí)現(xiàn)手動(dòng)控制;</p><p> 當(dāng)按下開關(guān)K6時(shí), LED彩燈將改變閃爍頻率;</p&
28、gt;<p> 當(dāng)按下開關(guān)K7時(shí), LED彩燈系統(tǒng)將暫停運(yùn)行,全部的燈都被點(diǎn)亮;K7彈起后,系統(tǒng)繼續(xù)之前的運(yùn)行狀態(tài)。</p><p><b> 第4章 軟件設(shè)計(jì)</b></p><p> 單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能看到多控制、多閃爍方式的LED燈系統(tǒng)循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要編寫程序控制單片機(jī)管腳電
29、平的高低變化,來(lái)控制發(fā)光二極管的亮滅。軟件編程是多控制、多閃爍方式的LED燈系統(tǒng)中的一個(gè)重要的組成部分,是本設(shè)計(jì)的重點(diǎn)和難點(diǎn)。下面,我將闡述多控制、多閃爍方式的LED燈系統(tǒng)是如何實(shí)現(xiàn)16個(gè)LED燈的循環(huán)點(diǎn)亮,來(lái)介紹實(shí)現(xiàn)流水燈控制的軟件編程方法。</p><p> 本設(shè)計(jì)是以單片機(jī)AT89C51為核心控制16個(gè)發(fā)光二極管4種閃爍方式的變換。硬件電路如圖附錄1所示,16個(gè)發(fā)光二極管D1-D16分別接在單片機(jī)的P0.
30、0-P0.7和P2.0-P2.7接口上。當(dāng)給P0.0口輸出“0”時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)輸出“1”時(shí),發(fā)光二極管熄滅??梢赃\(yùn)用輸出端口指令MOV P0,A或MOV P0,#DATA,只要給累加器值或常數(shù)值,同理,其他15個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED16依次點(diǎn)亮、熄滅,16只LED燈便會(huì)一亮一暗的成流水燈了。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指
31、令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到閃爍效果。</p><p><b> 4.1 主程序設(shè)計(jì)</b></p><p> 主程序設(shè)計(jì)流程如圖7所示。</p><p> 在系統(tǒng)的程序設(shè)計(jì)中,主控模塊只負(fù)責(zé)根據(jù)消息調(diào)用相應(yīng)模塊的處理函數(shù),具體如何處理這些消息由各功能模塊中的對(duì)應(yīng)程序決定。程序啟動(dòng)時(shí)跳轉(zhuǎn)到鍵盤
32、判斷模塊程序中,此程序里面包含K1~K5的按鍵情況判斷,循環(huán)檢測(cè)直到有按鍵按下的時(shí)候,程序轉(zhuǎn)去相對(duì)應(yīng)按鍵的彩燈顯示的花型模塊。</p><p> 對(duì)應(yīng)的主程序代碼如下:</p><p> MAIN:SETB IT0</p><p> SETB EX0</p><p><b> SETB EA</b>
33、</p><p> MOV P1,#0FFH</p><p><b> MOV A,P1</b></p><p> AUTO:JB P1.4,S1</p><p><b> LCALL K1</b></p><p> S1:JB P1.0,S2</p&g
34、t;<p><b> LCALL K1</b></p><p> S2:JB P1.1,S3</p><p><b> LCALL K2</b></p><p> S3:JB P1.2,S4</p><p><b> LCALL K3</b>&l
35、t;/p><p> S4:JB P1.3,MAIN</p><p><b> LCALL K4</b></p><p><b> LJMP MAIN</b></p><p> 4.2 自動(dòng)模式程序設(shè)計(jì)</p><p> 要實(shí)現(xiàn)通過(guò)一個(gè)按鈕在自動(dòng)模式和手動(dòng)模式間切換的
36、功能,首先想到的便是調(diào)用各個(gè)按鍵子程序。但若不對(duì)程序進(jìn)行適當(dāng)?shù)男薷模存I按下后將一直調(diào)用第一個(gè)彩燈顯示子程序,因而只能顯示一種花型,無(wú)法實(shí)現(xiàn)自動(dòng)循環(huán)顯示四種花型。因此,我對(duì)每個(gè)彩燈顯示子程序中都作了一定的修改。</p><p><b> 對(duì)應(yīng)的源代碼如下:</b></p><p><b> K1: ……</b></p>&
37、lt;p> JNB P1.4,K2</p><p><b> LJMP MAIN</b></p><p><b> K2: ……</b></p><p> JNB P1.4,K3</p><p><b> LJMP MAIN</b></p>
38、<p><b> K3: ……</b></p><p> JNB P1.4,K4</p><p><b> LJMP MAIN</b></p><p><b> K4: ……</b></p><p><b> LJMP MAIN<
39、/b></p><p> 如此,當(dāng)自動(dòng)按鍵按下時(shí),系統(tǒng)跳到子程序K1,顯示完第一種花型后,只要按鍵還是按下的,系統(tǒng)便會(huì)跳到子程序K2,顯示第二種花型……以此類推,這樣,便實(shí)現(xiàn)了自動(dòng)模式與手動(dòng)模式間的切換。</p><p> 4.3 延時(shí)程序設(shè)計(jì)</p><p> 由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,在控制二極管亮滅的時(shí)候?yàn)榱丝吹介W爍效
40、果,應(yīng)該延時(shí)一段時(shí)間。</p><p><b> 延時(shí)子程序代碼:</b></p><p> DELAY: JNB P3.7,DE1</p><p> MOV R5,#5</p><p><b> LJMP DE2</b></p><p> DE1: MOV
41、 R5,#10</p><p> DE2 MOV R6,#200</p><p> DE3: MOV R7,#126</p><p> DE4: DJNZ R7,DE4</p><p> DJNZ R6,DE3</p><p> DJNZ R5,DE2</p><
42、p><b> RET</b></p><p> 本文除了實(shí)現(xiàn)基本的延時(shí)功能外,還有通過(guò)按鍵來(lái)選擇不同的閃爍頻率的功能。不接通K6時(shí),P3.7為高電平,延時(shí)時(shí)間為0.5s,當(dāng)K6按下時(shí),P3.7變?yōu)榈碗娖?,延時(shí)時(shí)間為1s,實(shí)現(xiàn)了在不同閃爍頻率間的切換。</p><p> 4.3 中斷子程序設(shè)計(jì)</p><p> 為了實(shí)現(xiàn)暫停功能,需
43、利用單片機(jī)的外部中斷實(shí)現(xiàn)。當(dāng)有中斷請(qǐng)求即K7按下時(shí),系統(tǒng)跳入中斷服務(wù)子程序。在中斷服務(wù)子程序中,首先關(guān)中斷,再將ACC和PSW的值壓入堆棧,實(shí)現(xiàn)現(xiàn)場(chǎng)保護(hù),然后再進(jìn)行中斷處理,即點(diǎn)亮所有的LED彩燈。只要K7是接通的,彩燈就一直點(diǎn)亮,只有當(dāng)取消中斷請(qǐng)求時(shí),系統(tǒng)才能跳轉(zhuǎn)到原來(lái)的程序中繼續(xù)運(yùn)行。</p><p> 中斷服務(wù)子程序代碼:</p><p> INT: CLR EA&l
44、t;/p><p> PUSH ACC</p><p> PUSH PSW</p><p><b> MOV A,R5</b></p><p> PUSH ACC</p><p> LOOP: MOV P0,#00H</p><p> MOV P2,#
45、00H</p><p> JB P3.2,LOOP1</p><p> SJMP LOOP</p><p> LOOP1: MOV P0,#0FFH</p><p> MOV P2,#0FFH</p><p> POP ACC</p><p><b> MOV
46、R5,A</b></p><p> POP PSW</p><p> POP ACC</p><p><b> SETB EA</b></p><p><b> RETI</b></p><p> 第5章 仿真與性能分析</p&g
47、t;<p> 5.1 系統(tǒng)仿真過(guò)程</p><p> PROTEUS軟件自帶編輯器,可以實(shí)現(xiàn)對(duì)匯編程序的編譯,其操作步驟是:</p><p> 新建源文件:點(diǎn)菜單Source→Add/Remove source Files在出現(xiàn)的對(duì)話框中,選擇ASEM51編輯器,新建.asm 源文件。</p><p> 程序設(shè)計(jì):點(diǎn)菜單Source→.asm
48、打開源文件編輯器,將將附錄程序輸入到文本中。 </p><p> 源程序編譯:點(diǎn)菜單Source→Build ALL編譯匯編源程序,生成目標(biāo)代碼文件.HEX,若編譯失敗,可對(duì)程序進(jìn)行修改調(diào)試直至編譯成功。</p><p> 目標(biāo)代碼加載:在PROTEUS編輯環(huán)境雙擊AT89C51,彈出如圖8所示的對(duì)話框,在PROGRAM FILE一欄中單擊打開按鈕,選中.HEX文件。在CLOCK FR
49、EQUENCY欄中設(shè)置系統(tǒng)工作頻率為12MHZ,單擊OK完成目標(biāo)代碼加載。</p><p> 最后,點(diǎn)擊運(yùn)行按鈕,啟動(dòng)系統(tǒng)仿真。</p><p><b> 圖8 程序代碼加載</b></p><p> 5.2 仿真結(jié)果與分析</p><p> 系統(tǒng)上電自動(dòng)復(fù)位,彩燈全滅,K1接通后,彩燈首先依次點(diǎn)亮,然后再四種
50、顏色各點(diǎn)亮1盞、2盞……其結(jié)果如圖9所示。</p><p> K2接通后,序號(hào)為奇數(shù)的彩燈首先依次點(diǎn)亮,再反向點(diǎn)亮序號(hào)為偶數(shù)的彩燈,接著全部的彩燈閃爍兩次。其仿真結(jié)果如圖10所示。</p><p> K3接通后,P0口和P2口分別順次點(diǎn)亮彩燈,然后藍(lán)色和綠色的彩燈全部點(diǎn)亮,再把紅色和黃色的燈也全部點(diǎn)亮。其仿真結(jié)果如圖11所示。</p><p> K4接通后,P
51、0口從最低位開始點(diǎn)亮1盞、2盞、3盞彩燈,P2口從最高位開始點(diǎn)亮1盞、2盞、3盞彩燈,然后彩燈全部點(diǎn)亮,再反過(guò)來(lái)P0口從最高位開始點(diǎn)亮1盞、2盞、3盞彩燈,P,2口從最低位開始點(diǎn)亮1盞、2盞、3盞彩燈,最后全部點(diǎn)亮又全部熄滅。其仿真結(jié)果如圖12所示。</p><p> K5為自動(dòng)與手動(dòng)的切換按鍵,K5接通時(shí),系統(tǒng)自動(dòng)重復(fù)顯示這四種花型。</p><p> K6為切換延時(shí)時(shí)間的按鍵,K6
52、接通時(shí),彩燈閃爍變慢。</p><p> K7為暫停按鍵,K7接通時(shí),不管系統(tǒng)在何種狀態(tài)運(yùn)行,彩燈都會(huì)全部點(diǎn)亮,再次按下K7,系統(tǒng)跳轉(zhuǎn)到原來(lái)的程序繼續(xù)執(zhí)行。</p><p><b> 圖9 K1仿真圖</b></p><p> 圖10 K2仿真圖</p><p> 圖11 K3仿真圖</p>
53、<p> 圖12 K4仿真圖</p><p> 經(jīng)過(guò)仿真分析,該系統(tǒng)能實(shí)現(xiàn)預(yù)先設(shè)置的所有功能,是一個(gè)成功的設(shè)計(jì)。</p><p><b> 第6章 設(shè)計(jì)小結(jié)</b></p><p> 本次課程設(shè)計(jì)以AT89C51單片機(jī)作為主控核心,按鍵控制電路、彩燈顯示電路以及單片機(jī)最小系統(tǒng)等模塊組成的核心主控制電路,利用軟件編程燒錄程序
54、到單片機(jī)來(lái)實(shí)現(xiàn)對(duì)LED節(jié)日彩燈的控制。</p><p> 通過(guò)軟硬件的仿真調(diào)試,對(duì)彩燈控制器的運(yùn)行成果感覺比較滿意,它實(shí)現(xiàn)了要求達(dá)到的目標(biāo)——多控制、多閃爍方式的LED彩燈循環(huán),并且用快慢兩種節(jié)拍實(shí)現(xiàn)花型交換。本系統(tǒng)亮燈模式多,可根據(jù)操作提示隨意變換想要的閃爍方式和控制彩燈的閃爍頻率。同時(shí)本設(shè)計(jì)具有電路結(jié)構(gòu)簡(jiǎn)單、易操作、硬件少、體積小、成本低、低能耗等優(yōu)點(diǎn),具有一定的實(shí)用和參考價(jià)值。</p>&l
55、t;p> 然而,在本次課程設(shè)計(jì)中,我也發(fā)現(xiàn)了一些問題。如K1按下后,倘若再按下K2或K3、K4,系統(tǒng)都沒有反應(yīng),依然執(zhí)行K1子程序。原因在于主程序中已經(jīng)設(shè)定了優(yōu)先級(jí),只要K1是接通的,無(wú)論怎么改變K2、K3、K4的狀態(tài),系統(tǒng)都不會(huì)響應(yīng)。因此要想實(shí)現(xiàn)特定的功能,必須保證這四個(gè)按鍵只有相對(duì)應(yīng)的那個(gè)按鍵是接通的,否則有可能會(huì)出錯(cuò)。</p><p><b> 參考文獻(xiàn)</b></p&
56、gt;<p> [1] 秦實(shí)宏,徐春輝.MCS-51單片機(jī)原理及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2010.</p><p> [2] 吳飛青,丁曉,李林功等.單片機(jī)原理與應(yīng)用實(shí)踐指導(dǎo)[M].北京:機(jī)械工業(yè)出版社,2009.</p><p> [3] 江世明.基于Proteus的單片機(jī)應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2009.</p><p
57、> [4] 李響初,闕愛仁,李喜初等.實(shí)用電子控制線路200例[M].北京:中國(guó)電力出版社,2009.</p><p> 附錄1 LED彩燈控制系統(tǒng)仿真電路圖</p><p> 附錄2 LED彩燈彩燈控制程序代碼</p><p><b> ORG 0000H</b></p><p><b> L
58、JMP MAIN</b></p><p><b> ORG 0003H</b></p><p><b> LJMP INT</b></p><p><b> ORG 0040H</b></p><p> MAIN:SETB IT0</p>
59、<p> SETB EX0</p><p><b> SETB EA</b></p><p> MOV P1,#0FFH</p><p><b> MOV A,P1</b></p><p> AUTO:JB P1.4,S1</p><p>&l
60、t;b> LCALL K1</b></p><p> S1:JB P1.0,S2</p><p><b> LCALL K1</b></p><p> S2:JB P1.1,S3</p><p><b> LCALL K2</b></p><p
61、> S3:JB P1.2,S4</p><p><b> LCALL K3</b></p><p> S4:JB P1.3,MAIN</p><p><b> LCALL K4</b></p><p><b> LJMP MAIN</b></p&g
62、t;<p> K1:MOV R2,#08H</p><p> MOV A,#0FEH</p><p> A1:MOV P0,A</p><p> LCALL DELAY</p><p><b> RL A</b></p><p> DJNZ R2,A1<
63、;/p><p> MOV P0,#0FFH</p><p> MOV R2,#08H</p><p> MOV A,#0FEH</p><p> B1:MOV P2,A</p><p> LCALL DELAY</p><p><b> RL A</b>&
64、lt;/p><p> DJNZ R2,B1</p><p> MOV P2,#0FFH</p><p> MOV P0,#0EEH</p><p> MOV P2,#0EEH</p><p> LCALL DELAY</p><p> MOV P0,#0CCH</p>&
65、lt;p> MOV P2,#0CCH</p><p> LCALL DELAY</p><p> MOV P0,#88H </p><p> MOV P2,#88H</p><p> LCALL DELAY</p><p> MOV P0,#00H</p><p&g
66、t; MOV P2,#00H</p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> MOV P2,#0FFH</p><p> LCALL DELAY</p><p> JNB P1.4,K2</p><p><b>
67、 LJMP MAIN</b></p><p> K2: MOV R2,#04H</p><p> MOV A,#0FEH</p><p> A2:MOV P0,A</p><p> LCALL DELAY</p><p><b> RL A</b></p&
68、gt;<p><b> RL A</b></p><p> DJNZ R2,A2</p><p> MOV P0,#0FFH</p><p> MOV R2,#04H</p><p> MOV A,#0FEH</p><p> B2:MOV P2,A</p&
69、gt;<p> LCALL DELAY</p><p><b> RL A</b></p><p><b> RL A</b></p><p> DJNZ R2,B2</p><p> MOV R2,#04H</p><p> MOV A,#
70、7FH</p><p> C2:MOV P2,A</p><p> LCALL DELAY</p><p><b> RR A</b></p><p><b> RR A</b></p><p> DJNZ R2,C2</p><p&
71、gt; MOV P2,#0FFH</p><p> MOV R2,#04H</p><p> MOV A,#7FH</p><p> D2:MOV P0,A</p><p> LCALL DELAY</p><p><b> RR A</b></p><p&
72、gt;<b> RR A</b></p><p> DJNZ R2,D2</p><p> MOV P0,#00H</p><p> MOV P2,#00H</p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p&g
73、t; MOV P2,#0FFH</p><p> LCALL DELAY</p><p> MOV P0,#00H</p><p> MOV P2,#00H</p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> MOV P2,#
74、0FFH</p><p> LCALL DELAY</p><p> JNB P1.4,K3</p><p> LJMP MAIN</p><p> K3:MOV R2,#08H</p><p> MOV A,#0FEH</p><p> A3:MOV P0,A</
75、p><p><b> MOV P2,A</b></p><p> LCALL DELAY</p><p><b> RL A</b></p><p> DJNZ R2,A3</p><p> MOV P0,#0FFH</p><p> M
76、OV P2,#0FFH</p><p> LCALL DELAY</p><p> MOV P0,#0F0H</p><p> MOV P2,#0F0H</p><p> LCALL DELAY</p><p> MOV P0,#0FH</p><p> MOV P2,#0FH&
77、lt;/p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> MOV P2,#0FFH</p><p> LCALL DELAY</p><p> JNB P1.4,K4</p><p> LJMP MAIN</p>&
78、lt;p> K4:MOV P0,#0FEH</p><p> MOV P2,#7FH</p><p> LCALL DELAY</p><p> MOV P0,#0F9H</p><p> MOV P2,#9FH</p><p> LCALL DELAY</p><p>
79、; MOV P0,#0C7H </p><p> MOV P2,#0E3H</p><p> LCALL DELAY</p><p> MOV P0,#00H</p><p> MOV P2,#00H</p><p> LCALL DELAY</p><p> MO
80、V P0,#0FFH</p><p> MOV P2,#0FFH</p><p> LCALL DELAY</p><p> MOV P0,#7FH</p><p> MOV P2,#0FEH</p><p> LCALL DELAY</p><p> MOV P0,#9FH&l
81、t;/p><p> MOV P2,#0F9H</p><p> LCALL DELAY</p><p> MOV P0,#0E3H </p><p> MOV P2,#0C7H</p><p> LCALL DELAY</p><p> MOV P0,#00H</p
82、><p> MOV P2,#00H</p><p> LCALL DELAY</p><p> MOV P0,#0FFH</p><p> MOV P2,#0FFH</p><p> LJMP MAIN</p><p> INT: CLR EA</p>&
83、lt;p> PUSH ACC</p><p> PUSH PSW</p><p><b> MOV A,R5</b></p><p> PUSH ACC</p><p> LOOP: MOV P0,#00H</p><p> MOV P2,#00H</p&g
84、t;<p> JB P3.2,LOOP1</p><p> SJMP LOOP</p><p> LOOP1: MOV P0,#0FFH</p><p> MOV P2,#0FFH</p><p> POP ACC</p><p><b> MOV R5,A</b&
85、gt;</p><p> POP PSW</p><p> POP ACC</p><p><b> SETB EA</b></p><p><b> RETI</b></p><p> DELAY: JNB P3.7,DE1</p&g
86、t;<p> MOV R5,#5</p><p><b> LJMP DE2</b></p><p> DE1: MOV R5,#10</p><p> DE2: MOV R6,#200</p><p> DE3: MOV R7,#126</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)技術(shù)課程設(shè)計(jì)--彩燈控制器的設(shè)計(jì)
- 單片機(jī)技術(shù)課程設(shè)計(jì)--彩燈控制器的設(shè)計(jì).doc
- 單片機(jī)課程設(shè)計(jì):彩燈控制器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 彩燈控制器的設(shè)計(jì)
- 彩燈控制器的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)節(jié)日彩燈控制器
- 彩燈控制器的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器設(shè)計(jì)
- 彩燈控制器的設(shè)計(jì) 單片機(jī)課程設(shè)計(jì).doc
- 單片機(jī)課程設(shè)計(jì)--節(jié)日彩燈控制器的設(shè)計(jì)
- 單片機(jī)節(jié)日彩燈控制器課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---用單片機(jī)設(shè)計(jì)節(jié)日彩燈控制器
- 單片機(jī)課程設(shè)計(jì)--五彩燈控制器
- 微機(jī)技術(shù)課程設(shè)計(jì)--彩燈控制器設(shè)計(jì)
- 單片機(jī)彩燈控制課程設(shè)計(jì)
- 電子技術(shù)課程設(shè)計(jì)-基于51單片機(jī)的彩燈控制
- 電子技術(shù)課程設(shè)計(jì)---彩燈控制器
- 基于單片機(jī)彩燈控制課程設(shè)計(jì)
- 基于at-89c51單片機(jī)課程設(shè)計(jì)彩燈控制器
- 單片機(jī)課程設(shè)計(jì)---節(jié)日彩燈控制
評(píng)論
0/150
提交評(píng)論