簡(jiǎn)易樂(lè)曲播放器的設(shè)計(jì)報(bào)告(1月19日)_第1頁(yè)
簡(jiǎn)易樂(lè)曲播放器的設(shè)計(jì)報(bào)告(1月19日)_第2頁(yè)
簡(jiǎn)易樂(lè)曲播放器的設(shè)計(jì)報(bào)告(1月19日)_第3頁(yè)
簡(jiǎn)易樂(lè)曲播放器的設(shè)計(jì)報(bào)告(1月19日)_第4頁(yè)
簡(jiǎn)易樂(lè)曲播放器的設(shè)計(jì)報(bào)告(1月19日)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì) 課程名稱_ 嵌入式系統(tǒng) _題目名稱_簡(jiǎn)易樂(lè)曲播放器設(shè)計(jì)_學(xué)生學(xué)院_自動(dòng)化學(xué)院_專業(yè)班級(jí)_電子信息科學(xué)與技術(shù)12(1) 學(xué) 號(hào) 3112001308 3112001304 學(xué)生姓名 洪應(yīng)佳 陳澤亮 指導(dǎo)教師 徐迎暉 2015 年 1月 19 日簡(jiǎn)易樂(lè)曲播放器設(shè)計(jì)【摘要】本設(shè)計(jì)是一個(gè)基于PSoC 5LP的簡(jiǎn)易音樂(lè)播放器,依據(jù)單片機(jī)技術(shù)原理,通過(guò)硬件電路制作以及軟件編譯,設(shè)計(jì)制作出一個(gè)多功能多功能音樂(lè)盒。該音樂(lè)盒主要由按鍵電路、復(fù)位電路、時(shí)鐘電路以及蜂鳴器組成。播放歌曲時(shí),蜂鳴器發(fā)出某個(gè)音調(diào)。本設(shè)計(jì)利用PSOC Creator編程軟件對(duì)音樂(lè)盒源程序進(jìn)行編程并調(diào)試。【關(guān)鍵字】音樂(lè)播放器

2、; PSoC 5LP; PSOC Creator; 音調(diào)引言 嵌入式系統(tǒng)是繼模擬電子技術(shù)基礎(chǔ)、數(shù)字電子技術(shù)基礎(chǔ)課程后,電氣類、自控類和電子類,IC設(shè)計(jì)類等專業(yè)學(xué)生在電子技術(shù)實(shí)驗(yàn)技能方面綜合性質(zhì)的實(shí)驗(yàn)訓(xùn)練課程,是電子技術(shù)基礎(chǔ)的一個(gè)部分,其目的和任務(wù)是讓學(xué)生掌握基于PSoC 5LP設(shè)計(jì)的基本方法,熟悉PSOC Creator等軟件,并能利用軟件設(shè)計(jì)一個(gè)電子技術(shù)綜合問(wèn)題,并在開發(fā)板上成功下載,為以后進(jìn)行工程設(shè)計(jì)實(shí)際問(wèn)題的研究打下設(shè)計(jì)基礎(chǔ)。 1.通過(guò)課程設(shè)計(jì)使學(xué)生能熟練掌握一種PSOC Creator軟件的使用方法,能熟練進(jìn)行設(shè)計(jì) 輸入、編譯、管腳分配、下載等過(guò)程。 2.通過(guò)課程設(shè)計(jì)使學(xué)生能利用軟件進(jìn)

