基于單片機(jī)AT89C51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告_第1頁(yè)
基于單片機(jī)AT89C51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告_第2頁(yè)
基于單片機(jī)AT89C51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告_第3頁(yè)
基于單片機(jī)AT89C51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告_第4頁(yè)
基于單片機(jī)AT89C51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、技師學(xué)院課程設(shè)計(jì)報(bào)告論文題目 鍵控流水燈 專業(yè)班級(jí) _ 學(xué)生指導(dǎo)教師 _技師學(xué)院電氣技術(shù)系二零一三 9年21月摘 要:?jiǎn)纹瑱C(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù),把具有數(shù)據(jù)處理能力的微處理器、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、只讀程序存儲(chǔ)器、輸入輸出電路、可能還包括定時(shí)計(jì)數(shù)器、串口通信口、顯示驅(qū)動(dòng)電路,脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器與A/D轉(zhuǎn)換器等電路集成到一塊芯片上,構(gòu)成一個(gè)最小而完善的計(jì)算機(jī)系統(tǒng)。這些電路在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。鍵控流水燈設(shè)計(jì)通過(guò)編寫代碼實(shí)現(xiàn)16個(gè)LED燈5種流水燈顯示方式。在設(shè)計(jì)中主要采用AT89C51這款芯片作為控制主體,用按鈕來(lái)切換流水燈的發(fā)光方

2、式來(lái)顯示流水燈的發(fā)光模式。系統(tǒng)通過(guò)P1口外接16個(gè)發(fā)光二極管,P3口接2個(gè)按鍵,一個(gè)按鍵進(jìn)行方式選擇,數(shù)碼管顯示方式編號(hào);用一個(gè)鍵來(lái)控制流水燈流動(dòng)的速度。數(shù)碼管接在AT89C51的P0和P2口上,而流水燈的發(fā)光二極管經(jīng)過(guò)電阻接在P1口上。設(shè)計(jì)中輔以簡(jiǎn)單的設(shè)備和必要的電路,設(shè)計(jì)了一款流水燈,最終達(dá)到預(yù)期的目的。   21 / 23目錄概述11引言22課題綜述21.1課題來(lái)源與意義31.2面臨的問題33 系統(tǒng)設(shè)計(jì)33.1總體設(shè)計(jì)33.2模塊設(shè)計(jì)53.3硬件設(shè)計(jì)94代碼編寫95系統(tǒng)調(diào)試166系統(tǒng)運(yùn)行結(jié)果與分析167電路個(gè)人分工與組員分工16結(jié) 

3、60;論17參考文獻(xiàn)18附錄191  引言 單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或者數(shù)字電路構(gòu)成的控制系統(tǒng),可以軟件控制來(lái)實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化。現(xiàn)在的單片機(jī)的控制疇無(wú)所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過(guò)程控制和專用控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣泛。 2  課題綜述 2.1課題來(lái)源與意義 隨著經(jīng)濟(jì)的發(fā)展、科技的突飛猛進(jìn),芯片業(yè)得到了迅速的發(fā)展,是單片機(jī)技術(shù)在各種民用和工業(yè)控制等領(lǐng)域得到更廣泛的應(yīng)用。單片機(jī)憑借其低成本、高性能的不可代替優(yōu)勢(shì)已經(jīng)成為了微電腦 控制的主力軍。學(xué)習(xí)單片機(jī)

4、的有效方法是將理論與實(shí)踐并重,因此通過(guò)對(duì)單片機(jī)可控流水燈的設(shè)計(jì)和研究,鼓勵(lì)學(xué)生在熟悉基本原理的前提下,與實(shí)際應(yīng)用相聯(lián)系,提出自己的方案,來(lái)完善設(shè)計(jì),使得他們更好的掌握單片機(jī)的應(yīng)用。 2.2面臨的問題 本次課程設(shè)計(jì)的要對(duì)16個(gè)LED燈設(shè)計(jì)5種流水燈顯示方式,用一個(gè)按鍵進(jìn)行方式選擇,并用一個(gè)數(shù)碼管顯示方式編號(hào);用一個(gè)鍵來(lái)控制流水燈流動(dòng)的速度,并用一個(gè)數(shù)碼管顯示方式編號(hào)。 所要解決的問題有流水燈顯示方式的設(shè)計(jì),LED燈的驅(qū)動(dòng)問題,七段顯示數(shù)碼管的驅(qū)動(dòng)問題以與系統(tǒng)對(duì)外界按鈕的相應(yīng)問題。下面將對(duì)各個(gè)問題展開論述。 3  系統(tǒng)設(shè)計(jì) 3.

