51單片機(jī)心形流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書_第1頁
51單片機(jī)心形流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書_第2頁
51單片機(jī)心形流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書_第3頁
51單片機(jī)心形流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書_第4頁
51單片機(jī)心形流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計(jì)說明書題目:51單片機(jī)心形流水燈設(shè)計(jì)產(chǎn)品設(shè)計(jì)工藝設(shè)計(jì)方案設(shè)計(jì)√類型:學(xué)生姓名:學(xué)號:學(xué)院:電子信息工程學(xué)院專業(yè):應(yīng)用電子技術(shù)班級:學(xué)校指導(dǎo)教師:企業(yè)指導(dǎo)教師:2016年5月3日摘要51單片機(jī)心形流水燈的設(shè)計(jì)以51單片機(jī)為核心控制部件,將發(fā)光二燈在排列上做成心形的形狀,加上不同的軟件控制方式就形成了心形流水燈。如果不加外擴(kuò)展方式,最多只能用32個(gè)發(fā)光二極管做成心形的流水燈。該設(shè)計(jì)只使用32個(gè)發(fā)光二極管,在外形排列上排成心形的形狀。配以八種控制方式,形成多花樣的心形流水燈。關(guān)鍵詞:STC89C51單片機(jī);心形流水燈;八種控制方式 目錄1.引言 42.51單片機(jī)的心形流水燈硬件 42.1心形流水燈的最小系統(tǒng) 42.2心形流水燈的工作原理 53.心形流水燈的程序設(shè)計(jì) 53.1心形流水燈的主程序設(shè)計(jì) 53.2.心形流水燈的延時(shí)模塊 63.3.心形流水燈的工作方式模塊 6致謝與結(jié)論 20參考文獻(xiàn) 20

