心形流水燈設(shè)計(jì)報(bào)告_第1頁
心形流水燈設(shè)計(jì)報(bào)告_第2頁
心形流水燈設(shè)計(jì)報(bào)告_第3頁
心形流水燈設(shè)計(jì)報(bào)告_第4頁
心形流水燈設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成績(jī) 課程設(shè)計(jì)說明書 課程名稱: 單片機(jī)技術(shù) 設(shè)計(jì)題目: 心形流水燈設(shè)計(jì) 學(xué) 院: 電子信息與電氣工程學(xué)院 學(xué)生姓名: 學(xué) 號(hào): 專業(yè)班級(jí): 指導(dǎo)教師: 2015 年4月30日課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目心形流水燈設(shè)計(jì)學(xué)生姓名所在學(xué)院電子信息與電氣工程學(xué)院專業(yè)、年級(jí)、班設(shè)計(jì)要求:1、 設(shè)計(jì)一個(gè)用單片機(jī)控制的的心形流水燈系統(tǒng);2、 LED燈數(shù)量為32個(gè);3、 可以實(shí)現(xiàn)循環(huán)點(diǎn)亮、依次熄滅的基本功能;4、 可以實(shí)現(xiàn)對(duì)角閃亮、間隔閃亮、順時(shí)針閃亮、逆時(shí)針閃亮等多種功能。學(xué)生應(yīng)完成的任務(wù):完成心形流水燈電路設(shè)計(jì),利用Keil軟件編寫程序,Proteus軟件進(jìn)行電路功能仿真,利用Altium Des

2、igner軟件繪制電路原理圖,設(shè)計(jì)制作電路的PCB板,對(duì)電路進(jìn)行安裝、調(diào)試,并提交課程設(shè)計(jì)報(bào)告。參考文獻(xiàn):1 林志琦.基于Proteus的單片機(jī)可視化軟硬件仿真M .北京:北京航空航天大學(xué)出版社,2006.2 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M .北京:北京航空航天大學(xué)出版社,1990.3 張毅剛.單片機(jī)原理及應(yīng)用M .北京:高等教育出版社,2004.4 谷樹忠,劉文洲,姜航.Altium Designer教程-原理圖、PCB設(shè)計(jì)與仿真.北京:電子工業(yè)出版社,2010.5 張陽天,韓異凡.Protel DXP電路設(shè)計(jì)M.北京:高等教育出版社,2005.工作計(jì)劃:4月20日4月22日,擬定

3、系統(tǒng)硬件方案;4月234月24日,完成系統(tǒng)軟件設(shè)計(jì);4月25日4月26日,編寫程序;4月27日4月28日,燒錄程序并制作系統(tǒng)硬件電路;4月29日4月30日,書寫課程設(shè)計(jì)報(bào)告并提交。任務(wù)下達(dá)日期: 2015年4月20日任務(wù)完成日期: 2015年4月30日 指導(dǎo)教師(簽名): 學(xué)生(簽名):心形流水燈設(shè)計(jì)摘 要:設(shè)計(jì)了一個(gè)心形流水燈電路,該電路可以實(shí)現(xiàn)32個(gè)LED燈循環(huán)閃亮、依次熄滅、對(duì)角閃亮、對(duì)角熄滅、間隔閃亮、間隔熄滅等多種功能。該電路主要由單片機(jī)芯片STC89C52、電源電路、時(shí)鐘電路、復(fù)位電路和顯示電路組成。利用Keil軟件編寫C語言程序,并生成目標(biāo)代碼Hex文件。使用Proteus軟件設(shè)

4、計(jì)仿真電路,并調(diào)入已編譯好的目標(biāo)代碼,即可在仿真圖中看到模擬實(shí)物的運(yùn)行狀態(tài)和過程。使用Altium Designer軟件對(duì)電路進(jìn)行原理圖設(shè)計(jì)和PCB設(shè)計(jì),并對(duì)該電路行安裝和調(diào)試,調(diào)試結(jié)果可以實(shí)現(xiàn)流水燈的多種亮滅循環(huán)的功能。本人主要負(fù)責(zé)程序設(shè)計(jì)。關(guān)鍵詞:心形流水燈;STC89C52;復(fù)位電路;時(shí)鐘電路;電路仿真目 錄1. 設(shè)計(jì)背景11.1 流水燈在生活中的應(yīng)用11.2 單片機(jī)在生產(chǎn)及生活中的應(yīng)用12. 設(shè)計(jì)方案12.1 方案對(duì)比22.2 STC89C52芯片功能22.3 方案論證43. 方案實(shí)施53.1 電路原理圖設(shè)計(jì)53.2 程序設(shè)計(jì)83.3 電路功能仿真103.4 電路PCB設(shè)計(jì)103.5

