畢業(yè)論文-基于stc89c52單片機的智能音樂演奏器設計【終稿】_第1頁
畢業(yè)論文-基于stc89c52單片機的智能音樂演奏器設計【終稿】_第2頁
畢業(yè)論文-基于stc89c52單片機的智能音樂演奏器設計【終稿】_第3頁
畢業(yè)論文-基于stc89c52單片機的智能音樂演奏器設計【終稿】_第4頁
畢業(yè)論文-基于stc89c52單片機的智能音樂演奏器設計【終稿】_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、. 寧波大學信息學院本科畢業(yè)設計(論文) 編號: 本科畢業(yè)設計(論文)題目:(中文)基于stc89c52單片機的智能音樂演奏器設計 (英文)Design of Intelligent Music Player 學 院 信息學院 專 業(yè) 電氣工程與自動化 班 級 電氣升本 學 號 姓名 指導教師 職稱副教授 完成日期 2014.04.10 ;摘 要 隨著人們現(xiàn)代化水平的提高,科技產(chǎn)業(yè)發(fā)揮著舉足輕重的作用。其中新興技術由于其實用性廣、成本低廉被廣泛發(fā)展及運用。單片機技術是新興技術的核心要素,正被人們廣泛關注,因此它的發(fā)展前景很寬廣。由于單片機有很強的實用性及開發(fā)周期短等優(yōu)點,單片機的設計也越來越廣

2、泛。所設計的智能音樂演奏器,選用的是stc89c52單片機為主要控制系統(tǒng),通過編程手段使音樂的播放功能得到實現(xiàn)。該播放器可以讀取外置存儲設備,對存儲設備內的音頻文件進行讀取及解碼,再通過外置音頻播放。按鍵控制功能也是本設計的一大功能,設置相應按鍵來控制選歌、播放和停止。 【關鍵詞】stc89c52;音樂演奏器;液晶顯示Design of Intelligent Music PlayerAbstract Technology industry plays a vital role in our life, with the improvement of peoples level of mode

3、rnization . The emerging technologies have been extensively developed because of its wide availability and low cost. SCM technology, as a symbol of emerging technologies, develops also rapidly. As the microcontroller has the advantage of a strong practicability and short developing cycle, the design

4、 of microcontroller has become increasingly widespread. The name of the design is a smart music player, which choose stc89c52 MCU as the master. The music player achieves control music playback functions by means of programming. The player can read external storage devices, store and decode the file

5、s automatically, and then played by the external device. The function of keys controlling is a big program in this project. The player is set appropriate keys to control song selection, play and stop. 【Key words】 stc89c52 ;Music Player ;LCD display目 錄1 緒 論11.1 研究背景和現(xiàn)狀12.2研究的目的和意義12 智能音樂演奏器的方案對比論證32.

6、1智能音樂演奏器的實現(xiàn)功能32.2智能音樂演奏器的實現(xiàn)功能圖32.3系統(tǒng)各個子系統(tǒng)的方案對比32.3.1 系統(tǒng)主控方案論證32.3.2 電源供電方案論證42.3.3 顯示方案論證52.3.4 按鍵輸入方案論證62.3.5語音模塊論證73 智能音樂演奏器的硬件設計83.1單片機系統(tǒng)設計83.1.1 單片機概述83.1.2 單片機管腳及功能說明83.1.3 單片機最小系統(tǒng)設計93.2 LCD顯示電路設計103.2.1 LCD1602操作時序及引腳定義103.2.2 LCD1602的硬件設計113.3 語音轉換模塊設計123.3.1 語音模塊概述123.3.3 語音模塊芯片引腳定義及功能描述133.

7、3.4 語音模塊觸發(fā)時序134 智能音樂演奏器的軟件設計154.1 開發(fā)軟件簡介154.2 應用程序設計154.2.1 主程序的設計154.2.2 LCD顯示程序設計164.2.3 按鍵檢測程序設計194.2.4 NV020模塊的程序設計205 總 結24參 考 文 獻27致 謝28附 錄29V1 緒 論1.1 研究背景和現(xiàn)狀自動控制愈來愈重要,它為我國新興產(chǎn)業(yè)帶來巨大效益。其中要求控制實現(xiàn)智能化、小型化、便攜式得到人們廣泛的關注。在航空航天、軍事民用、醫(yī)療設備等控制領域中,集成度和控制功能強大的單片機已發(fā)揮不可替代的作用,這使得各種單片機項目的開發(fā)與應用成為系統(tǒng)設計新的熱點話題。單片機具有很

8、多優(yōu)點,如集成度高,開發(fā)簡單,價格低和品種多樣,這使得單片機進入各種系統(tǒng)的品種方式也多樣化了。新興技術的提升發(fā)展,也同樣有助于芯片業(yè)的蓬勃發(fā)展。但是,利用單片機進行控制,并且顯示的集成芯片是微乎其微的,其一是開發(fā)的難道較難,其二是開發(fā)的周期趕不上市場淘汰產(chǎn)品的速度?,F(xiàn)階段社會上也有多種音樂播放器,但是市場上的音樂播放器大都價格昂貴,顯示、功能單一,所以開發(fā)新型的便攜且價格實惠的音樂播放器成為必須。音樂演奏器要實現(xiàn)可操作、可播放、可選擇等功能,且它的聽覺效果要有一定的水平。即使對音樂演奏器的研究,過去已經(jīng)多如牛毛,但是它的可操作性不佳,且它把音樂搜索、收藏、管理全部交給網(wǎng)絡來完成,這就造成資源利

