2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  1概述</b></p><p>  本設(shè)計(jì)是以AT89C51芯片的電路為基礎(chǔ),外部加上放音設(shè)備,以此來實(shí)現(xiàn)音樂演奏控制器的硬件電路,通過軟件程序來控制單片機(jī)內(nèi)部的定時(shí)器及計(jì)數(shù)器使其演奏出優(yōu)美動(dòng)聽的音樂。用戶可以按照自己的喜好選擇音樂并將其轉(zhuǎn)化成機(jī)器碼存入單片機(jī)的存儲(chǔ)器中。對(duì)于不同型號(hào)的單片機(jī)只需要相應(yīng)的改變一下地址即可。該軟、硬件系統(tǒng)具有很好的通用性,很高的實(shí)際

2、使用價(jià)值,為廣大的單片機(jī)和音樂愛好者提供了很好的借鑒。</p><p><b>  1.1 課題意義</b></p><p>  音樂盒的起源,可追溯至中世紀(jì)歐洲文藝復(fù)興時(shí)期。當(dāng)時(shí)為使教會(huì)的鐘塔報(bào)時(shí),而將大小的鐘表裝上機(jī)械裝置,被稱為“可發(fā)出聲音的組鐘”。音樂盒有著300多年的發(fā)展歷史,是人類文明發(fā)展的歷史見證。</p><p>  傳統(tǒng)的音樂

3、盒多是機(jī)械音樂盒,其工作原理是通過齒輪帶動(dòng)一個(gè)帶有鐵釘?shù)蔫F桶轉(zhuǎn)動(dòng),鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機(jī)械式的音樂盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機(jī)械音樂盒放音時(shí)為了讓音色穩(wěn)定,必須放平不能動(dòng)搖,而且價(jià)格昂貴,不能實(shí)現(xiàn)大批量生產(chǎn)。</p><p>  本文設(shè)計(jì)的音樂盒,是基于單片機(jī)設(shè)計(jì)制作的電子式音樂盒。與傳統(tǒng)的機(jī)械式音樂盒

4、相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂。電子式音樂盒動(dòng)力來源是電池,制作工藝簡(jiǎn)單,可進(jìn)行批量生產(chǎn),所以價(jià)格便宜?;趩纹瑱C(jī)制作的電子式音樂盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便。根據(jù)存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲。</p><p><b>  1.2設(shè)計(jì)題目:</b></p><p>  通過對(duì)設(shè)計(jì)方案的分析與研究,設(shè)計(jì)基于單片機(jī)的數(shù)字音樂盒,通過單片機(jī)來

5、產(chǎn)生固定的頻率的方波來驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),通過單片機(jī)的定時(shí)器來控制該方波持續(xù)的時(shí)間,從而演奏樂曲,采用LED數(shù)碼管在開機(jī)時(shí)顯示開機(jī)信息,在播放時(shí)顯示歌曲序號(hào);通過功能鍵選擇樂曲、暫停、播放;以單片機(jī)的最小系統(tǒng)為基礎(chǔ)設(shè)計(jì)硬件,用匯編語言、或C語言設(shè)計(jì)軟件。通過基于單片機(jī)的數(shù)字音樂盒設(shè)計(jì)這一課程設(shè)計(jì),鍛煉學(xué)生的創(chuàng)新思維。</p><p><b>  1.3設(shè)計(jì)方案</b></p&g

6、t;<p>  設(shè)計(jì)基于單片機(jī)的數(shù)字音樂盒,通過單片機(jī)來產(chǎn)生固定的頻率的方波來驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),通過單片機(jī)的定時(shí)器來控制該方波持續(xù)的時(shí)間,從而演奏樂曲;采用LED數(shù)碼管在開機(jī)時(shí)顯示開機(jī)信息,在播放時(shí)顯示歌曲序號(hào);使用兩個(gè)按鍵,一個(gè)用來切換歌曲,分別是上一曲、下一曲、播放/暫停; </p><p><b>  1.4研究?jī)?nèi)容</b></p><p&g

7、t;  1)電路的工作模式為演奏音樂模式</p><p>  演奏音樂模式:演奏完整的一首的歌曲,陰極LED顯示器演奏歌曲為第幾首。</p><p>  2)按下上一曲,切換歌曲到上一曲,LED顯示器顯示歌曲,共三首歌曲。</p><p>  3)按下下一曲,切換歌曲到下一曲,LED顯示器顯示歌曲,共三首歌曲。</p><p>  4)按下播