5、安裝與調(diào)試104. 結(jié)果與結(jié)論105. 收獲與致謝116. 參考文獻(xiàn)127. 附件127.1 元器件清單127.2 電路仿真圖137.3 電路原理圖137.4 PCB布線圖147.5 實(shí)物圖147.6 程序代碼151. 設(shè)計(jì)背景1.1 流水燈在生活中的應(yīng)用隨著現(xiàn)代科學(xué)技術(shù)的持續(xù)進(jìn)步和發(fā)展以及人們生活水平的不斷提高,以大規(guī)模、超大規(guī)模集成電路為首的電子工藝技術(shù)的使用也越來越廣泛,結(jié)合單片機(jī)技術(shù)設(shè)計(jì)的電子電路也層出不窮。 LED彩燈由于其豐富的燈光色彩、低廉的造價(jià)以及控制簡(jiǎn)單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。利用控制電路可使彩燈按一定的規(guī)律不斷的改變狀態(tài),不僅

6、可以獲得良好的觀賞效果,而且可以省電。 彩燈的運(yùn)用已經(jīng)遍布于人們的生活中,從歌舞廳到卡拉OK包房,從節(jié)日的祝賀到日常生活中的點(diǎn)綴,這些不僅說明了我們對(duì)生活的要求有了質(zhì)的飛躍,也說明科技在現(xiàn)實(shí)生活中的運(yùn)用有了較大的發(fā)展。在這一設(shè)計(jì)中我們將運(yùn)用單片機(jī)技術(shù),與單片機(jī)芯片STC89C52的功能,對(duì)心形流水燈系統(tǒng)進(jìn)行設(shè)計(jì),來實(shí)現(xiàn)流水燈的多種亮與滅的循環(huán),給人帶來美感。1.2 單片機(jī)在生產(chǎn)及生活中的應(yīng)用單片微計(jì)算機(jī)自20世紀(jì)70年代問世以來,已對(duì)人類生活產(chǎn)生了巨大的影響。尤其是美國Intel公司生產(chǎn)的MCS-51系列單片機(jī),由于其具有集成度高、可靠性強(qiáng)、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉、易于使用等優(yōu)點(diǎn),在世界范圍內(nèi)

7、已經(jīng)得到了廣泛的普及和應(yīng)用。也正是由于單片機(jī)的這些特點(diǎn),它的出現(xiàn)是集成電路技術(shù)與微型計(jì)算機(jī)技術(shù)高速發(fā)展的產(chǎn)物,給工業(yè)自動(dòng)化等領(lǐng)域帶來了一場(chǎng)重大的革命。單片機(jī)體積小,很容易嵌入到系統(tǒng)之中,以實(shí)現(xiàn)各種方式的檢測(cè)、計(jì)算或控制,而一般的微型計(jì)算機(jī)無法做到。由于單片機(jī)本身就是一個(gè)微型計(jì)算機(jī),因此只要在單片機(jī)的外部適當(dāng)?shù)脑黾右恍┍匾耐鈬鷶U(kuò)展電路,就可以靈活的構(gòu)成各種應(yīng)用系統(tǒng),如工業(yè)自動(dòng)檢測(cè)監(jiān)控系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)、智能儀器儀表等。除此之外,單片機(jī)在家用電器中的應(yīng)用也很普及,例如,洗衣機(jī)、電冰箱、空調(diào)機(jī)、電風(fēng)扇、電視機(jī)、微波爐、加濕機(jī)、消毒柜等,在這些設(shè)備中嵌入了單片機(jī)之后,其功能和性能大大提

8、高,并可實(shí)現(xiàn)智能化和最優(yōu)化控制。2. 設(shè)計(jì)方案2.1 方案對(duì)比1、單片機(jī)芯片的比較與選擇單片機(jī)作為該電路的主要控制器芯片,即整個(gè)系統(tǒng)的控制核心部分,主要是負(fù)責(zé)控制LED燈的不同變化速度以及變化效果。因此對(duì)單片機(jī)芯片的選擇,必須要求其功耗低、數(shù)據(jù)轉(zhuǎn)換速率快。方案一:采用STC89C52單片機(jī)。STC89C52單片機(jī)是一種低耗、可編程、高性能的8位微控制處理器,其內(nèi)部包括微處理器、具有8K的系統(tǒng)可編程Flash存儲(chǔ)器、 看門狗定時(shí)器、輸入/輸出口、中斷系統(tǒng)等,其具有價(jià)格低廉、技術(shù)成熟、操作簡(jiǎn)單等特點(diǎn),滿足本系統(tǒng)的要求。方案二:選擇TI公司生產(chǎn)的MSP430F149系列單片機(jī)系統(tǒng)。此款單片機(jī)具有低電