9、用不便。所以,還是有必要完善。也可以增加一些流水燈閃爍效果,使得該播放器一邊播放,一邊有流水燈閃爍,實現(xiàn)美觀和效果功能同步進行。1.2研究的目的和意義本設計目的是設計一種全新的,通過單片機控制并顯示的智能音樂播放器,本播放器能夠實現(xiàn)音樂文件的讀取及控制播放等基本功能。該播放器可以存儲多首歌曲,可選擇性播放歌曲,通過音頻電路驅動喇叭播放。設置相應按鍵來控制選歌、播放和暫停,同時在LCD液晶屏上顯示正在播放的歌名,伴隨音樂播放有流水燈閃爍效果。該音樂演奏器采用技術與實惠的雙贏的STC89C52單片機作為核心控制單元,結合信號控制及處理電路、LM386功率放大器,LCD1602液晶顯示電路,以及配套

10、的外圍設備共同組成的可控、可顯示的音樂播放系統(tǒng)。本設計實現(xiàn)的按鍵功能為:上一首,下一首,暫停、停止。可以選擇不同的按鍵來實現(xiàn)播放。伴隨著音樂的播放可實現(xiàn)流水燈效果,并且可以在LED顯示屏上顯示正在播放歌曲的名字。本設計以STC89c52芯片作為主控制器,選用nv020作為音頻解碼芯片。通過對外置TF卡媒體存儲介質的讀取及操作,利用LCD1602液晶屏顯示內容及用流水燈實現(xiàn)動態(tài)效果,來完成智能音樂播放器的功能。智能音樂演奏器設計的意義在于開發(fā)新型基于單片機的音樂播放器,實現(xiàn)低成本及高性能,達到更換現(xiàn)在社會有的價格昂貴的音樂播放器。它的設計,應該追求高效、可操作性強、能顯示多首歌等特點。在新時代的

11、今天,各種音樂演奏器。參差不齊。而且功能大同小異,可以說,音樂播放器發(fā)展也給社會的發(fā)展帶來了新生,為人們的生活帶來了色彩,為可持續(xù)發(fā)展的當下社會和資源節(jié)約型、環(huán)境友好型的社會增添了活力。因此,對于智能音樂演奏器設計還是有必要發(fā)展這些特點。智能音樂演奏器研究的是播放器的靈敏便捷。讓人們使用起來有愉悅身心的感覺,它在我們生活中還是很有價值的,何況當今的社會是信息社會,計算機技術的發(fā)展帶動社會的發(fā)展,而單片機技術的完善帶動計算機的發(fā)展,因此很有必要好好研究。智能音樂演奏器,是一款以STC89C52為主要控件的設計,很好的把技術和實物融合了。2 智能音樂演奏器的方案對比論證2.1智能音樂演奏器的實現(xiàn)功

12、能智能音樂演奏器基于STC89C52主控設計并制作,以外置的TF卡為存儲設備,主控通過在不同時間和狀態(tài)下,對有關芯片發(fā)出不同控制命令,來實現(xiàn)解碼播放功能。智能音樂演奏器可以達到按鍵目的為開始,停止,上一首,下一首。伴隨著音樂的播放可實現(xiàn)流水燈效果,并且可以在LED顯示屏上顯示正在播放歌曲的名字。其中,智能音樂演奏器可實現(xiàn)歌曲的轉換功能及歌曲信息顯示功能。主要的技術難度在于對TF進行驅動及對解碼信息進行控制。2.2智能音樂演奏器的實現(xiàn)功能圖語音模塊電源電路STC89C52鍵盤電路LCD顯示顯示圖1 系統(tǒng)功能框圖智能音樂演奏器設計時就有四個可以進行控制的按鍵,按鍵的功能分別為:下一曲,上一曲,暫停

13、和停止。通過主控,實現(xiàn)存儲卡內文件扇區(qū)的讀寫,及數(shù)據(jù)流方向的控制。后面再通過音頻放大電路和聲音輸出設備將動聽的音樂輸出。在音樂播放的同一時間,LCD液晶屏也能顯示出曲目的名字。主要的控制流程是單片機對語音模塊進行驅動及控制,通過語音模塊返回的值,進行顯示。按鍵電路,通過按鍵可以得到不同的設置控制功能,作用于語音模塊(以不同控制字的方式),來達到不同的控制方法。2.3系統(tǒng)各個子系統(tǒng)方案對比2.3.1 系統(tǒng)主控方案論證主流控制器有:PLC、MSP430、ARM、51單片機等。MSP430有非常豐富的片上資源,即用戶可以通過對多種類寄存器的配置,達到不同的控制效果和要求,而且430單片機的輸出引腳一

