單片機(jī)技術(shù)課程設(shè)計(jì)彩燈控制器的設(shè)計(jì)_第1頁
單片機(jī)技術(shù)課程設(shè)計(jì)彩燈控制器的設(shè)計(jì)_第2頁
單片機(jī)技術(shù)課程設(shè)計(jì)彩燈控制器的設(shè)計(jì)_第3頁
單片機(jī)技術(shù)課程設(shè)計(jì)彩燈控制器的設(shè)計(jì)_第4頁
單片機(jī)技術(shù)課程設(shè)計(jì)彩燈控制器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 電氣信息學(xué)院單單片片機(jī)機(jī)技技術(shù)術(shù) 課課程程設(shè)設(shè)計(jì)計(jì)報(bào)報(bào)告告課題名稱課題名稱 彩燈控制器的設(shè)計(jì)彩燈控制器的設(shè)計(jì) 專業(yè)班級(jí)專業(yè)班級(jí) 0909 電氣電氣 0101 班班 學(xué)學(xué) 號(hào)號(hào) 09031202220903120222 學(xué)生姓名學(xué)生姓名 嚴(yán)嚴(yán) 娟娟 指導(dǎo)教師指導(dǎo)教師 易易 先先 軍軍 評(píng)評(píng) 分分 2012 年年 6 月月 12 日至日至 6 月月 19 日日課程設(shè)計(jì)量化評(píng)分標(biāo)準(zhǔn)課程設(shè)計(jì)量化評(píng)分標(biāo)準(zhǔn) 指導(dǎo)老師評(píng)語:指標(biāo)指標(biāo)分值分值評(píng)分要素評(píng)分要素得分得分方案設(shè)計(jì)方案設(shè)計(jì)20方案選擇合理,分析、設(shè)計(jì)正確,原理清楚,電路、程序流程圖清晰,結(jié)構(gòu)合理,程序簡潔、正確。 設(shè)計(jì)報(bào)告設(shè)計(jì)報(bào)告20報(bào)告結(jié)構(gòu)嚴(yán)謹(jǐn),

2、邏輯嚴(yán)密,論述層次清晰,語言流暢,表達(dá)準(zhǔn)確,重點(diǎn)突出,報(bào)告完全符合規(guī)范化要求,用計(jì)算機(jī)打印成文。 調(diào)試與結(jié)果調(diào)試與結(jié)果20過程清晰,調(diào)試方案設(shè)計(jì)合理,測(cè)試點(diǎn)選擇適當(dāng),程序編寫正確,調(diào)試步驟清楚。電路及程序運(yùn)行結(jié)果正確,達(dá)到預(yù)期效果。 工作態(tài)度工作態(tài)度20工作量飽滿程度,題目難度;工作態(tài)度,按時(shí)完成設(shè)計(jì)任務(wù),是否獨(dú)立完成等。 答辯成績答辯成績20思路清晰;語言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確;分析歸納合理,結(jié)論嚴(yán)謹(jǐn);回答問題有理論根據(jù),基本概念清楚。 總總 評(píng)評(píng) 成成 績績 答辯記錄1、例舉設(shè)計(jì)過程中遇到的問題及其解決方法(至少兩例) 。答:(1)問題說明: 解決方法:(2)問題說明: 解決方法:2

3、、教師現(xiàn)場(chǎng)提的問題記錄在此(不少于2個(gè)問題) 。答:摘摘 要要本文介紹了一種簡易 led 彩燈控制系統(tǒng)的軟硬件設(shè)計(jì)過程,本方案以at89c51 單片機(jī)作為主控核心,按鍵控制電路、彩燈顯示電路以及單片機(jī)最小系統(tǒng)等模塊組成的核心主控制電路。利用軟件編程燒錄程序到單片機(jī)來實(shí)現(xiàn)對(duì)led 彩燈進(jìn)行控制,本系統(tǒng)亮燈模式多,用戶根據(jù)操作提示可以隨意變換想要的閃爍方式和控制彩燈的閃爍頻率,還可以全自動(dòng)運(yùn)行。系統(tǒng)利用匯編語言開發(fā),并在軟硬件設(shè)計(jì)中分別使用了 proteus 、keilc51 開發(fā)平臺(tái)。本系統(tǒng)具有電路結(jié)構(gòu)簡單、易操作、硬件少、體積小、成本低、低能耗等優(yōu)點(diǎn),具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞:單片機(jī);