9、壓、超低功耗的特點(diǎn),工作電壓在3.6-1.8V之間,具有強(qiáng)大的功能和高效的運(yùn)算處理能力。方案選擇:由于STC89C52芯片價(jià)格便宜,支持在線下載程序而且MSP430F149系列單片機(jī)的功能已經(jīng)遠(yuǎn)遠(yuǎn)高于我們本系統(tǒng),操作不便。 綜合考慮,我們選擇方案一。2、LED燈控制方式的比較與選擇方案一:選用單片機(jī)I/O口一對(duì)一直接控制LED燈,正好控制32個(gè)LED燈。方案二:采用74HC573鎖存器控制LED燈,當(dāng)運(yùn)用兩片74HC573鎖存器就可以控制32個(gè)LED燈,只占用了單片機(jī)的10個(gè)I/O口,這樣可以減少I/O口數(shù)量。為了操作方便,減少復(fù)雜的步驟,我們采取方案一。 2.2 STC89C52芯片功能ST

10、C89C52是STC公司生產(chǎn)的一種低功耗、高性能的微控制器,具有8K的系統(tǒng)可編程Flash存儲(chǔ)器,其具有傳統(tǒng)51單片機(jī)不具備的功能,在經(jīng)典的MCS-51內(nèi)核上做了很多的改進(jìn),使得STC89C52在處理嵌入式控制應(yīng)用系統(tǒng)時(shí)更加高效、靈活。STC89C52具有以下標(biāo)準(zhǔn)功能:4個(gè)外部中斷、全雙工串行口、一個(gè)7向量4級(jí)中斷結(jié)構(gòu)、3個(gè)16位定時(shí)器/計(jì)數(shù)器、8K字節(jié)Flash、512字節(jié)RAM(隨機(jī)存儲(chǔ)器)、看門狗定時(shí)器,其12周期和6周期可以任意選擇,其工作電壓在3V5.5V之間,工作頻率在040MHZ,實(shí)際工作頻率可達(dá)48MHZ。其管腳的封裝圖如圖1所示。圖1 單片機(jī)管腳封裝圖1、電源引腳(1)VCC

11、(38腳):芯片電源,接+5V; (2)GND(16腳):接地端; 2、時(shí)鐘引腳(1)XTAL1(15腳):片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端。當(dāng)使用片內(nèi)振蕩器時(shí),該引腳連接外部石英晶體和微調(diào)電容;當(dāng)采用外接時(shí)鐘源時(shí),該引腳接外部時(shí)鐘振蕩器的信號(hào)。(2)XTAL2(14腳):片內(nèi)振蕩器反相放大器的輸出端。當(dāng)使用片內(nèi)振蕩器時(shí),該引腳連接外部石英晶體和微調(diào)電容;當(dāng)采用外部時(shí)鐘源時(shí),該引腳懸空。3、控制引腳(1)ALE(27腳):用來鎖存P0口送出的低8位地址(2)PSEN(26腳:外部ROM讀選通信號(hào)。 (3)RST(4腳):復(fù)位信號(hào)輸入端。(4)EA/Vpp(29腳):內(nèi)外ROM選擇/

12、片內(nèi)EPROM編程電源。 4、并行I/O引線(1)P0口:8位,漏極開路的雙向I/O口。當(dāng)STC89C52擴(kuò)展外部存儲(chǔ)器及I/O接口芯片時(shí),P0口作為地址總線(低8位)及數(shù)據(jù)總線的分時(shí)復(fù)用端口。P0口也可作為通用的I/O口使用,但需要上拉電阻,這時(shí)為準(zhǔn)雙向口。當(dāng)作為通用的I/O輸入時(shí),應(yīng)先向端口輸出鎖存器寫入1,P0口可驅(qū)動(dòng)8個(gè)TTL負(fù)載。(2)P1口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P1是專為用戶使用的準(zhǔn)雙向I/O口。當(dāng)作為通用的I/O口輸入時(shí),應(yīng)先向端口鎖存器輸入1,P1口可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(3)P2口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。當(dāng)STC89C52擴(kuò)展外部存

13、儲(chǔ)器及I/O口時(shí),P2作為高8位地址總線用,輸出高8位地址。P2口也可作為普通的I/O口使用。當(dāng)作為普通的I/O口使用時(shí),應(yīng)先向端口鎖存器輸入1,P1口可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(4)P3口:8位,準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P3口可作為普通的I/O口使用,當(dāng)作為普通的I/O輸入時(shí),應(yīng)先向端口輸出鎖存器輸入1,P3口可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3 口還可提供第二功能,其第二功能定義見表1。表1 P3 口第二功能定義表引腳第二功能說明P3.0RXD串行數(shù)據(jù)輸入口P3.1TXD串行數(shù)據(jù)輸出口P3.2INT0外部中斷0輸入P3.3INT1外部中斷1輸入P3.4T0定時(shí)器0外部計(jì)數(shù)輸入P3.

14、5T1定時(shí)器1外部計(jì)數(shù)輸入P3.6WR外部數(shù)據(jù)存儲(chǔ)器寫選通輸入P3.7RD外部數(shù)據(jù)存儲(chǔ)器讀選通輸入(4)P4口:可實(shí)現(xiàn)位尋址。2.3 方案論證按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。STC89C52單片機(jī)是本次課程設(shè)計(jì)運(yùn)用的主要元件。心形流水燈設(shè)計(jì)使用一個(gè)帶有32個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。如果要讓接在P0、P1、P2、P3口的LED燈亮起來,只要將P0、P1、P2、P3口的電平變?yōu)榈碗娖骄涂梢粤?。因此,要?shí)現(xiàn)流水燈功能,要將LED依次點(diǎn)亮、熄滅,32只LED燈便會(huì)一亮一