14、般可以選擇為DAC及PWM輸出模式,用戶可以通過控制其中的寄存器來實現(xiàn)自己想要的要求,達到自己想要的期望,可謂靈活方便。51單片機控制資源有限,但現(xiàn)階段的51單片機產(chǎn)品集成度、穩(wěn)定性也在提高。MSP430低功耗單片機 是個控制能力很強且具有很強可操作性的單片機,所以它有非常多種控制方法,但是,美中不足的是它很難開發(fā),而且單片芯片較貴(一片在20元-30元左右),所以智能音樂演奏器根據(jù)各個方面的權衡,經(jīng)過慎重考慮,還是選擇了51單片機,以它來作為主要的控制器。51單片機有4個8位的P口控制端口,還有2個中斷源,及片內ROM和RAM。通過相關程序的編寫,可以很快的實現(xiàn)智能音樂演奏器的設計。最終結果

15、,本設計選擇了STC89C52這個很實用而且價格低廉的單片機來達到硬件功能要求。由于STC89C52內部自帶了8KB的存儲空間,所以它應該基本滿足設計所要的需求。2.3.2 電源供電方案論證由于系統(tǒng)要求便攜式及盡量控制成本,所以不能使用取市電處理之后供電。所以選用5號電池進行串聯(lián)后組成電池組提供6V直流電壓。供電方法有以下兩種:電池后接穩(wěn)壓二極管供電;電池后接穩(wěn)壓芯片供電。方案一:電池組后接5v/1w的穩(wěn)壓二極管組成。該電路圖如圖1所示。這樣設計的系統(tǒng),最多可以提供5V和0.2A的電源輸出。中和本設計電流在150mA左右,這種穩(wěn)壓管供電方式是可以的。但是由于智能音樂演奏器要求隨身攜帶,即要求待

16、機功耗盡量低的設計條件下,該類方案不可行。穩(wěn)壓管方案設計電路,在無工作時(主系統(tǒng)進入待機模式等待命令或按鍵),穩(wěn)壓二極管內也是有靜態(tài)電流流過的(If=10MA左右),即該系統(tǒng)始終有功耗10mA*5V=50mW產(chǎn)生。圖2 穩(wěn)壓管供電方式方案二:由電池組后接穩(wěn)壓芯片LM2596-5V組成。電路圖如圖2所示。LM2596系列美國一家電子廠商生產(chǎn)的,最高輸出電流為3A的開關型穩(wěn)壓芯片。開關電源的機理是通過電源導通的占空比不同,達到不同的輸出電壓,所以穩(wěn)壓芯片是自帶了一個150KHZ頻率振蕩器。固定頻率的振蕩器可以通過反饋電阻,改變開關的頻率,達到不同電壓輸出的要求,并且該芯片在待機的模式下,靜態(tài)電流只

17、有70A,及5V輸出時待機功率僅為0.35mW。運用LM2596組成的系統(tǒng),系統(tǒng)的待機功率將大大減小。 圖3 穩(wěn)壓芯片供電方式 綜上所述,方案二的系統(tǒng)供電方案是值得我選擇的。2.3.3 顯示方案論證隨著各種智能化設備的出現(xiàn),顯示的種類也是千奇百樣。但是依照其原理,顯示方法有兩種:一種方案是自發(fā)光式的LED數(shù)碼管顯示,另外一種方案是背光式的LCD液晶顯示。數(shù)碼管顯示的優(yōu)點是簡單;數(shù)碼管顯示不足之處是比較單一,通常僅僅能夠顯示8段數(shù)據(jù)。LCD顯示的優(yōu)點是數(shù)據(jù)多樣即可以顯示字符,也可以圖片,并且相同時間內顯示的信息更多。LCD顯示美中不足的是它本身是不帶光的,唯一可顯示的方法是依靠其背光來顯示,但是

18、其產(chǎn)生的是不經(jīng)濟、不合理地效果。由于智能音樂演奏器顯示多樣,并且有字符顯示,所以綜上所述,本設計采用的是LCD1602液晶顯示。實物如圖4所示 圖 4 LCD1602實物圖2.3.4 按鍵輸入方案論證鍵盤,它的功能是信息的輸入,并伴隨著單片機的發(fā)展,它所帶來的便利和重要性是巨大的。鍵盤的輸入能帶來非常有效的可操作性。從最初的機械式動作按鍵,到電氣化觸摸按鍵,鍵盤的發(fā)展也是多樣的。由于需要按鍵控制智能音樂演奏器,所以輸入鍵盤也成為了一個關鍵的部件,控制系統(tǒng)當要讀取輸入數(shù)據(jù)時,鍵盤必須有效的被查詢。鍵盤的原理是:一般情況下,按鍵所用到的開關為彈簧機械式開關,其利用的原理是通過判斷鍵盤的高低電平,來

19、確定觸點的不同狀態(tài)。鍵盤通常有兩種:一種為獨立式矩陣鍵盤,另一種是獨立式按鍵鍵盤。其中,獨立式按鍵鍵盤的原理就是:因為按鍵一端接地,按鍵另一端接控制口供主控查詢,所以按鍵之間不會相互影響,各自都可獨立的完成操作。它的好處是可實現(xiàn)的電路很簡單,可實現(xiàn)的軟件非常靈活。軟件控制方式就是通過對獨立按鍵的查詢:按鍵按下了為低電平,若是相反的,則表示高電平。但是,在按鍵較多的情況下使用獨立式鍵盤是有缺陷的,由于每個按鍵都需占用一個主控的輸入口,所以輸入控制口被大大的浪費,故此種鍵盤適用于按鍵較少的場合。而恰恰相反,矩陣式鍵盤在按鍵數(shù)量多的情況下使用就沒有這個端口浪費了。由兩根線構成矩陣鍵盤:行線和列線。各

