畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的音樂播放器的設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的音樂播放器的設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的音樂播放器的設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的音樂播放器的設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的音樂播放器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖南工程職業(yè)技術(shù)學(xué)院hunan engineering polytechnic畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目: 基于單片機(jī)音樂播放器的設(shè)計(jì) 系部: 信息工程系 專 業(yè):電子信息工程(自動(dòng)控制) 學(xué) 生 姓 名: 班 級:31082-2 助教職稱的填寫在第二行;如只有一位指導(dǎo)教師則去掉第二行,如有三位教師,則再添加一行。學(xué)號 指導(dǎo)教師姓名: 職稱 講師 最終評定成績 2011年 4月- 1 -目 錄 第一部分 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告第二部分 畢業(yè)論文2湖南工程職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)湖南工程職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)開題報(bào)告 (_2011屆)系部: 信息工程系 專 業(yè): 電子信息工程(

2、自動(dòng)控制) 學(xué) 生 姓 名: 班 級:31082-2 學(xué)號 指導(dǎo)教師姓名: 職稱 講師 2011年 4月14日題目:基于單片機(jī)音樂播放器的設(shè)計(jì)文獻(xiàn)綜述:單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講,一塊芯片就成了一臺計(jì)算機(jī)。 mcs-51單片機(jī)是美國intel公司于1980年推出的產(chǎn)品,與mcs- 48單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng),在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達(dá)111條,mcs-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,mcs-51系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品,各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與ms

3、c-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)?;趩纹瑱C(jī)的音樂播放器可應(yīng)用于mp3,mp4,擴(kuò)音器等很多方面,并可作為很多系統(tǒng)的輔助功能,作為單片機(jī)的重要硬件資源之一,利用定時(shí)器可以產(chǎn)生各種固定頻率的方波信號,也可以產(chǎn)生包括do、re、me-等音階在內(nèi)的各種頻率聲音。將各個(gè)音階連接在一起,便可組成一支曲子或是演奏一段旋律。基于這個(gè)思想,我設(shè)計(jì)了一款特殊的音樂播放器,本播放器可實(shí)現(xiàn)播放、暫停、復(fù)位等功能。為了體現(xiàn)樂曲播放過程中的動(dòng)態(tài)效果,增加了1只led,作隨機(jī)閃爍以指示旋律的節(jié)奏。由于時(shí)間及條件限制,本設(shè)計(jì)實(shí)現(xiàn)了一種簡單的音樂播放器,其核心器件采用at89c52單片機(jī),本播放器具有電路簡單,功能強(qiáng)大

4、,易于拓展等特點(diǎn)。在此基礎(chǔ)上,可以添加按鍵,led顯示屏等模塊,實(shí)現(xiàn)切換歌曲,歌曲序號的顯示。此音樂播放器實(shí)現(xiàn)的控制功能如下:1.程序中存有5首歌曲;2.按下某鍵后,能選擇歌曲,并通過led顯示歌曲序號。 2.選題依據(jù)、主要研究內(nèi)容、研究思路及方案:通過控制定時(shí)器的定時(shí)時(shí)間來產(chǎn)生不同頻率的方波,驅(qū)動(dòng)喇叭發(fā)出不同音階的聲音,再利用延遲來控制發(fā)音時(shí)間的長短,即可控制音調(diào)中的節(jié)拍。把樂譜中的音符和相應(yīng)的節(jié)拍變換為定常數(shù)和延遲常數(shù),作為數(shù)據(jù)表格存放在存儲(chǔ)器中。由程序查表得到定時(shí)常數(shù)和延遲常數(shù),分別用以控制定時(shí)器產(chǎn)生方波的頻率和發(fā)出該頻率方波的持續(xù)時(shí)間。當(dāng)延遲時(shí)間到時(shí),再查下一個(gè)音符的定時(shí)常數(shù)和延遲常數(shù)