15、暗做流水燈了。由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,在控制LED亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間,否則就看不到流水效果了。硬件設(shè)計(jì)框圖如圖2所示。 AT89C52電源電路 顯示電路時(shí)鐘電路復(fù)位電路 圖2 硬件設(shè)計(jì)框圖3. 方案實(shí)施3.1 電路原理圖設(shè)計(jì)1、電源電路本次課程設(shè)計(jì),單片機(jī)正常工作要求輸出電壓為穩(wěn)定的5V,輸出電壓能夠適應(yīng)所帶負(fù)載的啟動(dòng)項(xiàng)能。并且電路還必須簡(jiǎn)單可靠,能夠輸出足夠大的電流,但是不至于會(huì)燒壞元器件。我們采用USB取電,4.8V鋰電池供電。電源電路如圖所示,C1和C2起到濾波作用,R18和R19的作用是平衡電路中的電流,以免在只有1個(gè)LED燈亮?xí)r燒壞元器件。電源

16、電路如圖3所示。 圖3 電源電路圖2、時(shí)鐘電路單片機(jī)內(nèi)有一個(gè)由反相放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端。在XTAL1和XTAL2引腳上外接石英晶體和微調(diào)電容構(gòu)成并聯(lián)振蕩回路。晶振頻率設(shè)置為11.0592MHZ,作用是產(chǎn)生時(shí)鐘信號(hào)。單片機(jī)晶振提供的時(shí)鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率。電容值為30pF,可以起到頻率微調(diào)作用。時(shí)鐘電路如圖4所示。圖4 時(shí)鐘電路圖3、復(fù)位電路單片機(jī)RST接口為復(fù)位信號(hào)輸入端,高電平有效。在該引腳上加上持續(xù)時(shí)間大于兩個(gè)機(jī)器周期的高電平,就可以使單片機(jī)復(fù)位。在單片機(jī)正常工

17、作時(shí),此引腳應(yīng)為小于或等于0.5V的低電平。復(fù)位電路接單片機(jī)RST端口,在RST輸入端出現(xiàn)高電平時(shí)實(shí)現(xiàn)復(fù)位和初始化。復(fù)位電路如5所示。圖5 復(fù)位電路4、顯示電路 單片機(jī)的P0口為8位的漏極開路的雙向I/O口,當(dāng)P0口作為普通的I/O口使用時(shí),需要上拉電阻,這時(shí)為準(zhǔn)雙向口。P1 、P2、 P3 都為8位的準(zhǔn)雙向口,具有內(nèi)部上拉電阻。圖6為顯示電路,單片機(jī)I/O口一對(duì)一直接控制LED燈,顯示電路中的32個(gè)電阻既為上拉電阻,也起到電路分壓作用,防止燒壞元器件。顯示電路如圖6 所示。 圖6 顯示電路圖3.2 程序設(shè)計(jì)1、 Keil軟件介紹本次課程設(shè)計(jì),我們采用Keil軟件進(jìn)行C語言編程。Keil軟件是