20、個按鍵位于行、列的交叉點上,通過主控的分時查詢,最后確認被按下的是哪一個按鍵。兩種常見的鍵盤如Error! Reference source not found.所示:圖5 獨立式鍵盤和矩陣式鍵盤理想的按鍵,其可以看成2種狀態(tài):按下及沒有按下。但是由于在使用中,機械觸點和人為因素,一旦按下按鍵就會有顫動。若主控實時掃描按鍵,就會出現(xiàn)錯誤判斷:本是按下動作,由于抖動,會讀取到按下-松開-再按下的錯誤信息。因此在使用鍵盤的時候,應該去除抖動,來使操作順利進行。按鍵可以通過兩種方法來去除抖動:一是硬件消抖,適合于按鍵數(shù)較少的場合,即利用RS觸發(fā)器構成雙穩(wěn)態(tài)電路消抖,硬件消抖電路如圖 所示;二是通過主

21、控處理進行消抖,其原理是:當有按鍵按下且閉合后,主控檢測到低電平信號,主控不馬上執(zhí)行相關按鍵值的操作,而是去運行一個一定時常的延時函數(shù)。當過一段時間之后,我們認為物理機械上的前沿抖動消失之后,主控將再一次對按鍵進行檢查。如果檢查到的狀態(tài)和第一次的相同,那么可以肯定這是數(shù)據(jù)信號;若檢查到的狀態(tài)與第一次檢測到的信號不一樣,則認為是抖動信號。圖 6硬件消抖電路由于本設計要求只需4個按鍵輸入,所以選擇獨立式按鍵作為按鍵輸入方式。并且采取了軟件延時的策略去抖。2.3.5語音模塊論證本智能音樂演奏器需要設計出的產(chǎn)品是能夠進行控制的,且能實現(xiàn)歌曲播放功能的產(chǎn)品。但STC89C52本身來說,是不能進行音頻信息

22、解碼及處理數(shù)據(jù)流的,所以只能利用外部的解碼芯片,并且配合不同的控制方式來實現(xiàn)歌曲播放功能。MP3解碼芯片常見的有VS100X 系列和NV020模塊系列,NV系列輸出可選為DAC及PWM方式輸出,這樣既有利于輸出設備的選擇及實現(xiàn),而且能解碼的音頻格式也比較多;而VS系列需要外加DAC,使用起來必須外加DAC電路才能實現(xiàn)音頻的播放,而且只限于解碼MP3一種格式的音樂文件。經(jīng)過比較,選用NV020模塊為解碼芯片,該芯片支多種格式的解碼,包括MP3、PWM等,自帶DAC、PWM輸出。NV020芯片功能有:使用者通過設計不同的外圍配置電路,就能選擇按鍵控制模式、并口及串口控制模式等不同的模式。但是其中,

23、NV020芯片的按鍵模式有很多種靈活的觸發(fā)方式。3 智能音樂演奏器的硬件設計經(jīng)過對各個功能模塊的系統(tǒng)分析,智能音樂演奏器的硬件設計方案已經(jīng)確定。智能音樂演奏器的組成為:STC89C52單片機,LCD1602液晶顯示,獨立按鍵,NV020集成語音解碼模塊。接著,我們來設計各種功能模塊的最小系統(tǒng),來完善播放器的設計。3.1單片機系統(tǒng)設計3.1.1 單片機概述STC89C52的功能概述:STC89C52是一種帶8K字節(jié)Flash存儲器的低電壓、高性能的8位微處理器。STC89C52單片機的片上Flash存儲空間,允許系統(tǒng)在線編程,當然常規(guī)編程也是支持的。該款單片機,有一顆8位處理能力的核心運算單元,

24、并且有在線編程,這些特殊的優(yōu)勢使STC89C52為很多產(chǎn)品提供一些有效果而且很靈活的解決方法。3.1.2 單片機管腳及功能說明圖7 STC89C52引腳圖單片機如圖所示。單片機引腳功能說明如下。VCC:5V供電電壓。GND:接地。P0口:雙向IO口,內部無上拉,可以做數(shù)據(jù)和地址總線。數(shù)據(jù)總線時,需要上拉電阻。P1口:P1口與P0口的主要區(qū)別是具有內部上拉電阻。 主控芯片引腳復用功能的簡單介紹:P1.0 T2(外部計數(shù)輸入端口,計數(shù)時使用),主頻率時鐘分頻輸出 P1.1 T2EX(功能控制器的控制端口,通過不同的配置達到不同的輸入檢測) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在

25、系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2口:功能同P1口。P3口:P3口的驅動能力和其他口一樣。不同之處是P3口也能成為89C52的特殊功能(復用第二功能)來使用,如下表所示。P3口含有單片機的特殊功能,如燒錄及中斷。描述如表1所示:P3口引腳P3口第二功能P3.0RXD(串行口輸入)P3.1TXD(串行口輸出)P3.2INT0(外部中斷0輸入)P3.3INT1(外部中斷1輸入)P3.4T0(定時器/計數(shù)器0)P3.5T1(定時器/計數(shù)器1)P3.6WR(寫信號輸入)P3.7RD(讀信號輸出)表1 P3口引腳功能表RST:復位輸入。 XTAL1:振蕩時鐘輸入端。 XTAL2:振蕩時