8、放/暫停,切換至?xí)和#侔匆幌?,切換至播放。</p><p>  2 系統(tǒng)總體方案介紹</p><p>  2.1 系統(tǒng)組成框圖</p><p>  音樂盒的系統(tǒng)結(jié)構(gòu)以AT89C51單片機(jī)位控制核心,加上3個(gè)按鍵、時(shí)鐘復(fù)位電路、蜂鳴器、LED顯示模塊組成。單片機(jī)負(fù)責(zé)接收按鍵的輸入,根據(jù)輸入控制音樂播放曲目以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖2.1所示。</p>

9、;<p>  圖2.1 系統(tǒng)組成框圖</p><p>  2.2 音樂盒的功能結(jié)構(gòu)圖</p><p>  音樂盒的功能結(jié)構(gòu)如圖2.2所示。按下上一曲,切換歌曲到上一曲,LED顯示器顯示歌曲,共三首歌曲;按下下一曲,切換歌曲到下一曲,LED顯示器顯示歌曲,共三首歌曲;按下播放/暫停,切換至?xí)和#侔匆幌?,切換至播放。</p><p>  圖2.2 音樂盒

10、功能結(jié)構(gòu)圖</p><p>  2.3 主要設(shè)計(jì)軟件介紹</p><p>  本設(shè)計(jì)利用PROTEUS仿真軟件對(duì)音樂盒源程序進(jìn)行編程并調(diào)試,并且PROTEUS仿真軟件對(duì)硬件進(jìn)行仿真調(diào)試,軟件的簡(jiǎn)介如下:</p><p>  2.3.1 PROTEUS軟件簡(jiǎn)介</p><p>  Proteus軟件是英國(guó)Labcenter electronic

11、s公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完

12、整設(shè)計(jì)。</p><p><b>  AT89C51簡(jiǎn)介</b></p><p>  AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的

13、單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖3.2所示</p><p>  圖3

14、.0 AT89C51系列單片機(jī)</p><p><b>  3.1設(shè)計(jì)目的</b></p><p>  設(shè)計(jì)一個(gè)音樂播放器,有三個(gè)按鍵及控制按鈕:播放/暫停、下一曲、上一曲;通過控制按鈕控制單片機(jī),播放所要求的音樂,并通過放大電路和喇叭輸出聲音。同時(shí)通過LED燈顯示器,用來顯示所選曲目,該顯示器在音樂播放中關(guān)閉,一曲演奏結(jié)束時(shí),或選曲時(shí)才顯示曲目信息,從而利于操作。

15、</p><p><b>  3.2電路設(shè)計(jì)原理</b></p><p>  圖3.2電路設(shè)計(jì)原理圖</p><p>  3.3 總體電路設(shè)計(jì)</p><p>  圖3.3 總體電路圖</p><p>  3.4單片機(jī)電路設(shè)計(jì)</p><p>  89C51單片機(jī)擁有4KB

16、的片內(nèi)ROM和128B的片內(nèi)RAM。ROM和RAM的片外尋址范圍都為64KB。單片機(jī)擁有32個(gè)并行口和1個(gè)串行口。在89C51單片機(jī)中存在5個(gè)中斷源,其中有兩個(gè)外部中斷源、兩個(gè)內(nèi)部中斷源和一個(gè)串行中斷源。</p><p>  圖3.4  89C51單片機(jī)引腳圖</p><p>  通過TXAL1 與TXAL2輸入時(shí)鐘信號(hào),通過p1.0~p1.7輸出控制現(xiàn)實(shí)控制信號(hào)的顯示,有p3.2、p3.

17、3與p3.5分別作為上一曲、下一曲和開始暫停的控制輸入。</p><p><b>  3.5顯示電路設(shè)計(jì)</b></p><p>  顯示電路是一個(gè)8位共陰極LED數(shù)碼管。 單片機(jī)的P0.0-P0.7分別與數(shù)碼管的A、B、C、D、E、F、G、DP相連接。</p><p>  圖3.5 8位共陰極LED燈</p><p>