18、美國Keil Software公司開發(fā)的,它適合WindowsXP、Win7等系統(tǒng),具有可視化操作界面,使用方便簡(jiǎn)單,并且支持C51語言、匯編語言以及兩者混合編程等多種方式的單片機(jī)設(shè)計(jì),KeilC51在兼容標(biāo)準(zhǔn)C語言的基礎(chǔ)上,又增加了很多與51系列單片機(jī)硬件相關(guān)的編譯特性,其生成的程序代碼運(yùn)行的速度快,所需的存儲(chǔ)器空間小。Keil軟件已被完全集成到一個(gè)功能強(qiáng)大的全新環(huán)境中,該開發(fā)環(huán)境集成了文件編譯處理、編譯鏈接、項(xiàng)目管理、工具引用、和仿真軟件模擬器等多種功能。Keil軟件具有豐富的庫函數(shù),同時(shí)也帶有功能強(qiáng)大的集成開發(fā)調(diào)試工具,可以自動(dòng)識(shí)別所編寫程序的語法錯(cuò)誤,編譯效率也很高, 能將源文件編譯為

19、二進(jìn)制機(jī)器語言代碼,其軟件調(diào)試仿真功能也很強(qiáng)大,能通過單步、設(shè)置斷點(diǎn)等功能讓編程者了解CPU正在進(jìn)行的程序,并能監(jiān)控各變量以及各寄存器是否符合編程者的要求。2、 程序編寫單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,在硬件原理圖搭建完成上電之后,暫時(shí)還不能看到流水燈循環(huán)點(diǎn)亮的現(xiàn)象,還需要編寫程序控制單片機(jī)管腳電平的高低變化,來實(shí)現(xiàn)LED燈的各種亮滅功能。先將P0、P1、P2、P3全部置1,即通入高電平,用16進(jìn)制表示為0XFFH,則32個(gè)LED燈全部處于熄滅狀態(tài)。然后給P0口賦值0X7FH,即只有P0.0處于低電平時(shí),LED1燈點(diǎn)亮。使用延時(shí)函數(shù)delay,并設(shè)置延時(shí)時(shí)間為2秒,延時(shí)時(shí)間一到P0口的值就變

20、為0X3FH,即P0.0和P0.1都為高電平,LED2也開始點(diǎn)亮,如此循環(huán)P0口控制的8個(gè)LED燈全部點(diǎn)亮,當(dāng)高電平變?yōu)榈碗娖綍r(shí),LED燈熄滅。P1、P2、P3口控制的LED燈閃亮和熄滅原理同P0口一樣,所以就可以看到LED燈的流水效果了。程序流程圖如圖7所示。開始讀取I/O口狀態(tài)判斷I/O口狀態(tài) 低電平 高電平 LED燈點(diǎn)亮LED燈熄滅 延時(shí) 燈流動(dòng)運(yùn)行 結(jié)束 圖7 程序設(shè)計(jì)流程圖3、 程序調(diào)試 在程序設(shè)計(jì)好了之后,需要建立工程、寫C源文件、連接工程、獲得目標(biāo)代碼Hex文件,所以程序的調(diào)試就顯得至關(guān)重要。剛開始程序總是編譯出錯(cuò),請(qǐng)教了老師之后才知道是程序的編寫存在語法錯(cuò)誤,我們就仔細(xì)閱讀并檢

21、查所編寫的程序,發(fā)現(xiàn)在給I/O 口的狀態(tài)賦初值時(shí),多加了一個(gè)分號(hào),導(dǎo)致語法錯(cuò)誤,編譯不能正確通過。經(jīng)過反復(fù)的檢查、編譯、調(diào)試,程序最終沒有錯(cuò)誤,可以將程序代碼文件調(diào)入Proteus軟件,進(jìn)行電路功能仿真。3.3 電路功能仿真在各部分電路設(shè)計(jì)的基礎(chǔ)上,按照總體電路圖在Proteus上一一進(jìn)行器件選擇,并連接。將電路連接好后,為各個(gè)器件選擇合適的參數(shù),然后調(diào)入已編譯好的目標(biāo)代碼Hex文件,啟動(dòng)仿真。根據(jù)LED燈是否發(fā)亮,判斷所設(shè)計(jì)的電路是否可以實(shí)現(xiàn)32個(gè)LED燈依次點(diǎn)亮、依次熄滅、對(duì)角閃亮、對(duì)角熄滅、間隔閃亮、間隔熄滅等多種功能。剛開始時(shí),LED燈不亮,仔細(xì)檢查原來是將LED燈接反了,改正之后LE