5、。依次下去,就可以自動(dòng)演奏樂曲。3.進(jìn)度及具體安排: 第1周:查閱參考文獻(xiàn)和相關(guān)資料。 第2周:通過反復(fù)閱讀、揣摩參考文獻(xiàn)和相關(guān)資料,弄清楚研究對象的基本原理。 第3-4周:完成論文初稿。 第5-11周:遞交初稿,并在指導(dǎo)老師的幫助下,完成論文的修改,確定終稿。 第12周:再次檢查、確認(rèn)終稿符合要求后,打印、刻錄光盤,遞交正式論文,同時(shí)準(zhǔn)備論文答辯。4.指導(dǎo)教師意見。指導(dǎo)教師: 年 月 日教研室意見教研室主任: 年 月 日- 25 -湖南工程職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 音樂播放器 系 (部):信息工程系 專 業(yè):電子自控 學(xué) 號:2 學(xué)生姓名: 指導(dǎo)老師: 講 師2011年4月15 日摘 要

6、 隨著科技的發(fā)展,市場上出現(xiàn)了許許多多的音樂播放器。人們對播放器的需求也越來越廣泛,要求越來越高。本篇論文介紹了音樂播放器的一種設(shè)計(jì)方法,此設(shè)計(jì)是利用單片機(jī)產(chǎn)生樂曲音符,再把樂曲音符翻譯成計(jì)算機(jī)音樂語言,由單片機(jī)進(jìn)行信息處理,再通過喇叭放出音樂。論文介紹了音樂播放器的硬件設(shè)計(jì)和軟件設(shè)計(jì)的方法。硬件電路主要由at89c52單片機(jī)芯片,數(shù)碼顯示電路,按鍵電路和蜂鳴電路四個(gè)部分。其中數(shù)碼顯示電路通過單片機(jī)的p0端口輸出的數(shù)據(jù)控制。軟件程序部分采用語言是c語言。關(guān)鍵字:單片機(jī),音樂播放器,led顯示,按鍵控制目 錄目 錄- 2 -第1章 前言- 3 -1.2 音樂播放器的發(fā)展- 3 -第2章 音樂播放

7、器的原理簡述- 4 -2.1 音頻脈沖的產(chǎn)生- 4 -2.2 音樂節(jié)拍的產(chǎn)生- 5 -2.3 移 調(diào)- 6 -第3章 設(shè)計(jì)方案- 7 -3.1 硬件電路的設(shè)計(jì)- 7 -3.2 音樂軟件的設(shè)計(jì)- 10 -第四章 仿真與調(diào)試- 21 -4.1 hex文件的生成- 21 -4.2 在原理圖上仿真與調(diào)試- 21 -4.3 在實(shí)物上調(diào)試- 21 -結(jié) 論- 23 -致 謝- 24 -參考文獻(xiàn)- 25 -第1章 前言1.1 音樂播放器的意義從音樂產(chǎn)生開始,音樂就成了我們生活中不可或缺的一部分。隨著時(shí)間的發(fā)展,不同的音樂播放器也應(yīng)運(yùn)而生。我也對其進(jìn)行了簡單的研究,設(shè)計(jì)了一個(gè)簡單的音樂播放器。1.2 音樂播放

8、器的發(fā)展 幾千年來,各種樂器的發(fā)聲無一不是依靠琴弦,簧片,哨片引起管柱振動(dòng)而作為聲源的。隨著現(xiàn)代電子工業(yè)技術(shù)的發(fā)展,一種新的聲源來制造音響的新型樂器脫穎而出,這就是目前人們熟知的電子音樂播放器。目前市場上的音樂播放器形形色色,例如大家所熟悉的mp3,隨著電子技術(shù)的不斷發(fā)展,音樂播放器的音樂播放器也會(huì)進(jìn)一步發(fā)展。目前,單片機(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ī)的控制,以