18、  3.6 晶振時(shí)間電路設(shè)計(jì)</p><p>  晶振電路由兩個(gè)30pF的電容和一個(gè)6Mhz的晶體振蕩器組成。節(jié)點(diǎn)1與單片機(jī)的XTAL2相連接,節(jié)點(diǎn)2與單片機(jī)的XTAL1相連接,從而為單片機(jī)提供時(shí)間信號(hào),為音樂的播放節(jié)拍控制提供基本時(shí)間單位:當(dāng)晶體振蕩頻率為6MHz,定時(shí)器工作在方式1下時(shí),若各音階相對(duì)應(yīng)的定時(shí)器計(jì)數(shù)初值為X,則可根據(jù)下式計(jì)算X:</p><p><b>  圖3

19、.6 晶振電路</b></p><p>  3.7 控制電路設(shè)計(jì)</p><p>  控制電路,鍵一與p3.2相連、鍵二與p3.3相連、鍵3與p3.5相連。當(dāng)電鍵按下時(shí)接口接低電平,從而實(shí)現(xiàn)對(duì)音樂播放器的控制。鍵一聯(lián)通實(shí)現(xiàn)上一曲更換,鍵二聯(lián)通實(shí)現(xiàn)下一曲更換,鍵三聯(lián)通實(shí)現(xiàn)開始暫停操作。</p><p><b>  圖3.7 復(fù)位電路</b&

20、gt;</p><p>  3.8 輸出電路設(shè)計(jì)</p><p>  發(fā)聲電路由數(shù)字揚(yáng)聲器連接p2.0接口實(shí)現(xiàn)音樂的輸出,由控制電路發(fā)出操作指令后,單片機(jī)調(diào)用相應(yīng)程序,并將音樂信號(hào)由p2.0口輸出,通過驅(qū)動(dòng)揚(yáng)聲器發(fā)出美妙的音樂。</p><p><b>  圖3.8 輸出電路</b></p><p><b> 

21、 4.系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  4.1 總體流程圖</b></p><p>  主程序?qū)崿F(xiàn)對(duì)單片機(jī)進(jìn)行初始化后,進(jìn)入曲目識(shí)別子程序,進(jìn)行歌曲曲目判斷。確定歌曲曲目后,數(shù)碼管再進(jìn)行顯示。然后,子程序?qū)κ欠癫シ胚M(jìn)行循環(huán)判斷,得到播放中斷的指令后再進(jìn)行播放。</p><p>  執(zhí)行播放后,關(guān)閉數(shù)碼管顯示并調(diào)用查表

22、子程序進(jìn)行播放音樂。在播放音樂的過程中,查表子程序循環(huán)判斷音樂是否結(jié)束。當(dāng)音樂結(jié)束時(shí),程序跳轉(zhuǎn)回曲目識(shí)別子程序。</p><p>  圖4.1 總體流程圖</p><p>  4.2單片機(jī)音階代碼實(shí)現(xiàn)</p><p>  音調(diào)的高低用音階表示,不同的音階對(duì)應(yīng)不同的頻率。因此,不同頻率的方波就可以產(chǎn)生音階,音階與頻率的關(guān)系見表1。由于頻率的倒數(shù)是周期,因此可由單片機(jī)中

23、的定時(shí)控制方波周期,當(dāng)定時(shí)器計(jì)數(shù)溢出時(shí)產(chǎn)生中斷。將與揚(yáng)聲器連接的P1.7取反后就可得到方波的周期,從而達(dá)到了控制頻率,即音階的目的。</p><p>  音階與頻率的關(guān)系及 如下表:</p><p>  注:0表示簡(jiǎn)譜中的空拍</p><p>  表4-2 方式1下定時(shí)器的初值</p><p>  當(dāng)晶體振蕩頻率為6.144MHz,定時(shí)器工作

24、在方式1下時(shí),若各音階相對(duì)應(yīng)的定時(shí)器計(jì)數(shù)初值為X,則可根據(jù)下式計(jì)算X:</p><p>  音調(diào)的長(zhǎng)短用節(jié)拍數(shù)表示(例如1/4拍、2/4拍、……),不同節(jié)拍數(shù)的不同音符的組合形成樂譜。程序中,音的節(jié)拍可由延時(shí)子程序?qū)崿F(xiàn)。延時(shí)子程序設(shè)定為四分之一拍,節(jié)拍值只能是它的整數(shù)倍。</p><p>  4.3 單片機(jī)產(chǎn)生不同頻率脈沖信號(hào)的原理:</p><p>  (1)要產(chǎn)