22、D燈便可以正常發(fā)光了。電路仿真的結(jié)果為32個(gè)LED燈依次發(fā)亮、依次熄滅,并可以實(shí)現(xiàn)多種亮滅功能。根據(jù)仿真結(jié)果可知電路原理及程序無誤,可以進(jìn)行PCB設(shè)計(jì)。3.4 電路PCB設(shè)計(jì) 在原理圖及仿真圖設(shè)計(jì)成功的情況下,設(shè)置正確的PCB外形和尺寸,按照課程設(shè)計(jì)所給的要求,設(shè)置環(huán)境參數(shù)。接著向PCB文件中導(dǎo)入網(wǎng)絡(luò)表及元件的封裝等數(shù)據(jù),然后設(shè)置工作參數(shù)。根據(jù)要求設(shè)置布線規(guī)則。在上述準(zhǔn)備工作都完成就緒的情況下,對(duì)原件進(jìn)行布局,使盡量少的線重疊,以減少布線時(shí)跳線的出現(xiàn)。3.5 安裝與調(diào)試在安裝時(shí)要考慮LED燈正負(fù)極有沒有接反,所以安裝前,請(qǐng)教了老師怎樣辨認(rèn)正負(fù)極。然后安裝好所有的元件后,按照電路圖逐一檢查電路有

23、沒有漏焊的問題,接下來用萬用表逐一檢查有沒有虛焊、線路斷路或線路短路的問題。在線路沒有問題的情況下連接電源調(diào)試,加入電源以后, 32個(gè)LED燈可以循環(huán)點(diǎn)亮、依次熄滅,可以達(dá)到預(yù)期的效果。4. 結(jié)果與結(jié)論在設(shè)計(jì)電路圖的過程中,經(jīng)過了多次分析和仿真驗(yàn)證,并結(jié)合所給的器件清單最后確定了需要哪些器件來實(shí)現(xiàn)電路的功能,并且保證了所需要的元器件在給出的清單范圍內(nèi)。經(jīng)過Proteus軟件多次仿真和修改后,在仿真電路圖實(shí)現(xiàn)設(shè)計(jì)要求的前提下確定了最終的原理圖。然后在Altium Designer中畫出來所對(duì)應(yīng)的原理圖,再導(dǎo)入到PCB設(shè)計(jì)的環(huán)境中,進(jìn)行PCB設(shè)計(jì)。在經(jīng)過小組內(nèi)多次討論和聽取指導(dǎo)老師的意見后確定了P

24、CB的最終布局,布線完成后打印輸出制成印刷電路板。將所有的元器件放到相應(yīng)的封裝位置,查無誤后進(jìn)行焊接。焊接完成,接入電源后,心形流水燈實(shí)現(xiàn)了32個(gè)LED燈依次點(diǎn)亮、依次熄滅,對(duì)角點(diǎn)亮、間隔點(diǎn)亮燈多種功能。電路能夠正常工作,得到了老師的肯定。 總體說來,電路布局合理,采用了模塊化的布局方式即先布局各個(gè)功能模塊,再將各個(gè)功能模塊連接在一起組成最終的電路,但是電路還是存在一定的不合理之處,在布局合理美觀方面存在一些沖突,由于布線太過寬松,整體尺寸稍大。5. 收獲與致謝經(jīng)過為期兩周的課程設(shè)計(jì),我收獲很多。在本次課程設(shè)計(jì)中,我們遇到了很多困難,比如電路圖畫錯(cuò)、編程出現(xiàn)錯(cuò)誤、軟件不會(huì)使用、元器件虛焊斷焊以

25、及焊錯(cuò)等。在這期間,我還是努力認(rèn)真的去檢查和修改,雖然這個(gè)過程非常艱難,但還是值得我回味的。在整個(gè)課程設(shè)計(jì)過程中,我查閱了相關(guān)書籍和文獻(xiàn)資料,從中學(xué)習(xí)了一些單片機(jī)的工作原理以及怎樣去設(shè)計(jì)一個(gè)電子電路,還參照了一些以前做過的課程設(shè)計(jì)。這次課程設(shè)計(jì),加深了我對(duì)以前學(xué)過的課本知識(shí)的理解和認(rèn)識(shí),以前有些課本上的理論知識(shí)總是弄不懂,這次通過自己親自動(dòng)手去實(shí)踐,很多問題就通俗易懂了。本次課程設(shè)計(jì),真正提高了自己的各項(xiàng)能力,比如獨(dú)立思考解決問題的能力,與人協(xié)作的能力,親自動(dòng)手實(shí)踐的能力,真正的提高了自己的實(shí)踐技能,培養(yǎng)了自己的創(chuàng)新能力,為今后完成更高質(zhì)量的項(xiàng)目打下了基礎(chǔ)。這次我們能夠順利完成課程設(shè)計(jì),是與老