4、led 彩燈;匯編語言;proteus;keilc51;目錄第第 1 1 章章設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù).1第第 2 章章 設(shè)計(jì)方案設(shè)計(jì)方案.22.1設(shè)計(jì)方案.22.2方案選擇.3第第 3 3 章章硬件設(shè)計(jì)硬件設(shè)計(jì).43.1直流穩(wěn)壓電源電路.43.2單片機(jī)最小系統(tǒng).43.3led 彩燈顯示電路.53.4按鍵控制電路.6第第 4 4 章章軟件設(shè)計(jì)軟件設(shè)計(jì).84.1主程序設(shè)計(jì).84.2自動(dòng)模式程序設(shè)計(jì).94.3延時(shí)程序設(shè)計(jì).104.3中斷子程序設(shè)計(jì).10第第 5 5 章章 仿真與性能分析仿真與性能分析.115.1 系統(tǒng)仿真過程.115.2 仿真結(jié)果與分析.12第第 6 6 章章 設(shè)計(jì)小結(jié)設(shè)計(jì)小結(jié).15參考文

5、獻(xiàn)參考文獻(xiàn).16附錄附錄 1 1ledled 彩燈控制系統(tǒng)仿真電路圖彩燈控制系統(tǒng)仿真電路圖.17附錄附錄 2 2ledled 彩燈彩燈控制程序代碼彩燈彩燈控制程序代碼.18第第 1 1 章章設(shè)計(jì)設(shè)計(jì)任務(wù)任務(wù)當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。led 彩燈由于其豐富的燈光色彩,低廉的

6、造價(jià)以及控制簡單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。但目前市場(chǎng)上各式樣的 led 彩燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場(chǎng)合、不同時(shí)間段的需要來調(diào)節(jié)亮燈時(shí)間、模式、閃爍頻率等動(dòng)態(tài)參數(shù)。這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響彩燈效果,因此有必要對(duì)現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。1.1. 基本要求基本要求(1)用 16 盞以上的 led 小燈,實(shí)現(xiàn)至少 4 種彩燈燈光效果(不含全部點(diǎn)亮,全部熄滅;(2)可以用

7、輸入按鈕在幾種燈光效果間切換;(3)可以通過按鈕暫停彩燈效果,使小燈全亮,再次按下相同按鈕后繼續(xù)之前的效果。2.2. 選做選做(1)增加自動(dòng)在幾種效果間切換的功能,并設(shè)置一個(gè)按鈕可以在自動(dòng)模式和手動(dòng)模式間切換。(2)使用定時(shí)中斷延時(shí)(3)實(shí)現(xiàn)其他除 15 中提到的功能(創(chuàng)新部分)3.3. 設(shè)計(jì)提示設(shè)計(jì)提示(1)led 可以采用共陽極或共陰極接法直接接在并行口,也可以用 8255 擴(kuò)展更多的小燈。(2)多種效果可以放在不同的子程序空間中,主程序通過散轉(zhuǎn)來訪問不同的子程序段。(3)暫停效果可用中斷,或定時(shí)掃描實(shí)現(xiàn)。第第 2 章章 設(shè)計(jì)方案設(shè)計(jì)方案2.12.1設(shè)計(jì)方案設(shè)計(jì)方案彩燈控制器大致可分為兩種

8、方案實(shí)現(xiàn)。一種是利用電子電路裝置控制,另一種是采用單片機(jī)控制。方案一:根據(jù)設(shè)計(jì)任務(wù)要求介紹的彩燈控制電路的基本組成,可以確定彩燈控制器應(yīng)由振蕩電路、計(jì)數(shù)/時(shí)序分配電路、移位位寄存器和彩燈顯示五部分組成。其框圖如圖 1 所示。振蕩電路控制電路譯碼器led 顯示電路計(jì)數(shù)器圖 1彩燈循環(huán)控制器硬件框圖方案二:本方案主要是通過對(duì)基于單片機(jī)的多控制、多閃爍方式的 led 彩燈循環(huán)系統(tǒng)的設(shè)計(jì),來達(dá)到本設(shè)計(jì)的要求。其硬件構(gòu)成框圖如圖 2 所示,以單片機(jī)為核心控制,由單片機(jī)最小系統(tǒng)(時(shí)鐘電路、復(fù)位電路、電源) 、按鍵控制電路、led 發(fā)光二極管和 5v 直流電源電路組成。圖 2單片機(jī)彩燈循環(huán)控制系統(tǒng)硬件框圖此

9、設(shè)計(jì)方案中單片機(jī)的 p1 口接 7 路按鍵控制電路,實(shí)現(xiàn)彩燈花型的切換、自動(dòng)與手at89c51單片機(jī)時(shí)鐘電路復(fù)位電路按鍵控制電路直流 5v 電源電路供電信號(hào)led彩燈動(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)情況。2.22.2方案選擇方案選擇結(jié)合設(shè)計(jì)任務(wù)書比較以上兩種方案可知:利用電子電路裝置控制,其電路不很復(fù)雜,制作相對(duì)較容易點(diǎn),成本也相對(duì)較低,但可調(diào)性差,亮燈模式少而且樣式單調(diào),達(dá)不到設(shè)計(jì)任務(wù)要求或?qū)崿F(xiàn)困難。采用單片機(jī)控制

