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