26、鐘輸入端。3.1.3 單片機最小系統(tǒng)設計單片機最小的組成單位是由復位電路、電源電路、時鐘電路所組成的。而時鐘信號是單片機運行的基礎。時鐘相當于是整個系統(tǒng)運行的時間準則,只有當時間安排精準,程序才能有條不絮的運行,才能各司其職。復位操作使它內部所有程序全部重新開始。當單片機的復位引腳檢測到2個機器周期(1us左右)以上的高電平以后,單片機就會執(zhí)行復位操作。STC89C52的最小系統(tǒng)設計圖如Error! Reference source not found.所示:圖8 STC89C52的最小系統(tǒng)設計圖3.2 LCD顯示電路設計相關數(shù)據(jù)的顯示是智能音樂演奏器的一項重要功能,是整個系統(tǒng)的主要組成部分,

27、所以對顯示電路的設計,也必須著重考慮。顯示的設計功能是:將主控讀取到的歌曲按鍵等相關數(shù)據(jù)經(jīng)過器處理后直觀的顯示出來。3.2.1 LCD1602操作時序及引腳定義對LCD1602的讀寫有嚴格的時序要求。讀時序如圖9所示,寫時序如圖10所示。 圖9 LCD1602讀時序 (引自LCD1602數(shù)據(jù)手冊) 圖10 LCD1602寫時序 (引自LCD1602數(shù)據(jù)手冊)引腳號引腳名稱引腳功能定義1VSS地引腳(GND)2VDD+5V電源引腳(VCC)3VO液晶背光電壓(05V),可接電位器調節(jié)4RS數(shù)據(jù)狀態(tài)控制端端,RS=0時命令或狀態(tài);RS=1時數(shù)據(jù)5R/W讀寫控制,高為讀,低為寫6E數(shù)據(jù)讀寫操作使能端

28、714DB0-DB7數(shù)據(jù)線,可以用8位連接,也可以只用高四位連接,其目的是為了節(jié)約資源15A背光控制正電源16K背光控制地 表2 LCD1602引腳定義 LCD1602的讀操作,主要是讀取LCD的狀態(tài),判斷LCD是否在轉換及合成顯示狀態(tài)。LCD1602的寫操作,主要是對LCD1602進行控制操作,包括清除指令,控制指令及相關的數(shù)據(jù)接收。3.2.2 LCD1602的硬件設計根據(jù)上面的分析,我設計出了如圖11所示LCD1602顯示電路。其中V0通過R1變阻器分壓得到電壓,通過對該電壓的修改可以達到不同對比度的顯示效果。數(shù)據(jù)口我們選用P0外接上拉電阻實現(xiàn),控制口我們選用P2口實現(xiàn)。圖11 LCD16

29、02顯示電路3.3 語音轉換模塊設計3.3.1 語音模塊概述根據(jù)以上的方案對比,我們可以知道NV的確是個有著非常強大的可編程語音芯片。它的音頻輸出方式可選為PWM和DAC。多樣的輸出方式選擇,使它的運用場合也越來越大。NV芯片內通過串口控制字的輸入,用戶可以選擇高分辨率的DA音頻輸出方式,而且NV芯片內部濾波功率的放大,致使模塊后可以自動驅動0.5W的喇叭響動。該芯片內部還集成PSG可編程語音合成技術,這種效果使得音樂的音質極好,發(fā)出的噪聲極低。此芯片設計時就考慮了眾多的外圍搭配電路,配合其有的極強的可編程能力,NV解碼模塊不僅能實現(xiàn)標準的控制方式,亦可根據(jù)不同的控制需求,做出各種不同功能的音

30、樂解碼器件。3.3.2 功能特點用戶靈活且多變的操作模式供選擇(串口數(shù)據(jù)命令操作、并口數(shù)據(jù)命令操作、按鍵操作); 20秒語音長度(在6KHz采樣率); 有忙狀態(tài)輸出指示供主控查詢,并且主控可以通過軟件調節(jié)音量大小; 音質好,性能高,物美價廉; 多樣的封裝可供選擇,使用更方便,開發(fā)應用更靈活; 極簡的外圍電路,配合芯片內部豐富的資源,能夠輕松實現(xiàn)用戶提出的各種功能要求;靜態(tài)工作電流:2uA; 有音頻輸出時的Ia在20mA120mA之間;3.3.3 語音模塊芯片引腳定義與功能封裝引腳引腳標號簡述功能描述1P01K1/A0/CS控制方式1選擇端 2GNDGND地3EQIOPI芯片內部的功率放大電路的

31、反饋輸入端4EQOOPO內部功放反饋輸出5VCCVCC芯片模擬電源2.6V5.6V6SPK-PSPK-PDAC及PWM輸出7SPK-NSPK-NDAC及PWM輸出8P06BUSY語音播放忙信號9P05K3/A2/DI/RXD控制方式2選擇端 10P04K2/A1/SCK控制方式3選擇端 11VPPVPP芯片編程電源12VDDVDD芯片數(shù)字電源2.6V5.6V13P10A3按鍵口14P11D5按鍵口15RESETBRESETB芯片復位端,低有效 表3 語音模塊引腳及相關功能描述3.3.4 語音模塊觸發(fā)時序語音模塊可分為:一線制和三線制。一線串口控制方式,很特殊,它只有一條數(shù)據(jù)通信線,芯片確定不同