26、師們的辛勤勞動(dòng)分不開的,所以在此,特別感謝課程設(shè)計(jì)輔導(dǎo)老師趙路華老師和單片機(jī)任課老師丁瑩亮老師,感謝他們?cè)谠O(shè)計(jì)中的耐心指導(dǎo)和提出的寶貴建議,同時(shí)也感謝小組搭檔,和我共同度過這為期兩周的課程設(shè)計(jì)。6. 參考文獻(xiàn)1 林志琦.基于Proteus的單片機(jī)可視化軟硬件仿真M .北京:北京航空航天大學(xué)出版社,2006.2 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M .北京:北京航空航天大學(xué)出版社,1990.3 張毅剛.單片機(jī)原理及應(yīng)用M .北京:高等教育出版社,2004.4 谷樹忠,劉文洲,姜航.Altium Designer教程-原理圖、PCB設(shè)計(jì)與仿真.北京:電子工業(yè)出版社,2010.5 張陽天,韓異凡

27、.Protel DXP電路設(shè)計(jì)M.北京:高等教育出版社,2005.7. 附件7.1 元器件清單 元器件清單如表2所示。元器件名稱型號(hào)規(guī)格數(shù)量備注單片機(jī)STC89C521貼片晶振11.0592MHZ1電容10uF1電解電容30pF2瓷介電容0.1uF2 電阻1003610K4LED燈32USB接口1表2 元器件清單表7.2 電路仿真圖 電路仿真圖如圖8所示。圖8 電路仿真圖7.3 電路原理圖 電路原理圖如圖9所示。圖9 電路原理圖7.4 PCB布線圖 PCB布線圖如圖10所示。圖10 PCB布線圖7.5 實(shí)物圖 實(shí)物圖如圖11所示。圖11 實(shí)物圖7.6 程序代碼#include#include

28、#defineuint unsigned int#defineuchar unsigned charuchar code table=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; / 逐個(gè)點(diǎn)亮07uchar code table1=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00; / 逐個(gè)點(diǎn)亮70uchar code table2=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff; / 逐個(gè)滅07uchar code table3=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xf

29、e,0xff; / 逐個(gè)滅70void delay(uint t);/延時(shí)void zg(uint t,uchar a);/兩邊逐個(gè)亮void qs(uint t,uchar a);/全部閃爍void zgxh(uint t,uchar a); / 逆時(shí)針逐個(gè)點(diǎn)亮/void zgxh1(uint t,uchar a); / 順時(shí)針逐個(gè)點(diǎn)亮void djs(uint t,uchar a); /對(duì)角閃void lbzgm(uint t,uchar a);/兩邊逐個(gè)滅/void sszgm(uint t,uchar a); / 順時(shí)針逐個(gè)滅void nszgm(uint t,uchar a); /

30、逆時(shí)針逐個(gè)滅void sztl(uint t,uchar a);/順時(shí)逐個(gè)同步亮void nztl(uint t,uchar a);/逆時(shí)逐個(gè)同步亮void sztm(uint t,uchar a);/順時(shí)逐個(gè)同步滅void nztm(uint t,uchar a);/逆時(shí)逐個(gè)同步滅void hwzjl(uint t,uchar a); /橫往中間亮void hwzjm(uint t,uchar a); /橫往中間滅/void swzjl(uint t,uchar a); /豎往中間亮/void swzjm(uint t,uchar a); /豎往中間滅void nzdl(uint t,uch

31、ar a); /逆時(shí)逐段亮void nzdgl(uint t,uchar a); /逆時(shí)逐段一個(gè)點(diǎn)亮void jgs(uint t,uchar a); /間隔閃void zg(uint t,uchar a)/兩邊逐個(gè)亮uchar i,j; for(j=0;ja;j+) P0=P1=P2=P3=0xff; P0=0x7f;delay(t); for(i=0;i7;i+) P0=table1i+1; P2=table1i; delay(t); P2=0x00;P1=0xfe; delay(t); for(i=0;i7;i+) P1=tablei+1;P3=table1i;delay(t); P3=

32、0x00;delay(t); void qs(uint t,uchar a) /全部閃爍uchar j;for(j=0;ja;j+) P0=P1=P2=P3=0xff; delay(t); P0=P1=P2=P3=0x00; delay(t); void zgxh(uint t,uchar a) / 逆時(shí)針逐個(gè)點(diǎn)亮uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0xff;for (i=0;i8;i+)P0=table1i;delay(t);for(i=0;i8;i+)P1=tablei;delay(t);for(i=0;i8;i+)P3=tablei;delay(t)

33、;for(i=0;i8;i+)P2=tablei;delay(t);void nszgm(uint t,uchar a) / 逆時(shí)針逐個(gè)滅uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0x00;for (i=0;i8;i+)P0=table3i;delay(t);for (i=0;i8;i+)P1=table2i;delay(t);for (i=0;i8;i+)P3=table2i;delay(t);for (i=0;i8;i+)P2=table2i;delay(t);void zgxh1(uint t,uchar a) / 順時(shí)針逐個(gè)點(diǎn)亮uchar i,j;for

