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

下載本文檔

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

文檔簡介

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

1.引言單片機心形流水燈控制器,外圍電路簡單,程序控制可以多樣化,通過將32個發(fā)光二極管在外形排列成為心的形狀,配以軟件程序設計的多方式控制,完成51單片機的心形流水燈的設計與制作,下面將從硬件電路和軟件設計兩方面對51單片機的心形流水燈給與說明。2.51單片機的心形流水燈硬件2.1心形流水燈的最小系統(tǒng)心形流水燈的最小系統(tǒng)是由STC89C51單片機、上電復位電路、、振蕩電路、STC89C51工作電源、心形發(fā)光二極管組成。上電復位電路工作原理:當心形流水燈的單片機接通電源時,由于電容兩端的電壓不能突變,C1相當于短路,單片機的復位引腳9相當于接電源電壓正極,這時單片機進行復位操作。按鈕復位電路工作原理:當心形流水燈在工作過程中按下復位按鈕S,單片機的9腳直接接電源正極。這時單片機也進行復位操作。振蕩電路是由一個12MHz晶體振蕩器和兩個30pF的電容構(gòu)成,單片機工作周期為12μS。心形流水燈的最小系統(tǒng)如圖2.1所示。圖2.1心形流水燈的單片機最小系統(tǒng)圖2.2心形流水燈的工作原理心形流水燈是由32個發(fā)光二極組成,32個發(fā)光二極管接成共陽連接,另一端與單片的32個輸入輸出引腳相連,讓哪個發(fā)光二極管導通,與單片機相連的引腳輸出低電平,對應的發(fā)光二極管就發(fā)光,通過程序的控制就可讓心形流水燈多花樣的工作。心形流水燈的原理圖如圖2.2所示。圖2.2心形流水燈的原理圖從原理圖中可以看出,如果要讓接在P0.0口的LED1亮起來,那么只要把P0.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P0.0口的LED1熄滅,就要把P0.0口的電平變?yōu)楦唠娖?;同理,其他LED的點亮和熄滅的方法同LED1。因此,要實現(xiàn)流水燈功能,我們只要控制發(fā)光二極管依次點亮、熄滅。就能看到流水燈“流水”效果了。3.心形流水燈的程序設計3.1心形流水燈的主程序設計心形注水燈在單片機復位時,以一個燈亮的形式順時針方向以500毫秒間隔進行流動,當32個流水燈都亮完后,以第二種方式、第三種方式、第四種方式、第五種方式、第六種方式、第七種方式、第八種方式進行工作,當所有的工作方式完成后重復開始進行,直到關閉心形流水燈為止。心形流水燈的主程序如下: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.心形流水燈的延時模塊心形流水燈每個發(fā)光二極管亮的時間為500毫秒,在這個心形流水燈中的我使用程序延時來實現(xiàn),具體延時程序如下://一個帶參延時模塊,當x的參數(shù)就為延時的時間voiddelay(intx){ inti,j;//延時模塊的局部參數(shù) for(i=0;i<x;i++)//循環(huán)X次數(shù) for(j=0;j<121;j++);//延時1毫秒模塊}3.3.心形流水燈的工作方式模塊心形流水燈的第一種工作方式是以一個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第一種工作方式的程序如下:voidled_black1(){ P0=0xfe; delay(500);//延時500毫秒 P0=0xfd; delay(500);//延時500毫秒 P0=0xfb; delay(500);//延時500毫秒 P0=0xf7; delay(500);//延時500毫秒 P0=0xef; delay(500);//延時500毫秒 P0=0xdf; delay(500);//延時500毫秒 P0=0xbf; delay(500);//延時500毫秒 P0=0x7f; delay(500);//延時500毫秒 P0=0xff; P1=0xfe; delay(500);//延時500毫秒 P1=0xfd; delay(500);//延時500毫秒 P1=0xfb; delay(500);//延時500毫秒 P1=0xf7; delay(500);//延時500毫秒 P1=0xef; delay(500);//延時500毫秒 P1=0xdf; delay(500);//延時500毫秒 P1=0xbf; delay(500);//延時500毫秒 P1=0x7f; delay(500);//延時500毫秒 P1=0xff; P2=0xfe; delay(500);//延時500毫秒 P2=0xfd; delay(500);//延時500毫秒 P2=0xfb; delay(500);//延時500毫秒 P2=0xf7; delay(500);//延時500毫秒 P2=0xef; delay(500);//延時500毫秒 P2=0xdf; delay(500);//延時500毫秒 P2=0xbf; delay(500);//延時500毫秒 P2=0x7f; delay(500);//延時500毫秒 P2=0xff; P3=0xfe; delay(500);//延時500毫秒 P3=0xfd; delay(500);//延時500毫秒 P3=0xfb; delay(500);//延時500毫秒 P3=0xf7; delay(500);//延時500毫秒 P3=0xef; delay(500);//延時500毫秒 P3=0xdf; delay(500);//延時500毫秒 P3=0xbf; delay(500);//延時500毫秒 P3=0x7f; delay(500);//延時500毫秒 P3=0xff;}心形流水燈的第二種工作方式是以兩個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第二種工作方式的程序如下:voidled_black2(){ P0=0xfc; delay(500);//延時500毫秒 P0=0xf3; delay(500);//延時500毫秒 P0=0xcf; delay(500);//延時500毫秒 P0=0x3f; delay(500);//延時500毫秒 P0=0xff; P1=0xfc; delay(500);//延時500毫秒 P1=0xf3; delay(500);//延時500毫秒 P1=0xcf; delay(500);//延時500毫秒 P1=0x3f; delay(500);//延時500毫秒 P1=0xff; P2=0xfc; delay(500);//延時500毫秒 P2=0xf3; delay(500);//延時500毫秒 P2=0xcf; delay(500);//延時500毫秒 P2=0x3f; delay(500);//延時500毫秒 P2=0xff; P3=0xfc; delay(500);//延時500毫秒 P3=0xf3; delay(500);//延時500毫秒 P3=0xcf; delay(500);//延時500毫秒 P3=0x3f; delay(500);//延時500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第三種工作方式是以三個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第三種工作方式的程序如下:voidled_black3(){ P0=0xf8; delay(500);//延時500毫秒 P0=0xf1; delay(500);//延時500毫秒 P0=0xe3; delay(500);//延時500毫秒 P0=0xc7; delay(500);//延時500毫秒 P0=0x8f; delay(500);//延時500毫秒 P0=0x1f; delay(500);//延時500毫秒 P0=0xff; P1=0xf8; delay(500);//延時500毫秒 P1=0xf1; delay(500);//延時500毫秒 P1=0xe3; delay(500);//延時500毫秒 P1=0xc7; delay(500);//延時500毫秒 P1=0x8f; delay(500);//延時500毫秒 P1=0x1f; delay(500);//延時500毫秒 P1=0xff; P2=0xf8; delay(500);//延時500毫秒 P2=0xf1; delay(500);//延時500毫秒 P2=0xe3; delay(500);//延時500毫秒 P2=0xc7; delay(500);//延時500毫秒 P2=0x8f; delay(500);//延時500毫秒 P2=0x1f; delay(500);//延時500毫秒 P2=0xff; P3=0xf8; delay(500);//延時500毫秒 P3=0xf1; delay(500);//延時500毫秒 P3=0xe3; delay(500);//延時500毫秒 P3=0xc7; delay(500);//延時500毫秒 P3=0x8f; delay(500);//延時500毫秒 P3=0x1f; delay(500);//延時500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第四種工作方式是以四個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第四種工作方式的程序如下:voidled_black4(){ P0=0xf0; delay(500);//延時500毫秒 P0=0x0f; delay(500);//延時500毫秒 P0=0xff; P1=0xf0; delay(500);//延時500毫秒 P1=0x0f; delay(500);//延時500毫秒 P1=0xff; P2=0xf0; delay(500);//延時500毫秒 P2=0x0f; delay(500);//延時500毫秒 P2=0xff; P3=0xf0; delay(500);//延時500毫秒 P3=0x0f; delay(500);//延時500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第五種工作方式是以五個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第五種工作方式的程序如下:voidled_black5(){ P0=0xe0; delay(500);//延時500毫秒 P0=0xc1; delay(500);//延時500毫秒 P0=0x83; delay(500);//延時500毫秒 P0=0x07; delay(500);//延時500毫秒 P0=0x0f P1=0xfe; delay(500);//延時500毫秒 P0=0x1f P1=0xfc; delay(500);//延時500毫秒 P0=0x3f P1=0xf8; delay(500);//延時500毫秒 P0=0x7f P1=0xe0; delay(500);//延時500毫秒 P0=0xff P1=0xc1; delay(500);//延時500毫秒 P1=0x83; delay(500);//延時500毫秒 P1=0x07; delay(500);//延時500毫秒 P1=0x0f P2=0xfe; delay(500);//延時500毫秒 P1=0x1f P2=0xfc; delay(500);//延時500毫秒 P1=0x3f P2=0xf8; delay(500);//延時500毫秒 P1=0x7f P2=0xe0; delay(500);//延時500毫秒 P1=0xff P2=0xc1; delay(500);//延時500毫秒 P2=0x83; delay(500);//延時500毫秒 P2=0x07; delay(500);//延時500毫秒 P2=0x0f P3=0xfe; delay(500);//延時500毫秒 P2=0x1f P3=0xfc; delay(500);//延時500毫秒 P2=0x3f P3=0xf8; delay(500);//延時500毫秒 P2=0x7f P3=0xe0; delay(500);//延時500毫秒 P2=0xff P3=0xc1; delay(500);//延時500毫秒 P3=0x83; delay(500);//延時500毫秒 P3=0x07; delay(500);//延時500毫秒 P3=0xff;//滅P3口的燈}心形流水燈的第六種工作方式是以六個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第六種工作方式的程序如下:voidled_black6(){ P0=0xc0; delay(500);//延時500毫秒 P0=0x81; delay(500);//延時500毫秒 P0=0x03; delay(500);//延時500毫秒 P0=0x07; P1=0xfe; delay(500);//延時500毫秒 P0=0x0f; P1=0xfc; delay(500);//延時500毫秒 P0=0x1f; P1=0xf8; delay(500);//延時500毫秒 P0=0x3f; P1=0xf0; delay(500);//延時500毫秒 P0=0x7f; P1=0xe0; delay(500);//延時500毫秒 P0=0xff; P1=0xc0; delay(500);//延時500毫秒 P1=0x81; delay(500);//延時500毫秒 P1=0x03; delay(500);//延時500毫秒 P1=0x07; P2=0xfe; delay(500);//延時500毫秒 P1=0x0f; P2=0xfc; delay(500);//延時500毫秒 P1=0x1f; P2=0xf8; delay(500);//延時500毫秒 P1=0x3f; P2=0xf0; delay(500);//延時500毫秒 P1=0x7f; P2=0xe0; delay(500);//延時500毫秒 P1=0xff; P2=0xc0; delay(500);//延時500毫秒 P2=0x81; delay(500);//延時500毫秒 P2=0x03; delay(500);//延時500毫秒 P2=0x07; P3=0xfe; delay(500);//延時500毫秒 P2=0x0f; P3=0xfc; delay(500);//延時500毫秒 P2=0x1f; P3=0xf8; delay(500);//延時500毫秒 P2=0x3f; P3=0xf0; delay(500);//延時500毫秒 P2=0x7f; P3=0xe0; delay(500);//延時500毫秒 P2=0xff; P3=0xc0; delay(500);//延時500毫秒 P3=0x81; delay(500);//延時500毫秒 P3=0x03; delay(500);//延時500毫秒 P3=0xff;//滅P3口的發(fā)光二極管}心形流水燈的第七種工作方式是以七個發(fā)光二極管以500毫秒間隔進行順時針運行。心形流水燈的第七種工作方式的程序如下:voidled_black7(){ P0=0x80; delay(500);//延時500毫秒 P0=0x01; delay(500);//延時500毫秒 P0=0x03; P1=0xfe; delay(500);//延時500毫秒 P0=0x07; P1=0xfc; delay(500);//延時500毫秒 P0=0x0f; P1=0xf8; delay(500);//延時500毫秒 P0=0x1f; P1=0xf0; delay(500);//延時500毫秒 P0=0x3f; P1=0xe0; delay(500);//延時500毫秒 P0=0x7f; P1=0xc0; delay(500);//延時500毫秒 P0=0xff; P1=0x80; delay(500);//延時500毫秒 P1=0x01; delay(500);//延時500毫秒 P1=0x03; P2=0xfe; delay(500);//延時500毫秒 P1=0x07; P2=0xfc; delay(500);//延時500毫秒 P1=0x0f; P2=0xf8; delay(500);//延時500毫秒 P1=0x1f; P2=0xf0; delay(500);//延時500毫秒 P1=0x3f; P2=0xe0; delay(500);//延時500毫秒 P1=0x7f; P2=0xc0; delay(500);//延時500毫秒 P1=0xff; P2=0x80; delay(500);//延時500毫秒 P2=0x01; delay(500);//延時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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論