3、行一個(gè)電子技術(shù)綜合問(wèn)題的設(shè)計(jì)。 3通過(guò)課程設(shè)計(jì)使學(xué)生初步具有分析尋找和排除電子電路中常見(jiàn)故障的能力。 4通過(guò)課程設(shè)計(jì)使學(xué)生能獨(dú)立寫出嚴(yán)謹(jǐn)?shù)摹⒂欣碚摳鶕?jù)的、實(shí)事求是的、文理通順的字跡端正的課程設(shè)計(jì)報(bào)告。設(shè)計(jì)的要求概況 本設(shè)計(jì)實(shí)現(xiàn)一段簡(jiǎn)單樂(lè)曲的播放,生成各音階音頻,并按照樂(lè)譜記錄的旋律播放出該樂(lè)曲?;疽鬄閷?shí)現(xiàn)C大調(diào)音階中的各個(gè)音及其相鄰的12個(gè)八度音階,能播放一段單聲部樂(lè)曲。樂(lè)譜存儲(chǔ)在片內(nèi)存儲(chǔ)器中;音頻功率放大及揚(yáng)聲器電路自制,再與PSoC實(shí)驗(yàn)板連接;播放的樂(lè)曲可選擇諸如單聲部的“小星星”等,本設(shè)計(jì)選擇的樂(lè)曲是“小兔子乖乖”。1. 設(shè)計(jì)原理及總體思路產(chǎn)生音樂(lè)的兩個(gè)因素是音樂(lè)頻率和音樂(lè)的持續(xù)時(shí)間

4、,以純硬件完成演奏電路比利用微處理器(CPU)來(lái)實(shí)現(xiàn)樂(lè)曲演奏要復(fù)雜的多,根據(jù)設(shè)計(jì)要求,樂(lè)曲硬件演奏電路系統(tǒng)主要由音頻發(fā)生模塊和樂(lè)曲存儲(chǔ)模塊組成。音頻的發(fā)生采用PWM方波輸出模擬得到;音調(diào)的高低用音階表示,不同的音階對(duì)應(yīng)不同的頻率,得到與各個(gè)音階對(duì)應(yīng)的頻率輸出。樂(lè)曲存儲(chǔ)模塊產(chǎn)生節(jié)拍控制和音階選擇信號(hào),即在此模塊中可存放一個(gè)樂(lè)曲曲譜真值表,而由計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號(hào)作為樂(lè)曲節(jié)拍控制信號(hào)。因此,不同頻率的方波就可以產(chǎn)生音階。PWM模塊采用的時(shí)鐘頻率為200K,根據(jù)頻率的大小計(jì)算出PWM的溢出值,通過(guò)改變PWM的溢出值達(dá)到設(shè)置PWM輸出頻率,從而達(dá)到了控制頻率,即音階的目的。通過(guò)修改占空比可以改變輸出音

5、量大小,在音階之間采用音量漸減的方式來(lái)連接,讓聲音循序漸進(jìn),更加好聽(tīng)。 2.樂(lè)譜的認(rèn)識(shí)2.1 音調(diào)的確定高音DO的頻率(1046Hz)剛好是中音DO的頻率(523Hz)的一倍,中音DO的頻率(523Hz)剛好是低音DO頻率(266 Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音RE的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音RE頻率(294 Hz)的一倍。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi2FrN:計(jì)算值;Fi:內(nèi)部計(jì)時(shí)一次為1us,故其頻率為1MHz;其計(jì)數(shù)值的求法如下:T=65536-N=65536-Fi2FrC調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表如下

6、表所示。 簡(jiǎn)譜中的音名與頻率的關(guān)系2.2節(jié)拍的確定一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。了解音樂(lè)的一些基礎(chǔ)知識(shí),我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè)。對(duì)于單片機(jī)來(lái)說(shuō),產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào)。因此,需要弄清楚音樂(lè)中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。節(jié)拍與節(jié)拍碼對(duì)照表:節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2

7、拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍。如果1拍為0.4秒,1/4拍實(shí)0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù)。3.硬件電路設(shè)計(jì)3.1硬件結(jié)構(gòu)框圖3.2PSOC硬件電路搭建:3.3音頻功放電路P6_0引腳設(shè)置為音頻(PWM)輸出,由于PSOC驅(qū)動(dòng)能力不夠,采用功放進(jìn)行音頻放大。如圖:3.4引腳配置圖3.5 總體功能介紹以及分析頂層文件編譯好之后,通過(guò)電腦連接到硬件上,下載頂層文件到開發(fā)板