34、(j=0;ja;j+)P0=P1=P2=P3=0xff;for (i=0;i8;i+)P2=table1i;delay(t);for(i=0;i8;i+) P3=table1i;delay(t);for(i=0;i8;i+)P1=table1i;delay(t);for(i=0;i8;i+)P0=tablei;delay(t);void sszgm(uint t,uchar a) / 順時(shí)針逐個(gè)滅uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0x00;for (i=0;i8;i+)P2=table3i;delay(t);for (i=0;i8;i+)P3=table3

35、i;delay(t);for (i=0;i8;i+)P1=table3i;delay(t);for (i=0;i8;i+)P0=table2i;delay(t);void djs(uint t,uchar a) /對(duì)角閃uchar j;for(j=0;ja;j+) P0=P1=P2=P3=0xff;P0=P3=0x00;delay(t);P0=P1=P2=P3=0xff;P1=P2=0x00;delay(t);void lbzgm(uint t,uchar a)/兩邊逐個(gè)滅 uchar i,j; for (j=0;j1;i-)P1=tablei-1;P3=table1i-2;delay(t);

36、P1=0xfe;P3=0xff;delay(t);P1=0xff;P2=0x01;delay(t);for(i=7;i1;i-)P0=table1i-1;P2=table1i-2;delay(t);P0=0x7f;P2=0xff;delay(t);P0=0xff;delay(t); void sztl(uint t,uchar a)/順時(shí)逐個(gè)同步亮uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0xff;for(i=0;i8;i+)P0=tablei;P1=P2=P3=table1i; delay(t);void nztl(uint t,uchar a)/逆時(shí)逐個(gè)同步亮

37、uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0xff;for(i=0;i8;i+)P0=table1i;P1=P2=P3=tablei;delay(t);void sztm(uint t,uchar a)/順時(shí)逐個(gè)同步滅uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0x00;for(i=0;i8;i+)P0=table2i;P1=P2=P3=table3i;delay(t);void nztm(uint t,uchar a)/逆時(shí)逐個(gè)同步滅uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0xff;for(i=0;i8

38、;i+)P0=table3i;P1=P2=P3=table2i;delay(t);void hwzjl(uint t,uchar a) /橫往中間亮uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0xff;for(i=0;i8;i+)P0=P2=P1=table1i;P3=tablei;delay(t);void hwzjm(uint t,uchar a) /橫往中間滅uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0x00;for(i=0;i8;i+)P0=P2=P1=table3i;P3=table2i;delay(t);void swz

39、jl(uint t,uchar a) /豎往中間亮uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0xff;for(i=0;i8;i+)P0=P2=P1=tablei;P3=table1i;delay(t);void swzjm(uint t,uchar a) /豎往中間滅uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0x00;for(i=0;i8;i+)P0=P2=P1=table2i;P3=table3i;delay(t);void nzdl(uint t,uchar a) /逆時(shí)逐段亮uchar i,j;for (j=0;ja;j+)

40、P0=P1=P2=P3=0xff;for(i=0;i8;i+)P0=table1i;delay(t);P0=0xff;for(i=0;i8;i+)P1=tablei;delay(t);P1=0xff;for(i=0;i8;i+)P3=tablei;delay(t);P3=0xff;for(i=0;i8;i+)P2=tablei;delay(t);P2=0xff;void nzdgl(uint t,uchar a) /逆時(shí)逐段一個(gè)點(diǎn)亮uchar i,j,k,l;for (j=0;ja;j+)k=table10;P0=k;l=table0;P1=P2=P3=l;delay(t);for(i=0;i

41、8;i+)k=_crol_(k,-1);P0=k;l=_crol_(l,1);P1=P2=P3=l;delay(t);void jgs(uint t,uchar a) /間隔閃uchar j;for (j=0;ja;j+)P0=0x55;P1=P2=P3=0xaa;delay(t);P0=0xaa;P1=P2=P3=0x55;delay(t);void main()uchar i;while(1) zg(100,1); /兩邊逐個(gè)亮 lbzgm(100,1); /兩邊逐個(gè)滅 jgs(300,10); djs(100,20); /對(duì)角閃P1=P2=P3=0xff;for(i=0;i3;i+) P0=0x00;delay(800); P0=0xff;delay(800); P0=0x00; for(i=0;i3;i+) P1=0x00;delay(800); P1=0xff;delay(800); P1=0x00; for(i=0;

溫馨提示

  • 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)論