




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)設(shè)計(jì)(論文)題目: 基于單片機(jī)音樂(lè)播放器節(jié)拍顯示設(shè)計(jì) 院 (系): 機(jī)電工程系 專 業(yè): 電氣自動(dòng)化技術(shù) 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué)生姓名學(xué)號(hào)專 業(yè)電氣自動(dòng)化技術(shù)院(系) 機(jī)電工程系畢業(yè)設(shè)計(jì)(論文)題目基于單片機(jī)音樂(lè)播放器自動(dòng)節(jié)拍顯示設(shè)計(jì)任務(wù)與要求任務(wù): 本設(shè)計(jì)是采用at89c51單片機(jī)為核心設(shè)計(jì)的數(shù)字音樂(lè)播放器,實(shí)現(xiàn)彩燈伴奏,按鍵彈奏,顯示音樂(lè)節(jié)拍的功能。要求:(1)彩燈伴奏模塊則是led通過(guò)控制模塊的控制伴隨音樂(lè)節(jié)拍閃亮。(2)按鍵模塊是由8個(gè)按鍵組成,其中1個(gè)鍵用于實(shí)現(xiàn)播放器自動(dòng)播放和自行彈奏兩模式間的轉(zhuǎn)換,其余7個(gè)鍵作為音符的輸入或音樂(lè)的播放選擇。(3)顯示音樂(lè)節(jié)拍是音樂(lè)播放系統(tǒng)設(shè)
2、計(jì)上增加液晶顯示器,采用的是lcd1602顯示模塊,為使用者提供曲目信息。 完成時(shí)間段2012年11月26日 至 2013 年3 月18日 共 16 周 指導(dǎo)教師單位重慶科創(chuàng)職業(yè)學(xué)院 職稱講師院(系)審核意見(jiàn)畢業(yè)設(shè)計(jì)(論文)進(jìn)度計(jì)劃表日 期工 作 內(nèi) 容執(zhí) 行 情 況指導(dǎo)教師簽 字2012.11.26-2012.12.7查找資料,選題2012.12.8-2012.12.30完成論文的初稿2012.12.31-2012.1.20完成論文二稿的寫(xiě)作2013.1.21-2013.2.15完成論文的終稿及格式修改2013.2.16.-2013.3.4定稿,打印論文,做好答辯的準(zhǔn)備2011.3.5-3.
3、18論文答辯教師對(duì)進(jìn)度計(jì)劃實(shí)施情況總評(píng) 簽名 年 月 日 本表作評(píng)定學(xué)生平時(shí)成績(jī)的依據(jù)之一畢業(yè)設(shè)計(jì)(論文)中期檢查記錄表學(xué)生填寫(xiě)畢業(yè)設(shè)計(jì)(論文)題目: 基于單片機(jī)音樂(lè)播放器節(jié)拍自動(dòng)顯示設(shè)計(jì)學(xué)生姓名: 學(xué)號(hào):專業(yè):電氣自動(dòng)化 指導(dǎo)教師姓名:劉 靜職稱: 講師檢查教師填寫(xiě)畢業(yè)設(shè)計(jì)(論文)題目工作量飽滿一般不夠畢業(yè)設(shè)計(jì)(論文)題目難度大適中不夠畢業(yè)設(shè)計(jì)(論文)題目涉及知識(shí)點(diǎn)豐富比較豐富較少畢業(yè)設(shè)計(jì)(論文)題目?jī)r(jià)值很有價(jià)值一般價(jià)值不大學(xué)生是否按計(jì)劃進(jìn)度獨(dú)立完成工作任務(wù)學(xué)生畢業(yè)設(shè)計(jì)(論文)工作進(jìn)度填寫(xiě)情況指導(dǎo)次數(shù)學(xué)生工作態(tài)度認(rèn)真一般較差其他檢查內(nèi)容:存在問(wèn)題及采取措施:檢查教師簽字: 年 月 日院(系)
4、意見(jiàn)(加蓋公章): 年 月 日摘 要目前流行的mp3播放器的音質(zhì)已相當(dāng)好,但略感遺憾的是除了選擇歌曲和顯示歌名外,絕大部分播放器沒(méi)有諸如隨意彈奏樂(lè)曲、樂(lè)曲節(jié)奏跳動(dòng)等功能。而隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一。要為現(xiàn)代人工作、生活提供更好的更方便的服務(wù)就需要從單片機(jī)技術(shù)著手,一切向著數(shù)字化控制、智能化控制方向發(fā)展。本設(shè)計(jì)是采用單片機(jī)為核心設(shè)計(jì)的數(shù)字音樂(lè)播放器。本設(shè)計(jì)在實(shí)現(xiàn)音樂(lè)的播放及歌曲名顯示等基本功能的基礎(chǔ)上進(jìn)行了擴(kuò)展,添加了彩燈伴奏、按鍵彈奏、顯示音樂(lè)節(jié)拍等功能。本論文給出了系統(tǒng)方案的建立、硬件電路的詳細(xì)設(shè)計(jì)及軟件的程序?qū)崿F(xiàn)。并通過(guò)軟硬件的聯(lián)立調(diào)試,驗(yàn)證了設(shè)計(jì)方案
5、的可行性。關(guān)鍵詞:多功能 mp3音樂(lè)播放器 單片機(jī) 按鍵彈奏abstractthe current popular mp3 player sound has been quite good, but feel regretful slightly is in addition to the choice of songs and display the song name, most players without such as random play music rhythm, music and other functions. but as people living standard
6、 rise ceaselessly, scm control is one of the goals that people pursue. for the modern life of work, to provide better and more convenient service needs from proceed toward the scm technology, all digital control, intelligent control direction.this design is the use of single-chip microcomputer as th
7、e core design of the digital music player. the design in the implementation of music playing and the song name display and other basic functions based on the expansion, adding lights accompaniment, play button, display the beat of the music and other functions.this paper gives a system scheme, hardw
8、are establishment detailed circuit design and software program. and through the software and hardware of simultaneous debugging, verify the feasibility of the design scheme.key word : multi function mp3 music player single chip microcomputer play button目 錄第一章 緒言1第二章 硬件設(shè)計(jì)2第一節(jié) 硬件電路的設(shè)計(jì)框圖2第二節(jié) 硬件電路設(shè)計(jì)模塊的選
9、定2第三節(jié) 各硬件電路的具體設(shè)計(jì)4第三章 軟件設(shè)計(jì)8第一節(jié) 單片機(jī)發(fā)聲的基本原理8第二節(jié) 設(shè)計(jì)的相關(guān)音樂(lè)說(shuō)明8第三節(jié) 音樂(lè)播放器軟件程序設(shè)計(jì)9結(jié)論12致謝13參考文獻(xiàn)14附錄 16第一章 緒言二十世紀(jì)九十年代以來(lái),計(jì)算機(jī)、信息、電子、控制、通信等技術(shù)得到迅速發(fā)展,促使了社會(huì)生產(chǎn)力的提高,也使人們的生產(chǎn)方式和生活方式產(chǎn)生了日新月異的變化。隨著人們生活水平的提高及對(duì)音樂(lè)的喜愛(ài),對(duì)音樂(lè)播放器的品質(zhì),功能,品種等提出了越來(lái)越多的要求,表現(xiàn)在對(duì)控制系統(tǒng)性能、可靠性等要求越來(lái)越高。而品質(zhì)的提高,功能的更新,可靠性的增強(qiáng),品種的變化無(wú)不與產(chǎn)品的核心控制部分水平的提高密不可分。家用音樂(lè)播放器產(chǎn)品及其它有關(guān)消費(fèi)
10、電器產(chǎn)品都是一些開(kāi)環(huán)或閉環(huán)控制系統(tǒng),都由核心控制部分,執(zhí)行部分與人機(jī)界面三部分組成。而最為重要的控制部分一般是由單片機(jī)來(lái)執(zhí)行完成的,這就必將導(dǎo)致和促進(jìn)單片機(jī)在音樂(lè)領(lǐng)域應(yīng)用的發(fā)展。現(xiàn)在這些由單片機(jī)實(shí)現(xiàn)的音樂(lè)播放器的功能越來(lái)越強(qiáng)、費(fèi)用越來(lái)越低。例如,就目前市場(chǎng)上的mp3的功能越來(lái)越強(qiáng)大體積卻越來(lái)越小,價(jià)格也逐漸便宜,被大多數(shù)人所能接受。但這些音樂(lè)播放器也或多或少的存在著一些問(wèn)題,解決這些問(wèn)題,非智能化的單片機(jī)莫屬。本設(shè)計(jì)由硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì)兩大部分組成。整個(gè)硬件電路是由中心控制、播放、選曲、顯示、按鍵和彩燈等模塊組成,中心控制模塊采用at89c51單片機(jī),播放模塊是由8050 npn三極管
11、和電磁蜂鳴器組成,采用lcd1602顯示模塊,按鍵設(shè)有8個(gè)按鍵,其中7個(gè)作為音符輸入,另外1個(gè)作為模式轉(zhuǎn)換按鍵,實(shí)現(xiàn)用戶自彈作曲。軟件程序運(yùn)用c語(yǔ)言編程實(shí)現(xiàn)。第二章 硬件設(shè)計(jì)第一節(jié) 硬件電路的設(shè)計(jì)框圖硬件電路如圖2.1所示由控制模塊、按鍵模塊、lcd顯示模塊、揚(yáng)聲器播放模塊、彩燈伴奏模塊組成。at89c51控制模塊按鍵模塊揚(yáng)聲器播放模塊彩燈顯示模塊顯示模塊圖2.1硬件總體框圖按鍵模塊共由8個(gè)按鍵組成,其中1個(gè)鍵用于實(shí)現(xiàn)播放器自動(dòng)播放和自行彈奏兩模式間的轉(zhuǎn)換,其余7個(gè)鍵作為音符的輸入或音樂(lè)的播放選擇。lcd顯示模塊利用lcd1602對(duì)當(dāng)前播放的歌曲名稱進(jìn)行顯示。彩燈伴奏模塊則是led通過(guò)控制模塊
12、的控制伴隨音樂(lè)節(jié)奏閃亮。揚(yáng)聲器播放模塊由三極管及無(wú)源蜂鳴器組成,通過(guò)控制模塊的控制對(duì)當(dāng)前音樂(lè)進(jìn)行播放。第二節(jié) 硬件電路設(shè)計(jì)模塊的選定一、中心模塊51系列的單片機(jī)優(yōu)點(diǎn)之一在于,它從內(nèi)部硬件到軟件有著一套完整的按位操作系統(tǒng),即位處理器,也稱布爾處理器,它的處理對(duì)象不是字或字節(jié),而是位,這就意味著它不僅能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,例如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,這一點(diǎn)使其他種類單片機(jī)很難實(shí)現(xiàn)的。51系列的單片機(jī)的另一個(gè)優(yōu)點(diǎn)便是具備了乘法和除法指令,其中八位除以八位的除法指令商為八位,精度顯得有些不足,因此在應(yīng)用方面不是很多,但八位乘以八位的乘法指令積為十六位,這樣的
13、精度已經(jīng)足以滿足大部分應(yīng)用的要求了,更為重要的是,直接具備了乘法與除法指令,這就使得在實(shí)際應(yīng)用時(shí),使用者不必額外編寫(xiě)相應(yīng)的子程序以備調(diào)用,與其他系列單片機(jī)相比,51系列的單片機(jī)在編程操作方面的簡(jiǎn)便與實(shí)用性無(wú)疑上了一個(gè)新臺(tái)階。而同屬指令系統(tǒng)規(guī)范完整這一范疇所帶來(lái)的便利還包括了二進(jìn)制十進(jìn)制調(diào)整指令da,可將二進(jìn)制變?yōu)閎cd碼,這使得十進(jìn)制的計(jì)量更為快捷簡(jiǎn)便,省去了其他系列單片機(jī)還需要編寫(xiě)調(diào)用相應(yīng)子程序的冗余過(guò)程,節(jié)省了大量的勞動(dòng)力和時(shí)間。所以,從本系統(tǒng)設(shè)計(jì)的功能需求及成本考慮,51單片機(jī)性價(jià)比更高,at89c51是擁有2個(gè)外部中斷,2個(gè)16位定時(shí)器,2個(gè)可編程串行uart的單片機(jī)。中心控制模塊采用
14、at89c51單片機(jī)已完全滿足設(shè)計(jì)需要,實(shí)現(xiàn)整個(gè)系統(tǒng)控制。二、播放模塊播放模塊是由8050 npn三極管和電磁蜂鳴器組成。at89c51輸出高電平控制信號(hào),啟動(dòng)8050 npn三極管使信號(hào)放大,從而啟動(dòng)電磁蜂鳴器。與lm386和喇叭的組合相比較,該播放模塊存在一定噪聲,音響效果較差。但由于所需驅(qū)動(dòng)功率較小,驅(qū)動(dòng)器件要求不高,并能降低設(shè)計(jì)成本。因此,必須選用8050 npn三極管和電磁蜂鳴器則能滿足系統(tǒng)要求。三、顯示模塊led數(shù)碼管是一種數(shù)顯器件。我們知道,發(fā)光二極管(英文縮寫(xiě)為led)是由半導(dǎo)體材料制成的、能將電信號(hào)轉(zhuǎn)換成光信號(hào)的結(jié)型電致發(fā)光器件。如果把發(fā)光二極管制成條狀,再按照一定方式連接,
15、組成數(shù)字“8”,就構(gòu)成led數(shù)碼管,簡(jiǎn)稱led。使用時(shí)按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光,即可組成0 9的一系列數(shù)字。液晶顯示器,簡(jiǎn)稱lcd(liquid crystal display),是一種液晶利用光調(diào)制的受光型顯示器件。lcd的特點(diǎn)是體積小、形狀薄、重量輕、耗能少(110微瓦/平方厘米)、低發(fā)熱、工作電壓低(1.56伏)、無(wú)污染,無(wú)輻射、無(wú)靜電感應(yīng),尤其是視域?qū)?、顯示信息量大、無(wú)閃爍,并能直接與cmos集成電路相匹配,同時(shí)還是真正的“平板”式顯示設(shè)備。 常見(jiàn)的基于單片機(jī)設(shè)計(jì)的音樂(lè)播放器基本不能顯示歌曲信息。該音樂(lè)播放系統(tǒng)設(shè)計(jì)上增加液晶顯示器,可為使用者提供曲目信息。由于led數(shù)碼管只能
16、顯示數(shù)字而無(wú)法顯示其他中英文字符,從設(shè)計(jì)的成本及功能的角度考慮,采用lcd1602顯示模塊,它可以顯示每首曲目的英文名字。lcd1602驅(qū)動(dòng)電路簡(jiǎn)單,可以由單片機(jī)直接輸出命令驅(qū)動(dòng)。四、 按鍵模塊按鍵設(shè)有8個(gè)按鍵,其中7個(gè)作為音符輸入,另外1個(gè)作為模式轉(zhuǎn)換按鍵,實(shí)現(xiàn)用戶自彈作曲。7個(gè)按鍵分別代表7個(gè)音符,包括中音段的全部音符。通過(guò)軟硬件設(shè)計(jì),模式轉(zhuǎn)換按鍵觸發(fā)外部中斷,中斷使程序跳轉(zhuǎn),實(shí)現(xiàn)模式轉(zhuǎn)換,啟動(dòng)按鍵。然后通過(guò)查詢按鍵所按下的按鍵,讀取按鍵輸入狀態(tài),跳轉(zhuǎn)到對(duì)應(yīng)的程序人口,實(shí)現(xiàn)自編歌曲。當(dāng)需要取消按鍵編曲功能時(shí),再次按下模式轉(zhuǎn)換按鍵引起外部中斷即可退出按鍵功能而返回到原來(lái)音樂(lè)播放處。第三節(jié) 各
17、硬件電路的具體設(shè)計(jì)一、 at89c51控制模塊的設(shè)計(jì)at89c51控制模塊如圖2.2所示,由核心芯片at89c51單片機(jī)、單片機(jī)復(fù)位電路及外接晶振組成。如圖2.2所示,電容c1、c2和12m晶振與單片機(jī)引腳xtal1和xtal2相連構(gòu)成外接晶振電路。at89c51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是此放大器的輸入和輸出端。在xtal1和xtal2兩端跨接晶體就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時(shí)鐘電路,為單片機(jī)的工作提供時(shí)序。而xtal1端和xtal2端將電容c1和c2與內(nèi)部的反相放大器連接起來(lái)組成并聯(lián)諧振電路,c1、c2取31pf
18、,對(duì)頻率有微調(diào)作用。at89c51單片機(jī)有一個(gè)復(fù)位引腳,復(fù)位條件是:在時(shí)鐘電路工作后,當(dāng)外部電路在rst引腳施加持續(xù)2個(gè)機(jī)器周期以上的高電平時(shí),使系統(tǒng)復(fù)位。一般只要保持正脈沖的寬度為10微秒,就可是單片機(jī)安全復(fù)位。本系統(tǒng)采用按鍵手動(dòng)復(fù)位,在上電瞬間,rst引腳電位與vcc相同,隨著電容上充電電壓的增加,rst引腳電位逐漸下降。在單片機(jī)運(yùn)行期間,按下按鍵電容瞬間放電,rst引腳電位與vcc相同,系統(tǒng)復(fù)位;隨著按鍵的斷開(kāi),電容又開(kāi)始充電,rst引腳電位電位逐漸下降,系統(tǒng)開(kāi)始正常工作。圖2.2 at89c51最小系統(tǒng) 二、 按鍵模塊的設(shè)計(jì)鍵盤(pán)在系統(tǒng)中作用在于手動(dòng)切換播放器模式、音樂(lè)彈奏時(shí)音符的輸入以
19、及曲目的選擇。因在本系統(tǒng)中需要的按鍵并不多,單片機(jī)的i/o數(shù)完全可以滿足,所以采用了獨(dú)立式鍵盤(pán)設(shè)計(jì),如圖2.3所示。如圖示,按鍵均低電平有效。此外,上拉電阻保證了按鍵斷開(kāi)時(shí),i/o口線有確定的高電平。在設(shè)計(jì)鍵盤(pán)的時(shí)候,還要考慮去抖問(wèn)題。常見(jiàn)的去抖的方法有兩種:硬件方法和軟件方法。單片機(jī)中常用軟件法,因此在硬件方面將不做處理。如圖2.3所示,鍵盤(pán)輸入電路中共用到八個(gè)按鍵,s1鍵用于播放器模式的切換,在軟件中計(jì)算s1鍵按下的次數(shù),一次為播放模式,二次為自行彈奏模式;s2s8鍵在播放器為自動(dòng)播放模式時(shí)為曲目選擇鍵,即七個(gè)按鍵依次對(duì)應(yīng)一首歌曲,按下其中一個(gè)鍵就播放對(duì)應(yīng)的歌曲。而在播放器為自行彈奏模式時(shí)
20、,七個(gè)鍵就對(duì)應(yīng)著七個(gè)音符,即按下某一按鍵,播放器就發(fā)出對(duì)應(yīng)音符的節(jié)奏。圖2.3 按鍵模塊三、 揚(yáng)聲器播放模塊的設(shè)計(jì)揚(yáng)聲器播放模塊是由8050 npn三極管和無(wú)源蜂鳴器組成,無(wú)源蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。無(wú)源蜂鳴器發(fā)聲原理是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)io引腳輸出的電流較小,單片機(jī)輸出的ttl電平基本上驅(qū)動(dòng)不了蜂鳴器,因此設(shè)計(jì)過(guò)程中增加一個(gè)由8050 npn三極管組成的電流放大電路。蜂鳴器的負(fù)極直接接地,蜂鳴器的正極接到三極管的發(fā)射極e上,三極管的基級(jí)b經(jīng)過(guò)限流電阻r9后由單片機(jī)的p22引腳控制,當(dāng)p22
21、輸出高電平時(shí),三極管q1截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)p22輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過(guò)程序控制p22腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。四、 lcd顯示電路的設(shè)計(jì)lcd顯示電路由單片機(jī)p0及p3.0-p3.2端口控制。我們選用的是工業(yè)字符型液晶顯示屏lcd1602,能同時(shí)顯示16*2即32個(gè)字符(16列2行)。硬件連接如圖2.4所示。其中變位器是為調(diào)節(jié)lcd對(duì)比度而設(shè)計(jì)。lcd的顯示驅(qū)動(dòng)在軟件中完成,硬件中不做處理。 圖2.4 lcd顯示電路五、 彩燈伴奏電路的設(shè)計(jì)根據(jù)設(shè)計(jì)要求,本設(shè)計(jì)中設(shè)計(jì)了彩燈伴奏電路,彩燈采用普通發(fā)光二級(jí)管。播
22、放器工作時(shí),發(fā)光二級(jí)管根據(jù)音樂(lè)節(jié)拍閃亮。當(dāng)播放器發(fā)出duo音時(shí),d1亮;當(dāng)播放器發(fā)出ruai音時(shí),d2亮;當(dāng)播放器發(fā)出mi音時(shí),d3亮;當(dāng)播放器發(fā)出fa音時(shí),d4亮;當(dāng)播放器發(fā)出suo音時(shí),d1、d4亮;當(dāng)播放器發(fā)出la音時(shí),d2、d3亮;當(dāng)播放器發(fā)出xi音時(shí),d3、d4亮。在程序執(zhí)行過(guò)程中,單片機(jī)對(duì)發(fā)出的音符進(jìn)行檢測(cè),再輸出對(duì)應(yīng)的彩燈信號(hào)。硬件電路較簡(jiǎn)單,如圖2.5所示。 圖2.5 彩燈伴奏電路第三章 軟件設(shè)計(jì)第一節(jié) 單片機(jī)發(fā)聲的基本原理我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單處機(jī)某個(gè)口線的高電平或低電平,則在該口線上就能產(chǎn)生一定頻率形波,接上喇叭就能發(fā)出一定頻率的聲
23、音,若再利用延時(shí)程序控制高 、低電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。音符的節(jié)拍我們可以用定時(shí)器t0來(lái)控制,送入不同的初值,就可以產(chǎn)生不同的定時(shí)時(shí)間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。但是,由于t0的最大定時(shí)時(shí)間只能為131毫秒,因此不可能直接用改變t0的時(shí)間初值來(lái)實(shí)現(xiàn)不同節(jié)拍。我們可以用t0來(lái)產(chǎn)生10毫秒的時(shí)間基準(zhǔn),然后設(shè)置一個(gè)中斷計(jì)數(shù)器,通過(guò)判別中斷計(jì)數(shù)器的值來(lái)控制節(jié)拍時(shí)間的長(zhǎng)短。例如對(duì)1/4拍音符,定時(shí)時(shí)間為0.16秒,相應(yīng)的時(shí)間常數(shù)為16(即10h);對(duì)3拍音符,定時(shí)時(shí)間為1.92秒,相應(yīng)時(shí)間長(zhǎng)數(shù)為192(即c0h)。我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常
24、數(shù)作為一組,按順序?qū)?lè)曲中的所有常數(shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。此外,結(jié)束符和休止符可以分別用代碼00h和ffh來(lái)表示,若查表結(jié)果為00h,則表示曲子終了;若查表結(jié)果為ffh,則產(chǎn)生相應(yīng)的停頓效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個(gè)相同音符)音插入一個(gè)時(shí)間單位的頻率略有不同的音符。第二節(jié) 設(shè)計(jì)的相關(guān)音樂(lè)說(shuō)明要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期時(shí)間。利用半周期時(shí)間定時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出的i/o反向,然后重復(fù)計(jì)時(shí)此半周期再對(duì)i/o反向,就可以在i/o腳上得到此頻率的脈沖。記數(shù)脈
25、沖值與頻率的關(guān)系公式如:n=fi/2/fr。n:記數(shù)值;fi:內(nèi)部計(jì)時(shí)依次為1us,故其頻率為1 mhz;fr:要產(chǎn)生的頻率。 其記數(shù)值的求法如:t=65536-n=65536-fi/2/fr。例:設(shè)k=65536,f=1000000=fi=1 mhz。求低音do(26hz),中音do(523hz),高音do(1046hz)的記數(shù)值。 每個(gè)音符使用1個(gè)音節(jié),字節(jié)的高四位代表音符的高低,低四位代表音符的節(jié)拍。如果1拍為0.4秒,1/4拍為0.1秒,假設(shè)1/4拍為 delay,則1拍為4 delay。第三節(jié) 音樂(lè)播放器軟件程序設(shè)計(jì)一、 按鍵掃描子程序設(shè)計(jì)本設(shè)計(jì)中采用的獨(dú)立式鍵盤(pán),按鍵的閉合與否直接
26、反應(yīng)在口線的電平上,即口線的電平是呈現(xiàn)的高電平還是低電平。因此可以通過(guò)口線的電平高、低狀態(tài)檢測(cè),來(lái)確認(rèn)按鍵是否按下。但如果在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤的認(rèn)為是多次操作,為克服按鍵點(diǎn)機(jī)械抖動(dòng)所致的檢測(cè)錯(cuò)誤,確保cpu對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵,必須采取去抖動(dòng)的措施。軟件中去抖動(dòng)的措施即在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)10ms的子程序,然后再次檢測(cè)該鍵的電平狀態(tài),如果該鍵電平仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下。一般把按鍵掃描程序設(shè)計(jì)成子程序,以便其他程序調(diào)用。二、1ms延時(shí)程序設(shè)計(jì)延時(shí)程序一般是通過(guò)一層或多層循環(huán)實(shí)現(xiàn),整個(gè)過(guò)程延時(shí)的
27、時(shí)間是程序執(zhí)行的指令總條數(shù)乘以執(zhí)行每條指令所用的時(shí)間。由于該系統(tǒng)的晶振選用的是12m,所以執(zhí)行每條指令所所用時(shí)間為2us。程序如下:void delay_ms(uint xms)/延時(shí)函數(shù),有參函數(shù)uint x,y;for(x=xms;x0;x-) for(y=110;y0;y-);三、 lcd顯示子程序設(shè)計(jì)本設(shè)計(jì)中利用lcd1602顯示當(dāng)前播放曲目名稱以及彈奏時(shí)的音符。lcd開(kāi)始工作是靠軟件來(lái)實(shí)現(xiàn)的。程序如下:void lcd_display ( ) writecmd(0x80); for(y=0;y7;y+) writedata(namey); mydelay(5); mydelay(2)
28、; writecmd(0x80+0x40);for(z=0;z12;z+) writedata(numz); mydelay(5); for(x=0;x19;x+)writecmd(0x18); mydelay(5);四、 函數(shù)初始化子程序設(shè)計(jì) 函數(shù)初始化程序即把在主函數(shù)內(nèi)對(duì)某些參數(shù)和標(biāo)記位賦初值編寫(xiě)成一個(gè)函數(shù),這樣使程序更具有條理化,清晰易懂。由于整個(gè)程序要用到定時(shí)器0和定時(shí)器1,所以初始化程序主要是對(duì)定時(shí)器相關(guān)內(nèi)容作說(shuō)明。程序如下:void initialsound(void)sound_temp_th1 = (65536-(1/1200)*system_osc)/256;/ 計(jì)算tl1應(yīng)
29、裝入的初值 (10ms的初裝值)sound_temp_tl1 = (65536-(1/1200)*system_osc)%256;/ 計(jì)算th1應(yīng)裝入的初值th1 = sound_temp_th1;tl1 = sound_temp_tl1;tmod = 0x11;et0 = 1; et1 = 0; tr0 = 0; tr1= 0; ea = 1;五、 系統(tǒng)主程序設(shè)計(jì)播放器工作時(shí),程序工作流程圖如圖3.1所示,2次播放曲目手動(dòng)彈奏顯示曲目名稱顯示彈奏音符彩燈伴奏彩燈伴奏1次開(kāi)始函數(shù)初始化按鍵掃描計(jì)算并保存鍵值判斷模式轉(zhuǎn)換鍵鍵值圖3.1系統(tǒng)主程序框圖先對(duì)在程序過(guò)程中所需的各種標(biāo)記位及參數(shù)進(jìn)行初始化
30、賦值,再執(zhí)行按鍵掃描子程序并計(jì)算及保存鍵值,根據(jù)其中的模式轉(zhuǎn)換鍵的按鍵次數(shù)進(jìn)行模式判斷,按鍵次數(shù)為1時(shí)播放器處于自動(dòng)播放模式,揚(yáng)聲器播放模塊開(kāi)始工作,同時(shí)彩燈伴奏模塊隨著單片機(jī)端口高低電平的變換閃爍達(dá)到伴奏的效果,另一方面顯示模塊進(jìn)入工作狀態(tài)對(duì)當(dāng)前曲目的曲目名進(jìn)行顯示;按鍵次數(shù)為2時(shí)播放器處于手動(dòng)彈奏模式,再次對(duì)按鍵進(jìn)行掃描,對(duì)按下的鍵值進(jìn)行分析,單片機(jī)輸出相應(yīng)的音符,彩燈伴奏模塊也伴隨音符閃亮,同時(shí)lcd顯示模塊對(duì)當(dāng)前音符進(jìn)行顯示。結(jié) 論本設(shè)計(jì)以msc-51系列單片機(jī)為核心,充分利用了at89c51芯片的i/o引腳,以獨(dú)立式鍵盤(pán)作為琴鍵輸入及曲目的選擇鍵,采用lcd1602對(duì)當(dāng)前曲目及音符進(jìn)行顯示,并利用發(fā)光二級(jí)管進(jìn)行音樂(lè)伴奏。本文從理論上分析了該設(shè)計(jì)方案的可行性,并預(yù)計(jì)能達(dá)到設(shè)計(jì)要求,主要體現(xiàn)在:擁有彩燈伴奏功能;具有音頻d/a轉(zhuǎn)換功能,可以輸出音頻模擬信號(hào)并能播放音頻文件;顯示歌曲信息功能;播放器具有手動(dò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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Brand KPIs for hotels:Travelodge in the United Kingdom-英文培訓(xùn)課件2025.5
- 智慧社區(qū)公共空間建設(shè)與優(yōu)化研究-以長(zhǎng)春市西昌社區(qū)為例
- 《廣州市裝配式裝修認(rèn)定指引(試行)》2025
- 倉(cāng)儲(chǔ)會(huì)員開(kāi)業(yè)活動(dòng)方案
- 倉(cāng)庫(kù)好物分享活動(dòng)方案
- 仙居公司拓展活動(dòng)方案
- 代辦公司年會(huì)策劃方案
- 代言評(píng)選活動(dòng)方案
- 以純促銷活動(dòng)方案
- 任務(wù)式體能活動(dòng)方案
- GB/T 39016-2020定制家具通用設(shè)計(jì)規(guī)范
- GA/T 998-2012鄉(xiāng)鎮(zhèn)消防隊(duì)標(biāo)準(zhǔn)
- FZ/T 52004-2007充填用中空滌綸短纖維
- (完整word版)《西方心理學(xué)史》題庫(kù)
- 2023年?yáng)|部機(jī)場(chǎng)集團(tuán)有限公司校園招聘筆試模擬試題及答案解析
- 鋼結(jié)構(gòu)網(wǎng)架施工方案
- 《真菌》精品課件
- BRC第8版FSSC22000:過(guò)敏原風(fēng)險(xiǎn)評(píng)估及控制措施
- 義務(wù)教育均衡發(fā)展督導(dǎo)評(píng)估課件
- 小學(xué)語(yǔ)文閱讀教學(xué)有效性的研究課題方案
- 北京萬(wàn)集DCS30KⅡ計(jì)重收費(fèi)系統(tǒng)技術(shù)方案
評(píng)論
0/150
提交評(píng)論