25、生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對(duì)I/O反相,就可以在I/O腳上得到此頻率的脈沖。</p><p> ?。?)利用8051的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下:</p><p>  

26、例如,頻率為523Hz,其周期天/523 S=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù)956次時(shí)就將I/O反接,就可得到中音DO(532Hz)。</p><p>  計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi/2/Fr</p><p> ?。∟:計(jì)數(shù)值,F(xiàn)i:內(nèi)部計(jì)時(shí)一次為1uS,故其頻率為1MHz,F(xiàn)r:要產(chǎn)生的頻率 )</p><p>

27、; ?。?) 其計(jì)數(shù)值的求法如下:</p><p>  T=65536-N=65536-Fi/2/Fr</p><p><b>  計(jì)算舉例:</b></p><p>  設(shè)K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計(jì)數(shù)值。</p><p&

28、gt;  T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr</p><p>  低音DO的T=65536-500000/262=63627</p><p>  中音DO的T=65536-500000/523=64580</p><p>  高音DO的T=65536-500000/1047=65059

29、</p><p> ?。?)C調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對(duì)照表如下表所示: </p><p>  表4-3-1 C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表</p><p> ?。?)每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,下表為節(jié)拍碼的對(duì)照。但如果1拍為0.4秒,1/4拍是0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4節(jié)拍為1DELA

30、Y,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如下表為1/4和1/8節(jié)拍的時(shí)間設(shè)定。</p><p>  表4-2-2 節(jié)拍碼對(duì)照表</p><p>  表4-3-3 各調(diào)節(jié)拍的時(shí)間設(shè)定表</p><p>  四分之一拍延時(shí)代碼設(shè)計(jì):</p><p>  1/4拍的延遲時(shí)間=187毫秒&l

31、t;/p><p>  DELAY: MOV R7,#2</p><p>  D2: MOV R4,#187</p><p>  D3: MOV R3,#248</p><p>  DJNZ R3,$</p><p>  DJNZ R4,D3</p><p>  

32、DJNZ R7,D2</p><p><b>  RET</b></p><p>  4.4 音樂代碼實(shí)現(xiàn)</p><p>  4.4.1音樂代碼庫的建立方法</p><p> ?。?)先找出樂曲的最低音和最高音范圍,然后確定音符表T的順序。</p><p> ?。?)把T值表建立在TABLE1

33、,構(gòu)成發(fā)音符的計(jì)數(shù)值放在“TABLE”。</p><p> ?。?)簡(jiǎn)譜碼(音符)為高位,節(jié)拍為(節(jié)拍數(shù))為低4位,音符節(jié)拍碼放在程序的“TABLE”處。</p><p> ?。?)音符節(jié)拍碼00H為音樂結(jié)束標(biāo)記。</p><p><b>  4.4.2選曲</b></p><p>  在一個(gè)程序中,需要演奏兩首或兩首以

34、上的歌曲時(shí),音樂代碼庫的建立有兩種方法:</p><p> ?。?)將每首歌曲建立相互獨(dú)立的音符表T和發(fā)音符計(jì)數(shù)值TABLE。</p><p> ?。?)在建立公用音符表T后,再寫每首歌的發(fā)音計(jì)數(shù)值TABLE中的代碼</p><p>  不管采用那種方法,每首歌曲結(jié)束時(shí),在TABLE中均需加上音樂結(jié)束符00H。</p><p>  4.4.3

35、歌曲的設(shè)計(jì)</p><p>  下面以歌曲《軍港之夜》的設(shè)計(jì)為例,講述歌曲在單片機(jī)中的實(shí)現(xiàn)。曲譜如下圖所示</p><p>  圖4.4.3《軍港之夜》樂譜</p><p>  從歌中可看出,最低音為低7Si,最高音為高1Do。根據(jù)音樂軟件的設(shè)計(jì)方法,簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)如表所示。</p><p>  表4-4-3 簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼

36、、T值、節(jié)拍數(shù)</p><p>  《軍港之夜》代碼實(shí)現(xiàn)如下:</p><p>  SONG1: DB 04H ;1=C 2/4 軍港之夜</p><p>  DB 32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0

37、E1H,0D2H,0C2H,14H,14H</p><p>  DB 0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H</p><p>  DB 34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,3

38、2H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H</p><p>  DB 22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H</p>

39、;<p>  DB 32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H</p><p>  DB 32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,