9、及程控玩具,電子寵物等等,這些都離不開單片機(jī)。本課題即是在這種背景下,對基于at89c52單片機(jī)的音樂播放器設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了硬件及軟件的設(shè)計(jì),并給出了一全套的解決方案,實(shí)現(xiàn)了單片機(jī)音樂播放器對音樂的演奏。第2章 音樂播放器的原理簡述2.1 音頻脈沖的產(chǎn)生音樂的產(chǎn)生主要是通過單片機(jī)的i/o口輸出高低不同的脈沖信號來控制蜂鳴器發(fā)音。要想產(chǎn)色很難過音頻脈沖信號,需要算出某一音頻的周期(1/頻率),然后要將此周期除以2,即為半周期的時(shí)間。利用單片機(jī)定時(shí)器計(jì)時(shí)這個(gè)半周期,每當(dāng)計(jì)時(shí)到后就將輸出的脈沖i/o口反相,這樣就能在此i/o口上得到此頻率的脈沖。通常,利用p89c5x單片機(jī)的內(nèi)部定時(shí)器0,工作在方式

10、1下,改變計(jì)數(shù)初值th0和tl0來產(chǎn)生不同的頻率。例如,若單片機(jī)采用12mhz 晶振頻率,要產(chǎn)生頻率為587hz的音頻脈沖時(shí),其音頻脈沖信號的周期t=1/587=1703.5775s1704s,半周期的時(shí)間為852s,因此只要令計(jì)數(shù)器計(jì)數(shù)=852s/1s=852,在每次計(jì)數(shù)852次時(shí)將i/0口反相,就可得到c調(diào)中音re。計(jì)數(shù)脈沖值與頻率的關(guān)系如下:n=fi2fr式中,n:計(jì)數(shù)值。 fi:因內(nèi)部計(jì)時(shí)一次為1s,故其頻率為1mhz。 fr:要產(chǎn)生的頻率。計(jì)數(shù)值t的求法為:t=65536-n=65536-fi2fr例如,設(shè)fi為1mhz,求低音do(262hz)、中音do(523hz)和高音do(1

11、046hz)的計(jì)數(shù)值。解:t=65536-fi2fr=65536-10000002fr=35536-500000fr低音do的t=35536-500000262=63628中音do的t=35536-500000523=64580高音do的t=35536-5000001046=65058綜上所述,c調(diào)各音符頻率與計(jì)數(shù)值t的關(guān)系如表1-1所示。表1-1 c調(diào)各音符頻率與計(jì)數(shù)值t的關(guān)系音符頻率(hz)簡譜碼(t值)音符頻率(hz)簡譜碼(t值)低1 do26263628中#4 fa#74064860低#1 do#27763731中5 so78464898低2 re29463835中#5 so#831

12、64934低#2 re#31163928中6 la88064968低3 mi33064021中#6 la#93264994低4 fa34964103中7 si98865030低#4 fa#37064185高1 do104665058低5 so39264260高#1 do#110965085低#5 so#41564331高2 re117565110低6 la44064400高#2 re#124565134低#6 la#46664463高3 mi131865157低7 si49464524高4 fa139765178中1 do52364580高#4 fa#148065198中#1 do#55464

13、633高5 so156865217中2 re58764684高#5 so#166165235中#2 re#62264372高6 la176065252中3 mi65964777高#6 la#186565268中4 fa69864820高7 si196765283 2.2 音樂節(jié)拍的產(chǎn)生每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,表1-2為節(jié)拍與節(jié)拍的時(shí)間對照表如果1拍為0.4s,1/4拍是0.1s。只要設(shè)定延時(shí)時(shí)間就可以求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1delay,那么1拍應(yīng)為4delay,以此類推。所以只要求得1/4拍的delay,其余的節(jié)拍就是它的倍數(shù),表1-3為

14、1/4和1/8拍的時(shí)間設(shè)定。表1-2 節(jié)拍與節(jié)拍碼的對照節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍21/2拍21/4拍33/4拍33/8拍41拍41/2拍節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)5拍55/8拍6拍63/4拍82拍81拍a拍a拍c3拍c拍f拍表1/4和1/8拍的時(shí)間設(shè)定1/4拍的延時(shí)設(shè)定1/8拍的延時(shí)設(shè)定曲調(diào)值delay(延時(shí)時(shí)間)曲調(diào)值delay(延時(shí)時(shí)間)調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms1/4拍的延時(shí)時(shí)間=187ms。2.3 移 調(diào)一般的歌曲,有3/8、2/4、3/4、4/4等節(jié)拍類型,但不管有幾拍,基本上是在c調(diào)下演