10、其優(yōu)點(diǎn)是電路集成度高,工作原理簡單,清晰明了,自定義編程,控制的圖案花樣多,移植性好等。綜上,顯然方案二各方面優(yōu)越于方案一,以及為了體現(xiàn)專業(yè)優(yōu)勢(shì),本次設(shè)計(jì)采用第二種方案。第第 3 3 章章硬件設(shè)計(jì)硬件設(shè)計(jì)3.13.1直流穩(wěn)壓電源電路直流穩(wěn)壓電源電路對(duì)于一個(gè)完整的電子設(shè)計(jì)來講,首要問題就是為整個(gè)系統(tǒng)提供電源供電模塊,電源電路的穩(wěn)定可靠是系統(tǒng)平穩(wěn)運(yùn)行的前提和基礎(chǔ)。電子設(shè)備除用電池供電外,還采用市電(交流電網(wǎng))供電。通過變壓、整流、濾波和穩(wěn)壓后,得到穩(wěn)定的直流電。直流穩(wěn)壓電源是電子設(shè)備的重要組成部分!本項(xiàng)目直流穩(wěn)壓電源為+5v。如下圖所示:直流穩(wěn)壓電源的制作一般有 3 種制作形式,分別是分立元件構(gòu)成

11、的穩(wěn)壓電源、線性集成穩(wěn)壓電源和開關(guān)穩(wěn)壓電源。下圖穩(wěn)壓電源采用的是三端集成穩(wěn)壓器 7805 構(gòu)成的正 5v直流電源。圖 3三端固定式集成穩(wěn)壓電源電路圖at89c51 單片機(jī)的工作電壓范圍:4.0v5.5v,所以通常給單片機(jī)外接 5v 直流電源。由于時(shí)間關(guān)系,此處用 3 節(jié) 1.5v 的干電池供電,在此不在贅述此穩(wěn)壓電源電路圖原理。3.23.2單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是能夠讓單片機(jī)工作的最小硬件電路。除單片機(jī)外,一般單片機(jī)最小系統(tǒng)包括單片機(jī)的供電電路、時(shí)鐘電路和復(fù)位電路等。單片機(jī)最小系統(tǒng)如下圖 4 所示。時(shí)鐘電路:為單片機(jī)工作提供基本時(shí)鐘,因?yàn)閱纹瑱C(jī)內(nèi)部由大量的時(shí)序電路構(gòu)成,沒有

12、時(shí)鐘脈沖即“脈搏”的跳動(dòng),各個(gè)部分將無法工作。本系統(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í)鐘電路。復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過程。單片機(jī)系統(tǒng)的復(fù)位方式有上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位。本設(shè)計(jì)采用手動(dòng)按鍵復(fù)位,該復(fù)位方式同樣具有上電自動(dòng)復(fù)位功能。電路如下圖所示。xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad

13、633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51c130pfc230pfx1crystalr110kc330pf圖 4單片機(jī)最小系統(tǒng)3.33.3ledled 彩燈顯示電路彩燈顯示電路led 彩燈顯示電路(如圖所示

14、)實(shí)際上是由 16 個(gè)發(fā)光二極管和 16 個(gè)電阻構(gòu)成的電路。發(fā)光二極管與電阻對(duì)應(yīng)串聯(lián),然后接在與之相對(duì)應(yīng)的 p0 和 p2 口上。p0 口作為通用的i/o 接口使用時(shí),需外接 10k 歐姆的上拉電阻。通過軟件編程對(duì) p0 和 p2 口輸出高低電平來實(shí)現(xiàn)不同的閃爍花型。由于發(fā)光二極管的導(dǎo)通電壓一般為 1.7v 以上,另外,他的工作電流根據(jù)型號(hào)不同一般為 1ma 到 30ma,電阻選擇范圍 100 歐姆3 千歐姆。在此我們這里選用 300 歐姆的電阻。在此次課程設(shè)計(jì)中,我設(shè)計(jì)了四種花型:花型 1:d1-d2-d3-d4d14-d15-d16 - d1d5d9d13 - d1d2d5d6d9d10d

15、13d14- d1d2d3d5d6d7d9d10d11d13d14d15-全亮-全滅;花型 2:d1-d3-d5d13-d15-d16-d14-d12d4-d2-全亮-全滅-全亮-全滅;花型 3:d1d9-d2d10-d3d11d7d15-d8d16-全滅- d1d2d3d4d9d10d11d12- d5d6d7d8d13d14d15d16-全滅;花型 4:d1d16 -d2d3d14d15- d4d5d6d11d12d13-全亮-全滅- d8d9-d6d7d10d11- d3d4d5d12d13d14-全亮-全滅;xtal218xtal119ale30ea31psen29rst9p0.0/a

16、d039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51program=.keilc51examp

17、les8051led5.hexd5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1resp

18、ack-8圖 5led 彩燈顯示電路3.43.4按鍵控制電路按鍵控制電路按鍵控制電路(如圖 6 所示)是由 7 個(gè)按鍵開關(guān)構(gòu)成的。k1k5 接在 p1.0p1.4,k6接到 p3.7,k7 接到 p3.2 引腳。k1k4 實(shí)現(xiàn)一對(duì)一的控制 led 燈的閃爍方式,k5 實(shí)現(xiàn)自動(dòng)到手動(dòng)的切換,k6 控制 led 燈的閃爍頻率,k7 實(shí)現(xiàn)暫停功能。圖 6鍵盤控制電路當(dāng)按下開關(guān) k1 時(shí), led 彩燈系統(tǒng)閃爍第 1 種彩燈花型;當(dāng)按下開關(guān) k2 時(shí), led 彩燈系統(tǒng)閃爍第 2 種閃爍方式;當(dāng)按下開關(guān) k3 時(shí), led 彩燈第 3 種方式閃爍;當(dāng)按下開關(guān) k4 時(shí), led 彩燈系統(tǒng)閃爍第 4 種

19、花型;當(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)控制;當(dāng)按下開關(guān) k6 時(shí), led 彩燈將改變閃爍頻率;當(dāng)按下開關(guān) k7 時(shí), led 彩燈系統(tǒng)將暫停運(yùn)行,全部的燈都被點(diǎn)亮;k7 彈起后,系統(tǒng)繼續(xù)之前的運(yùn)行狀態(tài)。第第 4 4 章章軟件設(shè)計(jì)軟件設(shè)計(jì)單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能看到多控制、多閃爍方式的 led 燈系統(tǒng)循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要編寫程序控制單片機(jī)管腳電平的高低變化,來控制發(fā)光二極管的亮滅。軟

20、件編程是多控制、多閃爍方式的 led 燈系統(tǒng)中的一個(gè)重要的組成部分,是本設(shè)計(jì)的重點(diǎn)和難點(diǎn)。下面,我將闡述多控制、多閃爍方式的 led 燈系統(tǒng)是如何實(shí)現(xiàn) 16 個(gè) led 燈的循環(huán)點(diǎn)亮,來介紹實(shí)現(xiàn)流水燈控制的軟件編程方法。本設(shè)計(jì)是以單片機(jī) at89c51 為核心控制 16 個(gè)發(fā)光二極管 4 種閃爍方式的變換。硬件電路如圖附錄 1 所示,16 個(gè)發(fā)光二極管 d1d16 分別接在單片機(jī)的 p0.0p0.7 和p2.0p2.7 接口上。當(dāng)給 p0.0 口輸出“0”時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)輸出“1”時(shí),發(fā)光二極管熄滅??梢赃\(yùn)用輸出端口指令 mov p0,a 或 mov p0,data,只要給累加器值或常數(shù)