5、1總體設(shè)計(jì) 實(shí)現(xiàn)這個(gè)課題我們使用AT89C51作為控制主體,使用十六個(gè)共陽(yáng)極發(fā)光二極管作為L(zhǎng)ED顯示流水燈,兩個(gè)七段顯示數(shù)碼管來(lái)顯示流水燈顯示方式,外接兩個(gè)按鈕,其中用一個(gè)按鍵進(jìn)行方式選擇,并用一個(gè)數(shù)碼管顯示方式編號(hào);用一個(gè)鍵來(lái)控制流水燈流動(dòng)的速度,并用一個(gè)數(shù)碼管顯示方式編號(hào)。外接一個(gè)晶振來(lái)提供外接時(shí)鐘脈沖。 單片機(jī)課程設(shè)計(jì) - 2 - 模塊圖如下: 流程圖如下:3.2模塊設(shè)計(jì)3.2.1主體控制模塊芯片AT89C51是核心,P0、P1、P2、P3口均可以作為I/O口使用。兩個(gè)數(shù)碼管經(jīng)過(guò)電阻接在AT89C51的P0和P2口上,P1口外接16個(gè)發(fā)光二極管,P

6、3口接2個(gè)按鍵,一個(gè)按鍵進(jìn)行方式選擇,數(shù)碼管顯示方式編號(hào);用一個(gè)鍵來(lái)控制流水燈流動(dòng)的速度,數(shù)碼管顯示方式編號(hào)。 單片機(jī)課程設(shè)計(jì) 圖3-3主體控制模塊圖 3.2.2按鍵控制模塊、按鍵控制模塊采用獨(dú)立式按鍵接口設(shè)計(jì)。獨(dú)立式按鍵是每一個(gè)按鍵占用一根I/O端線。特點(diǎn):各個(gè)按鍵相互獨(dú)立,電路配置靈活;按鍵數(shù)量較多時(shí),I/O端線耗費(fèi)較多,電路復(fù)雜;軟件結(jié)構(gòu)簡(jiǎn)單圖3-4按鈕控制模塊圖3.2.3時(shí)鐘模塊 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作時(shí)所需的時(shí)鐘信號(hào),在芯片的外部通過(guò)18腳、19腳接晶體振蕩器和微調(diào)電容,形成反饋電路,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電路中的C1、C2取30Pf左右,二晶體振蕩器的頻率圍通常是

7、1.2-12MHZ,晶體振蕩器的頻率越高,振蕩頻率越高。圖3-5時(shí)鐘模塊圖 3.2.4 顯示模塊 顯示模塊主體是八段顯示數(shù)碼管。共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起。通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。圖3-4顯示模塊圖3.2.5流水燈模塊發(fā)光二極管就是LED,是一種由磷化鎵等半導(dǎo)體材料制成的、能直接將電能轉(zhuǎn)換成光能的發(fā)光顯示器件。當(dāng)其部有一定電流通過(guò)時(shí),就是發(fā)光。發(fā)光二極管具有功耗低、體積小、可靠性高、

8、壽命長(zhǎng)和相應(yīng)快等優(yōu)點(diǎn)。 流水燈模塊采用16個(gè)LED發(fā)光二極管,通過(guò)代碼的編寫,實(shí)現(xiàn)五種流水移動(dòng),其中電阻的作用是保護(hù)二極管,向它提供較小的電流,防止二極管因?yàn)殡娏鬟^(guò)大而燒毀。 設(shè)計(jì)中,發(fā)光二極管是共陽(yáng)極接法的,我們只需要將其初值不斷的左移就會(huì)看到LED輪流的被點(diǎn)亮,也就實(shí)現(xiàn)了流水燈的功能。圖3-5流水燈模塊圖3.3硬件設(shè)計(jì)圖3-6 鍵控流水燈圖4 代碼編寫  #include<reg51.h> #define smg1 P0#definelsd1P1#define smg2P2unsignedinti=1,u=7,j,n,c,k,h=7,s=1;uns