15、奏的。如果是c,則音名c唱do,音名d唱re,音名e唱mi,音名f唱fa,音名g唱so,音名a唱la,音名b唱si等。但是,并不是所有歌曲都是在c調(diào)下演奏的,還有d調(diào),e調(diào),f調(diào),g調(diào)等。d調(diào)是將c調(diào)每個(gè)音符上升一個(gè)音符實(shí)現(xiàn)的,即c調(diào)下的音名d在d調(diào)下唱do,c調(diào)下的音名e在d調(diào)下唱re,c大調(diào)的音名f在d調(diào)下升半高半音符f#唱mi,c調(diào)下的音名g在d調(diào)下唱fa,c調(diào)下的音名a在d調(diào)下唱so,c調(diào)下的音名e在d調(diào)下唱la,c調(diào)下的音名c在d調(diào)下升高半音符c#唱si。這種改變唱法稱為移調(diào)。e調(diào)是在d調(diào)的基礎(chǔ)上進(jìn)行移調(diào)的,而f調(diào)是在e調(diào)的基礎(chǔ)上進(jìn)行移調(diào)的。表1-4為各調(diào)音符與音名的關(guān)系。表1-4

16、各調(diào)音符與音名的關(guān)系調(diào)音名doremifasolasic調(diào)cdefgabd調(diào)def#g#abce調(diào)ef#g#abcbf調(diào)fgabcdeg調(diào)gabcdef#a調(diào)abcdef#g#b調(diào)bcdefga第3章 設(shè)計(jì)方案此音樂播放器實(shí)現(xiàn)的控制功能如下:1.程序中存有5首歌曲;2.按下某鍵后,能選擇歌曲,并通過led顯示歌曲序號。 3.1 硬件電路的設(shè)計(jì)一個(gè)完整的音樂播放器電路,相當(dāng)于一個(gè)簡單的單片機(jī)系統(tǒng),改系統(tǒng)由按鍵開關(guān),單片機(jī),晶振和復(fù)位電路,led顯示電路,揚(yáng)聲器,控制電路5個(gè)部分組成。其中,單片機(jī)是集成的ic芯片,而其他的四個(gè)部分則須根據(jù)應(yīng)用要求而設(shè)計(jì)。 3.1.1 單片機(jī)的最小系統(tǒng) 單片機(jī)芯片,

17、配以必要的外部器件,就能構(gòu)成單片機(jī)的最小系統(tǒng)。單片機(jī)具有較強(qiáng)的外部擴(kuò)展,通信能力。能方便的擴(kuò)展至應(yīng)用系統(tǒng)要求的規(guī)模。當(dāng)使用帶rom或eprom的mcs-51系列單片機(jī)時(shí),只要一個(gè)芯片即可構(gòu)成一個(gè)單片機(jī)的最小系統(tǒng)。選用80c51或8051或at89c52作為主機(jī),他們都具有4k片內(nèi)rom,128字節(jié)片內(nèi)ram,片外rom的尋址范圍可達(dá)64k,2個(gè)16位計(jì)數(shù)器,5個(gè)中斷源,4個(gè)并行口,1個(gè)串行口。簡易自動(dòng)樂曲播放器采用單片機(jī)最小系統(tǒng)足以滿足設(shè)計(jì)要求,同時(shí)要設(shè)計(jì)單片機(jī)的復(fù)位和晶振電路。1.單片機(jī)的復(fù)位電路 單片機(jī)的復(fù)位電路是單片機(jī)的初始化操作,其作用是使cpu各部件都處于一個(gè)確定的初始化狀態(tài),并從這

