單片機音樂控制流水燈_第1頁
單片機音樂控制流水燈_第2頁
單片機音樂控制流水燈_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、本設(shè)計是一種基于AT89C51單片機音樂控制彩燈的方案,實現(xiàn)單片機演奏音樂,并且對 LED 彩燈隨音符頻率的不同而閃爍發(fā)光。本方案以 AT89C5仲片機作為主控核心,禾U用三極管和蜂鳴 器,通過三極管放大電流使用蜂鳴器播放音樂, 利用編程實現(xiàn)亮燈循環(huán)模式,在有8個LED彩燈, 根據(jù)用戶需求可以編寫若干種亮燈模式例如左右閃爍,隔幾個亮滅,蜂鳴器可以根據(jù)用戶需求 改寫編程播放各種音樂。本方案具有設(shè)計簡單、體積小、元器件少、電路結(jié)構(gòu)簡單等優(yōu)點。該設(shè)計方案設(shè)計及其簡單,典型的89C52單片機,亮燈模式多,播放各種類型的音樂,具有體積小、 價格低、低能耗等優(yōu)點。在美麗的都市夜晚,彩燈的循環(huán)亮滅,播放動人

2、的音樂,襯托出美麗的 氛圍,音樂彩燈具有更廣闊的發(fā)展天地。1、設(shè)計要求(1) 、用8個發(fā)光二極管作為顯示電路。(2) 、蜂鳴器播放音樂。(3) 、能夠循環(huán)的顯示燈的亮滅。2、基本原理通過控制單片機的內(nèi)部定時器的定時時間來產(chǎn)生不同的脈沖頻率,以驅(qū)動蜂鳴器發(fā)出不同音節(jié)的聲音,利用延時子程序來控制音調(diào)的節(jié)拍。為了編程方便,通常是將簡單的音符和相應(yīng)的節(jié)拍轉(zhuǎn)換成為定時常數(shù)和延時常數(shù), 利用查表法 得到定時常數(shù),分別控制定時器產(chǎn)生相應(yīng)的脈沖頻率和脈沖頻率的持續(xù)時間, 當(dāng)持續(xù)時間到時,程 序自動查找下一個音符的定時常數(shù)和延時常數(shù),這樣就可以聽到悅耳動聽的歌聲。音調(diào)是由不同的頻率產(chǎn)生的,而每一個音調(diào)都是有一個

3、音符和一個節(jié)拍組成,音符決定該音調(diào)的高低,節(jié)拍決定了該音調(diào)是多少拍。 因此,一個音調(diào)是由兩個字節(jié)組成的。根據(jù)音符字節(jié)產(chǎn)生該 大小次數(shù)的延時,聲音輸出口取反,就可以得到該音調(diào)的高低音。根據(jù)設(shè)置單位的延時大熊啊,可以控制音樂演唱速度。因此算法很簡單:定義單片機的一個I/O端腳為聲音輸出口,在規(guī)定的節(jié)拍內(nèi),根據(jù)音符字節(jié) 的大小產(chǎn)生延時,將聲音輸出口不斷的至置高置低(即取反),就可以得到該音調(diào)。只要選取合適 的單位節(jié)拍延時,就可以輸出動聽的音樂。用內(nèi)部定時器T0方式產(chǎn)生簡譜中各音符飛對應(yīng)脈沖頻率,同時通過延時常數(shù)來控制脈沖頻率的持續(xù)時間。為了加強觀賞和實用性在上面 P1腳接了 LED燈,這樣在音樂播放

4、的同時也有燈的閃爍對音符 有直觀的感覺。3、設(shè)計過程(1) 元器件選取單片機stc89c52 三極管8550 電阻1K 電容30pf發(fā)光二極管晶振11.0592按鍵 開關(guān)蜂鳴器(2) 方案框圖精心整理LED顯單片機控制系統(tǒng)直流電源五伏(3) 原理圖從下面的電路原理圖中可以看出,如果要讓接在P0 口的LED1亮起來,那么只要把P1.0的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1. 0 口的LED1熄滅,就要把P1.0 口的電平變?yōu)楦唠娖?;同理,?P1. 1P1. 7 口的其他7個LED的點亮和熄滅的方法同LED1。因此,實現(xiàn)流 水燈功能,我們只要將發(fā)光二極管LED1LED8依次點亮、熄滅,8

5、只LED燈便會一亮一暗的做流水燈了。在此,我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很 短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了P2A7輸出的電流很小,P2A7接了一個三極管,放大電流以使蜂鳴器能夠正常的工作,播放 出音樂。(4) 設(shè)計程序#in clude<reg52.h>#define uchar un sig ned char#define uint un sig ned intsbit sou nd=P2A7;uint coun ter=0;uchar code array=0x18,0x30,0x1c,0x1

6、0,0x20,0x40,0x1c,0x10, 0x18,0x10,0x20,0x10,0x1c,0x10,0x18,0x40, 0x1c,0x20,0x20,0x20,0x1c,0x20,0x18,0x20, 0x20,0x80,0xff,0x20,0x30,0x1c,0x10,0x18, 0x20,0x15,0x20,0x1c,0x20,0x20,0x20,0x26, 0x40,0x20,0x20,0x2b,0x20,0x26,0x20,0x20, 0x20,0x30,0x80,0xff,0x20,0x20,0x1c,0x10, 0x18,0x10,0x20,0x20,0x26,0x20,0

7、x2b,0x20, 0x15,0x40,0x13,0x40,0x18,0x80,0x00,0x00, ; void ini t_com()/設(shè)置定時器 _TMOD=0x01;TH0=0xff;TL0=0xff;EA=1;ET0=1;精心整理設(shè)置中斷3void timerO(void) in terrupt 1 using 3 /coun ter=co un ter+1;/ 不斷力卩 1TH0=0xd8;TL0=0xef;void delay(uchar n) /延時子程序uchar i;while( n-)for (i=0;i<125;i+);void soun d_delay(ucha

8、r n)/聲音延時子程序 _uchar i;while (n-)for (i=0;i<2;i+);void mai n()uint i;uchar soun d_sig nal; /弓 I入子程序uchar soun d_pace; / 弓 I入子程序ini t_com();/引入子程序while (1)i=0;while(arrayi!=0x00)if (arrayi=0xff)TR0=0;i+;delay(100);con ti nue;soun d_sig nal=arrayi;P0=arrayi;i=i+1;soun d_pace=arrayi;TR0=1;while(co un ter!=so un d_pace) _精心整理精心整理soun d=so und;不斷的取反sou nd_delay(sou nd_sig nal);/音樂的時間的延時 一 一i+;coun ter=0;delay(10);參考文獻1 劉守

溫馨提示

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

評論

0/150

提交評論