9、ignedchar sj=20; unsignedchar js;code unsignedchara=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; code unsignedcharb=0xf9,0xa4,0xb0,0x99,0x92;code unsignedchard=0xf9,0xa4,0xb0,0x99,0x92;bitwnen1=0;bitanj=0;sbitaj1=P30;sbitaj2=P31;voidwnlsd1(void);voidwnlsd2(void);voidwnlsd3(void);voidwnlsd4(void);voidwnl

10、sd5(void);voidsjms1(void);voidsjms2(void);voidsjms3(void);voidsjms4(void);voidsjms5(void);voidmsms1(void);voidmsms2(void);voidmsms3(void);void msms4(void);voidmsms5(void);voidzd1(void);voidzd2(void);voidcsh(void);voidsjkz(void);voidddh(void);main()csh();while(1)if(anj)anj=0;sjkz();ddh();if(i=1) if (

11、wnen1) wnen1=0;wnlsd1(); sjms1(); else if(i=2) if(wnen1) wnen1=0; wnlsd2();sjms2();else if(i=3) if(wnen1) wnen1=0;wnlsd3();sjms3(); else if(i=4) if(wnen1) wnen1=0;wnlsd4();sjms4(); else if(i=5) if(wnen1) wnen1=0;wnlsd5();sjms5();if(s=1) msms1(); else if(s=2) msms2(); else if(s=3) msms3(); else if(s=

12、4) msms4(); elseif(s=5) msms5(); voidcsh(void)TMOD=1;TH0=0x3c;TL0=0xb0;TH1=0xec;TL1=0x78;EA=1;ET0=1;TR0=1;ET1=1;TR1=1;js=sj;voidzd1(void) interrupt 1TH0=0x3c;TL0=0xb0;js=js-4;if(js=0) wnen1=1; js=sj; voidzd2(void) interrupt 3TH1=0xec;TL1=0xb0;anj=1;voidsjkz(void)if(aj1=0)while(!aj1);sj=sj-4;if(sj=0)

13、 sj=20;js=sj;s=s+1;if(s>5) s=1; voidddh(void)if(aj2=0)while(!aj2);i=i+1;if(i>5)i=1;voidwnlsd1(void)lsd1=an;n+;if(n>7)n=0;voidwnlsd2(void)lsd1=an;n=n+2;if(n>7)n=0;voidwnlsd3(void) lsd1=au; u=u-2; if(u=-1) u=7;voidwnlsd4(void)lsd1=ac;c=c+4;if(c>7) c=0; voidwnlsd5(void)lsd1=ah;h-;if(h=-1

14、)h=7;voidsjms1(void) smg1=b0;voidsjms2(void) smg1=b1;voidsjms3(void)smg1=b2;voidsjms4(void)smg1=b3;voidsjms5(void)smg1=b4;voidmsms1(void) smg2=d0;voidmsms2(void)smg2=d1;voidmsms3(void)smg2=d2;voidmsms4(void)smg2=d3;voidmsms5(void)smg2=d4;5  系統(tǒng)調(diào)試通過(guò)對(duì)編寫好的代碼用keil進(jìn)行編譯后,由于對(duì)軟件不是很熟悉導(dǎo)致編好的代碼一直找不到目標(biāo),

15、然后請(qǐng)同學(xué)幫忙后,很快就編寫成功了6  系統(tǒng)運(yùn)行結(jié)果與分析通過(guò)接線端子口接通提供電源后,再通過(guò)穩(wěn)壓電路將12V交流電壓轉(zhuǎn)換成5V直流電壓,數(shù)碼管和led燈能正常顯示,數(shù)碼管顯示1,led燈以兩個(gè)燈亮的形式開始右移,當(dāng)顯示完畢后,按下第一個(gè)鍵,數(shù)碼管顯示2,led燈以兩個(gè)燈亮的形式開始跳兩個(gè)燈顯示。類似的,能夠顯示5種方式。另外一個(gè)鍵控制led的顯示的速度,通電就數(shù)碼管就顯示1,按下第二個(gè)鍵,數(shù)碼管顯示2,led燈加速運(yùn)行,類似的5種速度。由于電路上少加了一組可以控制按下按鈕后數(shù)碼管的顯示數(shù)字亂跳的電路,在制作的時(shí)候也沒有想到,還有在畫PCB的時(shí)候?qū)?shù)碼管的管腳接錯(cuò)了,使得打