21、值,同理,其他 15 個(gè) led 的點(diǎn)亮和熄滅的方法同 led1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管 led1led16 依次點(diǎn)亮、熄滅,16 只 led 燈便會(huì)一亮一暗的成流水燈了。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,我們?cè)诳刂贫O管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則我們就看不到閃爍效果。4.14.1主程序設(shè)計(jì)主程序設(shè)計(jì)主程序設(shè)計(jì)流程如圖 7 所示。判斷有無按鍵按下yn開始當(dāng) k1-k5 有鍵按下時(shí)返回主程序重復(fù)查詢調(diào)用對(duì)應(yīng)的子程序圖 7主程序流程圖在系統(tǒng)的程序設(shè)計(jì)中,主控模塊只負(fù)責(zé)根據(jù)消息調(diào)用相應(yīng)模塊的處理函數(shù),具體如何處理這些消息由各功能

22、模塊中的對(duì)應(yīng)程序決定。程序啟動(dòng)時(shí)跳轉(zhuǎn)到鍵盤判斷模塊程序中,此程序里面包含 k1k5 的按鍵情況判斷,循環(huán)檢測(cè)直到有按鍵按下的時(shí)候,程序轉(zhuǎn)去相對(duì)應(yīng)按鍵的彩燈顯示的花型模塊。對(duì)應(yīng)的主程序代碼如下:main: setb it0 setb ex0setb eamov p1,#0ffhmov a,p1auto: jb p1.4,s1lcall k1s1:jb p1.0,s2lcall k1s2:jb p1.1,s3lcall k2s3:jb p1.2,s4lcall k3s4:jb p1.3,mainlcall k4ljmp main4.24.2自動(dòng)模式程序設(shè)計(jì)自動(dòng)模式程序設(shè)計(jì)要實(shí)現(xiàn)通過一個(gè)按鈕在自動(dòng)模

23、式和手動(dòng)模式間切換的功能,首先想到的便是調(diào)用各個(gè)按鍵子程序。但若不對(duì)程序進(jìn)行適當(dāng)?shù)男薷?,按鍵按下后將一直調(diào)用第一個(gè)彩燈顯示子程序,因而只能顯示一種花型,無法實(shí)現(xiàn)自動(dòng)循環(huán)顯示四種花型。因此,我對(duì)每個(gè)彩燈顯示子程序中都作了一定的修改。對(duì)應(yīng)的源代碼如下:k1: jnb p1.4,k2 ljmp maink2: jnb p1.4,k3 ljmp maink3: jnb p1.4,k4 ljmp maink4: ljmp main如此,當(dāng)自動(dòng)按鍵按下時(shí),系統(tǒng)跳到子程序 k1,顯示完第一種花型后,只要按鍵還是按下的,系統(tǒng)便會(huì)跳到子程序 k2,顯示第二種花型以此類推,這樣,便實(shí)現(xiàn)了自動(dòng)模式與手動(dòng)模式間的切換

24、。4.34.3延時(shí)程序設(shè)計(jì)延時(shí)程序設(shè)計(jì)由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,在控制二極管亮滅的時(shí)候?yàn)榱丝吹介W爍效果,應(yīng)該延時(shí)一段時(shí)間。延時(shí)子程序代碼:delay: jnb p3.7,de1 mov r5,#5 ljmp de2de1: mov r5,#10de2 mov r6,#200de3: mov r7,#126de4: djnz r7,de4 djnz r6,de3 djnz r5,de2 ret 本文除了實(shí)現(xiàn)基本的延時(shí)功能外,還有通過按鍵來選擇不同的閃爍頻率的功能。不接通 k6 時(shí),p3.7 為高電平,延時(shí)時(shí)間為 0.5s,當(dāng) k6 按下時(shí),p3.7 變?yōu)榈碗娖?,延時(shí)

25、時(shí)間為 1s,實(shí)現(xiàn)了在不同閃爍頻率間的切換。4.34.3中斷子程序設(shè)計(jì)中斷子程序設(shè)計(jì)為了實(shí)現(xiàn)暫停功能,需利用單片機(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)到原來的程序中繼續(xù)運(yùn)行。中斷服務(wù)子程序代碼:int: clr ea push acc push psw mov a,r5 push accloop: mov p0,#00h mov p2,#00h jb p3.