32、的數(shù)據(jù)位是根據(jù)分辨電平占空比。這一點很特別,數(shù)據(jù)解調的方法同脈寬調制方法,即通過判斷脈沖高低電平的時間不同,來確定是高電平還是低電平。低電平在后,高電平在前,這種規(guī)定是脈沖時間所具有的。3條 通信控制線組成了三線串口控制,線程分別是SS,DI,SCK??刂频臅r序仿照標準SPI通信格式。通信的準則是:復位信號線在發(fā)碼之前先將數(shù)據(jù)線拉低1ms5ms左右,然后再拉高并等待5ms以上。時序圖如圖12所示。通過該三線串口即可以實現(xiàn)對NV020芯片的命令控制、語音播放。D0位為語音測試口。根據(jù)智能音樂演奏器的設計要求,我們選用三線制對語音模塊進行控制。 圖12 三線串口控制時序圖(引自語音模塊數(shù)據(jù)手冊)4

33、 智能音樂演奏器的軟件設計4.1 開發(fā)軟件簡介系統(tǒng)的軟件部分主要是利用C語言編程來完成程序的設計,進一步設計帶來了便利。匯編語言和C語言組成了單片機開發(fā)語言,由于匯編語言的冗長及復雜,所以智能音樂演奏器選用C語言為開發(fā)語言。對單片機進行編程,Keil軟件當仁不讓的是最好的工具,它有利于程序更好的設計實現(xiàn)。Keil 的 C51系列軟件是該公司獨自設計的,面向51單片機系列并且可以兼容國產(chǎn)單片機的軟件開發(fā)系統(tǒng)。C和其他編程語言相比較,它的優(yōu)點還是有很多的,而且該單片機的平臺提供大量的、可操作性強的調試工具,有利于集成開發(fā)。4.2 應用程序設計那些設計類軟件,如果大腦中沒有很清楚的思路和很好的方案,

34、那么設計東西是非常困難的。程序設計真的很繁瑣,很乏味但是它的重要性不言而喻。為了枯燥乏味的設計工作條理化,就必須要有相應的步驟和方法。通過系統(tǒng)的分析,其設計流程可以簡單的分為以下若干種:(1)整體分析系統(tǒng)控制要求:什么要被控制,什么要被顯示,什么要被讀取。然后在根據(jù)處理值得不同,確定算法。(2)然后根據(jù)它的算法來畫流程:第一步是什么,第二步是什么,再者又是什么。畫框圖的優(yōu)點可以把算法和程序設計的流程方法更加具體化(3)最后再編寫程序:可以通過框圖的算法和步驟,選取合適的指令實現(xiàn)功能,然后把它們組成一個有機的整體,就構成了整體程序。下面給出各個模塊的軟件設計,最終來達到設計的要求,實現(xiàn)其功能。4

35、.2.1 主程序的設計智能音樂演奏器的軟件設計構成主要有如下幾種:由按鍵檢測及控制發(fā)出的主程序、系統(tǒng)LCD及解碼模塊的初始化程序、1602的數(shù)據(jù)顯示程序、控制解碼程序等。主程序設計流程Error! Reference source not found.3所示。是否是是開始初始化LCD1602 初始化NV020模塊是否有TF卡插 入?初始化文件系統(tǒng)查找音樂文件數(shù)據(jù)送至NV020目錄循環(huán)播放音樂是否有鍵按下?執(zhí)行相應功能結束否是 圖13 主程序設計流程圖4.2.2 LCD顯示程序設計顯示程序設計流程圖,如是其他需要調用的程序之一,所以它的設計重要性不言而喻。 是 否 圖 4所示。顯示的目的是直觀的

36、向用戶提供用戶想要的信息,并且在設計時,應該充分考慮設計顯示的內容,和顯示的時間。因為LCD1602顯示子程序是其他需要調用的程序之一,所以它的設計重要性不言而喻。入口對1602初始化寫入顯示設置命令延時一段時間檢查忙標志BF>=7?設置字符顯示位置延時一段時間向1602中寫入數(shù)據(jù)LCD顯示內容返回主程序 是 否 圖 14 顯示子程序流程圖顯示程序如下所示:static void delayms(unsigned int n)unsigned int x,y;for(x=n;x>0;x-)for(y=110;y>0;y-); void lcd_wcom(unsigned ch

37、ar com)/lcd1602寫命令函數(shù)rs=0;/選擇指令寄存器 rw=0;/選擇寫P0=com;/把命令字送入P2 delayms(5);en=1;en=0; void lcd_wdat(unsigned char dat)/1602寫數(shù)據(jù)函數(shù)rs=1;/選擇數(shù)據(jù)寄存器 rw=0;P0=dat;delayms(5); en=1;en=0; void lcd_wstr(unsigned char *s)unsigned char i=0;while(*s!='0'&&i<32)if(i=16)lcd_wcom(0x80+0x40);lcd_wdat(*s

38、);s+;i+;void lcd_init()/ 1602初始化函數(shù) lcd_wcom(0x38);lcd_wcom(0x0c);lcd_wcom(0x06);lcd_wcom(0x01); 4.2.3 按鍵檢測程序設計按鍵檢測的難度主要是處理按鍵的去抖。針對硬件的設計,我們視按鍵按下時為低電平。其主要的設計思路是,時刻檢測按鍵端口是否為“0”,當檢測為0時,軟件延時10ms之后,再對其進行讀取,若該端口仍為“0”,說明按鍵確實按下,并對其進行相應處理;若延時之后,該端口為“1”,說明按鍵存在抖動,在處理鍵值的時候,應該將該類情況處理為錯誤信號。按鍵檢測程序如下:uchar getkey()i

