可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告(c語言)-2_第1頁
可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告(c語言)-2_第2頁
可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告(c語言)-2_第3頁
可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告(c語言)-2_第4頁
可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告(c語言)-2_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE1中州大學(xué)單片機(jī)課程設(shè)計(jì)設(shè)計(jì)主題: MCS51流水燈院系:工程技術(shù)學(xué)院 專業(yè):電氣自動(dòng)化一班學(xué)號(hào):201125030104姓名:指導(dǎo)老師:孫建延目錄TOC\o"1-2"\h\z\u1引言 12課題綜述 12.1課題的來源 12.2課題的意義 12.3預(yù)期的目標(biāo) 12.4面對(duì)的問題 12.5課題的技術(shù) 23系統(tǒng)分析 23.1涉及的基礎(chǔ)知識(shí) 23.289C51單片機(jī)引腳圖及引腳功能介紹 23.3解決問題的基本思路 33.4總體方案 34系統(tǒng)設(shè)計(jì) 34.1硬件設(shè)計(jì) 34.2軟件設(shè)計(jì) 44.3元件清單 44.4硬件原理圖 54.5設(shè)計(jì)主要功能 55代碼編寫 66程序調(diào)試 9結(jié)論 10致謝 11參考文獻(xiàn) 12 單片機(jī)及應(yīng)用課程設(shè)計(jì):可控流水燈設(shè)計(jì)-PAGE1-1引言單片機(jī)課程設(shè)計(jì)主要是為了讓我們?cè)鲞M(jìn)對(duì)89C51單片機(jī)電路的感性認(rèn)識(shí),加深對(duì)理論方面的理解。了解軟硬件的有關(guān)知識(shí),并掌握軟硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。另外,通過簡(jiǎn)單課題的設(shè)計(jì)練習(xí),使我們了解必須提交的各項(xiàng)工程文件,達(dá)到鞏固、充實(shí)和綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的目的。2課題綜述2.1課題的來源當(dāng)今社會(huì),這種由單片機(jī)芯片控制各種硬件工作的技術(shù)也日益成熟,并普及在交通、化工、機(jī)械等各個(gè)領(lǐng)域。而流水燈這項(xiàng)技術(shù)在生活中的應(yīng)用更是廣泛,較為貼近生活。而流水燈控制的設(shè)計(jì)所需要的知識(shí)也正好吻合了我們本學(xué)期對(duì)于單片機(jī)這門課程的學(xué)習(xí),所以設(shè)計(jì)流水燈控制的這個(gè)課題讓我們對(duì)知識(shí)的學(xué)習(xí)和鞏固都有了進(jìn)一步的加深。2.2課題的意義這次單片機(jī)課程設(shè)計(jì)是為了通過對(duì)流水燈控制的設(shè)計(jì)加強(qiáng)學(xué)生團(tuán)隊(duì)配合的能力和創(chuàng)造力;綜合運(yùn)用專業(yè)及基礎(chǔ)知識(shí),解決實(shí)際工程技術(shù)問題的能力。能夠讓學(xué)生深入真是的體會(huì)到所學(xué)的理論知識(shí)和實(shí)踐相結(jié)合的過程。找出自身的不足并加以改正。2.3預(yù)期的目標(biāo)對(duì)8個(gè)LED燈設(shè)計(jì)5種流水燈顯示方式,用一個(gè)按鍵進(jìn)行方式選擇,并用一個(gè)數(shù)碼管顯示方式編號(hào);用兩個(gè)鍵來控制流水燈流動(dòng)的速度。2.4面對(duì)的問題這次課程設(shè)計(jì)是通過8951位單片機(jī)實(shí)現(xiàn)。但面對(duì)的問題卻是兩方面的:一個(gè)是軟件的設(shè)計(jì),也就是實(shí)現(xiàn)流水燈控制功能的程序編輯;另一個(gè)是硬件的設(shè)計(jì),需要我們自己連接、焊接電路板。而更為嚴(yán)峻的就是設(shè)計(jì)的最后還要將軟硬件相結(jié)合。首先我們需要通過protel將設(shè)計(jì)的實(shí)物的電路圖畫出來,再根據(jù)電路圖連接實(shí)物電路。2.5課題的技術(shù)LED燈的顯示方式、模式切換按鈕的控制、亮燈速度的按鍵控制等技術(shù)。3系統(tǒng)分析3.1涉及的基礎(chǔ)知識(shí)電路焊接:制造電子產(chǎn)品的重要手段。89C51單片機(jī)指令系統(tǒng):規(guī)定89C51單片機(jī)內(nèi)操作的語句或命令。LED數(shù)碼管的顯示:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。3.289dC51單片機(jī)引腳圖及引腳功能介紹本次實(shí)習(xí)的目的在于加深89C51單片機(jī)的理解,首先來簡(jiǎn)單認(rèn)識(shí)一下,它的引腳如圖3-1所示:圖3.180C單片機(jī)的39個(gè)引腳大致可分為4類:電源、時(shí)鐘、控制和I/O引腳。1.電源:(1)VCC:芯片電源,接+5V;(2)VSS:接地端;2.時(shí)鐘:XTAL1、XTAL2:晶體振蕩電路反相輸入端和輸出端。3.控制線:控制線共有4根,(1)ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖ALE功能:用來鎖存P0口送出的低8位地址PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。(2)PSEN:外ROM讀選通信號(hào)。(3)RST/VPD:復(fù)位/備用電源。RST(Reset)功能:復(fù)位信號(hào)輸入端。VPD功能:在Vcc掉電情況下,接備用電源。(4)EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。EA功能:內(nèi)外ROM選擇端。Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。4.I/O線89C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。3.3解決問題的基本思路因?yàn)檫x定用循環(huán)移位法來實(shí)現(xiàn)亮燈程序的,所以在一種設(shè)計(jì)好一種亮燈方式的前提下編程實(shí)現(xiàn)一個(gè)循環(huán)結(jié)構(gòu)體,分別來實(shí)現(xiàn)五種不同的亮燈方式。另外再編一個(gè)實(shí)現(xiàn)延時(shí)控制的調(diào)用程序,來提供亮燈速度的控制。3.4總體方案在做本次課程設(shè)計(jì)之前將小組內(nèi)人員分為兩小組:一組分負(fù)責(zé)硬件設(shè)計(jì),另一組負(fù)責(zé)軟件編程。硬件小組負(fù)責(zé)實(shí)物的連接和焊接,并進(jìn)行硬件測(cè)試;軟件小組負(fù)責(zé)實(shí)現(xiàn)流水燈的各部分程序設(shè)計(jì),并進(jìn)行軟件的仿真測(cè)試。最后將完成的軟硬件相結(jié)合,從而達(dá)到實(shí)現(xiàn)課程設(shè)計(jì)的效果。4系統(tǒng)設(shè)計(jì)4.1硬件設(shè)計(jì)按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。89C51單片機(jī)是本次課程設(shè)計(jì)運(yùn)用的主要原件。流水燈控制設(shè)計(jì)是用一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。4.2軟件設(shè)計(jì)單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,在硬件原理圖搭建完成上電之后,我們還不能看到流水燈循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要編寫程序控制單片機(jī)管腳電平的高低變化,來實(shí)現(xiàn)發(fā)光二極管的一亮一滅。軟件編程是單片機(jī)應(yīng)用系統(tǒng)中的一個(gè)重要的組成部分,也是本次課程設(shè)計(jì)的重點(diǎn)和難點(diǎn)。我們編程實(shí)現(xiàn)流水燈的方法是循環(huán)移位法,下面我們就來簡(jiǎn)述一下循環(huán)移位法的工作原理。循環(huán)移位法是采用循環(huán)程序結(jié)構(gòu)進(jìn)行編程。我們?cè)诔绦蛞婚_始就給P1口送一個(gè)數(shù),這個(gè)數(shù)本身就讓P1.0先低,其他位為高,然后延時(shí)一段時(shí)間,再讓這個(gè)數(shù)據(jù)向高位移動(dòng),然后再輸出至P1口,這樣就實(shí)現(xiàn)“流水”效果了。另外,由于89C51系列單片機(jī)的指令中只有對(duì)累加器ACC中數(shù)據(jù)左移或右移的指令,因此實(shí)際編程中我們應(yīng)把需移動(dòng)的數(shù)據(jù)先放到ACC中,讓其移動(dòng),然后將ACC移動(dòng)后的數(shù)據(jù)再轉(zhuǎn)送到P1口,這樣也可以實(shí)現(xiàn)“流水”效果。4.3元件清單表4-1元件清單名稱型號(hào)數(shù)量電阻1k8電容1032開關(guān)1單片機(jī)89C511電容10uf1LED燈8電源指示燈1按鍵14.4硬件原理圖圖4-1硬件原理圖4.5硬件詳細(xì)設(shè)計(jì)(1)最小系統(tǒng)電路部分如圖所示,(2)晶振部分產(chǎn)生時(shí)鐘信號(hào)4.6設(shè)計(jì)主要功能打開電路開關(guān),按下第一個(gè)模式控制鍵,8個(gè)LED數(shù)碼管會(huì)從右向左一個(gè)接著一個(gè)亮燈,LED顯示器會(huì)顯示數(shù)字“1”來表示當(dāng)前的亮燈方式是模式1。在8個(gè)LED數(shù)碼管全部亮后再次按下第一個(gè)模式控制鍵,8個(gè)LED數(shù)碼管會(huì)從又向左2個(gè)一組的一次亮燈,同時(shí)LED顯示器會(huì)顯示數(shù)字“2”來表示當(dāng)前的亮燈方式是模式2。以此類推,一共有5種顯示模式。而第2、3個(gè)按鍵分別控制亮燈速度的快慢。5代碼編寫#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e};voiddelay(uintz){uintx,y; for(x=110;x>0;x--) for(y=z;y>0;y--);}uinttemp,i,num;voidmain(){while(1){temp=0xfe; P2=temp; for(i=0;i<7;i++) { temp=_crol_(temp,1); P2=temp; delay(100); } temp=0x7f; P2=temp; for(i=0;i<7;i++) { temp=_cror_(temp,1); P2=temp; delay(100); } P2=0xff; P2=0x00; delay(500);P2=0xff; delay(500); P2=0xaa; delay(500);P2=0x55; delay(500);P2=0xff; delay(500);P2=0xff; for(num=0;num<7;num++) { P2=table[num]; delay(500); }}}