26、2,loop1 sjmp looploop1: mov p0,#0ffh mov p2,#0ffh pop acc mov r5,a pop psw pop acc setb ea reti第第 5 5 章章 仿真與性能分析仿真與性能分析5.15.1 系統(tǒng)仿真過程系統(tǒng)仿真過程proteus 軟件自帶編輯器,可以實(shí)現(xiàn)對(duì)匯編程序的編譯,其操作步驟是: 新建源文件:點(diǎn)菜單 sourceadd/remove source files 在出現(xiàn)的對(duì)話框中,選擇asem51 編輯器,新建.asm 源文件。 程序設(shè)計(jì):點(diǎn)菜單 source.asm 打開源文件編輯器,將將附錄程序輸入到文本中。 源程序編譯:點(diǎn)菜

27、單 sourcebuild all 編譯匯編源程序,生成目標(biāo)代碼文件.hex,若編譯失敗,可對(duì)程序進(jìn)行修改調(diào)試直至編譯成功。 目標(biāo)代碼加載:在 proteus 編輯環(huán)境雙擊 at89c51,彈出如圖 8 所示的對(duì)話框,在 program file 一欄中單擊打開按鈕,選中.hex 文件。在 clock frequency 欄中設(shè)置系統(tǒng)工作頻率為 12mhz,單擊 ok 完成目標(biāo)代碼加載。 最后,點(diǎn)擊運(yùn)行按鈕,啟動(dòng)系統(tǒng)仿真。圖 8 程序代碼加載5.25.2 仿真結(jié)果與分析仿真結(jié)果與分析系統(tǒng)上電自動(dòng)復(fù)位,彩燈全滅,k1 接通后,彩燈首先依次點(diǎn)亮,然后再四種顏色各點(diǎn)亮 1 盞、2 盞其結(jié)果如圖 9

28、所示。k2 接通后,序號(hào)為奇數(shù)的彩燈首先依次點(diǎn)亮,再反向點(diǎn)亮序號(hào)為偶數(shù)的彩燈,接著全部的彩燈閃爍兩次。其仿真結(jié)果如圖 10 所示。k3 接通后,p0 口和 p2 口分別順次點(diǎn)亮彩燈,然后藍(lán)色和綠色的彩燈全部點(diǎn)亮,再把紅色和黃色的燈也全部點(diǎn)亮。其仿真結(jié)果如圖 11 所示。k4 接通后,p0 口從最低位開始點(diǎn)亮 1 盞、2 盞、3 盞彩燈,p2 口從最高位開始點(diǎn)亮1 盞、2 盞、3 盞彩燈,然后彩燈全部點(diǎn)亮,再反過來 p0 口從最高位開始點(diǎn)亮 1 盞、2 盞、3 盞彩燈,p,2 口從最低位開始點(diǎn)亮 1 盞、2 盞、3 盞彩燈,最后全部點(diǎn)亮又全部熄滅。其仿真結(jié)果如圖 12 所示。k5 為自動(dòng)與手動(dòng)的

29、切換按鍵,k5 接通時(shí),系統(tǒng)自動(dòng)重復(fù)顯示這四種花型。k6 為切換延時(shí)時(shí)間的按鍵,k6 接通時(shí),彩燈閃爍變慢。k7 為暫停按鍵,k7 接通時(shí),不管系統(tǒng)在何種狀態(tài)運(yùn)行,彩燈都會(huì)全部點(diǎn)亮,再次按下 k7,系統(tǒng)跳轉(zhuǎn)到原來的程序繼續(xù)執(zhí)行。program=.keilc51examples8051led5.hexd5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r143

30、00r15300r16300r17300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8 d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r

31、16300r17300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8圖 9 k1 仿真圖d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r

32、16300r17300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8 d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r173

33、00d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8圖 10 k2 仿真圖d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17

34、300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8 d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17300d9led-

35、greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8圖 11 k3 仿真圖d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17300d9led

36、-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8 d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17300d9led-greend10