39、f(key1=0)Delay_ms(15);if(key1=0) while(!key1); return 1;if(key2=0)Delay_ms(15);if(key2=0)while(!key2);return 2;if(key3=0)Delay_ms(15);if(key3=0)while(!key3);return 3;if(key4=0)Delay_ms(15);if(key4=0)while(!key4);return 4;return 0;4.2.4 NV020模塊的程序設計音樂解碼模塊是決定整個系統(tǒng)正確與否及控制對象的主要器件,所以NV020設計必須格外小心。NV020工作方

40、式是可以如下:當播放器開啟后,主要控制將TF卡中的信息讀取到,并通過數(shù)據(jù)處理芯片送達到NV020芯片中。NV020芯片根據(jù)數(shù)據(jù)再進行解碼分析,及耳機驅動電路,將音頻信號輸出,最后實現(xiàn)了非常優(yōu)美的樂曲播放。NV020的所有數(shù)據(jù)和控制命令均通過控制器模擬SPI總線接口實現(xiàn)。要控制NV020首先要實現(xiàn)的就是寫命令,它是控制實現(xiàn)成功的前提。通信接口所在的部分,使用的是同步串行接口方式。在該模式下,要求NV020的時鐘信號必須由外部電路產(chǎn)生,這樣才能操作數(shù)據(jù)的讀取及分析。數(shù)據(jù)(SDATA)在SCLK的上升沿或下降沿時被寫入。在方案論證時,已經(jīng)分析過NV020的時序,這里主要介紹NV020的語音地址對應關

41、系及命令、語音碼。語音地址所呈現(xiàn)的關系如表4所示。數(shù)據(jù)(十六進制)功能00H播放第1段語音01H播放第2段語音02H播放第3段語音03H播放第4段語音播放第N段語音表4 語音地址對應關系NV020三線串口程序如下:#include<reg52.h>#include<intrins.h>#include"music.h"void Delay_ms(unsigned int a) unsigned int i; while(a-) for(i = 0; i < 125; i+); void Delay_us(unsigned int n) unsi

42、gned int j; for(j=0;j<n;j+) _nop_(); void TF_SD_2L(unsigned int dat) unsigned char i;/*- 復位后等待的時間比較久,干擾較弱的場合可以省去復位控制 -*/ TF_RESET = 0; Delay_ms(5); /5ms TF_RESET = 1; Delay_ms(300); /300ms TF_CLK = 0; /拉低片選信號 clk預先拉低2ms以上 喚醒芯片 Delay_ms(2); for (i=0;i<16;i+) TF_CLK = 0; /拉低 if(dat&0X8000) /

43、傳輸數(shù)據(jù)一位 先發(fā)高位,總共16位 TF_DATA = 1; else TF_DATA = 0; dat <<= 1; Delay_us(100); TF_CLK = 1; Delay_us(100); /延時 TF_DATA = 1; Delay_ms(20); void bofang(unsigned char kk)TF_SD_2L(0Xffff);TF_SD_2L(kk);5 總 結本設計把我大學兩年所學的專業(yè)知識都運用進去了,其中涉及的思路、方法都是很具體的。畢業(yè)設計是培養(yǎng)學生發(fā)現(xiàn)問題、分析問題、解決問題的重要途徑,也是鍛煉實踐能力的重要環(huán)節(jié),是對學生的動手能力、綜合能力

44、的考察。有利于學生真正的將理論知識融入到社會工作中。所以是非常有好處的。隨著的社會的高速發(fā)展,單片機的應用在計算機領域也是非常重要的。因此,我們電氣與自動化專業(yè)的學生很有必要學好這門技術,設計開發(fā)新產(chǎn)品。我所設計的是智能音樂演奏器,這對于我來說又是一種全新的考驗,也是新的挑戰(zhàn)。怎么去把理論知識通過硬件設計更好的表現(xiàn)出來,怎么安排自己的計劃使得與寫論文的時間不沖突,怎么合理解決設計中碰到的問題,怎么樣把自己的設計中的不良情緒很好的轉移,設計中不進掌握了平時課堂上所掌握的理論知識,而且學到了一些課堂上沒有學過的知識,我受益匪淺,收獲很大。我掌握了一些系統(tǒng)性的方法,也懂得怎么去完善自己的設計方案,去

