版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于AT89S52單片機的簡易循環(huán)彩燈控制設(shè)計</p><p><b> 目 錄</b></p><p><b> 緒 論1</b></p><p><b> 1項目分析1</b></p><p> 1.1 需求分析1</p>
2、<p> 1.2 功能模塊分析2</p><p> 1.2.1 系統(tǒng)模塊圖2</p><p> 1.2.2 外部時鐘電路2</p><p> 1.2.3 復(fù)位電路2</p><p> 1.2.4 LED驅(qū)動電路3</p><p> 1.2.5 最小系統(tǒng)電路3</p>
3、<p> 1.3 方案設(shè)計4</p><p> 1.3.1 設(shè)計方案比較及選擇4</p><p> 1.3.2 可行性分析4</p><p> 1.3.3 難點分析及解決方法4</p><p> 1.4 技術(shù)性能指標5</p><p> 1.4.1基本要求:5</p>
4、<p> 1.4.2 彩燈閃爍花型5</p><p><b> 2 硬件設(shè)計5</b></p><p> 2.1 總體電路圖5</p><p> 2.2 電路的工作原理6</p><p> 2.3 元器件及其參數(shù)選擇6</p><p> 2.4 PCB板的制作8&
5、lt;/p><p><b> 2.5焊接組裝8</b></p><p><b> 3 電路調(diào)試9</b></p><p> 3.1 靜態(tài)調(diào)試9</p><p> 3.2 通電調(diào)試9</p><p> 3.3 故障分析與排除9</p><p&
6、gt;<b> 4 軟件設(shè)計10</b></p><p> 4.1 程序設(shè)計10</p><p> 4.2 程序功能模塊的劃分10</p><p> 4.3 程序框架圖10</p><p> 4.4 軟件程序:10</p><p> 4.4 程序調(diào)試13</p>
7、;<p> 4.5 系統(tǒng)仿真13</p><p> 4.6 設(shè)計結(jié)果評價14</p><p><b> 5 結(jié)語14</b></p><p><b> 參考文獻16</b></p><p><b> 附錄:17</b></p>&
8、lt;p><b> 致謝18</b></p><p> 基于AT89S52單片機的簡易循環(huán)彩燈控制設(shè)計</p><p><b> 摘 要</b></p><p> 在當代生活里,人們對生活燈飾品的要求越來越高,這樣無疑使得各種彩燈成為了最日常生活中不可缺少的裝飾品,它不僅能美化都市環(huán)境,渲染生活氣氛,還可
9、將其用于各種娛樂場所和電子玩具中?,F(xiàn)以本畢業(yè)設(shè)計為例進行分析與設(shè)計簡易的可編程的循環(huán)彩燈控制電路很多,其組合的方式和運用的集成塊的種類及數(shù)目更是多種多樣,而且還有專門的可編程[9]循的各種復(fù)雜程度的循環(huán)彩燈控制電路模塊。市場上及大多數(shù)的彩燈都是運用各種數(shù)字電路來實現(xiàn)的,但本畢業(yè)設(shè)計在考慮到制作簡易程度及成本的前提下, 由于單片機具有集成度高、功耗低、運行可靠性強、體積并不大、價格低廉等優(yōu)點 , 所以特意地運用了單片機、LED等優(yōu)點及技術(shù)
10、,來實現(xiàn)對各種形式不一的各色彩燈的自動簡易控制。</p><p> 本畢業(yè)設(shè)計以AT89S52單片機[2] 為主要的控制核心,各電路都采用模塊化的設(shè)計方法,運用各色LED彩燈、普通按鍵等組成主要電路,運用可編程循軟件在按鍵的控制下實現(xiàn)對彩燈循環(huán)點亮花樣及模式進行選擇,從而達到每個不同需求的人對設(shè)計出來的成品的要求。本畢業(yè)設(shè)計具有體積小、電子元器件少、電路結(jié)構(gòu)簡易及操作方便等優(yōu)點。</p><
11、p> 關(guān)鍵詞:AT89S52單片機;數(shù)字電路[4];循環(huán)燈; LED</p><p> Simple cycle lights AT89S52 microcontroller-based control designs</p><p><b> Abstract</b></p><p> In modern life, peopl
12、e living lights jewelry have become increasingly demanding, this would no doubt make a variety of lights has become the most indispensable everyday decorations, it can not only beautify the urban environment, rendering t
13、he atmosphere of life, but also to for a variety of entertainment and electronic toys. The graduation project is now an example to analyze and design simple programmable loop control circuit Lantern many combinations of
14、types and numbers of the manifold ways </p><p> The graduation project AT89S52 microcontroller as the main control center, all circuits are designed using a modular approach, the use of colored LED lights,
15、buttons and other components common main circuit, the use of programmable through software implementation cycle under the control of the lantern keys lighting patterns and mode selection, to achieve the different needs o
16、f each person, the finished design requirements. The graduation design has a small, small electronic components, circuit s</p><p> Key words: AT89S52 machines;Digital circuits;Lights; LED</p><p&g
17、t;<b> 緒 論</b></p><p> 本畢業(yè)設(shè)計是一種主要由AT89S52單片機組成的簡易的可編程的循環(huán)彩燈控制設(shè)計,從而實現(xiàn)對LED彩燈發(fā)亮模式及花樣的控制。本畢業(yè)設(shè)計是將單片機[1] P0口和P2口作為16路LED彩燈的輸出端口(提供+5V工作電源),且主控單片機是AT89S52單片機(提供+5V工作電源),在主控電路模塊上還包含振蕩電路和復(fù)位電路。本畢業(yè)設(shè)計的整個控制模塊
18、由軟件控制,在此基礎(chǔ)上,設(shè)計者可以通過主控模塊(單片機)上P3口的按鍵對正在工作的已編寫好的若干種亮燈模式的LED彩燈進行花樣控制。</p><p> 該畢業(yè)設(shè)計的系統(tǒng)設(shè)計[2]原理比較簡易, 其主要設(shè)計原由是利用單片機的可編程控制原理, 由硬軟件兩大部分組成。其硬件包括主控CPU-AT89S52 單片機、I/ O 接口及其擴展、EPROM及其擴展、各色小功率LED彩燈等幾個部分。軟件部分由主程序及各子程序構(gòu)成
19、。</p><p> 由于軟件控制程序存儲在AT89S52單片機中的可進行電擦除的Flash閃存EPROM中,如果設(shè)計者需要改變LED彩燈發(fā)亮的花樣,不需要更改已設(shè)計好的硬件電路[5],只需修改存儲在主控芯片中AT89S52單片機中的程序即可,是一種及有發(fā)展前景的可編程的循環(huán)彩燈控制裝置。</p><p><b> 1 項目分析</b></p>&l
20、t;p><b> 1.1 需求分析</b></p><p> 在經(jīng)濟發(fā)展迅速的21世紀里, 人們對周圍環(huán)境的要求也越來越高,渴望生活在一個燈光奪目的的環(huán)境中享受美好生活,使得人生不那么單調(diào)寂寞。各種循環(huán)彩燈(即各種霓虹燈)也因此產(chǎn)生了,人們運用各種簡易的可編程的循環(huán)彩燈來裝飾街道、房屋建筑和咖啡屋等已經(jīng)成為一種時尚。尤其是現(xiàn)在的90后為追求時尚,在他們的摩托車、自行車都安裝了各種彩
21、燈,給愛車裝上閃燈后時尚又拉風。與此同時,各種手機裝飾燈、風箏裝飾彩燈也成為了時尚,都是為了使自己的愛物更加光彩奪目。據(jù)此可知,“彩燈族”正風靡社會生活各個角落,這樣使得LED彩燈市場需求正日益上升,極具競爭力。各種簡易的可編程[11]的循環(huán)彩燈在當今生活中無處不在,從而給企業(yè)帶來了許多商業(yè)機遇。</p><p> LED彩燈由于其具有多種燈光色彩,價格低廉以及易于控制等特點而得到人們的廣泛青睞。目前,市場上絕
22、大多數(shù)的LED循環(huán)彩燈控制器都是由全硬件電路(即由多種模擬電子元器件組成的電路[3])實現(xiàn)的。無疑,這樣的電路穩(wěn)定性不高、功耗大、結(jié)構(gòu)復(fù)雜且功能單一,制成成品后只能按照單一固定的模式運行閃亮,無法滿足客戶根據(jù)不同場合或不同時間段的需要來調(diào)節(jié)彩燈發(fā)亮的時間、模式、閃爍頻率等基本要求。這種彩燈控制器結(jié)構(gòu)具有大功率芯片多、電路較為復(fù)雜、系統(tǒng)穩(wěn)定性不高等缺點。除此之外,從工作的功能及效果上看,亮燈模式少且花樣比較單調(diào),用戶可操作幾乎沒有,無法達
23、到用戶所需要的效果。因此,需要我們對現(xiàn)有的霓虹燈控制器進行必要的改進。與大多數(shù)現(xiàn)有的LED彩燈相比,該種簡易的可編程[12]的循環(huán)彩燈具有變化新穎的點亮花樣,性價比更高,與市面上的普通的全硬件控制的LED彩燈相比具有更好的裝飾效果和經(jīng)濟效益。</p><p> 1.2 功能模塊分析</p><p> 1.2.1 系統(tǒng)模塊圖</p><p><b>
24、圖1.1 系統(tǒng)模塊</b></p><p> 1.2.2 外部時鐘電路</p><p> XTAL2(即18)引腳和XTAL1(即19)引腳接外部時鐘電路,XTAL1(即19)引腳接外部晶振及電容的一個腳, XTAL2(即18)引腳接外部晶振及電容的另一端。</p><p> 外部時鐘電路是在XTAL1和XTAL2引腳之間接入晶振及2個諧振電容并于
25、片內(nèi)時鐘電路一起構(gòu)成振動電路。這里我們一般選用12MHZ的晶振作為內(nèi)部時鐘電路的振蕩頻率,諧振電容我們一般采用22—30pF的陶瓷片電容,此畢業(yè)設(shè)計我們選用的是30pF。時鐘電路圖如下圖1.2所示:</p><p><b> 圖1.2時鐘電路</b></p><p> 1.2.3 復(fù)位電路</p><p> RST(即9)引腳為單片機主控
26、系統(tǒng)復(fù)位輸入端,接上電容、電阻及開關(guān)后夠上電復(fù)位電路,VCC(即40)引腳為電源端(接+5V),GND(即20)引腳為接地端。復(fù)位電路實際上是對單片機的進行初始化操作,從而使片內(nèi)部各寄存器都處于初始狀態(tài)。復(fù)位電路有兩種方式:一種是上電復(fù)位,另一種是按鍵電平復(fù)位,本畢業(yè)設(shè)計采用的是按鍵電平復(fù)位(即手動復(fù)位)的方式。所選復(fù)位電路如下圖1.3所示:</p><p><b> 圖1.3復(fù)位電路</b&g
27、t;</p><p> 1.2.4 LED驅(qū)動電路</p><p> LED驅(qū)動電路由16個電阻、16個LED和一個電源組成。LED驅(qū)動電路是本畢業(yè)設(shè)計的主要展示部分,系統(tǒng)的重要功能及效果都有此模塊展示出來。由于單片機的吸電能力比輸出能力強,所以我選擇的是LED彩燈共陽極的接法。其模塊電路圖如下圖1.4所示:</p><p> 圖1.4 LED驅(qū)動電路<
28、/p><p> 1.2.5 最小系統(tǒng)電路</p><p> 單片機主控模塊外圍電路的最小系統(tǒng)實際上是由外部時鐘振蕩電路和外部復(fù)位電路以及提供能量的電源組成。它是保證單片機能夠正常工作的最小組成單位,其模塊組成電路圖如下圖1.5所示:</p><p> 圖1.5 單片機最小系統(tǒng)</p><p><b> 1.3 方案設(shè)計</
29、b></p><p> 1.3.1 設(shè)計方案比較及選擇</p><p> 在設(shè)計之初,我準備了兩套設(shè)計方案:第一,是以MSP430單片機為主控模塊設(shè)計一個由音樂和按鍵兩種獨立方式分別來控制彩燈閃爍模式并通過LCD12864顯示發(fā)光彩燈個數(shù)的較為復(fù)雜的循環(huán)彩燈控制方案;第二,是以AT89S52單片機為主控模塊設(shè)計一個只有按鍵獨立彩燈閃爍模式且不帶LCD12864顯示模塊的簡易循環(huán)彩
30、燈控制方案。但在最終確定設(shè)計方案的時候,我在綜合到所懂的知識深度和設(shè)計成本的條件下,我最終選擇了第二套方案。</p><p> 1.3.2 可行性分析</p><p> 本設(shè)計的基本要求是要實現(xiàn)LED彩燈的工作方式具有多種循環(huán)模式的功能,所以要想能夠達到此種功能就必須運用單片機的簡易控制來實現(xiàn)。本畢業(yè)設(shè)計選用AT89S52單片機作為主控模塊,通過按鍵來選擇彩燈循環(huán)模式來實現(xiàn)彩燈的簡易循
31、環(huán)控制。在本次設(shè)計中,我只用到單片機的最小系統(tǒng)模塊(外部時鐘電路、手動復(fù)位電路和供電模塊),LED彩燈供電驅(qū)動模塊以及一個按鍵來設(shè)計一個最為簡易的可控型彩燈循環(huán)系統(tǒng)。由于此系統(tǒng)較為簡易,所以在電路設(shè)計及布線的問題上應(yīng)該不會存在太大的問題,所以我堅信此次畢業(yè)設(shè)計一定會去得圓滿成功!</p><p> 1.3.3 難點分析及解決方法</p><p> 本畢業(yè)設(shè)計的幾大模塊都較為簡單,但為使
32、LED彩燈的循環(huán)工作模式比較新穎獨特,這就需要設(shè)計者在編寫程序環(huán)節(jié)上下功夫。所以在編寫程序之前,我先對彩燈工作模式做了設(shè)計,然后根據(jù)各種模式編寫相應(yīng)的模式程序。在這里,我在編寫程序是出了各種細節(jié)性的問題,比如參數(shù)變量和子模塊程序聲明方面總要或多或少的出現(xiàn)錯誤,從而使得在編譯預(yù)處理的時候總是出現(xiàn)警告和錯誤,但這一問題在經(jīng)過多次修改與調(diào)試最終得到解決;另一問題是,有2中程序編寫的模式與預(yù)想設(shè)計的模式不一致,但經(jīng)過多次的編寫修改與測試最終也得
33、到有效的解決,從而達到了我預(yù)先構(gòu)想設(shè)計的循環(huán)工作模式。</p><p> 1.4 技術(shù)性能指標</p><p> 1.4.1 基本要求:</p><p> a. 每個LED彩燈都能正常發(fā)亮;</p><p> b. 能按照多種方式正常運行;</p><p> c. 按鍵按下后能及時改變彩燈顯示方式;</
34、p><p> d. 完整版系統(tǒng)能穩(wěn)定工作;</p><p> e. 焊接時要注意焊接點的美觀。</p><p> 1.4.2 彩燈閃爍花型</p><p> 花型1:單個右移、左移。</p><p> 花型2:16路彩燈先從左至右逐路點亮,到全亮后再從右至左逐路熄滅,循環(huán)演示。</p><p&
35、gt; 花型3: 16路彩燈同時亮滅,亮、滅節(jié)拍交替進行。</p><p><b> 花型4:兩兩右移。</b></p><p> 花型5:16路彩燈每次8路燈亮,8路燈滅,且亮、滅相間,交替亮滅。</p><p> 花型6: 16彩燈分成左、右8路,兩兩向外擴散。</p><p> 花型7:16路彩燈分成左、
36、右8路,左8路從左至右逐路點亮、右8路從右至左逐路點亮,到全亮后,左8路從右至左逐路熄滅,右8路從左至右逐路熄滅,循環(huán)演示。</p><p> 花型8:左、右8路,兩邊三個燈依次右移點亮,再左移點亮。</p><p><b> 2 硬件設(shè)計</b></p><p><b> 2.1 總體電路圖</b></p&g
37、t;<p> 圖2.1 系統(tǒng)整體電路圖</p><p> 2.2 電路的工作原理</p><p> 本畢業(yè)設(shè)計的電路原理并不難,它是一個以AT89S52單片機為主控芯片來控制彩燈的工作循環(huán)模式,所以只需在單片機最小系統(tǒng)的條件下加上一個彩燈驅(qū)動模塊和一個控制按鍵在通電的情況下就可以實現(xiàn)。在這里我選用P0和P2端口作為16個LED彩燈的控制端口來控制彩燈的亮與滅;P3.7口
38、作為按鍵的輸入端口來選擇彩燈的工作模式;單片機的最小系統(tǒng)選用的是最常用的(但在這里我選用的是手動高電平復(fù)位而非自動復(fù)位);電源我采用的是由USB通過數(shù)據(jù)傳輸線直接從電腦引入5V的電壓,但為了確定引入的電壓正常,我特意用一個LED彩燈亮亮與滅來指示,所以從整體上分析我認為這一電路原理是可行的。</p><p> 2.3 元器件及其參數(shù)選擇</p><p> 在本節(jié)主要介紹系統(tǒng)的硬件元器件
39、的簡易介紹與選擇及其參數(shù)的確定等。</p><p> 2.3.1主控芯片的選擇及引腳簡介</p><p> 市場上單片機的種類繁多,但由于AT89S52單片機的功耗、性能穩(wěn)定、價格相對便宜且能夠完全滿足本畢業(yè)設(shè)計的參數(shù)要求,所以本畢業(yè)設(shè)計選用了此款單片機。AT89S52單片機芯片實物圖如圖2.2所示:</p><p> 圖2.2 AT89S52單片機</
40、p><p> I/O口作為輸入口時的工作方式有兩種也就是讀端口和讀引腳。在讀端口時并不是從外部直接讀入數(shù)據(jù),而是先把端口鎖存器的數(shù)據(jù)讀入內(nèi)部總線,然后經(jīng)過運算或變換后再將數(shù)據(jù)寫回到端口鎖存器。由于I/O端口在進行輸入操作時要進行一個附加準備動作,所以稱為準雙向口。其芯片引腳圖如下圖2.3:</p><p> 圖2.3 AT89S52引腳圖</p><p> 能量輸
41、入引腳:VCC(即40)(供電+5V)、GND(即20)(接地)</p><p> 復(fù)位引腳:RST∕VPD(即9)在振蕩器運行時,只有在此引腳上出現(xiàn)兩個以上的機器周期(即24個振蕩周期)的高電平時,才能使單片機復(fù)位,當這個引腳一直處于高電平時,AT89S52芯片將一直保持循環(huán)復(fù)位狀態(tài)。復(fù)位后四組8位I/O均被置1,此時的程序計數(shù)器及特殊功能寄存器(SFR)均被清零。復(fù)位后對存儲在芯片內(nèi)部的RAM的程序沒有影響
42、;</p><p> 心臟引腳:XTAL1(即19)反向振蕩放大器的輸入引腳以及內(nèi)部時鐘工作電路的輸入引腳;</p><p> XTAL2(即20)反向振蕩放大器的輸出引腳。(晶振引腳,提供時序、脈沖)。</p><p> 2.3.2 LED發(fā)光二極管的選擇</p><p> LED發(fā)光二極管:單向?qū)щ娦?,只有電流從正極流過時才能發(fā)
43、光。其正常發(fā)光時功耗低,且此時的額定電壓為2V左右,額定電流約10mA左右。其工作壽命長且可靠性高;發(fā)出的光的強弱可以很方便地通過控制電流的強弱來調(diào)節(jié),本畢業(yè)設(shè)計在考慮到功耗和成本的條件下選用了各色功耗較低的小型LED。</p><p> 注:要使LED正常工作須遵守兩個原則:一是要按正確的順序進行引腳連接,二是工作時須接上拉電阻。由于本課題設(shè)計的是簡易循環(huán)彩燈,故選擇LED。</p><p
44、> 圖2.4 LED彩燈</p><p> 2.3.3 電阻器的選擇</p><p> 220Ω的16個、10KΩ的9個,根據(jù)電路特性(R=5V/10mA=500Ω)計算出電阻大小約為500Ω,而市場上的電阻的實際阻值為:470Ω、510Ω、570Ω。考慮到LED的額定電流一般為10mA且其亮度于通過其電流成正比,所以我們選擇220Ω。</p><p>
45、 2.3.4 電容器的選擇</p><p> 一個10uF的電解電容:有正負極之分,接在復(fù)位引腳上,且其正極應(yīng)與電源電壓的正極相連,陰極與電源電壓的負極相連接,否則會損壞電容器。</p><p> 兩個30pF的陶瓷片電容:沒有正負極之分,接在晶振引腳上。</p><p><b> 2.3.5電源供電</b></p>&l
46、t;p> 單片機8051工作電壓是5V。測試中電壓在4.5~5.5都可以。</p><p> 補充:這里介紹三種電源供電方式</p><p> a 電腦USB接口;</p><p> b 普通手機或MP3的充電器(5.5V);</p><p><b> c 三節(jié)5號電池。</b></p>&
47、lt;p> 2.3.6 其他器件</p><p> a 芯片插座:便于芯片的固定與取放;</p><p> b 晶振:本課題選用頻率為12M的晶振;</p><p> c按鍵:獨立按鍵便于手動選擇所要的彩燈顯示花樣。</p><p> 2.4 PCB板的制作</p><p> 在焊接前需要通過DXP2
48、004[8] 進行排版分布和PCB板設(shè)計。其具體步驟見《Protel 2004》肖玲妮.清華大學出版社P182-P188。PCB設(shè)計流程如下圖2.4所示</p><p> 圖2.4 PCB設(shè)計流程</p><p><b> 2.5 焊接組裝</b></p><p> 在準備焊接之前首先應(yīng)列出電路所需的元器件清單并依次排在桌子上。仔細查是
49、否有損壞的元器件,以免在調(diào)試時出現(xiàn)不必要的麻煩。查閱相關(guān)器件的引腳圖,了解各引腳的功能和焊接方法。然后根據(jù)實物和PCB原理圖在萬能面板上做好規(guī)劃,插的時候一定要固定住,以免在焊接時接觸不緊或出現(xiàn)虛焊。焊接的同時把導(dǎo)線理順,走線要明了,以免出現(xiàn)短路不方便后期的檢查調(diào)試。</p><p> 注:經(jīng)過長時間使用電烙鐵會使其頭部生成一層氧化物,從而使得烙鐵不易吃錫,這時需要操作者用小刀刮掉其頭部的氧化層或?qū)岬睦予F插入
50、松香,涂上焊錫便可繼續(xù)使用。</p><p> 2.5.1 電路組裝步驟</p><p> 第一步:先用Keil uVision3 軟件編寫能達到設(shè)計者要求的程序,并編譯生成AT89S52單片機可以執(zhí)行的十六進制文件(即.hex文件);</p><p> 第二步:根據(jù)電路原理圖焊接硬件電路板;</p><p> 第三步:利用AT89S
51、52對應(yīng)的下載軟件和下載器將編譯好的.hex文件下載到單片機中;</p><p> 第四步:將下載有程序的單片機插在焊接好的IC插座上,然后調(diào)試硬件電路板。</p><p><b> 3 電路調(diào)試</b></p><p><b> 3.1 靜態(tài)調(diào)試</b></p><p> 第一步:為是在調(diào)
52、試時避免致命的錯誤,在系統(tǒng)正式調(diào)試[7]之前應(yīng)按電路原理圖對實際焊接線路進行核對檢查,檢查所焊接的電路是否出現(xiàn)多接、少接或錯接等,尤其是要注意電源的走線;檢查每個焊接處是否良好,以防止焊接處出現(xiàn)虛焊或脫焊等現(xiàn)象;元器件引腳之間有無短路,焊點處有無接觸松動,二極管、電解電容的極性是否正確;電源極性是否接反以及是否出現(xiàn)短路現(xiàn)象、信號源接入方法是否正確;</p><p> 第二步:在加電之前,固定好所有的元器件(單片
53、機除外)。當一切都檢查好后,然后加電觀察所有電子元器件有無異?,F(xiàn)象(如元器件發(fā)燙、冒煙、異常氣味、電源短路等現(xiàn)象)。如出現(xiàn)上述異?,F(xiàn)象時,應(yīng)立即切斷電源并排除故障直至系統(tǒng)元器件都正常,然后測量各電子元器件的直流電壓是否安全,如有器件的電壓不符正常電壓,則應(yīng)及時調(diào)整電源電壓或更換元器件;</p><p> 第三步: 在單片機沒有插入IC插座前,應(yīng)先測量IC插座上的各引腳的電位,然后根據(jù)硬件電路原理圖來判斷各引腳的
54、電位是否正常,如果各電位正常則將單片機插入IC插座上,然后再重新測量一次單片機各引腳的電位。</p><p> 然后用仿真器與系統(tǒng)電路相連,從而為聯(lián)機調(diào)試做好準備。</p><p><b> 3.2 通電調(diào)試</b></p><p> 在接好仿真器后接通電源,然后觀察系統(tǒng)能否達到設(shè)計者所要達到的預(yù)期效果。如果無法達到預(yù)期效果,則單步運行仿
55、真器,觀察單步運行的效果并進行整理和修改以達到設(shè)計者的預(yù)期效果。 </p><p> 3.3 故障分析與排除</p><p> 在本次成品調(diào)試的過程中一開始有3個LED燈沒有亮,在這樣情況下我先對用手搖了這3個彩燈,這時我發(fā)現(xiàn)在搖的時候有一個彩燈一閃一閃的,而另外2個沒反應(yīng)。我首先換了那個偶爾一閃一閃的彩燈,然后對通電的每個單片機引腳用萬用表一一測量它的電壓并經(jīng)過對比結(jié)果發(fā)現(xiàn)每個引腳的
56、電壓都正常,所以我又對每個LED彩燈的正極電壓進行了測量與對比,結(jié)果發(fā)現(xiàn)其中的一個彩燈正極的電壓明顯出現(xiàn)異常,這時我分析認為是因為其限流電阻壞了,而另一個有可能是LED彩燈壞了,然后我對對應(yīng)的器件進行了更換,奇跡的發(fā)現(xiàn)更換之后兩個彩燈也正常的亮了,所以我比較順利的解決了調(diào)試時所出現(xiàn)的故障。</p><p><b> 4 軟件設(shè)計</b></p><p><b&
57、gt; 4.1 程序設(shè)計</b></p><p> 程序設(shè)計(Programming)是指設(shè)計、編譯、調(diào)試程序的方法和過程。在進行自動控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,其余的工作就是如何根據(jù)每個設(shè)計者的設(shè)想要求來設(shè)計出相應(yīng)的應(yīng)用程序。因此,軟件設(shè)計在自動控制系統(tǒng)設(shè)計中居于核心地位。在本畢業(yè)設(shè)計中,軟件程序的設(shè)計也極為重要。</p><p> 為了順利的完成設(shè)計者的要求
58、,在進行軟件程序設(shè)計時,應(yīng)將整體程序分成若干個部分,每一部分叫做一個子模塊程序。把多個具有特定功能的子程序模塊分別進行編制、調(diào)試后再把它們連接在一起形成一個完整的功能齊全的程序,這樣的程序設(shè)計方法稱為模塊化程序設(shè)計法。所謂“模塊”,實質(zhì)上就是能夠獨立完成某項特定功能的程序段。本畢業(yè)設(shè)計就是采用的模塊程序設(shè)計法。</p><p> 程序模塊化設(shè)計具有如下優(yōu)點:</p><p> a 單個
59、模塊比起一個完整的程序易編寫、調(diào)試及修改;</p><p> b 程序的易讀性好;</p><p> c 程序的修改可局部化;</p><p> d 模塊可以重復(fù)多次運用,一個模塊可以在不同條件下被多個任務(wù)調(diào)用;</p><p> e 各子模塊程序可以很好的讓設(shè)計者進行分割任務(wù)和利用已有子模塊程序,從而為設(shè)計者提供了很多方便。<
60、/p><p> 4.2 程序功能模塊的劃分</p><p> 由于子程序的可讀性強且程序易于修改,所以一般情況下一個好的程序不是由一個主程序組成而是由多個子程序和一個主程序組合而成。在本畢業(yè)設(shè)計中的程序由一個延時子程序、一個按鍵確認子程序、多個I/O口輸出控制數(shù)組程序和一個主程序組合而成。這樣延時程序可以很好地用來控制LED彩燈的工作循環(huán)速度,按鍵確認程序可以準確的確認按鍵的動作,數(shù)組程序
61、也可以很好地實現(xiàn)彩燈的工作模式,從而使得C程序[9]的可讀性極強。</p><p><b> 4.3 程序框架圖</b></p><p> 圖4.1 程序框架圖</p><p><b> 4.4 軟件程序:</b></p><p> #include<reg51.h>
62、 //51系列單片機定義文件</p><p> #define uchar unsigned char //定義無符號字符</p><p> #define uint unsigned int //定義無符號整數(shù)</p><p> sbit key=P3^0;</
63、p><p><b> uint n=0;</b></p><p> void DelayMS(uint x) //聲明延時函數(shù)</p><p><b> {</b></p><p><b> uchar t;</b></p>
64、<p> while(x--) for(t=0;t<120;t++);</p><p><b> }</b></p><p> void keyscan()</p><p><b> {</b></p><p> if(key==0)
65、 //檢測有鍵按下</p><p><b> {</b></p><p> DelayMS(10);</p><p> if(key==0) //確認鍵被按下</p><p><b> {</b></p><p>
66、while(key==0); //等待鍵釋放</p><p><b> ++n;</b></p><p> if(n==3) n=0;</p><p><b> }</b></p><p><b> }</b></p>&l
67、t;p><b> }</b></p><p> uchar code Pattern_P0[]=</p><p><b> {</b></p><p> 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf
68、f,</p><p> 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,</p><p> 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,</p>
69、<p> 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,</p><p> 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,</p><p> 0xf
70、f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,</p><p> 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x
71、00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,</p><p> 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff</p><p><b> };</b></p><p> uchar code Pattern_P2[]=<
72、/p><p><b> {</b></p><p> 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,</p><p> 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,
73、0x00,0x81,0xc3,0xe7,0xff,</p><p> 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,</p><p> 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f
74、,0x0f,0xff,</p><p> 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,</p><p> 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,<
75、;/p><p> 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,</p><p> 0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,</p><p
76、> 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff</p><p><b> };</b></p><p> void main()</p><p><b> {</b></p><p> uchar i=0;</p><p>
77、<b> while(1)</b></p><p><b> {</b></p><p> keyscan();</p><p><b> if(n)</b></p><p><b> {</b></p><p><
78、b> if(n==1)</b></p><p><b> {</b></p><p> P0=Pattern_P0[i];</p><p> P2=Pattern_P2[i];</p><p> DelayMS(100);</p><p><b> i++;
79、</b></p><p> if(i==136)</p><p><b> i=0;</b></p><p><b> }</b></p><p><b> if(n==2)</b></p><p><b> {</
80、b></p><p> P0=Pattern_P0[i];</p><p> P2=Pattern_P2[i];</p><p> DelayMS(100);</p><p><b> } </b></p><p><b> }</b></p>
81、;<p><b> else</b></p><p><b> {</b></p><p><b> P0=0xff;</b></p><p><b> P2=0xff;</b></p><p><b> }</b&
82、gt;</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.4 程序調(diào)試</b></p><p> 程序編寫完成后,然后運用Keil uVision3 軟件對其進行編譯保存以及生成單片機可執(zhí)行的文件(.hex文件),
83、直至編譯的提示為“0 error, 0 warning”即可。程序編譯成功界面如圖4.2所示:</p><p><b> 圖4.2 編譯界面</b></p><p><b> 4.5 系統(tǒng)仿真</b></p><p> 在C程序編譯正確后,然后通過protuse仿真軟件虛擬的將C程序[10]燒錄到軟件中的單片機芯片中
84、再制作出系統(tǒng)電路,系統(tǒng)電路制作完成后進行編譯處理,在編譯沒有出現(xiàn)錯誤的情況下進行系統(tǒng)仿真,從而測試所設(shè)計的電路及程序能否達到所需的要求。其仿真圖如下圖4.3所示:</p><p><b> 圖4.3 系統(tǒng)仿真</b></p><p> 4.6 設(shè)計結(jié)果評價</p><p> 設(shè)計好的系統(tǒng)接上電源后,硬件設(shè)計的各部分電路及功能均能達到設(shè)計者
85、的要求。當按下按鍵后,主程序能跳到相應(yīng)的子程序中來控制彩燈閃亮方式和時間,從而軟硬件配合能達到設(shè)計者的預(yù)期效果。由于整個程序是由若干個子程序組成,所以設(shè)計者可以很容易的改寫程序以實現(xiàn)彩燈的各種變換花樣。</p><p> 本次畢業(yè)設(shè)計結(jié)果成功地證明了我這種設(shè)計思路的正確性,同時也證明了單片機能夠很好的控制一些小的控制系統(tǒng)來解決日常生活中的一些自動控制問題,從而符合實際生活中的需要,運用單片機控制LED彩燈系統(tǒng)就
86、是一個典型的應(yīng)用。</p><p><b> 5 結(jié)語</b></p><p> 這次畢業(yè)設(shè)計的實踐極大的鍛煉了我的電路分析與設(shè)計能力,更加培養(yǎng)了自己獨立分析設(shè)計的能力,也是對我所學的專業(yè)知識的一次真實的檢驗和鞏固,為以后走向工作崗位做好準備。在這個畢業(yè)設(shè)計過程中,我花費了大量的時間和精力解決在設(shè)計中所遇到的種種困難和挫折,學會了與他人合作交流,從而讓我真正體會到
87、這種學習的樂趣。</p><p> 雖然我在大二暑假期間參加了省級電子設(shè)計大賽,我們學校也因此對我們進行了系統(tǒng)培訓(xùn),從而讓我對電路設(shè)計知識有了更深的認識,但通過這次畢業(yè)設(shè)計讓我清楚的認識到自己在專業(yè)基礎(chǔ)知識方面還是存在很多不足,比如對復(fù)雜電路的分析還不是很熟練,對單片機指令系統(tǒng)的及AT89S52各引腳的第二功能等知識的理解還不夠到位,從而使得我在設(shè)計中遇到不懂的東西比較多,這就需要我不斷的運用一切能夠用到的工具
88、查找資料或者請教老師同學,這不僅加深了我對單片機理論知識的認識理解,同時也進一步的鍛煉了我查找資料的能力。在整個電子電路的設(shè)計過程中,我花費時間最多的是各個簡易模塊電路的連接及電路細節(jié)上的分析與設(shè)計。在畢業(yè)設(shè)計過程中由于程序比較復(fù)雜,所以我進行了多次調(diào)試和修改,在此過程中提高了我對單片機的應(yīng)用能力,分析問題和解決問題的能力。在與同學們交流的同時也讓我明白了做任何事情都要有團結(jié)合作的精神,只有這樣才能更快更好的掌握好要學習的知識和完成應(yīng)該
89、完成的任務(wù)。</p><p> 該畢業(yè)設(shè)計是以AT89S52單片機為主控芯片,與發(fā)光二極管、晶振電路、復(fù)位電路和電源電路組成,通過程序控制LED循環(huán)彩燈工作花樣。本設(shè)計所給程序?qū)崿F(xiàn)的功能比較簡單,旨進行簡單的演示,所以要想花樣更多可以在此基礎(chǔ)上擴展成更復(fù)雜的彩燈控制,比如鍵盤控制流水花樣、控制流水燈顯示數(shù)字或圖案等等。</p><p><b> 參考文獻</b>&
90、lt;/p><p> ?。?] 何橋.《單片機原理及應(yīng)用》.中國鐵道出版社.2008</p><p> ?。?] 何立民 .《MCS-51單片機應(yīng)用系統(tǒng)設(shè)計》.北京航空航天大學出版社.2007</p><p> ?。?] 康華光.《電子技術(shù)基礎(chǔ)(模擬部分)》.高等教育出版社.2005 </p><p> [4] 余孟嘗.《數(shù)字電子技術(shù)基礎(chǔ)簡明教
91、程》.高等教育出版社.2005 </p><p> ?。?] 李魏海.《電路分析基礎(chǔ)》.電子工業(yè)出版社.2004 </p><p> ?。?] 蔡明生.《電子設(shè)計》.高等教育出版社.2001</p><p> [7] 謝自美.《電子線路設(shè)計·實驗·測試》.華中科技大學出版社.2004</p><p> ?。?] 肖玲妮.
92、《Protel 2004》.清華大學出版社.2009</p><p> ?。?] 譚浩強.《C語言設(shè)計(第三版)》 .清華大學出版社.2005</p><p> [10]劉克成.《C語言程序設(shè)計》.中國鐵道出版社.2006</p><p> [11] 王思明.《單片機課程設(shè)計》.高等教育出版社.2010</p><p> [12] 楊將
93、新.《單片機程序設(shè)計及應(yīng)用從基礎(chǔ)到實踐》.電子工業(yè)出版社.2006</p><p><b> 附錄:</b></p><p> 本畢業(yè)設(shè)計較為簡單,但其可以很好地控制LED彩燈的簡易模式。成品實物如圖a、圖b所示:</p><p><b> 圖a</b></p><p><b>
94、圖b</b></p><p><b> 致 謝</b></p><p> 經(jīng)過大家的不懈努力,我終于按要求完成了畢業(yè)設(shè)計。在王老師及其他老師給我們?nèi)握n期間,傳授了我們許多終身受益的課本知識及為人處事的方面。但在這里我還是要特別感謝一下王春波老師,是她在我寫畢業(yè)論文和做畢業(yè)設(shè)計的時候一直指導(dǎo)我,沒有她的指導(dǎo)我的畢業(yè)設(shè)計和畢業(yè)論文就不可能完成得這么順利,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機外文翻譯---at89s52單片機
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- 單片機外文翻譯--at89s52單片機
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- at89s52單片機外文翻譯
- at89s52單片機外文翻譯
- 單片機課程設(shè)計報告--基于at89s52的簡易電子琴
- 基于at89s52單片機的智能小車設(shè)計報告
- 基于at89s52單片機的智能小車設(shè)計報告
- 基于at89s52單片機的步進電機控制
- 2017畢業(yè)論文-基于at89s52單片機的簡易電子琴設(shè)計
- 單片機畢業(yè)設(shè)計外文翻譯--at89s52
- 單片機基于at89s52單片機的遙控器設(shè)計畢業(yè)論文
- 單片機課程設(shè)計---基于at89s52單片機的溫度控制系統(tǒng)
- 單片機課程設(shè)計---基于at89s52 單片機的溫度控制系統(tǒng)
- 單片機基于at89s52單片機的遙控器設(shè)計畢業(yè)論文
- 外文資料翻譯 --at89s52單片機簡介
- 基于at89s52單片機溫度采集設(shè)計畢業(yè)論文
- 基于at89s52單片機語言機聲光畢業(yè)論文
- 單片機課程設(shè)計---基于at89s52交通燈設(shè)計
評論
0/150
提交評論