18、個(gè)初始化狀態(tài)開始工作,當(dāng)at89c52的ale及rst引腳處于高電平狀態(tài)時(shí),單片機(jī)復(fù)位。 單片機(jī)的復(fù)位有手動(dòng)復(fù)位和三點(diǎn)復(fù)位兩種形式,rst端的高電平直接由上電瞬間產(chǎn)生高電平則為上電復(fù)位;若通過按鈕產(chǎn)生高電平復(fù)位信號稱為手動(dòng)復(fù)位。圖中,上電的瞬間,rst端的點(diǎn)位與vcc相同,隨著電容的充電電流的減小,+5v立即加到rst端的高電平端該高電平使單片機(jī)復(fù)位。若運(yùn)行過程中,需要程序開始從頭執(zhí)行,這只需按原理圖中的復(fù)位按鈕即可。按下按鈕,則直接把+5v的電壓接到rst端從而復(fù)位,這稱為手動(dòng)復(fù)位。在實(shí)際應(yīng)用的系統(tǒng)中,;有些外圍芯片也需要復(fù)位,如果這些復(fù)位端的復(fù)位電平要求與單片機(jī)要求一致,則可以與之相連。2

19、.單片機(jī)的晶振電路 晶振是給提供單片機(jī)工作信號脈沖的,這個(gè)脈沖是單片的工作速度,比如12m晶振,單片機(jī)的工作速度就是每秒12m,當(dāng)然,單片機(jī)的工作頻率是有范圍的,不能太大,一般24m就上不去了,不然不穩(wěn)定。圖2為單片機(jī)的晶振電路。圖1 復(fù)位電路圖2 晶振電路3.鍵盤接口電路的設(shè)計(jì) 單片機(jī)系統(tǒng)中的人機(jī)對話通道是用戶為了對應(yīng)用系統(tǒng)進(jìn)行干預(yù)以及了解應(yīng)用系統(tǒng)運(yùn)行狀態(tài)所設(shè)置的通道,主要有鍵盤,顯示器等通道接口。 在單片機(jī)應(yīng)用系統(tǒng)中,為了控制系統(tǒng)的工種狀態(tài)以及向系統(tǒng)中輸入數(shù)據(jù),應(yīng)用系統(tǒng)設(shè)置鍵盤,用于系統(tǒng)復(fù)位,功能轉(zhuǎn)換以及數(shù)字輸入。鍵盤的設(shè)置可以實(shí)現(xiàn)人機(jī)對話,借助鍵盤,可以向計(jì)算機(jī)系統(tǒng)輸入程序,置數(shù),控制程

20、序的執(zhí)行走向等。 在本次設(shè)計(jì)中,鍵盤有p1口輸入,按鍵設(shè)置15五個(gè)數(shù)字鍵,用來輸入15五首歌曲的序號,并控制程序播放歌曲。當(dāng)按鍵按下,系統(tǒng)將播放該鍵對應(yīng)的歌曲,并且數(shù)碼管將是顯示該歌曲的序號。 4.數(shù)碼管顯示接口電路的設(shè)計(jì) 在單片機(jī)系統(tǒng)中,使用的顯示器主要有l(wèi)ed顯示器,這種顯示器成本低廉,配置靈活,與單片機(jī)接口方便,在本設(shè)計(jì)中采用led顯示器。 led顯示器由8為數(shù)碼管組成,用于顯示器在各種不同條件下的狀態(tài), 單片機(jī)驅(qū)動(dòng)數(shù)碼管的方式有很多種,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)顯示,按譯碼方式分,有硬件譯碼和軟件譯碼。數(shù)碼管從電路上來可分為共陰和共陽兩種。 在本次設(shè)計(jì)中,由于電路比較簡單,采用的是

21、靜態(tài)顯示。采用了共陽的數(shù)碼管。5.揚(yáng)聲器控制電路的設(shè)計(jì) 揚(yáng)聲器控制電路用于發(fā)出不同頻率的音調(diào),是在p3.7口加一放大器再連接到揚(yáng)聲器上即可構(gòu)成。 3.1.2 繪制原理圖在proteus isis 編輯窗口中單擊中單擊元件列表之上的“p”按鈕,添加如所需的元件。在proteus isis 編輯窗口中,繪制出原理圖。 本電路的原理圖如圖1所示。圖3 原理圖 3.2 音樂軟件的設(shè)計(jì)3.2.1音樂代碼庫的建立方法(1)先找出樂曲的最低音和最高音的范圍,然后確定音符表t的順序。(2)把t值建立在一維數(shù)組table1,并把構(gòu)成發(fā)音符的計(jì)數(shù)值用16進(jìn)制數(shù)表示出來,每個(gè)數(shù)拆成高低4為,放在“table1”中。