6程序調(diào)試本程序運(yùn)行過程中沒有錯(cuò)誤。但對(duì)于雙鍵控制流水燈亮燈速度的功能并沒有得到實(shí)現(xiàn)。將電路板用數(shù)據(jù)線連接,打開開關(guān),按鈕用來切換模式,一共有五種流動(dòng)方式,每按一次按鈕就會(huì)有一種方式,并在LED顯示器上面顯示出該模式的序號(hào)。(a)(b)5-1程序調(diào)試圖(a),(b)

結(jié)論由于本次課程設(shè)計(jì)含括了軟件和硬件知識(shí),所以在完成課程設(shè)計(jì)的同時(shí)也讓我們了解到了我們?cè)谲浻布O(shè)計(jì)和制作方面的不足。在這一周的設(shè)計(jì)過程中我所擔(dān)任的工作是對(duì)電路板各元器件的連接和焊接工作,雖然看似簡(jiǎn)單,但做起來卻是一個(gè)細(xì)致的工作,尤其是對(duì)于三極管以及雙電阻并聯(lián)的焊接工作,更是要細(xì)中再細(xì),因?yàn)檫@些元器件的引腳距離都是比較近的,一旦將不該連接的引腳焊接到了一起,該元器件就會(huì)失它原來的工作效果,還很有可能將整個(gè)電路短路。對(duì)于軟件方面,是由我們小組的其他成員編輯完成的,雖然最終并沒有實(shí)現(xiàn)所有要求的設(shè)計(jì)效果,但對(duì)于我們來說,設(shè)計(jì)實(shí)現(xiàn)的功能已經(jīng)是一個(gè)不小的收獲了。負(fù)責(zé)硬件焊接的我在最初看到代碼的時(shí)候還是一頭霧水,經(jīng)過組內(nèi)成員的一起講解和討論,最后還是理解的如何運(yùn)用左移法實(shí)現(xiàn)流水燈亮燈的工作原理。并對(duì)如何使用程序調(diào)用也有了一定的了解。當(dāng)軟件和硬件都完成之后,接下來就是將軟件的控制程序?qū)懭氲接布锩?,從而?shí)現(xiàn)軟硬結(jié)合的過程,來實(shí)現(xiàn)設(shè)計(jì)要求。在這個(gè)環(huán)節(jié)中我們還是遇到了或多或少的問題,例如蜂鳴器啞聲以及LED顯示器不工作等問題都讓我們困惑了很久,最后還是通過不斷的完善代碼來實(shí)現(xiàn)各個(gè)元器件的工作。通過這次課程設(shè)計(jì),我知道了團(tuán)隊(duì)的力量,只有互相團(tuán)結(jié),才能把事情做好,組員分工合作,每個(gè)人根據(jù)自己的能力范圍負(fù)責(zé)不同的工作,達(dá)到事半功倍的效果。而在這一周的設(shè)計(jì)過程中讓我深深的了解了我在軟件、硬件方面的許多不足之處,對(duì)于今后的學(xué)習(xí)和工作都有了一次很好的借鑒經(jīng)驗(yàn)。致謝首先我要感謝的是工程技術(shù)學(xué)院,工程技術(shù)學(xué)院能夠給我提供如此好的實(shí)踐機(jī)會(huì)。更要感謝指導(dǎo)老師,在我們的學(xué)習(xí)過程中他給了很大的幫助,幫助我們理解不懂的地方,使我們最終能夠完成這個(gè)課程設(shè)計(jì)。我還要感謝參考文獻(xiàn)的原作者。在此對(duì)給予我?guī)椭睦蠋煴硎旧钌畹馗兄x!同時(shí)對(duì)給予我?guī)椭耐瑢W(xué)表示深深地感謝。我想說的是,在指導(dǎo)老師和同學(xué)們的幫助下我學(xué)到了很多東西,也發(fā)現(xiàn)了自己的很多不足之處,促使我在以后的學(xué)習(xí)中更加努力的學(xué)習(xí)。我們回顧這過去時(shí)間,我們會(huì)發(fā)現(xiàn)自己收獲了很多,也成長(zhǎng)了很多,懂得了如何去學(xué)習(xí)以前未曾學(xué)過的新思維新方法,懂得了如何去多方位地查找資料,完善和創(chuàng)新一些舊的思維方式,懂得了如何同老師和同學(xué)交流和協(xié)作,尤其要說的是,老師在此過程中對(duì)我們悉心的輔導(dǎo),認(rèn)真的講解,幫助我們解決問題,循循善誘,使我門受益匪淺。還有同學(xué)們的幫助,互相推薦好的資料。相信這次課程設(shè)計(jì)的體驗(yàn)將成為今后我們更多更廣學(xué)習(xí)中的奠基石。課程設(shè)計(jì)的過程,是學(xué)習(xí)的過程,也是鍛煉的過程,更是教會(huì)我們同學(xué)之間相互幫

溫馨提示

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