概述:
傳統(tǒng)的音樂(lè)盒多是機(jī)械音樂(lè)盒,但是,機(jī)械式的音樂(lè)盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機(jī)械音樂(lè)盒放音時(shí)為了讓音色穩(wěn)定,必須放平不能動(dòng)搖,而且價(jià)格昂貴,不能實(shí)現(xiàn)大批量生產(chǎn)。基于單片機(jī)設(shè)計(jì)制作的電子式音樂(lè)盒。與傳統(tǒng)的機(jī)械式音樂(lè)盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂(lè)。電子式音樂(lè)盒動(dòng)力來(lái)源是電池,制作工藝簡(jiǎn)單,可進(jìn)行批量生產(chǎn),所以?xún)r(jià)格便宜?;趩纹瑱C(jī)制作的電子式音樂(lè)盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便。所放歌曲的節(jié)奏可以根據(jù)需要進(jìn)行設(shè)置,根據(jù)存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲。另外,可以設(shè)計(jì)彩燈外觀(guān)效果,增設(shè)放歌時(shí)間、序號(hào)顯示燈功能,使音樂(lè)盒的功能更加豐富。
單片機(jī)數(shù)字音樂(lè)盒有關(guān)介紹:
電子音樂(lè)已廣泛地應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域。其類(lèi)型從音樂(lè)卡片到CD、MP3 等多種多樣,制作原理也各不相同。聲音是通過(guò)振動(dòng)產(chǎn)生的。單片機(jī)對(duì)某一I/O引腳以一定的頻率循環(huán)置1和清0,這一引腳便產(chǎn)生一定頻率的方波,該方波通過(guò)放大后作用于揚(yáng)聲器便產(chǎn)生一定頻率的聲音。若改變輸出方波的頻率,產(chǎn)生的聲音也就改變了。通過(guò)控制輸出方波的時(shí)間長(zhǎng)短,聲音的長(zhǎng)短也就得到控制。因此,根據(jù)樂(lè)譜,單片機(jī)就可產(chǎn)生電子音樂(lè)。音樂(lè)中最關(guān)鍵的兩個(gè)要素是音符和節(jié)拍。單片機(jī)控制的音樂(lè)發(fā)生器系統(tǒng)由硬件電路和軟件兩部分構(gòu)成。利用單片機(jī)控制的電子音樂(lè)發(fā)生器軟硬件上具有獨(dú)特的優(yōu)點(diǎn),系統(tǒng)的開(kāi)發(fā)周期短,成本低,電路制作容易。更換歌曲時(shí),硬件電路無(wú)需作任何修改,只需修改軟件即可實(shí)現(xiàn)。軟件編程時(shí),可用51系列單片機(jī)的匯編語(yǔ)言或C51語(yǔ)言實(shí)現(xiàn)。同時(shí)還可根據(jù)個(gè)人的習(xí)好通過(guò)軟件改變節(jié)拍的延時(shí)時(shí)間,增加電子音樂(lè)的趣味性。
發(fā)音原理介紹:
發(fā)音原理:播放一段音樂(lè)需要的是兩個(gè)元素,一個(gè)是音調(diào),另一個(gè)是音符。首先要了解對(duì)應(yīng)的音調(diào),音調(diào)主要由聲音的頻率決定,同時(shí)也與聲音強(qiáng)度有關(guān)。對(duì)一定強(qiáng)度的純音,音調(diào)隨頻率的升降而升降;對(duì)一定頻率的純音、低頻純音的音調(diào)隨聲強(qiáng)增加而下降,高頻純音的音調(diào)卻隨強(qiáng)度增加而上升。另外,音符的頻率有所不同。基于上面的內(nèi)容,這樣就對(duì)發(fā)音的原理有了一些初步的了解。
音符的發(fā)音主要靠不同的音頻脈沖。利用單片機(jī)的內(nèi)部定時(shí)器/計(jì)數(shù)器0,使其工作在模式1,定時(shí)中斷,然后控制P3.7引腳的輸出音樂(lè)。只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖。
音符頻率的產(chǎn)生:
音符及定時(shí)器初始值:
例如:中音1(do)的音頻=523HZ,周期T=1/523s=1912
定時(shí)器/計(jì)數(shù)器0的定時(shí)時(shí)間為:T/2=1912/2
定時(shí)器956的計(jì)數(shù)值=定時(shí)時(shí)間/機(jī)器周期=956/1=956(時(shí)鐘頻率=12MHZ)
裝入T0計(jì)數(shù)器初值為65536-956=64580
將64580裝入T0寄存器中,啟動(dòng)T0工作后,每計(jì)數(shù)956次時(shí)將產(chǎn)生溢出中斷,進(jìn)入中斷服務(wù)時(shí),每次對(duì)P3.0引腳的輸出值進(jìn)行取反,就可得到中音DO(523HZ)的音符音頻。將51單片機(jī)內(nèi)部定時(shí)器工作在計(jì)數(shù)器模式1下,改變計(jì)數(shù)初值TH0,TL0以產(chǎn)生不同的頻率。
若該設(shè)計(jì)使用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴(lài)于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。若用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,所以在該設(shè)計(jì)中采用單片機(jī)利用AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫(xiě)或用編程器編程。另外, AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B 的RAM、32條I/O口線(xiàn)、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全雙工串行口等。