22、(3)簡譜碼(音符)為高4位,節(jié)拍(節(jié)拍數(shù))為低4位音符節(jié)拍碼另建的數(shù)組處。 3.2.2 選曲在一個(gè)程序中,需要演奏兩首或兩首以上的歌曲時(shí),音樂代碼庫的建立有兩種方法:將每首歌曲建立相互獨(dú)立的音符表t和發(fā)音符計(jì)數(shù)值。在建立公用的音符表t后,再寫每首歌的發(fā)音計(jì)數(shù)值的代碼。在本設(shè)計(jì)中,建立音樂代碼庫采用的是第二種方法。 歌曲的設(shè)計(jì)程序中的歌曲如下:從5首歌曲中可以看出,它們的最低音為低1do,最高音為高3so。根據(jù)音樂軟件的設(shè)計(jì)方法,其對應(yīng)的簡譜碼、t值、節(jié)拍數(shù)如表1-5所示。表1-5 簡譜對應(yīng)的簡譜碼、t值及節(jié)拍數(shù)發(fā)音簡譜碼t值t值對應(yīng)的十六進(jìn)制發(fā)音簡譜碼t值t值對應(yīng)的十六進(jìn)制低1 do2621

23、f8f3中4 fa6988fd34低5 so3922fb04中5 so7849fd82低6 la4403fb90中6 la88010fdc8低7 si4944fc0c中7 si98811fe06中1 do5235fc44高1 do104612fe06中2 re5876fdac高2 re117513fe56中3 mi6597fd09高3 mi131814fe85節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍6拍21/2拍82拍33/4拍a拍41拍c3拍5拍f拍 程序如下:#include “reg52.h”#define uint unsigned int#define uchar unsigned cha

24、ruchar code tab=0xf9,0xa4,0xb0,0x99,0x92;uchar code tab1=0xf8,0xf3,0xfb,0x04,0xfb,0x90,0xfc,0x0c,0xfc,0x44,0xfc,0xfc,0xfd,0x09,0xfd,0x34,0xfd,0x82,0xfd,0xc8,0xfe,0x06,0xfe,0x22,0xfe,0x56,0xfe,0x85;uchar code tab2=0x72,0x92,0x72,0x62,0x72,0x62,0x74,0x72,0x62,0x32,0xc2,0x72,0x66,0x62,0x52,0x32,0xc2,0x

25、62,0x72,0x92,0x62,0x72,0xa2,0x92,0x32,0x62,0x56,/第一行0x62,0x52,0x32,0x52,0x62,0x72,0x92,0x62,0x72,0xa2,0x92,0x92,0x78,0x62,0x72,0x62,0x52,0x92,0xa2,0x64,0x12,0x72,0x74,0x64,0x74,/第二行 0x32,0x72,0x62,0x62,0x58,0x08,0x74,0x94,0xc2,0x92,0xa4,0x02,0xa2,0x92,0x72,0x72,0x92,0x98,0x72,0x92,0xa2,0xc2,0xd2,0xc

26、2,0x92,0x72,0x64,0x94,/第三行 0x72,0x7a,0x72,0x92,0xc2,0x92,0xa4,0x02,0xc2,0xd2,0xc2,0x92,0x72,0x92,0xb2,0xa4,0x02,0x72,0x62,0x72,0x92,0xe2,0xd6,0xe2,0xcc,0x72,0x92,/第四行0xcc,0x72,0x92,0xc2,0x92,0xa4,0x02,0xc2,0xd2,0xc2,0x92,0x72,0x82,0xb2,0xa4,0x02,0x72,0x62,0x72,0x92,0xe2,0xd6,0xb2,0xcc,0x72,0x92,/第五行