40、0C2H,14H,14H</p><p>  DB 32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H</p><p>  DB 0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H

41、,21H,12H,24H,24H</p><p>  DB 34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H</p><p>  DB 22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,5

42、2H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H</p><p>  DB 32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H&

43、lt;/p><p>  DB 32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H</p><p>  DB 32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H</p><p><b>  DB 00H&

44、lt;/b></p><p>  TABLE2:DW 63835,64021,64103,64260,64400,64524,64580,64684,64777</p><p>  DW 64820,64898,64968,65030,65058,65110,65157,65178</p><p>  《死了都要愛》代碼實(shí)現(xiàn)如下:</p><

45、;p>  SONG2: DB 02H;1=C 4/4 死了都要愛</p><p>  DB 04H,94H</p><p>  DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H</p><p>  DB 0A4H,0A2H,0B2H,0B4H,0C4H,

46、84H,82H,92H,94H,0A4H</p><p>  DB 04H,0C2H,0C2H,0D4H,0C2H,0D2H,0D8H,0D4H,0D2H,92H</p><p>  DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H</p><p>  DB 0A4

47、H,0A2H,0B2H,0B4H,0C4H,0E8H,0D8H</p><p>  DB 0C8H,0C8H,08H,08H,78H,28H,38H,34H,24H</p><p>  DB 24H,64H,64H,24H,64H,72H,72H,78H,58H,54H,44H,38H,34H,14H,34H,84H,74H,74H,62H,62H,0D8H,78H,28H,38H,34H

48、,24H</p><p>  DB 24H,64H,64H,24H,64H,72H,72H,72H,94H,92H,94H,0A4H,58H,58H,54H,44H ;#音不準(zhǔn)</p><p>  DB 58H,58H,58H,58H,0A8H,0A8H,0A4H,0B4H,0A4H,84H,0A4H,94H,98H,98H,08H</p><p>  DB 84

49、H,82H,82H,82H,82H,94H,0A2H,94H,92H,82H,74H,72H,74H,72H,72H,72H,72H,92H,91H,91H,94H,54H,74H,94H</p><p>  ;;*************************************************</p><p>  DB 0A8H,0A4H,0A2H,0B2H,0C4H,

50、0B4H,0A4H,0A4H,0A4H,92H,92H,98H,82H,72H,78H,04H,0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H</p><p>  DB 04H,0C4H,0D4H,0C4H,0C8H,04H,94H</p><p>  DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B

51、4H,84H,84H,92H,92H,94H,92H,02</p><p>  DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H</p><p>  DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,9

52、2H,92H,94H,92H,02</p><p>  DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H</p><p>  ;*************</p><p>  DB 0A4H,0A2H,0B2H,0B3H,0C4H,0E8H,

53、0D8H</p><p>  DB 0C8H,0C8H,0C8H,08H</p><p><b>  DB 00H</b></p><p>  《中華人民共和國(guó)國(guó)歌》代碼實(shí)現(xiàn)如下:</p><p>  ONG3: DB 03H ;G=2/4 中華人民共和國(guó)國(guó)歌</p><p>

54、  DB 04H,04H,0C2H,14H,12H,12H,12H,11H,11H,0C2H,0D1H,0E1H,14H,14H,02H,32H,12H,21H,31H,52H,51H,51H,54H</p><p>  DB 32H,31H,31H,12H,11H,31H,52H,51H,31H,24H,24H,24H,64H,54H,24H,34H,52H,34H,52H,32H,21H,31H,12H,11

55、H,21H,34H,04H</p><p>  DB 52H,51H,0D1H,12H,12H,32H,31H,31H,52H,51H,51H,22H,22H,22H,0D2H,0D1H,0D1H,24H,22H,0C2H,14H,12H,12H,34H,32H,32H,54H,54H,54H,54H</p><p>  DB 12H,11H,31H,52H,51H,51H,64H,54H

56、,32H,31H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H</p><p>  DB 0A2H,0A1H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H,0C4H,14H,0C4H,14H,14H,04H</p><p>  DB 04H,04H,04H,04H</p><p><b&g

57、t;  DB 00H</b></p><p><b>  END;</b></p><p><b>  4.5 鍵控子程序</b></p><p>  鍵控子程序主要由播放/暫停子程序、上一曲子程序、下一曲子程序組成,分別由一個(gè)計(jì)數(shù)器中斷和兩個(gè)外部中斷實(shí)現(xiàn)。</p><p>  4.5.