1.引言單片機(jī)心形流水燈控制器,外圍電路簡單,程序控制可以多樣化,通過將32個(gè)發(fā)光二極管在外形排列成為心的形狀,配以軟件程序設(shè)計(jì)的多方式控制,完成51單片機(jī)的心形流水燈的設(shè)計(jì)與制作,下面將從硬件電路和軟件設(shè)計(jì)兩方面對51單片機(jī)的心形流水燈給與說明。2.51單片機(jī)的心形流水燈硬件2.1心形流水燈的最小系統(tǒng)心形流水燈的最小系統(tǒng)是由STC89C51單片機(jī)、上電復(fù)位電路、、振蕩電路、STC89C51工作電源、心形發(fā)光二極管組成。上電復(fù)位電路工作原理:當(dāng)心形流水燈的單片機(jī)接通電源時(shí),由于電容兩端的電壓不能突變,C1相當(dāng)于短路,單片機(jī)的復(fù)位引腳9相當(dāng)于接電源電壓正極,這時(shí)單片機(jī)進(jìn)行復(fù)位操作。按鈕復(fù)位電路工作原理:當(dāng)心形流水燈在工作過程中按下復(fù)位按鈕S,單片機(jī)的9腳直接接電源正極。這時(shí)單片機(jī)也進(jìn)行復(fù)位操作。振蕩電路是由一個(gè)12MHz晶體振蕩器和兩個(gè)30pF的電容構(gòu)成,單片機(jī)工作周期為12μS。心形流水燈的最小系統(tǒng)如圖2.1所示。圖2.1心形流水燈的單片機(jī)最小系統(tǒng)圖2.2心形流水燈的工作原理心形流水燈是由32個(gè)發(fā)光二極組成,32個(gè)發(fā)光二極管接成共陽連接,另一端與單片的32個(gè)輸入輸出引腳相連,讓哪個(gè)發(fā)光二極管導(dǎo)通,與單片機(jī)相連的引腳輸出低電平,對應(yīng)的發(fā)光二極管就發(fā)光,通過程序的控制就可讓心形流水燈多花樣的工作。心形流水燈的原理圖如圖2.2所示。圖2.2心形流水燈的原理圖從原理圖中可以看出,如果要讓接在P0.0口的LED1亮起來,那么只要把P0.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P0.0口的LED1熄滅,就要把P0.0口的電平變?yōu)楦唠娖?;同理,其他LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要控制發(fā)光二極管依次點(diǎn)亮、熄滅。就能看到流水燈“流水”效果了。3.心形流水燈的程序設(shè)計(jì)3.1心形流水燈的主程序設(shè)計(jì)心形注水燈在單片機(jī)復(fù)位時(shí),以一個(gè)燈亮的形式順時(shí)針方向以500毫秒間隔進(jìn)行流動(dòng),當(dāng)32個(gè)流水燈都亮完后,以第二種方式、第三種方式、第四種方式、第五種方式、第六種方式、第七種方式、第八種方式進(jìn)行工作,當(dāng)所有的工作方式完成后重復(fù)開始進(jìn)行,直到關(guān)閉心形流水燈為止。心形流水燈的主程序如下:voidmain(){ inital();//初始心形流水燈 while(1) { led_black1();//調(diào)心形流水燈的第一種工作方式 led_black2();//調(diào)心形流水燈的第二種工作方式 led_black3();//調(diào)心形流水燈的第三種工作方式 led_black4();//調(diào)心形流水燈的第四種工作方式 led_black5();//調(diào)心形流水燈的第五種工作方式 led_black6();//調(diào)心形流水燈的第六種工作方式 led_black7();//調(diào)心形流水燈的第七種工作方式 led_black8();//調(diào)心形流水燈的第八種工作方式 }}3.2.心形流水燈的延時(shí)模塊心形流水燈每個(gè)發(fā)光二極管亮的時(shí)間為500毫秒,在這個(gè)心形流水燈中的我使用程序延時(shí)來實(shí)現(xiàn),具體延時(shí)程序如下://一個(gè)帶參延時(shí)模塊,當(dāng)x的參數(shù)就為延時(shí)的時(shí)間voiddelay(intx){ inti,j;//延時(shí)模塊的局部參數(shù) for(i=0;i<x;i++)//循環(huán)X次數(shù) for(j=0;j<121;j++);//延時(shí)1毫秒模塊}3.3.心形流水燈的工作方式模塊心形流水燈的第一種工作方式是以一個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第一種工作方式的程序如下:voidled_black1(){ P0=0xfe; delay(500);//延時(shí)500毫秒 P0=0xfd; delay(500);//延時(shí)500毫秒 P0=0xfb; delay(500);//延時(shí)500毫秒 P0=0xf7; delay(500);//延時(shí)500毫秒 P0=0xef; delay(500);//延時(shí)500毫秒 P0=0xdf; delay(500);//延時(shí)500毫秒 P0=0xbf; delay(500);//延時(shí)500毫秒 P0=0x7f; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0xfe; delay(500);//延時(shí)500毫秒 P1=0xfd; delay(500);//延時(shí)500毫秒 P1=0xfb; delay(500);//延時(shí)500毫秒 P1=0xf7; delay(500);//延時(shí)500毫秒 P1=0xef; delay(500);//延時(shí)500毫秒 P1=0xdf; delay(500);//延時(shí)500毫秒 P1=0xbf; delay(500);//延時(shí)500毫秒 P1=0x7f; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0xfe; delay(500);//延時(shí)500毫秒 P2=0xfd; delay(500);//延時(shí)500毫秒 P2=0xfb; delay(500);//延時(shí)500毫秒 P2=0xf7; delay(500);//延時(shí)500毫秒 P2=0xef; delay(500);//延時(shí)500毫秒 P2=0xdf; delay(500);//延時(shí)500毫秒 P2=0xbf; delay(500);//延時(shí)500毫秒 P2=0x7f; delay(500);//延時(shí)500毫秒 P2=0xff; P3=0xfe; delay(500);//延時(shí)500毫秒 P3=0xfd; delay(500);//延時(shí)500毫秒 P3=0xfb; delay(500);//延時(shí)500毫秒 P3=0xf7; delay(500);//延時(shí)500毫秒 P3=0xef; delay(500);//延時(shí)500毫秒 P3=0xdf; delay(500);//延時(shí)500毫秒 P3=0xbf; delay(500);//延時(shí)500毫秒 P3=0x7f; delay(500);//延時(shí)500毫秒 P3=0xff;}心形流水燈的第二種工作方式是以兩個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第二種工作方式的程序如下:voidled_black2(){ P0=0xfc; delay(500);//延時(shí)500毫秒 P0=0xf3; delay(500);//延時(shí)500毫秒 P0=0xcf; delay(500);//延時(shí)500毫秒 P0=0x3f; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0xfc; delay(500);//延時(shí)500毫秒 P1=0xf3; delay(500);//延時(shí)500毫秒 P1=0xcf; delay(500);//延時(shí)500毫秒 P1=0x3f; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0xfc; delay(500);//延時(shí)500毫秒 P2=0xf3; delay(500);//延時(shí)500毫秒 P2=0xcf; delay(500);//延時(shí)500毫秒 P2=0x3f; delay(500);//延時(shí)500毫秒 P2=0xff; P3=0xfc; delay(500);//延時(shí)500毫秒 P3=0xf3; delay(500);//延時(shí)500毫秒 P3=0xcf; delay(500);//延時(shí)500毫秒 P3=0x3f; delay(500);//延時(shí)500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第三種工作方式是以三個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第三種工作方式的程序如下:voidled_black3(){ P0=0xf8; delay(500);//延時(shí)500毫秒 P0=0xf1; delay(500);//延時(shí)500毫秒 P0=0xe3; delay(500);//延時(shí)500毫秒 P0=0xc7; delay(500);//延時(shí)500毫秒 P0=0x8f; delay(500);//延時(shí)500毫秒 P0=0x1f; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0xf8; delay(500);//延時(shí)500毫秒 P1=0xf1; delay(500);//延時(shí)500毫秒 P1=0xe3; delay(500);//延時(shí)500毫秒 P1=0xc7; delay(500);//延時(shí)500毫秒 P1=0x8f; delay(500);//延時(shí)500毫秒 P1=0x1f; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0xf8; delay(500);//延時(shí)500毫秒 P2=0xf1; delay(500);//延時(shí)500毫秒 P2=0xe3; delay(500);//延時(shí)500毫秒 P2=0xc7; delay(500);//延時(shí)500毫秒 P2=0x8f; delay(500);//延時(shí)500毫秒 P2=0x1f; delay(500);//延時(shí)500毫秒 P2=0xff; P3=0xf8; delay(500);//延時(shí)500毫秒 P3=0xf1; delay(500);//延時(shí)500毫秒 P3=0xe3; delay(500);//延時(shí)500毫秒 P3=0xc7; delay(500);//延時(shí)500毫秒 P3=0x8f; delay(500);//延時(shí)500毫秒 P3=0x1f; delay(500);//延時(shí)500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第四種工作方式是以四個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第四種工作方式的程序如下:voidled_black4(){ P0=0xf0; delay(500);//延時(shí)500毫秒 P0=0x0f; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0xf0; delay(500);//延時(shí)500毫秒 P1=0x0f; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0xf0; delay(500);//延時(shí)500毫秒 P2=0x0f; delay(500);//延時(shí)500毫秒 P2=0xff; P3=0xf0; delay(500);//延時(shí)500毫秒 P3=0x0f; delay(500);//延時(shí)500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第五種工作方式是以五個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第五種工作方式的程序如下:voidled_black5(){ P0=0xe0; delay(500);//延時(shí)500毫秒 P0=0xc1; delay(500);//延時(shí)500毫秒 P0=0x83; delay(500);//延時(shí)500毫秒 P0=0x07; delay(500);//延時(shí)500毫秒 P0=0x0f P1=0xfe; delay(500);//延時(shí)500毫秒 P0=0x1f P1=0xfc; delay(500);//延時(shí)500毫秒 P0=0x3f P1=0xf8; delay(500);//延時(shí)500毫秒 P0=0x7f P1=0xe0; delay(500);//延時(shí)500毫秒 P0=0xff P1=0xc1; delay(500);//延時(shí)500毫秒 P1=0x83; delay(500);//延時(shí)500毫秒 P1=0x07; delay(500);//延時(shí)500毫秒 P1=0x0f P2=0xfe; delay(500);//延時(shí)500毫秒 P1=0x1f P2=0xfc; delay(500);//延時(shí)500毫秒 P1=0x3f P2=0xf8; delay(500);//延時(shí)500毫秒 P1=0x7f P2=0xe0; delay(500);//延時(shí)500毫秒 P1=0xff P2=0xc1; delay(500);//延時(shí)500毫秒 P2=0x83; delay(500);//延時(shí)500毫秒 P2=0x07; delay(500);//延時(shí)500毫秒 P2=0x0f P3=0xfe; delay(500);//延時(shí)500毫秒 P2=0x1f P3=0xfc; delay(500);//延時(shí)500毫秒 P2=0x3f P3=0xf8; delay(500);//延時(shí)500毫秒 P2=0x7f P3=0xe0; delay(500);//延時(shí)500毫秒 P2=0xff P3=0xc1; delay(500);//延時(shí)500毫秒 P3=0x83; delay(500);//延時(shí)500毫秒 P3=0x07; delay(500);//延時(shí)500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第六種工作方式是以六個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第六種工作方式的程序如下:voidled_black6(){ P0=0xc0; delay(500);//延時(shí)500毫秒 P0=0x81; delay(500);//延時(shí)500毫秒 P0=0x03; delay(500);//延時(shí)500毫秒 P0=0x07; P1=0xfe; delay(500);//延時(shí)500毫秒 P0=0x0f; P1=0xfc; delay(500);//延時(shí)500毫秒 P0=0x1f; P1=0xf8; delay(500);//延時(shí)500毫秒 P0=0x3f; P1=0xf0; delay(500);//延時(shí)500毫秒 P0=0x7f; P1=0xe0; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0xc0; delay(500);//延時(shí)500毫秒 P1=0x81; delay(500);//延時(shí)500毫秒 P1=0x03; delay(500);//延時(shí)500毫秒 P1=0x07; P2=0xfe; delay(500);//延時(shí)500毫秒 P1=0x0f; P2=0xfc; delay(500);//延時(shí)500毫秒 P1=0x1f; P2=0xf8; delay(500);//延時(shí)500毫秒 P1=0x3f; P2=0xf0; delay(500);//延時(shí)500毫秒 P1=0x7f; P2=0xe0; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0xc0; delay(500);//延時(shí)500毫秒 P2=0x81; delay(500);//延時(shí)500毫秒 P2=0x03; delay(500);//延時(shí)500毫秒 P2=0x07; P3=0xfe; delay(500);//延時(shí)500毫秒 P2=0x0f; P3=0xfc; delay(500);//延時(shí)500毫秒 P2=0x1f; P3=0xf8; delay(500);//延時(shí)500毫秒 P2=0x3f; P3=0xf0; delay(500);//延時(shí)500毫秒 P2=0x7f; P3=0xe0; delay(500);//延時(shí)500毫秒 P2=0xff; P3=0xc0; delay(500);//延時(shí)500毫秒 P3=0x81; delay(500);//延時(shí)500毫秒 P3=0x03; delay(500);//延時(shí)500毫秒 P3=0xff;//滅P3口的發(fā)光二極管}心形流水燈的第七種工作方式是以七個(gè)發(fā)光二極管以500毫秒間隔進(jìn)行順時(shí)針運(yùn)行。心形流水燈的第七種工作方式的程序如下:voidled_black7(){ P0=0x80; delay(500);//延時(shí)500毫秒 P0=0x01; delay(500);//延時(shí)500毫秒 P0=0x03; P1=0xfe; delay(500);//延時(shí)500毫秒 P0=0x07; P1=0xfc; delay(500);//延時(shí)500毫秒 P0=0x0f; P1=0xf8; delay(500);//延時(shí)500毫秒 P0=0x1f; P1=0xf0; delay(500);//延時(shí)500毫秒 P0=0x3f; P1=0xe0; delay(500);//延時(shí)500毫秒 P0=0x7f; P1=0xc0; delay(500);//延時(shí)500毫秒 P0=0xff; P1=0x80; delay(500);//延時(shí)500毫秒 P1=0x01; delay(500);//延時(shí)500毫秒 P1=0x03; P2=0xfe; delay(500);//延時(shí)500毫秒 P1=0x07; P2=0xfc; delay(500);//延時(shí)500毫秒 P1=0x0f; P2=0xf8; delay(500);//延時(shí)500毫秒 P1=0x1f; P2=0xf0; delay(500);//延時(shí)500毫秒 P1=0x3f; P2=0xe0; delay(500);//延時(shí)500毫秒 P1=0x7f; P2=0xc0; delay(500);//延時(shí)500毫秒 P1=0xff; P2=0x80; delay(500);//延時(shí)500毫秒 P2=0x01; delay(500);//延時(shí)500毫秒 P2=0x03; P3=0xfe

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論