【正文】
基于 AT89S52 的玩具電子琴設(shè)計(jì) 摘要: 隨著電子技術(shù)的發(fā)展,數(shù)字系統(tǒng)正朝著速度快、容量大、體積重量輕的方向發(fā)展。在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。其中尤其單片機(jī)技術(shù)的不斷發(fā)展,使得單片機(jī)在日用生活用品中的應(yīng)用越來越廣泛。本文利用 AT89S52 單片機(jī),設(shè)計(jì)了一種玩具電子琴,該電子琴除了可以演奏 18 八個(gè)音符以外,還可以自動(dòng)播放兩首歌曲,是單片機(jī)的又一擴(kuò)展應(yīng)用。本文詳細(xì)介紹了 電子琴的工作原理及硬件軟件設(shè)計(jì),并制作了實(shí)物,測試結(jié)果顯示,系統(tǒng)運(yùn)行良好。 關(guān)鍵詞:單片機(jī) 蜂鳴器 音樂 Abstract:With the development of electronic technology, digital system is moving fast, large capacity, the volume and the weight of the light direction. Under its impetus, the modern electronic products perated almost every field of the society, a strong impetus to the development of social productivity and the improvement of social informationbased degree, simultaneously also makes the modern electronic products to further improve the performance, product upgrading are increasingly fast pace. Development especially puter technology, the microputer applications in daily life supplies more and more widely in the. In this paper, using AT89S52 microcontroller, design a toy electronic an, the an, in addition to playing eight notes, can also automatically play two songs, is an extended application of mcu. This paper introduces the working principle and hardware and software design of the electronic an, and create a physical, test results show that, the system runs well Keyword: MCU buzzer music 目 錄 第 1 章 緒論 1 概述 1 研究內(nèi)容 3 理論基礎(chǔ) 5 第 2 章 硬件設(shè)計(jì) 1 方案論證及系統(tǒng)設(shè)計(jì) 1 系統(tǒng)硬件分析 1 單片機(jī)小系統(tǒng) 25 供電模塊 25 第 3 章 軟件設(shè)計(jì) 1 KEIL 軟件介紹 1 系統(tǒng)流程 1 系統(tǒng)主流程 25 中斷初始化流程 25 第 4 章 仿真測試 25 PROTEUS 軟件介紹 25 系統(tǒng)主要仿真圖 25 測試 25 致謝 59 參考文獻(xiàn) 60 附錄 代碼 63 第 1 章 緒論 概述 目前單片機(jī)的應(yīng)用滲透到我們生活的各個(gè)領(lǐng)域 ,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置、飛機(jī)上各種儀表的控制、計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理、廣泛使用的各種智能 IC卡、民 用豪華轎車的安全保障系統(tǒng)、錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制、以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。 我們所熟知的是單片機(jī) 在測試控制領(lǐng)域中的廣泛應(yīng)用,但是除了這些之外,單片機(jī)還有一些 有趣的應(yīng)用。比如 ,使用單片機(jī)可以驅(qū)動(dòng)蜂鳴器或者揚(yáng)聲器發(fā)出聲音并且還可以控制其發(fā)出不同的 聲調(diào) ,從而連接起來構(gòu)成一個(gè)歌曲。 目前 市場上有很多種音樂模塊或者音樂芯片,可以直接產(chǎn)生各種曲子。但是這種 模塊價(jià)格比較昂貴 ,電路結(jié)構(gòu)也相對比較復(fù)雜。如果系統(tǒng)中僅需要產(chǎn)生簡單的音符或 者簡短的曲子, 可以使用單片機(jī)配合簡單的揚(yáng)聲器而產(chǎn)生所需要的音樂效果。 一般說來,單片機(jī)不像其他專業(yè)樂器那樣能奏出多種音色的聲音,即不包含相應(yīng)幅度的諧波頻率。單片機(jī)演奏的音樂基本都是單音頻率。因此單片機(jī)演奏音樂比較簡單,只需要清楚“音調(diào)”和“節(jié)拍”就可以。 本文使用 AT89S52 單片機(jī)設(shè)計(jì)了一個(gè)音樂播放器,能夠演奏八個(gè)音符跟自動(dòng)演奏兩首歌曲,該設(shè)計(jì)能使我們能夠掌握用定時(shí)器的控制播放樂曲原理和設(shè)計(jì)方法,對大學(xué)期間所學(xué)習(xí)的一些理論進(jìn)行了實(shí)踐,使我們對所學(xué)過的理論知識(shí)有了新的認(rèn)識(shí)。并且通過該設(shè)計(jì)課題掌握了 MC51 單片機(jī)的的軟硬件開發(fā)工具的使用方法,為以后從事相關(guān)行業(yè)的工作積累了實(shí)際工作經(jīng)驗(yàn)。目前我國的信息行業(yè)發(fā)展迅速,因此此課題對自己的就業(yè)有非?,F(xiàn)實(shí)與積極的意義。 研究內(nèi)容 電子琴有著漂亮的外觀,清澈洪亮的聲音,它是現(xiàn)代電子科技與音樂的產(chǎn)物,在現(xiàn)代音樂中扮演著重要的角色,單片機(jī)對于電子琴的設(shè)計(jì)具有強(qiáng)大的控制功能。本文主要任務(wù)是,基于 AT89S52 單片機(jī)設(shè)計(jì)一個(gè)能夠播放八個(gè)音符跟自動(dòng)播放兩首歌曲的電子琴。 利用 PROTEL99 設(shè)計(jì)玩具電子琴的原理圖 基于 KEIL 軟件編寫音樂 播放器程序代碼 制作實(shí)物 對所做設(shè)計(jì)進(jìn)行測試 理論基礎(chǔ) 單片機(jī)音樂播放器是利用單片機(jī)產(chǎn)生樂曲音符 ,再把樂曲音符翻譯成計(jì)算機(jī)音樂語言,用單片機(jī)進(jìn)行信息處理,再通過蜂鳴器或喇叭放出音樂。 音樂的產(chǎn)生主要是通過單片機(jī)的 I/O 口輸出高低不同的脈沖信號(hào)來控制蜂鳴器發(fā)音。要想產(chǎn)生音頻脈沖信號(hào) ,需要算出某一音頻的周期 (1/頻率 ),然后將此周期除以 2,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半個(gè)周期 時(shí)間 ,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的 I/O 口反相 ,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對 I/O口反相 I/O 口上得到此頻率的脈沖。 通常, 利用單片機(jī)的內(nèi)部定時(shí)器 T0 0下 TH0和 TL0 來產(chǎn)生不同頻率。 對于音樂的節(jié)拍 ,每個(gè)音符使用 1個(gè)字節(jié) ,字節(jié)的高 4位代表音符的高低 4位代表音符的節(jié)拍。如果 1 拍為 , 1/4 拍為 ,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè) 1/4 拍為 1DELAY,那么 1拍應(yīng)為 4DELAY,以此類推,所以只要求得 1/4 拍的 DELAY,其余的節(jié)拍就是它的倍數(shù)。 總而言之 ,一首樂曲是由音階和節(jié)拍兩大要素構(gòu)成。一首樂曲演奏的原理是,不同音階分別對應(yīng)不同的頻率,發(fā)出 不同的音調(diào),而節(jié)拍則控制發(fā)出音調(diào)時(shí)間的長短,若將樂曲的音調(diào)連續(xù)發(fā)出,并使其按相應(yīng)的節(jié)拍變化,即可演奏一