58、1 播放/暫停子程序</p><p>  播放/暫停在程序利用內(nèi)部中斷T0口。將T0口設(shè)為計(jì)數(shù)中斷并工作在方式2下。標(biāo)識(shí)符初值賦值為R1=00H,計(jì)數(shù)初值設(shè)為TH0=0FFH,TL0=0FFH。當(dāng)按鍵第一次產(chǎn)生中斷信號(hào)時(shí),播放/暫停子程序改變標(biāo)志符R1,將其賦值為01H。此時(shí)播放器由暫停狀態(tài)進(jìn)入播放狀態(tài)。當(dāng)按鍵第二次產(chǎn)生中斷信號(hào)時(shí),播放/暫停子程序判斷R1是否為02H后,將R1再次賦值為00H。此時(shí),播放器由播放

59、狀態(tài)進(jìn)入暫停狀態(tài)。</p><p>  圖4.5.1 播放/暫停子程序流程圖</p><p><b>  代碼實(shí)現(xiàn)如下:</b></p><p>  POP DPL ;恢復(fù)現(xiàn)場(chǎng)</p><p><b>  POP DPH</b></p><p><b> 

60、 POP ACC</b></p><p><b>  SETB EA</b></p><p>  RETI ;中斷返回</p><p>  START_PAUSE:CPL F0 ;開始/暫停中斷處理程序,將標(biāo)置位取反</p><p>  JB F0,

61、RETURN ;為1返回</p><p>  SETB TR0 ;為0則播放</p><p>  RETURN: RETI ;中斷返回</p><p>  DELAY: MOV 27H,26H ;音符演奏時(shí)間控制</p><p>  D2:

62、 MOV 28H,#125</p><p>  D3: MOV 29H,#248 </p><p>  DJNZ 29H,$</p><p>  DJNZ 28H,D3 </p><p>  DJNZ 27H,D2 </p><p>  DJNZ R2,DELAY</p><

63、;p><b>  RET</b></p><p>  4.5.2 曲目選擇子程序</p><p>  曲目選擇子程序分為上一曲子程序和下一曲子程序。上一曲和下一曲功能實(shí)現(xiàn)方式類似,分別由外部中斷和外部中斷。下面以實(shí)現(xiàn)上一曲功能為例:首先設(shè)置標(biāo)識(shí)符R7初始值為00H。當(dāng)按鍵產(chǎn)生中斷信號(hào),上一曲中斷子程序改變標(biāo)識(shí)符R7的值為01H并改變曲目R0的值。播放子程序判斷出

64、標(biāo)識(shí)符R7改變后,先將R7賦值為00H,然后跳轉(zhuǎn)到曲目識(shí)別子程序。</p><p>  圖4.5.2 曲目選擇子程序流程圖</p><p><b>  代碼實(shí)現(xiàn)如下:</b></p><p>  POP DPL;恢復(fù)現(xiàn)場(chǎng)</p><p><b>  POP DPH</b></p>

65、;<p><b>  POP ACC</b></p><p><b>  SETB EA</b></p><p>  RETI ;中斷返回</p><p>  LAST_SONG: PUSH ACC ;上一曲中斷程序處理開始,保護(hù)

66、現(xiàn)場(chǎng) </p><p><b>  PUSH DPH</b></p><p>  PUSH DPL </p><p>  CLR EA ;關(guān)中斷</p><p>  MOV A,22H ;曲目數(shù)送A</p&g

67、t;<p>  CJNE A,#1,QQ ;是否是第一首</p><p>  MOV 22H,#N ;是第一首歌曲</p><p>  MOV B,#4 ;將R7指向最后一首歌曲</p><p>  MOV A,#N-1</p><p><b>  MU

68、L AB</b></p><p><b>  MOV R7,A</b></p><p>  AJMP BACK2 ;處理結(jié)束</p><p>  QQ: DEC 22H </p><p>  MOV A,R7 ;R7減4</p><p>

69、;<b>  SUBB A,#4</b></p><p><b>  MOV R7,A</b></p><p>  BACK2: MOV R4,#00H </p><p><b>  MOV A,22H</b></p><p>  MOV DPTR,#OUT_TAB&l