27、0x62,0x72,0x92,0xe2,0xd8,0xd8,0xd8,0xdc,0xb4,0xb8,0xb8;/第六行uchar code tab3=0x72,0x92,0xc6,0xa2,0xc4,0xc2,0xb1,0xa1,0xa1,0xb5,0x91,0xa1,0x98,0xa4,0x92,0x82,0x82,0x74,0x62,0x78,0x78,/第一行0xa2,0xc2,0xd2,0xe2,0x76,0xd1,0xc1,0xd6,0xc1,0xd1,0xc8,0x02,0x92,0x82,0x72,0x66,0x51,0xb1,0x5c,0x22,0x52,/第二行0x76,0x

28、92,0x74,0x62,0x52,0x52,0x52,0x52,0x31,0x21,0x24,0x22,0x52,0x76,0x92,0x92,0x92,0xa2,0x92,0x92,0x61,0x71,0x62,0x51,0x61,0x64,0xa2,0x92,/第三行0x76,0x92,0x92,0x92,0xa2,0x92,0x72,0x62,0x52,0x51,0x61,0x34,0x22,0x32,0x56,0x61,0x71,0x64,0x72,0x52,0x54,0x5c,0x92,0x52,/第四行0x5c,0x72,0x92,0xc6,0xb1,0xc1,0xb4,0xa2

29、,0x92,0xa2,0xc2,0x72,0x62,0x54,0x52,0x12,0x52,0xc4,0x91,0xa1,0x92,0x61,0x71,0x62,0x51,0x61,/第五行0x6c,0x72,0x92,0xc6,0xb1,0xc1,0xb4,0xa2,0x92,0xa2,0xc2,0x72,0x62,0x54,0x52,0x12,0x52,0xc4,0x91,0xa1,0x92,0x61,0x71,0x62,0x62,/第六行0x5c,0x02,0x71,0x91,0x96,0x91,0x91,0x92,0xc1,0xc3,0xc1,0xd1,0xc6,0x82,0xc9;/

30、第七行uchar code tab4=0x72,0x62,0x78,0x62,0x52,0x58,0x52,0x42,/第一行0x54,0x54,0x52,0xb2,0x2c,0xa4,0x54,0x54,0x58,0xa2,0x52,0x64,0x34,0x62, 0x72,0x68,0x72,0x62,/第二行0x78,0x92,0xa2,0x68,0x52,0x62,0x74,0x64,0x54,0x61,0x51,0x36,0x03,0xa1,0x54,0x54,0x42,0x32,/第三行0x44,0x42,0x42,0x42,0x32,0x44,0x42,0x42,0x42,0x5

31、2,0x38,0xa2,0x92,0xa6,0xa2,0x92,0x52,0x78,0xa2,0x92,/第四行0xa6,0xa2,0x92,0x52,0x78,0x62,0x52,0x66,0x62,0x52,0x42,0x68,0x52,0x32,0x64,0x62,0x62,0x94,0x78,0xa2,0x92,/第五行0xa6,0xa2,0x92,0x52,0x78,0xa2,0x92,0x92,0xa2,0xa2,0xa2,0x92,0x52,0x78,0x62,0x52,0x66,0x62,0x52,0x32,0x68,0x52,0x32,/第六行0x32,0x42,0x44,0

32、x52,0x42,0x3c;/第七行uchar code tab5=0x32,0x54,0x32,0x61,0x71,0x51,0x31,0x34,0x72,0x71,0x91,0xa1,0xc1,0x91,0x71,0x78,0xa3,0xa1,0xa2,0xc2,/第一行0xa2,0x91,0x71,0x62,0x71,0x91,0x78,0x78,0x72,0x74,0x92,0xa1,0xc1,0x91,0xc1,0xa4,0x72,0xa2,0xa2,0x71,0x61,/第二行0x68,0x53,0x61,0x72,0x92,0x61,0x71,0x52,0x54,0x62,0x6

33、1,0x71,0x61,0x51,0x21,0x51,0x38,0x38,/第三行0xa3,0xa1,0xa2,0x92,0xa2,0xc1,0xc1,0xd1,0xe1,0xc2,0xd2,0xd4,0xd1,0xc1,0xa6,0xa2,0xc2,0xc1,0xc1,0xc1,0xd2,0xc2,/第四行0xa2,0x62,0x71,0x91,0xa1,0x91,0x78,0x78,0x72,0x94,0xa2,0xc2,0xd1,0xc1,0xa4,0x92,0xa1,0xc1,0xa2,0x91,0x71,/第五行0x68,0x52,0x51,0x61,0x72,0x92,0xa2,0