16、印在PCB板上的數(shù)碼管上的線路接錯(cuò)了,檢查維修好后,整體就有點(diǎn)不整潔,使整個(gè)電路整體觀上顯的不足之處。7電路個(gè)人分工與組員分工圖負(fù)責(zé)項(xiàng)目 組員原理圖設(shè)計(jì)PCB圖制作實(shí)物圖制作程序設(shè)計(jì)電路板打孔電路板腐蝕結(jié)  論通過(guò)這次的課程設(shè)計(jì),讓我學(xué)習(xí)到了很多知識(shí)以與認(rèn)識(shí)到了很多問題。同時(shí)我意識(shí)到了一個(gè)很重要的問題,那就是課程設(shè)計(jì)之前的準(zhǔn)備工作也是很重要的,包括提前預(yù)習(xí)設(shè)計(jì)的題目,上網(wǎng)和去圖書館查閱資料。我也清楚的知道了,資料也是那么重要,否則在一個(gè)新穎的題目面前,你將無(wú)從下手。通過(guò)準(zhǔn)備工作,這樣可以保正在設(shè)計(jì)的時(shí)候,有了充足的準(zhǔn)備,使得自己不會(huì)在真正要開始課程設(shè)計(jì)的時(shí)候,對(duì)著題目發(fā)呆,

17、沒有什么進(jìn)展。因此,我們覺得這個(gè)也是對(duì)待學(xué)習(xí)的一種好的態(tài)度,以后在學(xué)習(xí)中,也要一直以這種好的態(tài)度對(duì)待。 除此之外,讓我發(fā)現(xiàn)這次的鍵控流水燈設(shè)計(jì),對(duì)于我們以前的學(xué)習(xí)如數(shù)碼管顯示、led燈等的知識(shí),不僅是一次很好的運(yùn)用,而且讓我再次花心思去復(fù)習(xí)了以前學(xué)習(xí)的知識(shí)點(diǎn),運(yùn)用之初相互結(jié)合知識(shí)點(diǎn),使得知識(shí)點(diǎn)可以聯(lián)系起來(lái),對(duì)我的學(xué)習(xí)有了很大的好處。 在程序設(shè)計(jì)的過(guò)程中,也遇到了好多的問題,剛開始在代碼調(diào)試的時(shí)候,一直會(huì)存在錯(cuò)誤,也有過(guò)很失望的時(shí)候,在通過(guò)老師的幫助后,經(jīng)過(guò)很多次的修改以后,終于把程序代碼改好。但是在代碼燒入芯片中,以與數(shù)碼管的顯示等問題上面,我們還是花費(fèi)了好多時(shí)間,但是還是

18、沒有頭緒。最終還是在老師同學(xué)的幫助下,以與幫我們把代碼進(jìn)行了修改,才得以完成了鍵控流水燈基本功能。 總的來(lái)說(shuō),這次設(shè)計(jì)獲益勝多。因?yàn)楸敬握n程設(shè)計(jì)是一個(gè)團(tuán)隊(duì)的合作,所以,不僅使得我們團(tuán)結(jié)合作,學(xué)習(xí)到了知識(shí),還讓我們更加的學(xué)會(huì)溝通。不僅培養(yǎng)了實(shí)踐能力,還培養(yǎng)了設(shè)計(jì)思維,同時(shí)也鍛煉了動(dòng)手實(shí)際操作能力,在摸索該如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過(guò)程中,鍛煉了運(yùn)用所學(xué)知識(shí)的靈活性,加深了對(duì)知識(shí)的理解與提高了解決問題的能力。在體會(huì)到設(shè)計(jì)電路的艱辛的同時(shí),更能體會(huì)到成功喜悅和快樂。 在這次的設(shè)計(jì)中,我學(xué)習(xí)了很多,也享受到了其中的樂趣。從這次課程設(shè)計(jì)中我了解到流水燈的設(shè)計(jì)還是很好玩的,以前在路上夜景中的流水燈看上去很復(fù)雜,現(xiàn)在自己編程以后,知道了原理,相信在器件的允許下,我們也是可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論