45、克服一些瑕疵??梢赃M行一些編程,而且到達強化的目的。這次設計,我知道了實踐才是檢驗理論的唯一標準,只有通過實踐,我才知道哪些不足點,哪些是需要改進的,哪些是需要強化的。當然,我在設計的過程中也碰到很多問題,這些都怪自己當初學習的時候沒有很認真的投入學習。沒有充分掌握老師所說的理論知識。但是,通過自己的努力以及老師同學的幫助,最終我還是很順利的完成了。通過對各個系統(tǒng)的研討,及仔細分析,最終設計出智能音樂播放器,各項功能指標達到設計任務。其間的設計也是艱難的,出現(xiàn)過很多問題。比如按鍵檢測,原理是很清晰的,程序思路也是很明白的,但是在調試的過程中,總是出現(xiàn)多次誤判的情況。最后通過和老師交流,才知道原

46、因,原來只對按下進行了軟件消抖。期間,我找了許多資料查閱,很多報刊書籍都被我仔細翻閱以求每個步驟都能有效。在文獻查閱的基礎上,完成課題綜述,制定實施課題的技術路線與總體方案,完成開題報告(老師要進行驗收) ,按本課題的技術路線與總體方案具體實施。完成本課題的程序設計、編程、調試、試驗結果分析,在制作過程中,我投入很多精力和時間,因為材料的有限和設備的有限,每個步驟我必須親自完成,每個困難必須自己克服,即使過程很痛苦,但是結果我還是很享受的。但是,我任然堅持著,對按鍵釋放沒有進行軟件消抖,所以出現(xiàn)誤判。設計過程必須嚴格按照流程圖進行設計,因為有些器件對時序的要求是非常嚴格的,若時序出現(xiàn)紊亂,則控

47、制效果就大打折扣。編寫軟件程序的時候,一定要先寫出系統(tǒng)的軟件流程圖,只有在各個子模塊功能實現(xiàn)之后,才能整機調試,這樣才能增加程序的可行性和有效性。這款音樂演奏器的設計耗時4個星期,花費了很多時間。而且完成老師所要求的任務:設計一個基于單片機的智能音樂播放器,能夠實現(xiàn)音樂播放的基本功能。該播放器可以存儲多首歌曲,可選擇性播放歌曲,通過音頻電路驅動喇叭播放。設置相應按鍵來控制選歌、播放和暫停,同時在LCD液晶屏上顯示正在播放的歌名,伴隨音樂播放有流水燈閃爍效果。我所設計的播放器有六首歌曲,六首英文歌曲都能在液晶顯示屏上顯示各自的歌曲名字。并伴隨著流水燈閃爍效果。本次設計雖然很累,時間很長,但是當我

48、完成的那一剎那,我所有的痛苦所有的負面情緒都化身為我的精神財富,讓我明白以后的道路也是很有挑戰(zhàn)性的,我堅信自己的能力,也會像做這次畢業(yè)設計一樣對待以后的工作生活。這次設計我投入很大的激情,因為這畢竟是自己人生中比較重要的自己獨立完成的作品,給自己的人生增添一些色彩,我很期待,很喜歡自己的作品。大學所學的知識的完美結合,能夠實現(xiàn)基本的操作功能。如果說之前學的知識是死板的毫無生機的肉體的話,那這次音樂演奏器的設計一定是有思想的活的靈魂??梢园l(fā)現(xiàn)既能得到聽覺的享受又能得到聽覺的享受播放器,在市場上一定很受歡迎。我一定會繼續(xù)奮斗,進入社會好好鉆研,爭取早日設計出更加完善,功能更加齊全的播放器。讓人們能

49、在閑暇之余,享受一絲愜意。正如我們社會所發(fā)展的,信息時代的步伐是越走越快的。通過學習與設計,我設計出了下面的播放器。實物圖1 歡迎界面實物圖2 放歌界面實物圖3 電源關閉界面參 考 文 獻1 趙勇,鄭培臣,張歡歡.Cortex- M3的音頻播放器設計J.單片機與嵌入式系統(tǒng)應用,2012,12:78-79.2 田嬡.單片機音樂播放器功能多樣性的研究J.金華職業(yè)技術學院學報,2013,13:65-69.3 黃振杰,盧小冰.基于AT89S52單片機的多功能音樂播放器J.電子設計工程,2009,17:17-21.4 顏銳,譚周文.基于STM32的多功能MP3設計J.湖南人文科技學院學報,2013:10

50、7-110.5 張冬云,吳凌云,楊三青.基于TMS 3 2 0 DM 6 4 4 6的嵌入式流媒體播放器的設計J.自動化與儀器儀表,2009:17-18.6 羅 芬,趙新業(yè),梁小流.多功能音樂演奏器的設計J.大眾科技,2010(11):36-37.7 詹文超.基于單片機的智能音量控制系統(tǒng)J.中國科技投資,2013(22):176.8 陶康,楊順,程劉勝.基于51單片機的可變調音樂演奏系統(tǒng)J.四川理工學院學報(自然科學版),2008,21(3):89-90.9 謝少偉.基于MCS一5 1單片機功能完善的音樂播放程序設計J.電子技術,2007,36(11):36-39.10 馬志強,王建剛,孫少林,胡明.基于STM32的PWM 音樂播放器應用設計J.單片機與嵌入式系統(tǒng)應用,2012,12(11):63-64.11 Jesu´ s L.Alvaro,BeatrizBarros. A new cloud computing archite

溫馨提示

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

評論

0/150

提交評論