2912 基于單片機智能彩燈控制系統(tǒng)設(shè)計
2912 基于單片機智能彩燈控制系統(tǒng)設(shè)計,基于,單片機,智能,彩燈,控制系統(tǒng),設(shè)計
分 類 號 級 寧寧波大紅鷹學(xué)院畢 業(yè) 設(shè) 計 (論 文 )基于單片機智能彩燈控制系統(tǒng)設(shè)計所 在 學(xué) 院專 業(yè)班 級姓 名學(xué) 號指 導(dǎo) 老 師年 月 日誠 信 承 諾我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文《基于單片機智能彩燈控制系統(tǒng)設(shè)計》均系本人獨立完成,沒有抄襲行為,凡涉及其他作者的觀點和材料,均作了注釋,若有不實,后果由本人承擔(dān)。承諾人(簽名): 年 月 日3目 錄目 錄 ....................................................................3摘 要 .....................................................................41 緒論 ....................................................................62 系統(tǒng)總體設(shè)計方案 ........................................................72.1 總體方案的設(shè)計 .....................................................72.1 總體方案的選擇 .....................................................83 系統(tǒng)硬件設(shè)計 ............................................................93.1 AT89c51 單片機 .....................................................93.1.1:芯片介紹 ........................................................93.1.2.主要特性: ......................................................93.1.3.管腳說明 .......................................................103.1.4 振蕩器特性: .....................................................113.2 控制器模塊 ........................................................123.3 按鍵模塊 ..........................................................133.4 LED 顯示模塊 ......................................................143.5 硬件元件清單 ......................................................144 軟件設(shè)計與仿真 ..........................................................154.1 主程序設(shè)計 ........................................................154.2 仿真軟件簡介 ......................................................164.3 仿真結(jié)果 ..........................................................174.4 系統(tǒng)調(diào)試 ..........................................................184.5 誤差分析 ..........................................................18參考文獻(xiàn) .................................................................20致謝 .....................................................................21附錄:程序清單 ...........................................................23寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)4摘 要本文設(shè)計了一種基于單片機的智能彩燈的控制系統(tǒng)。系統(tǒng)由 AT89S52、LED 發(fā)光二極管、按鍵,可以實現(xiàn)彩燈的不同類型顯示切換。其硬件電路主要有主控制器,LED顯示電路,復(fù)位電路,晶振電路。系統(tǒng)程序的設(shè)計包括主程序的設(shè)計,中斷服務(wù)程序等等.以AT-89C51 單片機作為主控核心,與按鍵、顯示器等較少的輔助硬件電路相結(jié)合,利用軟件實現(xiàn)對 LED 彩燈進行控制。本系統(tǒng)具有體積小、硬件少、電路結(jié)構(gòu)簡單及容易操作等優(yōu)點。關(guān)鍵詞:單片機,數(shù)字控制,流水燈,AT89S52。 5AbstractAlong with the electronic technology rapid development, the monolithicintegrated circuit obtained more and more many applications. Here Iused monolithic integrated circuit 89C51 to unify LED (light emitterdiode) to manufacture a belt music broadcast function advertisementmigration colored lantern with the loudspeaker, it was composed by two 89C51, through gradually scanned together P3.0--P3.2 mouth, judgedwhether had the pressed key to press down, unified the port scanningand the pressed key scanning, thus realized the colored lantern tolighten, to lighten, the gap point by point in turn in turn lightens.Keywords: LED lantern; AT-89C51 single-chip microcomputer; Lantern controller寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)61 緒論隨著人們生活水平的提高,環(huán)境的不斷改善和美化,在許多場合可以看到很多彩色的霓虹燈。特別是當(dāng)今充滿競爭的時代,各地政府為吸引游客和投資者,在城市的沿街、沿道、沿河、沿線等地用霓虹燈造景,實施"亮化工程",以美化環(huán)境、樹立城市形象但是目前市場上各種式樣的 LED 彩燈多半是采用全硬件電路實現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制成成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調(diào)節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。同時這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點。此外從功能上來看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。 當(dāng)今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機智能控制系統(tǒng)所取代。隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的。單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。近年來,彩燈對于美化、亮化城市有著不可輕視的重要工作。因此作為城市裝飾的彩燈需求量越來越大,對與彩燈的技術(shù)和花樣也越來越高。但傳統(tǒng)的彩燈控制電路一般是由數(shù)字電路組成,這種彩燈控制器電路結(jié)構(gòu)復(fù)雜、成本較高、功率損耗大,此外從功能效果上看,彩燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。而單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。LED 彩燈具有成本低、發(fā)光純度高、發(fā)光熱量小、耗電量低、超長壽命的特點。所以利用單片機作LED 彩燈控制,不僅是使控制花樣、路數(shù)大大增加 ,成本也很低,而且對環(huán)境能源沒有污染,有著很大的發(fā)展前景。本方案是一種基于 AT-89C51 單片機的彩燈控制方案,實現(xiàn)對 LED 彩燈的控制。主要以 AT-89C51 單片機作為主控核心與發(fā)光二極管、晶振、復(fù)位、電源等組成電路,利用軟件編輯實現(xiàn)彩燈流水燈的效果。72 系統(tǒng)總體設(shè)計方案實驗總體電路構(gòu)造方案比較簡單,主要包括鍵盤控制電路(用脈沖按鍵開關(guān)對電路進行控制)和顯示電路(單片機控制發(fā)光二極管的顯示) 。圖 1.1 實驗方案圖按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C52單片機是美國ATMEL 公司生產(chǎn)的低電壓、高性能CMOS 8 位單片機,具有豐富的內(nèi)部資源:4kB 閃存、128BRAM、32 根I/O 口線、2 個16 位定時/計數(shù)器、5 個向量兩級中斷結(jié)構(gòu)、2 個全雙工的串行口,具有4.25~5.50V 的電壓工作范圍和0~24MHz工作頻率,使用AT89C52單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。2.1 總體方案的設(shè)計經(jīng)過分析問題及初步的整體思考,擬定以下二種方案:方案一:總體電路共分三大塊。第一塊實現(xiàn)花型的演示;第二塊實現(xiàn)花型的控制及節(jié)拍控制;第三塊實現(xiàn)時鐘信號的產(chǎn)生。主體框圖如下: 方案二:在方案一的基礎(chǔ)上將整體電路分為四塊。第一塊實現(xiàn)花型的演示;第二塊花型演示電路花型控制節(jié)拍控制電路時鐘信號電路寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)8實現(xiàn)花型的控制;第三塊實現(xiàn)節(jié)拍控制;第四塊實現(xiàn)時鐘信號的產(chǎn)生。并在部分電路的設(shè)計上與方案一采用了完全不同的方法,如花型的控制。主體框圖如下:2.1 總體方案的選擇方案一與方案二最大的不同就在,前者將花型控制與節(jié)拍控制兩種功能融合在一起,是考慮到只要計數(shù)器就可以實現(xiàn)其全部功能的原因,且原理相對簡單。如此設(shè)計,其優(yōu)點在于:設(shè)計思想比較簡單。元件種類使用少,且都較熟悉易于組裝電路。缺點則是:中間單元電路連線過于繁多,容易出錯。且可能出現(xiàn)線與線關(guān)系。要避免這些,則勢必造成門電路使用過多。導(dǎo)致電路不穩(wěn)定,抗干擾能力下降。而后者則將以上兩種功能分開設(shè)計,各單元電路只實現(xiàn)一種功能。其優(yōu)點在于:電路設(shè)計模塊化,易于檢查電路,對后面的電路組裝及電路調(diào)試帶來方便。缺點則是:節(jié)拍控制電路采用可編輯邏輯電路,原理相對復(fù)雜,不易理解?;ㄐ涂刂齐娐泛唵?,花型也比較簡單?;谝陨显?,加上為了成功的實現(xiàn)課程設(shè)計,我選擇了連線少,易于組裝和調(diào)試的方案二。方案一:采用各類數(shù)字電路來組成鍵盤控制系統(tǒng),進行信號處理,如選用 CPLD等可編程邏輯器件。本方案電路復(fù)雜,靈活性不高,效率低,不利于系統(tǒng)的擴展,對信號處理比較困難。方案二:過單片機控制二極管的閃爍,通過中斷來改變模式同時串行輸出數(shù)碼管?;ㄐ脱菔倦娐坊ㄐ涂刂齐娐饭?jié)拍控制電路時鐘信號電路9P0,P1 口接 16 個二極管,P3 口接擴展板的數(shù)碼顯示接口。該方案簡單,易于設(shè)計和控制。3 系統(tǒng)硬件設(shè)計3.1 AT89c51 單片機3.1.1:芯片介紹AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM —Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可 擦除只讀存儲器可以反復(fù)擦除 100 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多 功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C 單片機 為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.1.2.主要特性:·與 MCS-51 兼容 ·4K 字節(jié)可編程閃爍存儲器 壽命:1000 寫/擦循環(huán)數(shù)據(jù)保留時間:10 年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定·128*8 位內(nèi)部 RAM寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)10·32 可編程 I/O 線·兩個 16 位定時器/計數(shù)器·5 個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 3.1.3.管腳說明2.1.3AT89C51 引腳路VCC:供電電壓。GND:接地。P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,11P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。P3 口也可作為 AT89C51 的一些特殊功能口,P3 口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。/PSEN:外部程序存儲器的選通信號。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.4 振蕩器特性:XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT-89C51 單片機是美國 ATMEL 公司生產(chǎn)的低電壓、高性能CMOS 8 位單片機,具有豐富的內(nèi)部資源:4kB 閃存、128BRAM、32 根 I/O 口線、2個 16 位定時/計數(shù)器、5 個向量兩級中斷結(jié)構(gòu)、2 個全雙工的串行口,具有4.25~5.50V 的電壓工作范圍和 0~24MHz 工作頻率,使用 AT-89C51 單片機時無須外擴存儲器。因此,本彩燈控制系統(tǒng)實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。其具體硬件組成如圖 1 所示。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)12圖 1 彩燈硬件原理圖從圖 1 中可以看出,如果要讓接在 P1.0 口的 LED1 亮起來,那么只要把 P1.0 口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要讓接?P1.0 口的 LED1 熄滅,就要把 P1.0口的電平變?yōu)楦唠娖剑煌?,接?P1.1~P1.7 口的其他 7 個 LED 的點亮和熄滅的方法同 LED1。因此,要實現(xiàn)彩燈功能,我們只要將發(fā)光二極管 LED1~LED8 依次點亮、熄滅,8 只 LED 燈便會一亮一暗的做彩燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“彩燈”效果了。3.2 控制器模塊本系統(tǒng)控制器芯片采用 AT89C51 單片機,其管腳圖如圖 3 所示。D8-D6:數(shù)據(jù)輸入線。RESET:復(fù)位端口。T0,T1:計數(shù)器端口外部計數(shù)脈沖輸入線。XTAL1,XTAL2:時鐘電路。VCC:供電電壓。GND:接地。13圖 3 89C51 功能說明圖AT89C51 是一種帶 4K 字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51 具有以下特性:與 MCS-51 兼容,4K 字節(jié)可編程閃爍存儲器,壽命:1000 寫/擦循環(huán),數(shù)據(jù)保留時間:10 年,全靜態(tài)工作:0Hz-24MHz,三級程序存儲器鎖定,128×8位內(nèi)部 RAM,32 可編程 I/O 線,兩個 16 位定時器/計數(shù)器,5 個中斷源,可編程串行通道,低功耗的閑置和掉電模式、片內(nèi)振蕩器和時鐘電路。3.3 按鍵模塊采用如下所示電路來實現(xiàn)控制花樣彩燈的復(fù)位,按下開關(guān),單片機復(fù)位,花樣彩燈按模式一閃爍。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)14圖電源電路有三端穩(wěn)壓器 7805 和電容組成,外部電池供電,BAT 接 7V 左右的電壓,穩(wěn)壓輸出 5V 的電壓。電源電路如圖 4 所示。圖 4.電源電路3.4 LED 顯示模塊LED 顯示電路由單片機 89C51 的 P0 口,P1 口和 P2 口與發(fā)光二極管相連,低電平二極管發(fā)光。LED 顯示電路如圖 2 所示。圖 2.LED 顯示電路3.5 硬件元件清單系統(tǒng)元器件清單見表 2。15表 2 系統(tǒng)元器件清單器件 數(shù)量 器件 數(shù)量AT89C51 1 晶振器 1LED 8 排阻(4.7k) 8電容(30pF) 2 電阻(100k) 1電容(10uF) 1 開關(guān) 14 軟件設(shè)計與仿真本系統(tǒng)程序包括主程序、鍵盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。鍵盤掃描子程序用于掃描鍵盤狀態(tài),將被按鍵的位置號存入緩沖器中。發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給單片機接口。發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給單片機接口。接收命令子程序用于接收單片機接口發(fā)來的鍵盤命令。4.1 主程序設(shè)計程序流程圖:中斷程序:主程序:寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)164.2 仿真軟件簡介Proteus 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:(1)實現(xiàn)了單片機仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232 動態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。17(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、 8051/52 系列、AVR 系列、PIC10/12/16/18 系列、HC11 系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51 uVision2、MPLAB 等軟件。(4)具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和 SPICE 分析于一身的仿真軟件,功能極其強大。Proteus7.5 是目前最好的模擬單片機外圍器件的工具,可以仿真 51 系列、AVR、PIC 等常用的 MCU 及其外圍電路(如 LCD、RAM、ROM、鍵盤、馬達(dá)、LED、AD/DA、部分 SPI 器件、部分 IIC 器件等)。軟件編譯采用 KEIL C51 軟件,Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。4.3 仿真結(jié)果 先按復(fù)位鍵,系統(tǒng)初始化,然后 8 個 LED 開始按照要求閃爍,分別按下列模塊點亮:模塊 1:循環(huán)單向閃爍,只有一個燈亮模塊 2:循環(huán)單向閃爍,只有兩個燈亮模塊 3:循環(huán)往復(fù)閃爍,只有一個燈亮模塊 4:全亮全滅模塊 5:順次點亮或者熄滅, 多個燈亮模塊 6:順次點亮或者熄滅,多個燈亮,一次點亮兩個寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)18模塊 7:雙端對稱往返閃爍4.4 系統(tǒng)調(diào)試在調(diào)試過程中主要是對程序的修改,特別是延時子程序。開始延時較短時,當(dāng)按下開關(guān)時,LED 開始閃爍。如果延時較長則 LED 閃爍更慢。通過修改程序,將延時調(diào)到適中,系統(tǒng)正常工作。4.5 誤差分析設(shè)定預(yù)設(shè)值后,記錄模式一的數(shù)據(jù),每次送出的數(shù)據(jù)是不同,具體的數(shù)據(jù)如下表 1所示 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 說明L8 L7 L6 L5 L4 L3 L2 L1 1 1 1 1 1 1 1 0 L1 亮1 1 1 1 1 1 0 1 L2 亮1 1 1 1 1 0 1 1 L3 亮1 1 1 1 0 1 1 1 L4 亮1 1 1 0 1 1 1 1 L5 亮1 1 0 1 1 1 1 1 L6 亮1 0 1 1 1 1 1 1 L7 亮0 1 1 1 1 1 1 1 L8 亮后面幾種模式的實驗結(jié)果基本和理論值一樣,沒什么誤差。19結(jié)束語與市面上大多數(shù)的 LED 彩燈相比,該種彩燈具有更好的燈光裝飾效果,性價比更高,與普通的全硬件 LED 彩燈相比具有更好的經(jīng)濟效益。應(yīng)用主控模塊輸出的控制信號去控制燈管內(nèi)的 L ED 板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲在 89C51 單片機 的電可擦除 Flash 閃存 EPROM 中,如果用戶需要更改系統(tǒng)的亮燈模式 Model_i,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。通過花樣彩燈的制作,給我最大的體會是對一個程序整體的把握和控制,只有將子程序有效的結(jié)合起來,才能完成設(shè)計的目的。另外,在程序的調(diào)試過程中,我也遇到了很多意想不到的困難,在老師的幫助和自己的不懈努力下,我對偉福這款仿真軟件有了更深的認(rèn)識,將困難一一克服,使程序編譯成功,仿真實現(xiàn)。通過對本次畢業(yè)論文的編寫,使我明白應(yīng)用主控模塊輸出的控制信號去控制燈管內(nèi)的 L ED 板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲在89C51 單片機 的電可擦除 Flash 閃存 EPROM 中,如果用戶需要更改系統(tǒng)的亮燈模式 Model_i,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。通過編寫論文,使我對單片機實現(xiàn)彩燈的原理及其使用問題有了更深刻的認(rèn)識,是我從中體會到《單片機原理及技術(shù)應(yīng)用》的課題的重要意義,值得我們探討,使我更深的理解和學(xué)會綜合運用單片機技術(shù)、模擬電子電路、數(shù)字電子電路、傳感器,軟件技術(shù)、計算機軟件編程技術(shù),設(shè)計彩燈。通過設(shè)計全面地培養(yǎng)與鍛煉電子信息工程專業(yè)學(xué)生綜合運用本專業(yè)知識分析問題和解決問題的能力。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)20參考文獻(xiàn)[1]王幸之 鐘愛琴. AT89 系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.[2]譚浩強.C 程序設(shè)計(第二版)[M].北京:清華大學(xué)出版社,1999.[3]趙亮.單片機 C 語音編程與實例[M].北京:人民郵出版社,2004.[4]房小翠、王金鳳.單片機實用系統(tǒng)設(shè)計技術(shù)[M].北京:國防工業(yè)出版社,1999.[5]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)[M].北京:高等教育出版社,1998.[6]張毅剛.單片機原理及應(yīng)用[M].北京:高等教育出版社,2003.[7]李廣第,朱月秀,王秀山.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001.[8]楊振江.A/D、D/A 轉(zhuǎn)換器接口技術(shù)與實用電路[M].西安:西安電子科技大學(xué)出版社.[9]梅笙,李瑋.基于 AT89C52 控制的數(shù)控直流電流源的設(shè)計[J].電子測試,2007(2):19-23.[10]張鑫.單片機原理及應(yīng)用[M].電子工業(yè)出版社,2005.[11]Matthew R, Robin T. Microprocessor controlled power supply[J]. Electronic World Wireless World, 1994,95 (1639) : 524~527.[12]Kuo B C. Automatic control system[M]. 3th ed. New Jersy Prentice Hall, 1975. 21致謝本次畢業(yè)設(shè)計的成功得益于很多人的幫助,在此,我要向他們提出感謝!首先,我要感謝教的 XX 老師,感謝他給我認(rèn)真講解這門課,讓我學(xué)到了很多的知識。再次,我也要感謝知道我們這次設(shè)計的指導(dǎo)老師,得助于他悉心的指導(dǎo),我才能更輕松更順利的完成這次課程設(shè)計。第三,我要感謝身邊同學(xué)們的幫助,碰到不懂的問題時,使他們給與我耐心的講解,讓我明白一些問題。過幾個月的忙碌和學(xué)習(xí),本次畢業(yè)論文設(shè)計已經(jīng)接近尾聲。作為一個大專生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有指導(dǎo)教師的的督促指導(dǎo),想要完成這個設(shè)計是難以想象的。在這里首先要感謝我的論文指導(dǎo)老師。老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調(diào)整等各個環(huán)節(jié)中都給予了我悉心的指導(dǎo)。除了敬佩楊老師的專業(yè)水平外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。最后還要感謝大學(xué)來所有的學(xué)院老師,是在他們的教誨下,我喜歡上了這個專業(yè),掌握了堅實的專業(yè)知識基礎(chǔ),為我以后的揚帆遠(yuǎn)航注入了動力。感謝和我一起生活的室友,是你們讓我們的寢室充滿快樂與溫馨,為學(xué)習(xí)和生活提供了很好的環(huán)境。 “君子和而不同” ,我們正是如此!愿我們以后的人生都可以充實、多彩與快樂!謝謝你們!寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)22附錄:程序清單#include#define uint unsigned intvoid delay(uint);main(){ uint fre=0x04;uint fre1,fre2;uint comp1=0xfe,comp2=0x80;while(1){/*-------------------------------------------------------------模塊一:循環(huán)單向閃爍,只有一個燈亮執(zhí)行 3 次,轉(zhuǎn)入下一種閃爍------------------------------------------------------------*/P1=0xfe;while(1!=fre--){fre1=0x08;while(1!=fre1--){delay(30000);P1>=1;P1|=0x80; }}/*------------------------------------------------------------- 模塊 4:全亮全滅執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -----------------------------------------------------------25--*/while(3!=fre1++){delay(30000);P1=0x00;delay(30000);P1=0xff; }/*------------------------------------------------------------- 模塊 5:順次點亮或者熄滅,多個燈亮,執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(1!=fre1--){P1=0xfe;while(P1!=0x00){delay(30000);P1>=1;寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)26P1|=0x80;}} /*------------------------------------------------------------- 模塊 6:順次點亮或者熄滅,多個燈亮,一次點亮兩個,執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(3!=fre1++){ P1=0xfc;while(P1!=0x00){delay(30000);P1>=2;P1|=0xc0;}delay(30000);} /*---------------------------------------------------------27---- 模塊 7:雙端對稱往返閃爍執(zhí)行 3 次,進行下一輪循環(huán) -------------------------------------------------------------*/P1=0x7e;delay(30000);while(1!=fre1--){fre2=0x00;while(6!=fre2++){P1=0xff;comp1>=1;P1&=comp1;P1^=comp2;delay(3000000);if(P1==0xe7){comp1>=1;}if(comp2==0x01){comp1=0xfe;comp2=0x80;寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)28}}}} }void delay(uint cnt){while(cnt--);}1智能彩燈程序清單#include#define uint unsigned intvoid delay(uint);main(){ uint fre=0x04;uint fre1,fre2;uint comp1=0xfe,comp2=0x80;while(1){/*-------------------------------------------------------------模塊一:循環(huán)單向閃爍,只有一個燈亮執(zhí)行 3次,轉(zhuǎn)入下一種閃爍------------------------------------------------------------*/P1=0xfe;while(1!=fre--){fre1=0x08;while(1!=fre1--){delay(30000);P1>=1;P1|=0x80; }}/*------------------------------------------------------------- 模塊 4:全亮全滅執(zhí)行 3次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/4while(3!=fre1++){delay(30000);P1=0x00;delay(30000);P1=0xff; }/*------------------------------------------------------------- 模塊 5:順次點亮或者熄滅,多個燈亮,執(zhí)行 3次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(1!=fre1--){P1=0xfe;while(P1!=0x00){delay(30000);P1>=1;P1|=0x80;5}} /*------------------------------------------------------------- 模塊 6:順次點亮或者熄滅,多個燈亮,一次點亮兩個,執(zhí)行 3次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(3!=fre1++){ P1=0xfc;while(P1!=0x00){delay(30000);P1>=2;P1|=0xc0;}delay(30000);} /*------------------------------------------------------------- 6模塊 7:雙端對稱往返閃爍執(zhí)行 3次,進行下一輪循環(huán) -------------------------------------------------------------*/P1=0x7e;delay(30000);while(1!=fre1--){fre2=0x00;while(6!=fre2++){P1=0xff;comp1>=1;P1&=comp1;P1^=comp2;delay(3000000);if(P1==0xe7){comp1>=1;}if(comp2==0x01){comp1=0xfe;comp2=0x80;}7}}} }void delay(uint cnt){while(cnt--);}分 類 號 級 寧寧波大紅鷹學(xué)院畢 業(yè) 設(shè) 計 (論 文 )基于單片機智能彩燈控制系統(tǒng)設(shè)計所 在 學(xué) 院專 業(yè)班 級姓 名學(xué) 號指 導(dǎo) 老 師年 月 日誠 信 承 諾我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文《基于單片機智能彩燈控制系統(tǒng)設(shè)計》均系本人獨立完成,沒有抄襲行為,凡涉及其他作者的觀點和材料,均作了注釋,若有不實,后果由本人承擔(dān)。承諾人(簽名): 年 月 日3目 錄目 錄 ....................................................................3摘 要 .....................................................................41 緒論 ....................................................................62 系統(tǒng)總體設(shè)計方案 ........................................................72.1 總體方案的設(shè)計 .....................................................72.1 總體方案的選擇 .....................................................83 系統(tǒng)硬件設(shè)計 ............................................................93.1 AT89c51 單片機 .....................................................93.1.1:芯片介紹 ........................................................93.1.2.主要特性: ......................................................93.1.3.管腳說明 .......................................................103.1.4 振蕩器特性: .....................................................113.2 控制器模塊 ........................................................123.3 按鍵模塊 ..........................................................133.4 LED 顯示模塊 ......................................................143.5 硬件元件清單 ......................................................144 軟件設(shè)計與仿真 ..........................................................154.1 主程序設(shè)計 ........................................................154.2 仿真軟件簡介 ......................................................164.3 仿真結(jié)果 ..........................................................174.4 系統(tǒng)調(diào)試 ..........................................................184.5 誤差分析 ..........................................................18參考文獻(xiàn) .................................................................20致謝 .....................................................................21附錄:程序清單 ...........................................................23寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)4摘 要本文設(shè)計了一種基于單片機的智能彩燈的控制系統(tǒng)。系統(tǒng)由 AT89S52、LED 發(fā)光二極管、按鍵,可以實現(xiàn)彩燈的不同類型顯示切換。其硬件電路主要有主控制器,LED顯示電路,復(fù)位電路,晶振電路。系統(tǒng)程序的設(shè)計包括主程序的設(shè)計,中斷服務(wù)程序等等.以AT-89C51 單片機作為主控核心,與按鍵、顯示器等較少的輔助硬件電路相結(jié)合,利用軟件實現(xiàn)對 LED 彩燈進行控制。本系統(tǒng)具有體積小、硬件少、電路結(jié)構(gòu)簡單及容易操作等優(yōu)點。關(guān)鍵詞:單片機,數(shù)字控制,流水燈,AT89S52。 5AbstractAlong with the electronic technology rapid development, the monolithicintegrated circuit obtained more and more many applications. Here Iused monolithic integrated circuit 89C51 to unify LED (light emitterdiode) to manufacture a belt music broadcast function advertisementmigration colored lantern with the loudspeaker, it was composed by two 89C51, through gradually scanned together P3.0--P3.2 mouth, judgedwhether had the pressed key to press down, unified the port scanningand the pressed key scanning, thus realized the colored lantern tolighten, to lighten, the gap point by point in turn in turn lightens.Keywords: LED lantern; AT-89C51 single-chip microcomputer; Lantern controller寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)61 緒論隨著人們生活水平的提高,環(huán)境的不斷改善和美化,在許多場合可以看到很多彩色的霓虹燈。特別是當(dāng)今充滿競爭的時代,各地政府為吸引游客和投資者,在城市的沿街、沿道、沿河、沿線等地用霓虹燈造景,實施"亮化工程",以美化環(huán)境、樹立城市形象但是目前市場上各種式樣的 LED 彩燈多半是采用全硬件電路實現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制成成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調(diào)節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。同時這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點。此外從功能上來看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。 當(dāng)今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機智能控制系統(tǒng)所取代。隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的。單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。近年來,彩燈對于美化、亮化城市有著不可輕視的重要工作。因此作為城市裝飾的彩燈需求量越來越大,對與彩燈的技術(shù)和花樣也越來越高。但傳統(tǒng)的彩燈控制電路一般是由數(shù)字電路組成,這種彩燈控制器電路結(jié)構(gòu)復(fù)雜、成本較高、功率損耗大,此外從功能效果上看,彩燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。而單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。LED 彩燈具有成本低、發(fā)光純度高、發(fā)光熱量小、耗電量低、超長壽命的特點。所以利用單片機作LED 彩燈控制,不僅是使控制花樣、路數(shù)大大增加 ,成本也很低,而且對環(huán)境能源沒有污染,有著很大的發(fā)展前景。本方案是一種基于 AT-89C51 單片機的彩燈控制方案,實現(xiàn)對 LED 彩燈的控制。主要以 AT-89C51 單片機作為主控核心與發(fā)光二極管、晶振、復(fù)位、電源等組成電路,利用軟件編輯實現(xiàn)彩燈流水燈的效果。72 系統(tǒng)總體設(shè)計方案實驗總體電路構(gòu)造方案比較簡單,主要包括鍵盤控制電路(用脈沖按鍵開關(guān)對電路進行控制)和顯示電路(單片機控制發(fā)光二極管的顯示) 。圖 1.1 實驗方案圖按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C52單片機是美國ATMEL 公司生產(chǎn)的低電壓、高性能CMOS 8 位單片機,具有豐富的內(nèi)部資源:4kB 閃存、128BRAM、32 根I/O 口線、2 個16 位定時/計數(shù)器、5 個向量兩級中斷結(jié)構(gòu)、2 個全雙工的串行口,具有4.25~5.50V 的電壓工作范圍和0~24MHz工作頻率,使用AT89C52單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。2.1 總體方案的設(shè)計經(jīng)過分析問題及初步的整體思考,擬定以下二種方案:方案一:總體電路共分三大塊。第一塊實現(xiàn)花型的演示;第二塊實現(xiàn)花型的控制及節(jié)拍控制;第三塊實現(xiàn)時鐘信號的產(chǎn)生。主體框圖如下: 方案二:在方案一的基礎(chǔ)上將整體電路分為四塊。第一塊實現(xiàn)花型的演示;第二塊花型演示電路花型控制節(jié)拍控制電路時鐘信號電路寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)8實現(xiàn)花型的控制;第三塊實現(xiàn)節(jié)拍控制;第四塊實現(xiàn)時鐘信號的產(chǎn)生。并在部分電路的設(shè)計上與方案一采用了完全不同的方法,如花型的控制。主體框圖如下:2.1 總體方案的選擇方案一與方案二最大的不同就在,前者將花型控制與節(jié)拍控制兩種功能融合在一起,是考慮到只要計數(shù)器就可以實現(xiàn)其全部功能的原因,且原理相對簡單。如此設(shè)計,其優(yōu)點在于:設(shè)計思想比較簡單。元件種類使用少,且都較熟悉易于組裝電路。缺點則是:中間單元電路連線過于繁多,容易出錯。且可能出現(xiàn)線與線關(guān)系。要避免這些,則勢必造成門電路使用過多。導(dǎo)致電路不穩(wěn)定,抗干擾能力下降。而后者則將以上兩種功能分開設(shè)計,各單元電路只實現(xiàn)一種功能。其優(yōu)點在于:電路設(shè)計模塊化,易于檢查電路,對后面的電路組裝及電路調(diào)試帶來方便。缺點則是:節(jié)拍控制電路采用可編輯邏輯電路,原理相對復(fù)雜,不易理解?;ㄐ涂刂齐娐泛唵?,花型也比較簡單?;谝陨显?,加上為了成功的實現(xiàn)課程設(shè)計,我選擇了連線少,易于組裝和調(diào)試的方案二。方案一:采用各類數(shù)字電路來組成鍵盤控制系統(tǒng),進行信號處理,如選用 CPLD等可編程邏輯器件。本方案電路復(fù)雜,靈活性不高,效率低,不利于系統(tǒng)的擴展,對信號處理比較困難。方案二:過單片機控制二極管的閃爍,通過中斷來改變模式同時串行輸出數(shù)碼管。花型演示電路花型控制電路節(jié)拍控制電路時鐘信號電路9P0,P1 口接 16 個二極管,P3 口接擴展板的數(shù)碼顯示接口。該方案簡單,易于設(shè)計和控制。3 系統(tǒng)硬件設(shè)計3.1 AT89c51 單片機3.1.1:芯片介紹AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM —Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可 擦除只讀存儲器可以反復(fù)擦除 100 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多 功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C 單片機 為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.1.2.主要特性:·與 MCS-51 兼容 ·4K 字節(jié)可編程閃爍存儲器 壽命:1000 寫/擦循環(huán)數(shù)據(jù)保留時間:10 年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定·128*8 位內(nèi)部 RAM寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)10·32 可編程 I/O 線·兩個 16 位定時器/計數(shù)器·5 個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 3.1.3.管腳說明2.1.3AT89C51 引腳路VCC:供電電壓。GND:接地。P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,11P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。P3 口也可作為 AT89C51 的一些特殊功能口,P3 口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。/PSEN:外部程序存儲器的選通信號。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.4 振蕩器特性:XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT-89C51 單片機是美國 ATMEL 公司生產(chǎn)的低電壓、高性能CMOS 8 位單片機,具有豐富的內(nèi)部資源:4kB 閃存、128BRAM、32 根 I/O 口線、2個 16 位定時/計數(shù)器、5 個向量兩級中斷結(jié)構(gòu)、2 個全雙工的串行口,具有4.25~5.50V 的電壓工作范圍和 0~24MHz 工作頻率,使用 AT-89C51 單片機時無須外擴存儲器。因此,本彩燈控制系統(tǒng)實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。其具體硬件組成如圖 1 所示。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)12圖 1 彩燈硬件原理圖從圖 1 中可以看出,如果要讓接在 P1.0 口的 LED1 亮起來,那么只要把 P1.0 口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾?,如果要讓接?P1.0 口的 LED1 熄滅,就要把 P1.0口的電平變?yōu)楦唠娖?;同理,接?P1.1~P1.7 口的其他 7 個 LED 的點亮和熄滅的方法同 LED1。因此,要實現(xiàn)彩燈功能,我們只要將發(fā)光二極管 LED1~LED8 依次點亮、熄滅,8 只 LED 燈便會一亮一暗的做彩燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“彩燈”效果了。3.2 控制器模塊本系統(tǒng)控制器芯片采用 AT89C51 單片機,其管腳圖如圖 3 所示。D8-D6:數(shù)據(jù)輸入線。RESET:復(fù)位端口。T0,T1:計數(shù)器端口外部計數(shù)脈沖輸入線。XTAL1,XTAL2:時鐘電路。VCC:供電電壓。GND:接地。13圖 3 89C51 功能說明圖AT89C51 是一種帶 4K 字節(jié)閃存可編程可擦除只讀存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51 具有以下特性:與 MCS-51 兼容,4K 字節(jié)可編程閃爍存儲器,壽命:1000 寫/擦循環(huán),數(shù)據(jù)保留時間:10 年,全靜態(tài)工作:0Hz-24MHz,三級程序存儲器鎖定,128×8位內(nèi)部 RAM,32 可編程 I/O 線,兩個 16 位定時器/計數(shù)器,5 個中斷源,可編程串行通道,低功耗的閑置和掉電模式、片內(nèi)振蕩器和時鐘電路。3.3 按鍵模塊采用如下所示電路來實現(xiàn)控制花樣彩燈的復(fù)位,按下開關(guān),單片機復(fù)位,花樣彩燈按模式一閃爍。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)14圖電源電路有三端穩(wěn)壓器 7805 和電容組成,外部電池供電,BAT 接 7V 左右的電壓,穩(wěn)壓輸出 5V 的電壓。電源電路如圖 4 所示。圖 4.電源電路3.4 LED 顯示模塊LED 顯示電路由單片機 89C51 的 P0 口,P1 口和 P2 口與發(fā)光二極管相連,低電平二極管發(fā)光。LED 顯示電路如圖 2 所示。圖 2.LED 顯示電路3.5 硬件元件清單系統(tǒng)元器件清單見表 2。15表 2 系統(tǒng)元器件清單器件 數(shù)量 器件 數(shù)量AT89C51 1 晶振器 1LED 8 排阻(4.7k) 8電容(30pF) 2 電阻(100k) 1電容(10uF) 1 開關(guān) 14 軟件設(shè)計與仿真本系統(tǒng)程序包括主程序、鍵盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。鍵盤掃描子程序用于掃描鍵盤狀態(tài),將被按鍵的位置號存入緩沖器中。發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給單片機接口。發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給單片機接口。接收命令子程序用于接收單片機接口發(fā)來的鍵盤命令。4.1 主程序設(shè)計程序流程圖:中斷程序:主程序:寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)164.2 仿真軟件簡介Proteus 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:(1)實現(xiàn)了單片機仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232 動態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。17(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、 8051/52 系列、AVR 系列、PIC10/12/16/18 系列、HC11 系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51 uVision2、MPLAB 等軟件。(4)具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和 SPICE 分析于一身的仿真軟件,功能極其強大。Proteus7.5 是目前最好的模擬單片機外圍器件的工具,可以仿真 51 系列、AVR、PIC 等常用的 MCU 及其外圍電路(如 LCD、RAM、ROM、鍵盤、馬達(dá)、LED、AD/DA、部分 SPI 器件、部分 IIC 器件等)。軟件編譯采用 KEIL C51 軟件,Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。4.3 仿真結(jié)果 先按復(fù)位鍵,系統(tǒng)初始化,然后 8 個 LED 開始按照要求閃爍,分別按下列模塊點亮:模塊 1:循環(huán)單向閃爍,只有一個燈亮模塊 2:循環(huán)單向閃爍,只有兩個燈亮模塊 3:循環(huán)往復(fù)閃爍,只有一個燈亮模塊 4:全亮全滅模塊 5:順次點亮或者熄滅, 多個燈亮模塊 6:順次點亮或者熄滅,多個燈亮,一次點亮兩個寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)18模塊 7:雙端對稱往返閃爍4.4 系統(tǒng)調(diào)試在調(diào)試過程中主要是對程序的修改,特別是延時子程序。開始延時較短時,當(dāng)按下開關(guān)時,LED 開始閃爍。如果延時較長則 LED 閃爍更慢。通過修改程序,將延時調(diào)到適中,系統(tǒng)正常工作。4.5 誤差分析設(shè)定預(yù)設(shè)值后,記錄模式一的數(shù)據(jù),每次送出的數(shù)據(jù)是不同,具體的數(shù)據(jù)如下表 1所示 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 說明L8 L7 L6 L5 L4 L3 L2 L1 1 1 1 1 1 1 1 0 L1 亮1 1 1 1 1 1 0 1 L2 亮1 1 1 1 1 0 1 1 L3 亮1 1 1 1 0 1 1 1 L4 亮1 1 1 0 1 1 1 1 L5 亮1 1 0 1 1 1 1 1 L6 亮1 0 1 1 1 1 1 1 L7 亮0 1 1 1 1 1 1 1 L8 亮后面幾種模式的實驗結(jié)果基本和理論值一樣,沒什么誤差。19結(jié)束語與市面上大多數(shù)的 LED 彩燈相比,該種彩燈具有更好的燈光裝飾效果,性價比更高,與普通的全硬件 LED 彩燈相比具有更好的經(jīng)濟效益。應(yīng)用主控模塊輸出的控制信號去控制燈管內(nèi)的 L ED 板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲在 89C51 單片機 的電可擦除 Flash 閃存 EPROM 中,如果用戶需要更改系統(tǒng)的亮燈模式 Model_i,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。通過花樣彩燈的制作,給我最大的體會是對一個程序整體的把握和控制,只有將子程序有效的結(jié)合起來,才能完成設(shè)計的目的。另外,在程序的調(diào)試過程中,我也遇到了很多意想不到的困難,在老師的幫助和自己的不懈努力下,我對偉福這款仿真軟件有了更深的認(rèn)識,將困難一一克服,使程序編譯成功,仿真實現(xiàn)。通過對本次畢業(yè)論文的編寫,使我明白應(yīng)用主控模塊輸出的控制信號去控制燈管內(nèi)的 L ED 板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲在89C51 單片機 的電可擦除 Flash 閃存 EPROM 中,如果用戶需要更改系統(tǒng)的亮燈模式 Model_i,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制器。通過編寫論文,使我對單片機實現(xiàn)彩燈的原理及其使用問題有了更深刻的認(rèn)識,是我從中體會到《單片機原理及技術(shù)應(yīng)用》的課題的重要意義,值得我們探討,使我更深的理解和學(xué)會綜合運用單片機技術(shù)、模擬電子電路、數(shù)字電子電路、傳感器,軟件技術(shù)、計算機軟件編程技術(shù),設(shè)計彩燈。通過設(shè)計全面地培養(yǎng)與鍛煉電子信息工程專業(yè)學(xué)生綜合運用本專業(yè)知識分析問題和解決問題的能力。寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)20參考文獻(xiàn)[1]王幸之 鐘愛琴. AT89 系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.[2]譚浩強.C 程序設(shè)計(第二版)[M].北京:清華大學(xué)出版社,1999.[3]趙亮.單片機 C 語音編程與實例[M].北京:人民郵出版社,2004.[4]房小翠、王金鳳.單片機實用系統(tǒng)設(shè)計技術(shù)[M].北京:國防工業(yè)出版社,1999.[5]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)[M].北京:高等教育出版社,1998.[6]張毅剛.單片機原理及應(yīng)用[M].北京:高等教育出版社,2003.[7]李廣第,朱月秀,王秀山.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001.[8]楊振江.A/D、D/A 轉(zhuǎn)換器接口技術(shù)與實用電路[M].西安:西安電子科技大學(xué)出版社.[9]梅笙,李瑋.基于 AT89C52 控制的數(shù)控直流電流源的設(shè)計[J].電子測試,2007(2):19-23.[10]張鑫.單片機原理及應(yīng)用[M].電子工業(yè)出版社,2005.[11]Matthew R, Robin T. Microprocessor controlled power supply[J]. Electronic World Wireless World, 1994,95 (1639) : 524~527.[12]Kuo B C. Automatic control system[M]. 3th ed. New Jersy Prentice Hall, 1975. 21致謝本次畢業(yè)設(shè)計的成功得益于很多人的幫助,在此,我要向他們提出感謝!首先,我要感謝教的 XX 老師,感謝他給我認(rèn)真講解這門課,讓我學(xué)到了很多的知識。再次,我也要感謝知道我們這次設(shè)計的指導(dǎo)老師,得助于他悉心的指導(dǎo),我才能更輕松更順利的完成這次課程設(shè)計。第三,我要感謝身邊同學(xué)們的幫助,碰到不懂的問題時,使他們給與我耐心的講解,讓我明白一些問題。過幾個月的忙碌和學(xué)習(xí),本次畢業(yè)論文設(shè)計已經(jīng)接近尾聲。作為一個大專生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有指導(dǎo)教師的的督促指導(dǎo),想要完成這個設(shè)計是難以想象的。在這里首先要感謝我的論文指導(dǎo)老師。老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調(diào)整等各個環(huán)節(jié)中都給予了我悉心的指導(dǎo)。除了敬佩楊老師的專業(yè)水平外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。最后還要感謝大學(xué)來所有的學(xué)院老師,是在他們的教誨下,我喜歡上了這個專業(yè),掌握了堅實的專業(yè)知識基礎(chǔ),為我以后的揚帆遠(yuǎn)航注入了動力。感謝和我一起生活的室友,是你們讓我們的寢室充滿快樂與溫馨,為學(xué)習(xí)和生活提供了很好的環(huán)境。 “君子和而不同” ,我們正是如此!愿我們以后的人生都可以充實、多彩與快樂!謝謝你們!寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)22附錄:程序清單#include#define uint unsigned intvoid delay(uint);main(){ uint fre=0x04;uint fre1,fre2;uint comp1=0xfe,comp2=0x80;while(1){/*-------------------------------------------------------------模塊一:循環(huán)單向閃爍,只有一個燈亮執(zhí)行 3 次,轉(zhuǎn)入下一種閃爍------------------------------------------------------------*/P1=0xfe;while(1!=fre--){fre1=0x08;while(1!=fre1--){delay(30000);P1>=1;P1|=0x80; }}/*------------------------------------------------------------- 模塊 4:全亮全滅執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -----------------------------------------------------------25--*/while(3!=fre1++){delay(30000);P1=0x00;delay(30000);P1=0xff; }/*------------------------------------------------------------- 模塊 5:順次點亮或者熄滅,多個燈亮,執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(1!=fre1--){P1=0xfe;while(P1!=0x00){delay(30000);P1>=1;寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)26P1|=0x80;}} /*------------------------------------------------------------- 模塊 6:順次點亮或者熄滅,多個燈亮,一次點亮兩個,執(zhí)行 3 次,轉(zhuǎn)入下一模塊 -------------------------------------------------------------*/while(3!=fre1++){ P1=0xfc;while(P1!=0x00){delay(30000);P1>=2;P1|=0xc0;}delay(30000);} /*---------------------------------------------------------27---- 模塊 7:雙端對稱往返閃爍執(zhí)行 3 次,進行下一輪循環(huán) -------------------------------------------------------------*/P1=0x7e;delay(30000);while(1!=fre1--){fre2=0x00;while(6!=fre2++){P1=0xff;comp1>=1;P1&=comp1;P1^=comp2;delay(3000000);if(P1==0xe7){comp1>=1;}if(comp2==0x01){comp1=0xfe;comp2=0x80;寧波大紅鷹學(xué)院畢業(yè)設(shè)計(論文)28}}}} }void delay(uint cnt){while(cnt--);}
收藏