70、t;/p><p>  MOVC A,@A+DPTR</p><p>  MOV OUT_NUM,A ;數(shù)碼管顯視相應(yīng)歌曲的編號(hào)</p><p><b>  5.電路仿真調(diào)試</b></p><p><b>  5.1 仿真平臺(tái)</b></p><p>  仿真平臺(tái)為Pr

71、oteus軟件。Proteus軟件是世界上著名的EDA工具,能完成原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì)它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前最好的仿真單片機(jī)及外圍器件的工具。</p><p><b>  5.2 仿真測(cè)試</b></p><p>  開始仿真后,音樂播放器處于暫停狀態(tài)如圖:</p&

72、gt;<p>  圖5.2.1 初始數(shù)碼管顯示圖</p><p>  點(diǎn)擊播放,播放器進(jìn)入播放狀態(tài),數(shù)碼管顯示為一,開始默認(rèn)從第一首《軍港之夜》開始播放如圖:</p><p>  圖5.2.2 開始播放仿真實(shí)現(xiàn)</p><p>  按鍵一及p3.2低電位,開始播放上一曲(第三首《中華人民共和國(guó)國(guó)歌》)如圖:</p><p>  

73、圖5.2.3開始播放上一曲仿真</p><p>  按鍵二及p3.3低電位,開始播放下一曲(第二首《死了也要愛》)如圖:</p><p>  圖5.2.3播放下一曲仿真</p><p>  再次點(diǎn)擊播放/暫停鍵,播放進(jìn)入播放狀態(tài),數(shù)碼管關(guān)閉。</p><p><b>  5.3 測(cè)試總結(jié)</b></p>&

74、lt;p>  音樂播放器很好的實(shí)現(xiàn)了播放/暫停、上一曲、下一曲的功能,并滿足了數(shù)碼管顯示的特殊要求。 音效良好,能很好聽出樂曲的曲名。當(dāng)然設(shè)計(jì)的音樂播放器也存在著不足之處。8位LED數(shù)碼管只能顯示10以內(nèi)的歌曲曲目,超過10將無法顯示。</p><p>  調(diào)試過程中所遇到的問題:</p><p>  1)運(yùn)行程序時(shí)LED4位共陰數(shù)碼管顯示程亂碼。</p><p&

75、gt;  原因分析:數(shù)碼管初始設(shè)置有錯(cuò)。</p><p>  解決方案:重新設(shè)置數(shù)碼管顯示參數(shù),</p><p>  2)數(shù)碼管顯示的時(shí)間與真正的時(shí)間進(jìn)度不一致。</p><p>  原因分析:定時(shí)器初值設(shè)置有誤。本次設(shè)計(jì)的晶振為6MHZ,而程序中的初值卻設(shè)置成了6MHZ晶振所采用的值5000,導(dǎo)致顯示的時(shí)間比真正的時(shí)間要慢。</p><p>

76、;  解決方案:將定時(shí)器初值改為6MHZ晶振初值的一半,及2500即可。</p><p><b>  6.設(shè)計(jì)心得</b></p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是

77、無處不在。因此作為自動(dòng)化專業(yè)的學(xué)生來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。 我的題目是音樂播放器硬軟件的設(shè)計(jì),對(duì)于我們這些工科學(xué)生來說,這是一次考驗(yàn)。怎么才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣讓自己的業(yè)余更接近專業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無一用?這都是我們所要考慮和努力的。這次課程設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。不僅鞏固了

78、以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><p>  同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠

79、牢固,對(duì)單片機(jī)匯編語言掌握得不夠好。這次課程設(shè)計(jì)通過自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 魏立峰.單片機(jī)原理及應(yīng)用.北京大學(xué)出版社,2003。</p><p>  [2] 譚浩強(qiáng).C程序設(shè)計(jì)(第二版).清華大學(xué)出版社,1999。</p>

80、<p>  [3] 王曉君.安國(guó)臣等. MCS—51及兼容單片機(jī)原理與選型. 北京-電子工業(yè)出版社, 2003。</p><p>  [4] 陳明熒. 80C51單片機(jī)課程設(shè)計(jì) .清華大學(xué)出版社.2005。</p><p>  [5] 蘭吉昌.51單片機(jī)應(yīng)用設(shè)計(jì)百例.化學(xué)工業(yè)出版社.2009。</p><p>  [6] 吳戈.案例學(xué)單片機(jī)C語言開發(fā).

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論