34、xd2,0xc1,0xa1,0x91,0xc1,0xa8,0xa8/第六行uchar code tab6=0x52,0x52,0x52,0x72,0x92,0x92,0x92,0x92,0xa2,0xa2,0xa2,0xc2,0x98,0x82,0x82,0x82,0xa2,0x72,0x72,0x72,0x72,0x62,0x62,0x62,0x62,0x96,0x92,0x52,0x52,0x52,0x72,0x92,0x92,0x92,0x92,0xa2,0xa2,0xa2,0xc2,0x98,0x82,0x82,0x82,0xa2,0x71,0x71,0x71,0x71,0x72,0x

35、72,0x62,0x62,0x62,0x72,0x58;uint x,f,f1,f2;uint a,b,c,d,e,j;sbit p3_7=p37;void delay_10ms() uint i; for(i=200;i0;i-); viod delay_1(uint m) uint l; for(l=m,l0,l-); void delay(uint j) uint k; uint n; for(k=j;k0;k-) for(n=500;n0;n-); void play() p3_7=p3_7; j=a&0x0f; b=a&0xf0; if(b=0) tr1=0; delay(j); e

36、lse b=b4;b=b-1;c=2*b;d=tab1c;th1=d;c=c+1;e=tab1c;tl1=e;tr1=1;delay(j); void int1() interrupt 0 p3_7=p3_7; th1=d; tl1=e; void main() tmod=0x10; ie=0x88; while(1) p1=0xf0; f1=p1; delay_1(10); p1=0x0f; f2=p1; delay_1(10); f=f1+f2; if(f!=0xff) delay_10ms();if(f!=0xff)if(f=0xfd)for(x=0;x144;x+)p2=tab10;a

37、=tab2x;play();if(f=0xfb)for(x=0;x148;x+)p2=tab1;a=tab3x;play();if(f=0xf7)for(x=0;x121;x+)p2=tab2;a=tab4x;play(); if(f=0xf7)for(x=0;x116;x+)p2=tab3;a=tab5x;play(); if(f=0xef)for(x=0;x55;x+)p2=tab4;a=tab6x;play(); 第四章 仿真與調(diào)試4.1 hex文件的生成(1)打開單片機(jī)軟件開發(fā)系統(tǒng)keil vision,單擊vision菜單中的“project”,在此下拉菜單中單擊“new proje

38、ct”選項(xiàng)后,彈出“creat new project”對話框,鍵入新建項(xiàng)目名稱。(2)鍵入新建項(xiàng)目名并單擊“確定”按鈕后,在彈出的“slecte device”對話框中選擇單片機(jī)型號at89c52。(3)單擊vision菜單中的“file”,在此下拉菜單中選擇“new”后,打開一個(gè)空的文本編輯窗口,在此窗口輸入程序,創(chuàng)建新的源程序“音樂播放器.c”文件。(4)在左邊的“project”窗口的“file”頁中單擊文件組,再單擊鼠標(biāo)右鍵后,在彈出的窗口中選中“add file to group source group 1”選項(xiàng),將“音樂播放器.c”程序?qū)氲健皊ource group 1”中。(5)在“project”下拉菜單中選擇“options for target”,將會(huì)彈出“options for target”的對話框,在此對話框中選中“output”選項(xiàng)卡中的“creat hex file”選項(xiàng)。(6)在“project”下拉菜單中,選擇“rebuild all target files”選項(xiàng)。若程序編譯成功,將生成“音樂播放器.hex”文件。 4.2 在原理圖上仿真與調(diào)試 (1)在proteus isis 編輯窗口中,單擊鼠標(biāo)右鍵將at89c52 單片機(jī)選中并單擊鼠標(biāo)

溫馨提示

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

評論

0/150

提交評論