8、里,下載完畢之后通過(guò)LCD可以看到第一行是“Let's Go.”,第二行為計(jì)時(shí);喇叭開始播放“小兔子乖乖”,播放完一遍之后,隔2s再次播放第二遍,聲音流暢悅耳,基本達(dá)到設(shè)計(jì)功能要求。 本設(shè)計(jì)按照樂(lè)譜記錄的旋律播放出該樂(lè)曲?;疽鬄閷?shí)現(xiàn)C大調(diào)音階中的各個(gè)音及其相鄰的12個(gè)八度音階,能播放一段樂(lè)曲。4.樂(lè)曲簡(jiǎn)譜本次選用歌曲為耳熟能詳?shù)膬和枨⊥米庸怨?,該曲?lè)如下圖:5.本設(shè)計(jì)源代碼5.1 源代碼/* =/* =*/#include <project.h>unsigned int comp_valua=50;unsigned char m,xx,yy;unsigned int

9、 Del_ms=2000,kk,sing_T,TIME;/簡(jiǎn)譜中的音名與頻率的關(guān)系unsigned int freq_list37=763,680,606,573,510,455,405,382,346,303,287,255,227,202,191,170,152,143,128,114,101,;/小兔子乖乖簡(jiǎn)譜簡(jiǎn)譜對(duì)應(yīng)各個(gè)音調(diào)的詳細(xì)列表音調(diào)(低,中,高),音譜,節(jié)拍數(shù)/第一遍,0-37unsigned char Rabbit763=1,5,2,2,1,4,1,6,4,1,5,2,1,5,2, 1,3,4,1,5,4,1,6,4,2,1,4,1,5,2,1,5,2, 1,6,2,1,5,4

10、,1,3,4,1,2,2,1,2,2, 1,3,2,1,5,4,1,3,4,1,2,2,1,1,2, 1,6,4,1,5,4,1,6,4,1,5,4,1,3,4,1,6,4,1,5,2, 1,2,4,1,5,4,1,3,4,1,2,4,1,1,2, 0,6,4,1,1,4,1,2,4,1,3,4,1,1,2,/第二遍,某些調(diào)稍微有一些變化(38-75) 1,5,2,2,1,4,1,6,4,1,5,2,1,5,2, 1,3,4,1,5,4,1,6,4,2,1,4,1,5,2,1,5,2, 1,6,2,1,5,4,1,3,4,1,2,2,1,2,2, 1,3,2,1,5,4,1,3,4,1,2,2

11、,1,1,2, 1,6,4,1,5,4,1,6,4,1,5,4,1,3,4,1,6,4,1,5,2, 1,2,4,1,5,4,1,3,4,1,2,4,1,1,2, 0,6,4,1,1,4,1,2,4,1,3,4,1,1,1, ;/LCD顯示的定義void LCD_number(unsigned char x,unsigned char y,unsigned int number)unsigned char string="00"number=number;string0=(number%1000)%100)/10+0x30;string1=number%10+0x30;LC

12、D_Position(y,x) ;LCD_PrintString(string);/主函數(shù)void main() LCD_Start(); /啟動(dòng)LCDLCD_Position(0,0) ; /LCD初始化LCD_PrintString("Let's Go.");PWM_Start() ; /啟動(dòng)PWM while(1)TIME=0;for(xx=0;xx<38;xx+) PWM_WritePeriod(kk); kk=freq_listRabbitxx0Rabbitxx1-1; /讀取簡(jiǎn)譜的音符 PWM_WriteCompare(kk); /占空比輸入 kk

13、=kk/1.015; LCD_Position(1,0) ; LCD_number(6,1,TIME); for(m=1;m<=0.1*Del_ms/Rabbitxx2;m+) /隨著節(jié)拍聲音減少 sing_T+;CyDelay(10);while(sing_T>100)sing_T=0;TIME+;if(TIME>59)TIME=0;LCD_number(6,1,TIME); PWM_WriteCompare(0); /第一遍播放結(jié)束,延時(shí)2s后播放第二遍 CyDelay(2000); /第二遍的播放,稍有不同 for(yy=38;yy<76;yy+) PWM_Wri

