摘 要:隨著(zhù)科技的飛速發(fā)展, 智能化技術(shù)已經(jīng)成為人們生活的重要組成部分, 單片機在人工智能、自動(dòng)控制、通信領(lǐng)域以及智能化家用電器等方面都被廣泛應用。本文設計了一款基于A(yíng)T89C52單片機的音樂(lè )盒, 通過(guò)定時(shí)器中斷來(lái)控制蜂鳴器, 達到精準控制每個(gè)音符的音調, 從而實(shí)現歌曲的高度還原, 給人們更加舒適的聽(tīng)覺(jué)感受。
關(guān)鍵詞:AT89C52; 單片機; 音樂(lè )盒; 音符;
基金: 湖北文理學(xué)院校級教學(xué)研究項目 (No.JY2018003); “機電汽車(chē)”湖北省優(yōu)勢特色學(xué)科群開(kāi)放基金項目 (XKQ2018035);
目錄
摘要 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ 1
關(guān)鍵詞 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅1
第一章 系統總體設計 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ 2
第二章 系統硬件設計 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅3
第三章 系統軟件設計 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅4
3.1 音階表的計算與創(chuàng )建 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅4
3.2 播放程序設計 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅5
第四章 總結 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅6
致謝┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ 6
參考文獻 ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅7
附錄┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅8
論文正文
近年來(lái)人們對生活質(zhì)量的要求越來(lái)越高, 也越來(lái)越注重陶冶情操放松身心, 但我國現代音樂(lè )產(chǎn)業(yè)存在體系不完備、原創(chuàng )能力不強、音樂(lè )企業(yè)規模不大、高素質(zhì)人才缺乏、版權保護體系尚不完善等問(wèn)題, 制約了音樂(lè )產(chǎn)業(yè)的進(jìn)一步發(fā)展。隨著(zhù)國內數字音樂(lè )產(chǎn)業(yè)市場(chǎng)規模不斷擴大, 我們也設計了一款基于A(yíng)T89C52單片機的音樂(lè )盒, 能夠精準控制音調, 高度還原歌曲, 解決了體系不完備等問(wèn)題, 具有廣闊的應用前景。
第一章 系統總體設計
系統主要由AT89C52單片機、電源模塊、OLED顯示模塊、人機交互模塊、唱歌模塊和存儲器模塊六部分組成。系統總體結構圖如圖1所示。
圖1 系統總體結構
第二章 系統硬件設計
系統硬件設計主要包括AT89C52最小系統設計、電源模塊設計、人機交互界面設計、唱歌模塊設計以及時(shí)鐘電路、復位電路等設計。系統主要電路圖如圖2所示。
單片機最小系統的設計是指用最少的元件組成的單片機可以工作的系統。對52系列單片機來(lái)說(shuō), 最小系統包括單片機、時(shí)鐘電路、復位電路、輸入/輸出設備等。最小系統是整個(gè)電路的核心, 這里我們對其進(jìn)行了存儲器擴展、IO口擴展, 并添加了外部設備, 使單片機能夠完成多種復雜的功能。
單片機的時(shí)鐘電路由晶振和兩個(gè)補償電容構成, 自激振蕩器可以在單片機內部產(chǎn)生時(shí)鐘脈沖信號。補償電容的作用是穩定頻率并使晶振快速起振, 這里我們選用30pF的瓷片電容和12MHz振蕩頻率的晶體振蕩器。
圖2 系統硬件連接圖
圖3 復位電路
單片機的外部復位電路是在電源接通且單片機運行期間, 通過(guò)按鍵開(kāi)關(guān)將電阻與VCC接通來(lái)實(shí)現的。復位電路結構如圖3所示。
電源模塊采用高轉換效率的TPS5430芯片和超低壓線(xiàn)性穩壓芯片TPS7333進(jìn)行供電, 以減小電源部分的紋波, 避免對單片機以及音樂(lè )的播放造成干擾。
人機交互模塊由OLED顯示模塊和按鍵組成, OLED液晶屏體積小、線(xiàn)路少且具有低功耗、高分辨率的特點(diǎn), 這里用來(lái)顯示開(kāi)機歡迎語(yǔ)以及歌曲播放信息, 采用I2C總線(xiàn)的方式與52單片機連接。按鍵用于控制歌曲的開(kāi)啟、暫停、模式切換等等。
唱歌模塊由無(wú)源蜂鳴器和NPN型三極管組成, 三極管用于放大驅動(dòng)電流, 使蜂鳴器正常工作, 播放keil軟件里編寫(xiě)的歌曲。
第三章 系統軟件設計
編寫(xiě)歌曲是分難易的, 音域狹窄, 內容單一的兒歌通常作為音樂(lè )盒制作者的首選。但如果想要編寫(xiě)自己喜愛(ài)的任何歌曲, 就需要創(chuàng )建一個(gè)完整的音階表, 將一個(gè)調中的所有音名納入數組中, 用于程序的調用。本設計的系統程序框圖如圖4所示。
圖4 系統程序框圖
3.1音階表的計算與創(chuàng )建
一般說(shuō)來(lái), 我們知道用單片機播放歌曲大部分發(fā)出的聲音都是單音, 它不包含相應幅度的諧波頻率, 所以不像鋼琴那樣能夠演奏出多種音色的聲音。因此, 用單片機播放歌曲只需弄清楚兩個(gè)概念即可, 一個(gè)是“音調”, 而另一個(gè)就是“節奏”了。頻率決定音調, 歌曲的速度和音符的節拍共同決定節奏。我們以國際標準音C調的中音LA為例, LA的頻率是440HZ。那么它的下個(gè)音中音SI, 我們可以根據十二平音律全全半全全全半的規律, 知道中音LA和中音SI之間隔著(zhù)一個(gè)全音。已知兩個(gè)半音之間的比例為, 那個(gè)中音SI的頻率就是中音LA的倍, 約等于494HZ。根據以下公式:
可以算出計數器的初始值, 按照這個(gè)規律, 進(jìn)而推算出C調的所有音階, 具體數據如表1所示。
3.2播放程序設計
將音符頻率與其相應的定時(shí)器初值分別放在兩個(gè)數組中。根據音符在數組的順序, 可以將60個(gè)音符排序。再創(chuàng )建兩個(gè)新的數組, 一個(gè)用于存放目標歌曲音符的頻率, 一個(gè)用于存放目標歌曲音符的節奏。通過(guò)定時(shí)器中斷0, 控制IO口產(chǎn)生一定頻率的方波, 改變蜂鳴器單位時(shí)間內取反的次數, 從而讓它發(fā)出不同頻率的聲音。播放長(cháng)度以16分音符為基本單位, 一拍即四分音符等于4個(gè)十六音符。假如將16音符設為1, 那么四分音符就是4, 根據這個(gè)規律, 將所有音符節奏寫(xiě)入對應的數組中, 以便程序的快速調用。
在主函數里完成外設OLED液晶屏的初始化以及按鍵選歌, 當選定某一首歌時(shí), 使能并進(jìn)入定時(shí)器中斷T0, 將定時(shí)器的TH0和TL0初始化, 即TH0=0XFF, TL0=0X00。再給標志位賦值, 使其進(jìn)入目標歌曲的播放函數。每個(gè)音符都有其對應的定時(shí)器初值, 目標歌曲從這首歌的第一個(gè)音符開(kāi)始, 通過(guò)對每個(gè)音符的TH0和TL0進(jìn)行賦值, 即TH0=初始值/256, TL0=初始值%256, 使單片機產(chǎn)生半周期, 每當記數到達時(shí), 輸出脈沖引腳的I/O反相, 然后重復計時(shí)此半個(gè)周期, 再對I/O反相, 這樣就可以使音符產(chǎn)生不同頻率的音調。當然, 如果要構成一首完整的歌, 只有音調是不能夠滿(mǎn)足要求的, 所以還需要合適的節奏, 讓歌曲具有旋律 (固定的律動(dòng)) 。然而, 一首歌的節奏并沒(méi)有嚴格規定, 就像人的心跳一樣, 大部分人的心跳是每分鐘72下, 有些人快一點(diǎn), 有些人慢一點(diǎn)。我們可以憑借自己對歌曲的感受, 對目標歌曲進(jìn)行二次加工, 適當調整十六音符所占的單位時(shí)間以及其他某些地方的音符, 可以使目標歌曲更加動(dòng)聽(tīng), 更加悅耳。把歌曲全部信息納入程序中, 依次播放目標歌曲程序中的的所有的音符, 即可完整的播放這首歌。
表1 C調音階表
值得注意的是, AT89C52單片機的內存只有512比特, 所以每個(gè)數組內的元素都是有限的, 盡量不要超過(guò)這個(gè)量程。如果歌曲太大, 我們可以將歌曲分割為多個(gè)數組, 依次播放, 不過(guò)過(guò)程非常繁瑣。因此在此基礎上我們增加了SD卡, 用于外部拓展內存, 將歌曲存在SD卡中完美的解決了內存不夠的問(wèn)題。
第四章 總結
本系統是一個(gè)集單片機、時(shí)鐘電路、復位電路、OLED、蜂鳴器、按鍵電路、電源模塊等為一體的智能音樂(lè )播放系統, 通過(guò)軟件控制實(shí)現各種音樂(lè )的播放, 提供多方面服務(wù), 以滿(mǎn)足使用者的基本要求。采用通用52單片機實(shí)現設計方案, 可以很容易地移植到其他微控制器系統中, 具有很強的實(shí)用價(jià)值。其設計方案簡(jiǎn)單, 性?xún)r(jià)比高, 而且功耗低, 易擴展, 適用于車(chē)載音樂(lè )播放等多種環(huán)境, 具有廣闊的應用前景。
致謝(略)
參考文獻
[1]徐愛(ài)鈞.單片機原理實(shí)用教程——基于Proteus虛擬仿真[M].北京:電子工業(yè)出版社, 2011.
[2]尹毅峰, 劉龍江.單片機原理及應用[M].北京理工大學(xué)出版社, 2010.
[3]崔葛瑾、沈雄威.數電實(shí)驗“音樂(lè )播放控制電路”的設計與實(shí)現[J].實(shí)驗室研究與探索, 200
[4]何立民.單片機高級教程.第1版[M].北京:北京航空航天大學(xué)出版社, 2001
[5]劉衛鋒等.音樂(lè )與數學(xué)[J].數學(xué)通報, 2005, (4) .
附錄(略)
(如您需要查看本篇畢業(yè)設計全文,請您聯(lián)系客服索取)