版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本文是應(yīng)用STC89C52單片機(jī)原理和控制理論來(lái)設(shè)計(jì)音樂(lè)盒的硬件電路,并利用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)。通過(guò)控制單片機(jī)內(nèi)部的定時(shí)器來(lái)產(chǎn)生不同頻率的方波,驅(qū)動(dòng)喇叭發(fā)出不同音調(diào)的音樂(lè),再利用延遲來(lái)控制發(fā)音時(shí)間的長(zhǎng)短。該程序通過(guò)把樂(lè)譜轉(zhuǎn)化成相應(yīng)的定時(shí)常數(shù)來(lái)驅(qū)動(dòng)發(fā)音設(shè)備演奏出悅耳動(dòng)聽(tīng)的音樂(lè)。這種控制電路結(jié)構(gòu)簡(jiǎn)單,可靠性高,應(yīng)用性強(qiáng);軟
2、件程序適應(yīng)范圍廣,對(duì)于不同的音樂(lè)只需要改變相應(yīng)的定時(shí)常數(shù)即可。對(duì)單片機(jī)和音樂(lè)愛(ài)好者有一定的借鑒價(jià)值。</p><p> 關(guān)鍵詞:STC89C52單片機(jī) 音樂(lè)盒 匯編語(yǔ)言</p><p><b> 目 錄</b></p><p> 1.設(shè)計(jì)目的及要求1</p><p> 1.1 設(shè)計(jì)目的1</p>
3、;<p> 1.2 設(shè)計(jì)要求1</p><p> 2 .設(shè)計(jì)方案及原理1</p><p> 2.1 設(shè)計(jì)原理......................................................................................................................1</p>
4、<p> 2.2 總設(shè)計(jì)思想2</p><p><b> 3.硬件設(shè)計(jì)3</b></p><p><b> 4.軟件設(shè)計(jì)3</b></p><p> 4.1 音調(diào)、節(jié)拍以及編碼的確定方法3</p><p> 4.2 程序流程圖 4</p><p&g
5、t; 4.3 程序(匯編語(yǔ)言) 5</p><p> 5. 總結(jié)…....................................................................................................................................8</p><p> 參考文獻(xiàn)……..........
6、...................................................................................................................8</p><p><b> 1.設(shè)計(jì)目的及要求</b></p><p><b> 1.1設(shè)計(jì)目的 </b>&l
7、t;/p><p> 隨著電子技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)在日常生活中的應(yīng)用越來(lái)越廣泛,同時(shí)也顯現(xiàn)出了它的重要性,尤其在一些特殊的場(chǎng)合更是不可代替。為熟悉單片機(jī)的應(yīng)用。要求設(shè)計(jì)一個(gè)基于STC89C52單片機(jī)的帶彩燈外觀的音樂(lè)盒。</p><p><b> 1.2 設(shè)計(jì)要求</b></p><p> 音樂(lè)盒有三個(gè)按鍵key1,key2,key3
8、,其中key1控制彩燈的樣式,本設(shè)計(jì)有六種彩燈花樣,每按一次變換一種樣式。Key2控制音樂(lè)播放,本設(shè)計(jì)有五首音樂(lè),每按一次變換到下一首,同時(shí)八路LED燈隨音調(diào)不同而閃爍。Key3為總開(kāi)關(guān)用于關(guān)閉音樂(lè)跟彩燈。</p><p><b> 2.設(shè)計(jì)方案及原理</b></p><p><b> 2.1設(shè)計(jì)原理 </b></p>
9、<p> 音調(diào)之所以不同是因?yàn)轭l率的不同。根據(jù)每個(gè)音調(diào)的頻率單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器來(lái)產(chǎn)生相應(yīng)的音樂(lè)脈沖。只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O口反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖。利用STC89C52的內(nèi)部定時(shí)計(jì)數(shù)器工作在方式1下,改變初值TH0及TL0以產(chǎn)生不同頻率。 &
10、#160; 此外結(jié)束符和休止符可以分別用代碼0xff和0x00來(lái)表示,若查表結(jié)果為0xff,則表示曲子終了;若查表結(jié)果為0x00,則產(chǎn)生相應(yīng)的停頓效果。 </p><p> 例如頻率為523Hz,其周期T=1/523=1912us,定時(shí)時(shí)間為1912/2=956us因此只要令計(jì)數(shù)器計(jì)時(shí)956us/1us=956次(若晶振頻率為6MHZ),在每次計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(5
11、23Hz)。根據(jù)計(jì)數(shù)次數(shù)就可算出計(jì)數(shù)初值。 要產(chǎn)生音樂(lè)光有音調(diào)是不行的,每個(gè)音調(diào)還有持續(xù)一定的時(shí)間。這可以用延時(shí)程序delay()來(lái)實(shí)現(xiàn)。因此每個(gè)音樂(lè)代碼有八位數(shù)字組成,高四位控制音調(diào),低四位通過(guò)延時(shí)程序?qū)υ撘粽{(diào)進(jìn)行延時(shí)。通過(guò)子函數(shù)連續(xù)不斷的調(diào)用音樂(lè)代碼就產(chǎn)生了動(dòng)聽(tīng)的音樂(lè)。音調(diào)的頻率與時(shí)間都不同,讓DO、RE、MI、FA、SO、LA、SI分別對(duì)應(yīng)八路LED燈中的一個(gè),這樣播放音樂(lè)的同時(shí)就有LED燈對(duì)應(yīng)閃爍。</p>
12、<p> 2.2總體設(shè)計(jì)思想 </p><p><b> 圖1思路圖 </b></p><p> 如圖1所示按鍵部分有三個(gè)鍵,分別結(jié)于外部中斷P3.2/INT0,P3.3/INT1,及串行口P3.1/TXD上,P3.2每產(chǎn)生一次中斷count1加一,根據(jù)count1的值來(lái)決定花樣燈的種類(lèi)。P3.3每產(chǎn)生一次中斷count2加一,
13、根據(jù)count2的數(shù)值來(lái)決定播放哪一首歌曲。P3.1接總開(kāi)關(guān)的。播放音樂(lè),及花樣燈均通過(guò)調(diào)用子程序來(lái)實(shí)現(xiàn)。八路LED燈燈接到P1口。揚(yáng)聲器接到P3.7上。總體設(shè)計(jì)電路原理圖,如圖2。</p><p><b> 圖2原理圖</b></p><p><b> 3硬件設(shè)計(jì) </b></p><p> 電路由STC
14、89C52八路LED燈,排阻,三個(gè)開(kāi)關(guān),揚(yáng)聲器及晶振組成,搭建如圖3。</p><p><b> 圖3硬件圖</b></p><p><b> 4.軟件設(shè)計(jì)</b></p><p> 在本程序中設(shè)置了一個(gè)標(biāo)志——count1,分別初始化為0。按鍵1使得count1在1~4之間切換。程序檢測(cè)count1的值,count
15、1等于1時(shí)播放第一首歌曲,等于2時(shí)播放第二首。</p><p> 4.1 音調(diào)、節(jié)拍以及編碼的確定方法 </p><p> 一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能像電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。 </p><
16、p> 不同音高的樂(lè)音是用C、D、E、F、G、A、B來(lái)表示,這7個(gè)字母就是音樂(lè)的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡(jiǎn)譜的1、2、3、4、5、6、7,相當(dāng)于漢字“多來(lái)米發(fā)梭拉西”的讀音,這是唱曲時(shí)樂(lè)音的發(fā)音,所以叫“音調(diào)”,即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個(gè)等份,每一個(gè)等份叫一個(gè)“半音”。兩個(gè)音之間的距離有兩個(gè)“半音”,就叫“全音”。在鋼琴等鍵盤(pán)樂(lè)器上,C–D、D–E
17、、F–G、G–A、A–B兩音之間隔著一個(gè)黑鍵,他們之間的距離就是全音;E–F、B–C兩音之間沒(méi)有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上﹟號(hào)或者b號(hào)的叫變化音。﹟叫升記號(hào),表示把音在原來(lái)的基礎(chǔ)上升高半音,b叫降記音,表示在原來(lái)的基礎(chǔ)上降低半音。例如高音DO的頻率(1046Hz)剛好是中音DO的頻率(523Hz)的一倍,中音DO的頻率(523Hz)剛好是低音DO頻率(266&
18、#160;Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音RE的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音R</p><p><b> 4.2 程序流程圖</b></p><p><b> 4.3匯編語(yǔ)言程序</b></p><p><b> org 0000h
19、</b></p><p><b> ajmp main</b></p><p> org 000bh </p><p><b> jmp tim0</b></p><p><b> org 0030h</b></p><p> ma
20、in: ;主程序</p><p><b> setb p1.1</b></p><p><b> clr p1.4</b></p><p><b> setb p3.0</b></p><p> mov tmod,#01h ;設(shè)定時(shí)方式</p><p
21、> mov ie,#82h ;開(kāi)中斷</p><p><b> start0:</b></p><p> mov 30h,#00h ; </p><p> next:mov a,30h</p><p> mov dptr,#table</p><p> movc a,@a+dpt
22、r ;查表取音調(diào)和節(jié)拍</p><p> mov r2,a </p><p> jz end0 ;為零,不進(jìn)行處理</p><p> anl a,#0fh</p><p> mov r5,a ;將節(jié)拍存入R5</p><p><b> mov a,r2</b></p>&
23、lt;p><b> swap a</b></p><p> anl a,#0fh </p><p> jnz sing ;根據(jù)音調(diào)決定是否演奏</p><p><b> clr tr0</b></p><p><b> jmp d1</b></p>
24、<p> sing:dec a</p><p> mov 22h,a ;將音調(diào)存入22H.</p><p><b> rl a</b></p><p> mov dptr,#table1</p><p> movc a,@a+dptr ;根據(jù)音調(diào)決定定時(shí)器初值。</p><p&g
25、t; mov th0,a ;放入TH0</p><p><b> mov 21h,a</b></p><p><b> mov a,22h</b></p><p><b> rl a</b></p><p><b> inc a</b></
26、p><p> movc a,@a+dptr</p><p> mov tl0,a ;放入TL0</p><p><b> mov 20h,a</b></p><p> setb tr0 ;啟動(dòng)定時(shí)</p><p> d1: call delay</p><p><
27、;b> inc 30h</b></p><p><b> jmp next</b></p><p> end0:clr tr0</p><p> jmp start0</p><p> tim0: ;定時(shí)器中斷服務(wù)程序</p><p><b> push a
28、cc</b></p><p><b> push psw</b></p><p> mov tl0,20h ;重賦初值</p><p> mov th0,21h</p><p><b> cpl p1.7</b></p><p><b> po
29、p psw</b></p><p><b> pop acc</b></p><p> retidelay:mov r7,#02h ;延時(shí)子程序</p><p> d2: mov r4,#130</p><p> d3: mov r3,#248 </p><p> djnz
30、r3,$ </p><p> djnz r4,d3</p><p> djnz r7,d2</p><p> djnz r5,delay </p><p><b> ret</b></p><p> table1: ;決定音調(diào)的定時(shí)初值。</p><p>
31、dw 64260,64400,64524,64580</p><p> dw 64684,64777,64820,64898 </p><p> dw 64968,65030,65</p><p><b> ;1</b></p><p> db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,
32、82h,01h,81h,94h,84h,0c4h,0b4h,04h</p><p><b> ;2</b></p><p> db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h</p><p><b> ;3</b>
33、</p><p> db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h</p><p><b> ;4</b></p><p> db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b
34、4h,0c4h,0b4h,04h,00 </p><p><b> end</b></p><p><b> 5. 總結(jié) </b></p><p> 單片機(jī)的設(shè)計(jì)至今為止已經(jīng)進(jìn)入了令人鼓舞的階段,在進(jìn)行了長(zhǎng)達(dá)一個(gè)學(xué)期的時(shí)間的摸索與實(shí)驗(yàn),使我們不僅僅是對(duì)于單片機(jī)入門(mén)軟件與硬件的常用設(shè)計(jì)與功能,還使我
35、們對(duì)于一項(xiàng)設(shè)計(jì)研究的制作過(guò)程所需要的詳細(xì)步驟和具體的實(shí)現(xiàn)方法的力度的掌握。 </p><p> 當(dāng)然在這次寶貴的設(shè)計(jì)活動(dòng)中,經(jīng)驗(yàn)才是對(duì)于我們最大的收獲,而且還增強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活動(dòng)我覺(jué)得再合適不過(guò)了。但是,光是完成了作品還是不可以自我滿(mǎn)足的,在從一開(kāi)始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿(mǎn)意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)
36、最終目的下,隨著對(duì)單片機(jī)這門(mén)學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期內(nèi)被實(shí)現(xiàn)。 </p><p> 總之,這次設(shè)計(jì)從軟件編寫(xiě)、調(diào)試到軟硬件聯(lián)機(jī)調(diào)試,我們傾注了大量的時(shí)間和心血。真是曾經(jīng)為程序的編寫(xiě)而冥思苦想過(guò),曾經(jīng)為無(wú)法找出錯(cuò)誤而郁悶苦惱過(guò),也曾經(jīng)為某一功能不能實(shí)現(xiàn)而猶豫彷徨過(guò),但最終我們完成設(shè)計(jì)了。</p><p><b> 參考文獻(xiàn)</
37、b></p><p> 1. 張友德 趙志英 涂時(shí)亮.單片微型機(jī)-原理、應(yīng)用與實(shí)驗(yàn)【M】.上海:復(fù)旦大學(xué)出版</p><p><b> 社.2006.10</b></p><p> 2. 王用倫.微機(jī)原理及接口技術(shù)【M】.北京大學(xué)出版. 2009-04-01</p><p> 3. 鄔芝權(quán) 靳桅 李騏.基于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--音樂(lè)盒
- 音樂(lè)盒單片機(jī)課程設(shè)計(jì)
- 單片機(jī)音樂(lè)盒課程設(shè)計(jì)
- 單片機(jī)音樂(lè)盒課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告 音樂(lè)盒設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字音樂(lè)盒
- 單片機(jī)課程設(shè)計(jì)--- 數(shù)字音樂(lè)盒
- 基于51單片機(jī)音樂(lè)盒課程設(shè)計(jì)
- 單片機(jī)原理課程設(shè)計(jì)---音樂(lè)盒的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字音樂(lè)盒設(shè)計(jì)
- 電子音樂(lè)盒(單片機(jī)課程設(shè)計(jì))
- 電子音樂(lè)盒(單片機(jī)課程設(shè)計(jì))
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字音樂(lè)盒
- 單片機(jī)課程設(shè)計(jì)-基于單片機(jī)的數(shù)字音樂(lè)盒設(shè)計(jì)
- 電子音樂(lè)盒單片機(jī)課程設(shè)計(jì)
- 單片機(jī)音樂(lè)盒設(shè)計(jì)
- 課程設(shè)計(jì)-基于單片機(jī)的音樂(lè)盒的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)《數(shù)字音樂(lè)盒的設(shè)計(jì)》
- 單片機(jī)課程設(shè)計(jì)--數(shù)字音樂(lè)盒的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子音樂(lè)盒的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論