14、tePeriod(kk);kk=freq_listRabbityy0Rabbityy1-1; /讀取簡(jiǎn)譜的音符(37-75) PWM_WriteCompare(kk); /占空比的設(shè)置 kk=kk/1.015;LCD_Position(1,0) ; /led顯示位置 LCD_number(6,1,TIME); /led顯示時(shí)間 for(m=1;m<=0.1*Del_ms/Rabbityy2;m+) /隨著節(jié)拍聲音減少 sing_T+;CyDelay(10);while(sing_T>100)sing_T=0;TIME+;if(TIME>59)TIME=0;LCD_number

15、(6,1,TIME); 5.2源代碼分析 1.首先,確定簡(jiǎn)譜中的音名與頻率的一一對(duì)應(yīng)關(guān)系,列出他們的關(guān)系,再通過(guò)數(shù)組確定小兔子乖乖簡(jiǎn)譜簡(jiǎn)譜對(duì)應(yīng)各個(gè)音調(diào)的詳細(xì)列表音調(diào)(低,中,高),音譜,節(jié)拍數(shù),LCD顯示的設(shè)置,秒表的設(shè)置,做好這些前期準(zhǔn)備工作。2.第二部分是主函數(shù)部分,通過(guò)讀出第一部分所列出確定歌曲的音譜,確定該音譜的時(shí)間,也就是設(shè)置占空比,輸出pwm波,從而驅(qū)動(dòng)外放電路,接下來(lái)就是美化優(yōu)化的部分,為了使聲音更加飽滿圓潤(rùn),通過(guò)一個(gè)循環(huán)來(lái)隨著節(jié)拍聲音減少,也就是聲音幅度衰減處理,從而不斷完善使聲音發(fā)出來(lái)更加動(dòng)聽(tīng)。6.體會(huì)總結(jié) 在本次課程設(shè)計(jì)中,我們首先遇到的問(wèn)題就是樂(lè)譜的解讀,因?yàn)槲覀儗?duì)樂(lè)譜的

16、基礎(chǔ)知識(shí)的認(rèn)識(shí)基本為零。為此,我們花了一個(gè)下午的時(shí)間來(lái)了解樂(lè)譜的基本知識(shí),通過(guò)查找資料,與同學(xué)交流了解到了聲音音譜的發(fā)生規(guī)律,信號(hào)的頻率與聲音的關(guān)系,來(lái)生成不同的聲譜。 經(jīng)過(guò)此課程設(shè)計(jì),我對(duì)PSOC 5LP和嵌入式系統(tǒng)有了進(jìn)一步的了解,讓我很好的鍛煉了理論聯(lián)系實(shí)際,與具體項(xiàng)目、課題相結(jié)合開發(fā)、設(shè)計(jì)產(chǎn)品的能力。既讓我們懂得了怎樣把理論應(yīng)用于實(shí)際,又讓我們懂得了在實(shí)踐中遇到的問(wèn)題怎樣用理論去解決。我們還需要大量的以前沒(méi)有學(xué)到過(guò)的知識(shí),于是圖書館和網(wǎng)絡(luò)成了我們很好的助手。在查閱資料的過(guò)程中,我們要判斷優(yōu)劣、取舍相關(guān)知識(shí),不知不覺(jué)中我們查閱資料的能力也得到了很好的鍛煉。我們學(xué)習(xí)的知識(shí)是有限的,在以后的工作中我們肯定會(huì)遇到許多未知的領(lǐng)域,這方面的能力便會(huì)使我們受益非淺。在設(shè)計(jì)過(guò)程中,總是遇到這樣或那樣的問(wèn)題。有時(shí)發(fā)現(xiàn)一個(gè)問(wèn)題的時(shí)候,需要做大量的工作,花大量的時(shí)間才能解決。自然而然,我的耐心便在其中建立起來(lái)了。為以后的工作積累了經(jīng)驗(yàn),增強(qiáng)了信心。 這

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論