37、led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellow234567891rp1respack-8圖 12 k4 仿真圖 經(jīng)過仿真分析,該系統(tǒng)能實(shí)現(xiàn)預(yù)先設(shè)置的所有功能,是一個(gè)成功的設(shè)計(jì)。第第 6 6 章章 設(shè)計(jì)小結(jié)設(shè)計(jì)小結(jié)本次課程設(shè)計(jì)以 at89c51 單片機(jī)作為主控核心,按鍵控制電路、彩燈顯示電路以及單片機(jī)最小系統(tǒng)等模塊組成的核心主控制電路,利用軟件編程燒錄程序到單片機(jī)來實(shí)現(xiàn)對(duì) led 節(jié)日彩燈的控制。通過軟硬件的仿真調(diào)試,對(duì)彩燈控制器的運(yùn)行成果感覺比較滿意,它實(shí)現(xiàn)了要求達(dá)到的目

38、標(biāo)多控制、多閃爍方式的 led 彩燈循環(huán),并且用快慢兩種節(jié)拍實(shí)現(xiàn)花型交換。本系統(tǒng)亮燈模式多,可根據(jù)操作提示隨意變換想要的閃爍方式和控制彩燈的閃爍頻率。同時(shí)本設(shè)計(jì)具有電路結(jié)構(gòu)簡單、易操作、硬件少、體積小、成本低、低能耗等優(yōu)點(diǎn),具有一定的實(shí)用和參考價(jià)值。然而,在本次課程設(shè)計(jì)中,我也發(fā)現(xiàn)了一些問題。如 k1 按下后,倘若再按下 k2 或k3、k4,系統(tǒng)都沒有反應(yīng),依然執(zhí)行 k1 子程序。原因在于主程序中已經(jīng)設(shè)定了優(yōu)先級(jí),只要 k1 是接通的,無論怎么改變 k2、k3、k4 的狀態(tài),系統(tǒng)都不會(huì)響應(yīng)。因此要想實(shí)現(xiàn)特定的功能,必須保證這四個(gè)按鍵只有相對(duì)應(yīng)的那個(gè)按鍵是接通的,否則有可能會(huì)出錯(cuò)。參考文獻(xiàn)參考文

39、獻(xiàn)1 秦實(shí)宏,徐春輝.mcs-51 單片機(jī)原理及應(yīng)用m.武漢:華中科技大學(xué)出版社,2010.2 吳飛青,丁曉,李林功等.單片機(jī)原理與應(yīng)用實(shí)踐指導(dǎo)m.北京:機(jī)械工業(yè)出版社,2009.3 江世明.基于 proteus 的單片機(jī)應(yīng)用技術(shù)m.北京:電子工業(yè)出版社,2009.4 李響初,闕愛仁,李喜初等.實(shí)用電子控制線路 200 例m.北京:中國電力出版社,2009.附錄附錄 1 1ledled 彩燈控制系統(tǒng)仿真電路圖彩燈控制系統(tǒng)仿真電路圖xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435

40、p0.5/ad534p0.6/ad633p0.7/ad732p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u1at89c51program=.keilc51examples8051led5.hexc130pfc230pfx1crystalr110kk2k

41、3k4d5led-redd6led-redd7led-redd8led-redr2300r3300r4300r5300r6300r7300r8300r9300r1810kd1led-blued2led-blued3led-blued4led-bluer10300r11300r12300r13300r14300r15300r16300r17300d9led-greend10led-greend11led-greend12led-greend13led-yellowd14led-yellowd15led-yellowd16led-yellowk5c330pfk7k6k1234567891rp1re

42、spack-8附錄附錄 2 2ledled 彩燈彩燈控制程序代碼彩燈彩燈控制程序代碼 org 0000hljmp mainorg 0003hljmp intorg 0040hmain: setb it0 setb ex0setb eamov p1,#0ffhmov a,p1auto: jb p1.4,s1lcall k1s1:jb p1.0,s2lcall k1s2:jb p1.1,s3lcall k2s3:jb p1.2,s4lcall k3s4:jb p1.3,mainlcall k4ljmp maink1:mov r2,#08hmov a,#0feha1:mov p0,alcall delay rl adjnz r2,a1mov p0,#0ffhmov r2,#08hmov a,#0fehb1:mov p2,alcall delayrl adjnz r2,b1mov p2,#0ffhmov p0,#0eehmov p2,#0eehlcall delaymov p0,#0cchmov p2,#0cchlcall delay mov p0,#88h mov p2,#88hl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論