可編程音樂播放器 畢業(yè)設計_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設 計</p><p> 題目可編程音樂播放器 </p><p> 系別電氣工程系   </p><p> 專業(yè)電氣自動化         </p><p> 班級</p><p>

2、 姓名</p><p> 學號</p><p> 指導教師</p><p> 日期2011年1月 </p><p><b>  設計任務書</b></p><p><b>  設計題目:</b></p><

3、p>  可編程音樂播放器的設計</p><p><b>  設計要求:</b></p><p>  設計一個簡單8按鍵的可編程音樂播放器,要求該播放器能將輸入的各種音樂程序按照音樂旋律播放出來。</p><p>  要求在音樂播放器的模擬按鍵和音樂之間有一個控制鍵來實現(xiàn)兩者之間的轉換;</p><p>  設計音樂

4、播放器的硬件電路及相應軟件,最終調試完成。</p><p><b>  設計進度要求</b></p><p>  第一周:查找資料,對資料進行分類和匯總;</p><p>  第二周:依據(jù)資料編出音樂播放器初步程序;</p><p>  第三周:上機畫出音樂播放器相關電路圖、框圖、流程圖;</p><

5、p>  第四周:進行軟硬件的設計;</p><p>  第五周:上機對程序進行修改和調試,最終設計成功;</p><p>  第六周:開始著手編寫畢業(yè)設計書內(nèi)容;</p><p>  第七周:在老師指導下經(jīng)過多次修改,完成畢業(yè)設計撰寫工作;</p><p>  第八周:進行畢業(yè)答辯。</p><p>  指導教師

6、(簽名): </p><p><b>  摘  要</b></p><p>  本次畢業(yè)設計作為大學階段學習知識的一個檢驗,培養(yǎng)了我們的動手能力以及獨立思考設計的能力,也是大學培養(yǎng)的一個重要實踐步驟。設計初期,我們通過網(wǎng)絡,圖書館等資源查找到利用單片機設計制作音樂播放器的的相關信息,對不同的方案進行細致的分析比較。并且按照題意與實際情況進

7、行改進,使之符合要求。</p><p>  這次設計主要是通過對音樂播放器主體部分的電路進行模仿設計,達到音樂播放器固有的基本功能。利用LM386和開關量,決定輸出音調。利用定時器可發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅動電路放大濾波后,就會發(fā)出不同的音調,最終達到音樂播放器的效果。</p><p>  關鍵詞:單片機,音樂播放器,定時器</p><p><

8、;b>  目  錄</b></p><p>  摘要 ....................................................................Ⅱ </p><p>  目 錄.................

9、...................................................Ⅲ</p><p>  1 單片機的發(fā)展及應用.....................................................1</p><p>  1.1單片機的發(fā)展...............................................

10、........1</p><p>  1.2 單片機的應用.......................................................3</p><p>  2 總體設計方案............................................................3</p><p>  2.1系統(tǒng)框

11、圖設計..........................................................3</p><p>  2.2音樂播放器按鍵的控制方案.............................................3</p><p>  2.3音樂控制方案..........................................

12、................4</p><p>  3 硬件電路的設計..........................................................8</p><p>  3.1電路原理..............................................................8</p><p&

13、gt;  3.2 AT89C51 單片機的簡介.................................................8</p><p>  3.3 AT89C51單片機的引腳..................................................8</p><p>  3.4 AT89C51單片機的附屬電路..............

14、................................10</p><p>  3.5 LM386 的簡介及功能...................................................11</p><p>  3.6 獨立式按鍵的接口電路.................................................11</p

15、><p>  4 軟件設計................................................................14</p><p>  4.1主程序模塊............................................................14</p><p>  4.2 中斷服務程序模塊..

16、...................................................15</p><p>  4.3音樂播放器的音樂鍵的設計流程圖........................................16</p><p>  4.4音樂播放器的控制鍵的框圖及程序.......................................17&l

17、t;/p><p>  4.5 音樂程序流程圖及程序.................................................21</p><p>  5 系統(tǒng)調試................................................................27</p><p>  5.1 輸入并編譯程序....

18、...................................................27</p><p>  5.2 具體調試過程.........................................................27</p><p>  結論..................................................

19、.....................28</p><p>  致 謝....................................................................29</p><p>  參考資料..................................................................30</

20、p><p>  1單片機的發(fā)展及應用</p><p>  1.1單片機的發(fā)展 </p><p>  1946年第一臺電子計算機誕生至今,只有50年的時間,依靠微電子技術和半導體技術的進步,從電子管——晶體管——集成電路——大規(guī)模集成電路,現(xiàn)在一塊芯片完全可以集成幾百萬甚至上千萬只晶體管,使得計算機體積更小,功能更強。特別是近20年時間里,計算機技術獲得飛速的發(fā)展,計算機

21、在工農(nóng)業(yè),科研,教育,國防和航空航領域獲得了不得廣泛的用,計算機技術已經(jīng)是一個國家現(xiàn)代科學水平的重要標志。</p><p>  單片機又稱單片微型計算機,她誕生于20世紀70年代,1971年微處理器研制成功不久就出現(xiàn)了單片微型計算機,但最早的單片機是一位的,處理能力有限.</p><p>  單片機的發(fā)展分為四個階段:</p><p>  第一階段(1974___1

22、976年):單片機初級階段.因為受工藝限制,單片機采用單片的形式而且功能比較簡單.例如美國仙童公司生產(chǎn)的F8單片機,實際上只包括了8位CPU,64個字節(jié)的RAM和2個并行接口.</p><p>  第二階段(1976___1978年):低性能單片機階段.以Intel公司生產(chǎn)的MCS___48系列單片機為代表,該系列單片機內(nèi)集成有8位CPU,8位定時器/計數(shù)器,并行I/O接口,RAM和ROM等,但是最大的缺點就是無

23、串行接口,中斷處理比較簡單而且片內(nèi)RAM和ROM容量較小,且尋址范圍不大與4KB.</p><p>  第三階段(1978___1983)高性能單片機階段這個階段推出的單片機普遍帶有串行接口,多級中斷系統(tǒng),16位定時器/計數(shù)器,片內(nèi)ROM,RAM容量加大,且尋址范圍可達64KB,有的片內(nèi)還帶有A/D轉換器.</p><p>  第四階段(1983年至今)8位單片機鞏固發(fā)展以及16位單片機,

24、32位單片機推出階段.此階段主要特征是:一方面發(fā)展16位單片機,32位單片機及專用型單片機;另一方面不斷完善高檔8位單片機,改善其結構,增加片內(nèi)器件,以滿足不同的客戶要求.</p><p>  1.2 單片機的應用</p><p>  單片機的應用很廣,分別在以下領域中得到了廣泛應用.</p><p>  (1)工業(yè)自動化:在自動化技術中,無論是過程控制技術、數(shù)據(jù)

25、采集技術還是測控技術,都離不開單片機.在工業(yè)自動化的領域中,機電一體化技術將發(fā)揮愈來愈重要的最用,在這種機械、微電子和計算機技術為一體的綜合技術(例如機器人技術、數(shù)控技術)中,單片機將發(fā)揮非常重要的作用特別是近些年來,隨著計算機技術的發(fā)展,工業(yè)自動化也發(fā)展到了一個新的高度,出現(xiàn)了無人工廠、機器人作業(yè)、網(wǎng)絡化工廠等,不僅將人從繁重、重復和危險的工業(yè)現(xiàn)場解放出來,還大大提高了生產(chǎn)效率,降低了生產(chǎn)成本.</p><p>

26、;  (2)儀器儀表:目前對儀器儀表的自動化和智能化要求越來越高.在自動化測量儀器中,單片機應用十分普及.單片機的使用有助于提高儀器儀表的精度和準確度,簡化結構,減小體積,易于攜帶和使用,加速儀器儀表向數(shù)字化、智能化和多功能化方向發(fā)展.</p><p>  (3)消費類電子產(chǎn)品:該應用主要反映在家電領域.目前家電產(chǎn)品的一個重要發(fā)展趨勢是不斷提高其智能化程度.例如,電子游戲、照相機、洗衣機、電冰箱、空調、電視機、微

27、波爐、手機、IC卡、汽車電子設備等.在這些設備中使用了單片機后,其功能和性能大大提高,并實現(xiàn)了智能化、最優(yōu)化控制.</p><p>  (4)通信方面:較高檔的單片機都具有通信接口,因為單片機在通信設備中的應用創(chuàng)造了很好的條件.例如,在微波通信、短信通信、載波通信、光纖通信、程控交換等通信設備和儀器中都能找到單片機的應用.</p><p> ?。?)武器裝備:在現(xiàn)代的武器裝備中,如飛機、

28、軍艦、坦克、導彈、魚雷制導、智能武器裝備、設備航天飛機導航系統(tǒng),都有單片機在其中發(fā)揮重要作用.</p><p>  (6)終端及外部設備控制:計算機網(wǎng)絡終端設備,如銀行終端,以及計算機外部設備如打印機、硬盤驅動器、繪圖機、傳真機、復印機等,在這些設備中都使用了單片機.</p><p>  近年來隨著科技的飛速發(fā)展,同時帶動自動化控制系統(tǒng)日新月異更新,單片機的使用正在不斷地走向深入.<

29、/p><p><b>  2 總體設計方案</b></p><p><b>  2.1系統(tǒng)框圖設計</b></p><p>  本次設計音樂播放器主要以AT89C51為核心,同時包含了按鍵電路,晶振電路和復位電路,及用于放大音樂信號的音頻功率放大器LM386,本次設計的主要框圖如圖2.2所示: <

30、;/p><p>  圖2-1音樂播放器原理設計方框圖</p><p>  按鍵短路是由K0-K6組成,K0-K6的功能是試音,K7是用來控制按鍵子程序和音樂子程序。</p><p>  晶振電路是用來穩(wěn)定頻率和選擇頻率的。</p><p>  LM386是用來放大音頻功率的。具有功耗小,電壓增益可調節(jié),電源電壓范圍大,外接原件少等優(yōu)點,功能是減小

31、諧波失真。</p><p>  2.2音樂播放器案件控制方案</p><p>  2.2.1音樂播放器音符頻率的產(chǎn)生</p><p>  音樂播放器的模擬鍵是用單片機上的P2.0-P2.6來模擬實現(xiàn)的,它分別接K0-K6,當分別按下這些鍵時,就會發(fā)出DO、RE、MI、FA、SO、LA、XI。</p><p>  2.2.2音樂播放器的設計說明

32、</p><p>  音樂是由不同的頻率的方波產(chǎn)生,音節(jié)與頻率的關系如下表(X為十六進制數(shù))2.3.2所示:</p><p><b>  表2.2.2</b></p><p>  方波的頻率由定時器控制,定時器溢出后,產(chǎn)生中斷,將P1.0接口取反即得周期方波,每個音節(jié)相應的定時器初值X可按下法計算:</p><p>  

33、(1/2)*(1/f)=(12/fosc)*(216-X)</p><p>  即X=216-(fosc/24f)</p><p>  當晶振fosc=11.0592時,音節(jié)1相應的定時器初值為X,則可得X=63777D=F921H,其他的可同樣求取。</p><p>  音節(jié)的節(jié)拍由延時子程序實現(xiàn)。延時子程序實現(xiàn)基本延時時間,節(jié)拍值只能是它的整倍數(shù)。</p&

34、gt;<p>  調試程序前,7位開關K0-6均未被按下,運行時從左到右依次按下K0-6揚聲器就會發(fā)出DO、RE、MI、FA、SO、LA、XI。</p><p>  2.2.3音樂播放器的控制鍵的控制原理</p><p>  控制鍵主要是用來控制調用按鍵子程序和音樂子程序,其功能是由P2.7口來實現(xiàn)的。其工作原理為:通過判別按下P2.7鍵的次數(shù)來分別調用音樂程序和按鍵程序。當

35、按下奇數(shù)次時調用按鍵程序,偶數(shù)次按下時調用的是音樂程序。</p><p><b>  2.3音樂控制方案</b></p><p>  本系統(tǒng)主要完成播放功能,因此用定時器T1中斷方式產(chǎn)生100ms基準時間,再根據(jù)音樂音拍的時間長短對基準時間用軟件計時??梢杂貌楸矸绞饺〉眉夹g參數(shù),計時到后將播放子程序地址送DPTR,轉入播放子程序,放2遍對應號音后再繼續(xù)計時。</

36、p><p>  若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反向,然后重復計時再反相。就可以再P1.0引腳上得到此頻率的脈沖。</p><p>  利用AT89C51的內(nèi)部定時器使其在工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。例如,頻率為523HZ,

37、其周期T=1/523=1912μs,因此只要令計數(shù)器計時956μs/1μs=956,每計數(shù)956次時將I/O反相,就可得到中音DO(523HZ).</p><p>  AT89C51單片機的自動播放電路如圖2-2所示:</p><p><b>  圖2-2</b></p><p>  計數(shù)脈沖值與頻率的關系式是:</p><

38、p><b>  N=fi÷2÷fr</b></p><p>  式中,N是計數(shù)值;fi是機器頻率(晶體振蕩器為12MHZ時,其頻率為1MHZ);fr是想要產(chǎn)生的頻率。</p><p>  其計數(shù)初值T的求法如下:</p><p>  T=65536—N=65536—fi÷2÷fr</p>

39、<p>  例如:設K=65536,fi=1MHZ,求低音DO(262HZ)、中音DO(523HZ)、高音DO(1046HZ)的計數(shù)值。</p><p>  T=65536—N=65536—fi÷2÷fr=65536—1000000÷2÷fr=65536—500000/fr</p><p>  低音DO的T=65536—500000/2

40、62=63627</p><p>  中音DO的T =65536—500000/523=64580</p><p>  高音DO的T =65536—500000/1046=65059</p><p>  C調各音符頻率計數(shù)初值T對照如表2.3.2所示:</p><p><b>  表2.3.2</b></p>

41、<p>  下面我們要為這個音符建立一個表格,有助于單片機通過查表得方式來獲得相應的數(shù)據(jù):</p><p>  TABLE1: DW 64021, 64103, 64260, 64400</p><p>  DW 64524, 64580, 64684, 64777 </p><p>  DW 64820, 64898, 64968

42、, 65030</p><p>  DW 65058, 65110, 65157</p><p>  (3)音樂的音拍,一個節(jié)拍為單位(C調)</p><p>  音樂的節(jié)拍如表2.4.3所示:</p><p><b>  表2.3.3</b></p><p><b>  3 硬件

43、的設計</b></p><p><b>  3.1 電路原理</b></p><p>  此次設計的是一個8按鍵的音樂電子程序,我們由電路的框圖而知,按鍵P2.0-P2.6分別音樂播放器的7個按鍵,P1.0通過一個音頻放大器接到一個喇叭上,P2.7鍵為音樂播放器的控制鍵。我們可以通過判別按下控制鍵P2.7的次數(shù)來判別是可以按下音樂播放器的7個按鍵還是播放

44、音樂。比如,當我們按下控制鍵P2.7奇次時,這時我們可以分別按下P2.0-P2.6鍵,這樣我們就可以清楚的聽到從喇叭處發(fā)出的DO、RE、MI、FA、SO、LA、XI 7個不同的音調,當按下P2.7偶次時,這時單片機內(nèi)部程序就會自動轉到音樂程序處,播放出好聽的生日快樂曲,我們?nèi)绻侔聪翶0-K6時,不會發(fā)出任何聲音,同理,當我們再次按下控制鍵P2.7時,音樂的程序就會關閉,轉去執(zhí)行模擬鍵盤的程序。如此重復,就會達到設計所提出的要求。<

45、;/p><p>  3.2AT89C51單片機的簡介</p><p>  AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4K Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及89C51引腳結構,芯片內(nèi)集成了通用8位中央處理器和I

46、SP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。</p><p>  AT89C51具有如下特點:40個引腳,4K Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時

47、鐘振蕩器。</p><p>  此外,AT89C51設計和配置了振蕩頻率可為0HZ并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作。掉電模式凍結振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。</p><p>  3.3AT89C51單

48、片機的引腳</p><p>  AT89C51的引腳如圖3.3所示</p><p>  3.3.1主要特征:</p><p>  1、與MCS-51兼容 2、4K字節(jié)可編程閃爍存儲器 3、壽命:1000寫/擦循環(huán) </p><p>  4、數(shù)據(jù)保留時間

49、:10年 5、全靜態(tài)工作:0HZ-24HZ</p><p>  6、三級程序存儲器鎖定 7、128*8位內(nèi)部RAM</p><p>  8、32可編程I/O線 9、兩個16位定時器/計數(shù)器 10、5個中斷源</p><p>  11、可編程串行通道 12、低功耗的閑置和掉電模式 13、片內(nèi)振蕩器和時鐘電路</p><p>  圖3

50、.3AI89C51</p><p>  3.3.2主要管腳介紹</p><p>  P0口(39腳至32腳):是雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線的低8位及數(shù)據(jù)總線復用。</p><p>  P1口(1腳至8腳):是準雙向8位I/O口。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。</p><p>  

51、P2口(21腳至28腳):是準雙向8位I/O口。在訪問外部存儲器時,還可以作為擴展電路高8位地址總線送出高8位地址。</p><p>  P3口(10腳至17腳):是準雙向8位I/O口。在MCS-51中,在8個引腳還用于專門功能,是復用雙功能口。P3口各口的第二功能定義如下所示:</p><p>  P3.0-RXD (串行輸入口);</p><p>  P3.1

52、-TXD (串行輸出口);</p><p>  P3.2-INT0 (外部中斷0);</p><p>  P3.3-INT1 (外部中斷1);</p><p>  P3.4-T0 (定時器0外部輸入);</p><p>  P3.5-T1 (定時器1外部輸入);</p><p>  P3.6-WR

53、(外部數(shù)據(jù)存儲器寫脈沖);</p><p>  P3.7-RD (外部數(shù)據(jù)存儲器讀脈沖);</p><p>  本次做畢業(yè)設計只用到了AT89C51的P2.0-P2.7管腳和P1.0管腳</p><p>  3.4 AT89C51單片機的附屬電路</p><p>  單片機附屬電路主要有晶體振蕩電路和復位電路。</p>&l

54、t;p>  3.4.1 振蕩電路</p><p>  石英晶體振蕩器也稱石英晶體諧振器,它用來穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振的晶體諧振元件。</p><p>  本設計所用的晶體振蕩電路如圖3.4.1所示:</p><p>  此晶體振蕩電路選用的石英晶振頻率為12MHZ。</p><p>  在一個時鐘周期內(nèi),CPU僅完成

55、一個最基本的動作。對于某種單片機,若采用了1MHZ的時鐘頻率,則時鐘周期為1μs;若采用4MHZ的時鐘頻率,則時鐘周期為250μs。由于時鐘脈沖是計算機的基本工作脈沖,它控制著計算機的工作節(jié)奏(使計算機的每一步都統(tǒng)一到它的步調上來)。顯然,對于同一種機型的計算機,時鐘頻率越高,計算機的工作速度就越快。但是,由于不同的計算機硬件電路和器件的不完全相同,所以其所需要的時鐘頻率范圍也不一定相同。設計中使用到的單片機的時鐘范圍是12MHZ或11

56、.0592MHZ。</p><p>  3.5 LM386的簡介及功能</p><p>  LM386是為低壓應用設計的音頻功率放大器。LM386增益在內(nèi)部設定到20可使外部元件數(shù)少,在引腳1和8之間連接電阻和電容可是增益超過200。LM386集成電路適用于調幅——調頻無線電放大器、便攜式磁帶重放設備、內(nèi)部通信電路、電視音頻系統(tǒng)、線性驅動器、超聲波驅動器和功率變換電路。LM386是一種音頻

57、集成功放,具有功耗小,電壓增益可調節(jié),電源電壓范圍大,外接元件少和總諧波失真小等優(yōu)點。</p><p><b>  封裝與引腳功能</b></p><p>  該電路采用8引線雙列直插封裝,LM386位美國國家半導體公司產(chǎn)品。</p><p><b>  性能</b></p><p>  該集成電路

58、由于外接元件少、電源電壓VCC適用范圍寬(VCC=4-12V)、靜態(tài)功耗低(VCC=6V時為4mW),因而在便攜式無線電設備、收音機、錄音機、小型放大設備中得到廣泛應用。</p><p>  當1腳和8腳之間開路時,電壓增益為26DB;若在1腳和8腳之間接阻容串聯(lián)元件,則增益可達456DB,改變阻容值,則增益可在26DB-16DB之間任意選取,電阻值越小增益越大。</p><p>  3.

59、6獨立式按鍵的接口電路</p><p>  在單片機應用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵接在一根I/O接口線上,這種方式的連接稱為獨立式按鍵。每個獨立式按鍵單獨占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結構簡單,但每個按鍵必須占用一根I/O接口線,I/O接口線浪費較大。本次設計只需要8位獨立式按鍵就可以實現(xiàn)。因此,

60、本次設計按鍵電路采用獨立式鍵盤按鍵電路。獨立式鍵盤電路如圖所示:</p><p>  在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當I/O接口內(nèi)部有上拉電阻時,外電路可以不配置上拉電阻。</p><p>  獨立式按鍵的編程:獨立式鍵盤的編程常采用查詢式結構。先逐位查詢每根I/O接口線的輸入狀態(tài),如某一根I/O接口線輸入為低電平,則可確定該I

61、/O接口線所對應的按鍵已按下。然后,再轉向按鍵的功能處理程序。在本次設計中我使用P2.0-P2.7接按鍵,P2.0-P2.6按鍵分別接7個音樂播放器的模擬鍵,P2.7為控制按鍵。P2.0-P2.6分別接K0-K6。按下K0-K6分別發(fā)出DO、RE、MI、FA、SO、LA、XI。</p><p>  音樂播放器電路圖如下圖所示:</p><p><b>  4軟件設計</b&

62、gt;</p><p><b>  主程序模塊</b></p><p>  主程序主要包含對定時器T0和T1的初始化,及重復調用其它的子程序來工作的。其程序的流程圖如下:</p><p><b>  圖4.1</b></p><p>  主程序: ORG 0000H</p>&l

63、t;p>  LJMP START</p><p>  ORG 000BH</p><p>  LJMP INT-T0</p><p>  ORG 001BH</p><p>  LJMP INT-T1</p><p>  ORG 0030H</p><p>  MAIN:

64、 MOV SP,#60H</p><p>  MOV TMOD,#01H</p><p><b>  CLR TR0</b></p><p>  MOV IE,#82H</p><p>  MOV IE,88H</p><p>  NEXT: LCALL START</p

65、><p>  SJMP NEXT</p><p>  4.2中斷服務程序模塊</p><p>  4.2.1 T0口中斷</p><p>  中斷程序是在判斷完按鍵并且有按鍵按下之后,關閉T0,將P1.0取反,從而形成一個正脈沖驅動揚聲器發(fā)音。程序如下:</p><p>  INT0-0: CLR TR0</p&

66、gt;<p><b>  CPL P1.0</b></p><p>  MOV TH0,R7</p><p><b>  SETB TR0</b></p><p><b>  RETI </b></p><p><b>  T1口中斷TIM1<

67、;/b></p><p>  播放子程序是用T1中斷方式控制P1.0不斷取反以產(chǎn)生不同頻率音符,節(jié)拍的長短靠調用200ms延時子程序次數(shù)來完成。子程序也用查表來完成。</p><p>  流程圖如圖4.2.4所示:</p><p><b>  T1中斷程序為:</b></p><p>  PUSH ACC

68、 ;將A的值暫存于堆棧</p><p>  PUSH PSW ;將PSW的值暫存于堆棧</p><p>  MOV TL1,20H ;重設計數(shù)值</p><p>  MOV TH1,21H</p><p>  CPL P1.0 ;將P1.0位取反</p>

69、<p>  POP PSW ;至堆棧取回PSW的值</p><p>  POP ACC ;至堆棧取回A的值</p><p>  RET1 ;返回主程序</p><p>  4.3音樂播放器音樂鍵的設計流程圖</p><p>  其框圖如圖4.3所示<

70、/p><p>  4.4音樂播放器的控制鍵的框圖及程序</p><p><b>  其框圖如下:</b></p><p><b>  相應的程序為:</b></p><p>  START: MOV 40H,#00H</p><p>  JB P2.7, START&l

71、t;/p><p>  LJMP DELY</p><p>  JB P2.7,START</p><p>  WAIT1: JNB P2.7,$</p><p><b>  INC 40H</b></p><p>  JB P2.7,Z1</p><p>

72、  LJMP DELY</p><p>  JB P2.7,Z1</p><p>  WAIT3: JNB P2.7,$</p><p>  LJMP DELY</p><p>  WAIT4: JNB P2.7,$</p><p><b>  INC 40H</b><

73、/p><p>  MOV A,40H</p><p>  Z1: CJNEE A,#01H,Z2</p><p>  LJMP READ</p><p>  Z2: LJMP A,#20H,SIART</p><p>  LJMP START</p><p>  DEL

74、Y: MOV R7,#200</p><p>  DELY1: MOV R6#,123</p><p><b>  NOP</b></p><p>  DELY2: DJNZ R7,DELY1</p><p><b>  RET</b></p><p> 

75、 音樂程序流程圖及程序</p><p>  主程序流程圖4.5所示:</p><p>  播放子程序是用T1中斷方式控制P1.0不斷取反以產(chǎn)生不同頻率音符,節(jié)拍的長短靠調用200ms延時子程序次數(shù)來完成。子程序也用查表來完成。</p><p>  所對應的音樂程序為:</p><p>  START0: MOV 30H,#00

76、 ;取簡樸碼指針</p><p>  NEXT: MOV A,30H ;簡樸碼指針載入A</p><p>  MOV DPTR,#TABLE ;至TABLE取簡樸碼</p><p>  MOVC A,@A+DPTR</p><p>  MOV R2,A ;取到的簡樸碼暫

77、存于R2</p><p>  JZ END0 ;是否取到00(結束碼)?</p><p>  ANL A,#0FH ;不是,則取低4位(節(jié)拍碼)</p><p>  MOV R5,A ;將節(jié)拍碼存入R5</p><p>  MOV A,R2

78、 ;將取到的簡樸碼再載入A</p><p>  SWAP A ;高低4位交換</p><p>  ANL A,#0FH ;取低4位(音符碼)</p><p>  JNZ SING ;取到的音符碼是否為0?</p><p>  CLR TR1

79、 ;是,則不發(fā)音</p><p>  JMP D1 ;跳至D1</p><p>  SING: DEC A ;取到的音符碼減1(不含0)</p><p>  MOV 22H,A ;存入(22H)</p><p>  RL A

80、 ;乘2</p><p>  MOV DPTR,#TABLE ;至TABLE1取相對的高位字節(jié)計數(shù)值</p><p>  MOV DPTR,@A+DPTR</p><p>  MOV TH0,A ;取到的高位字節(jié)存入TH0</p><p>  MOV 21H,A

81、 ;取到的高位字節(jié)存入(21H)</p><p>  MOV A,22H ;再載入取到的音符碼</p><p><b>  RL A;乘2</b></p><p><b>  INC A;加1</b></p><p>  MOVC A,@A+DPTR

82、 ;至TABLE1取相對的低位字節(jié)計數(shù)值</p><p>  MOV TL1,A ;取到的低位字節(jié)存入TL0</p><p>  MOV 20H,A ;取到的低位字節(jié)存入(20H)</p><p>  SETB TR1 ;啟動TIMER1</p><p>

83、;  D1: CALL DELAY ;基本單位時間1/4拍187毫秒</p><p>  INC 30H ;取簡樸碼指針加1</p><p>  JMP NEXT ;取下一個碼</p><p>  END0: CLR TR1 ;停止TIMER0

84、</p><p>  JMP START0 ;重復循環(huán)</p><p>  TIM0: PUSH ACC ;將A的值暫存于堆棧</p><p>  PUSH PSW ;將PSW的值暫存于堆棧</p><p>  MOV TH1,20H ;

85、重設計數(shù)值</p><p>  MOV TH1,21H</p><p>  CPL P1.0 ;將P1.0位反相</p><p>  POP PSW ;至堆棧取回PSW的值</p><p>  POP ACC ;至堆棧取回A的值</p>&l

86、t;p>  RET1 ;返回主程序</p><p>  DELAY: MOV R7,#02 ;187毫秒</p><p>  D2:MOV R4,#187</p><p>  D3:MOV R3,#248</p><p>  DJNZ R3,$</p><

87、;p>  DJNZ R4,D3</p><p>  DJNZ R7,D2</p><p>  DJNZ R5,DELAY ;決定節(jié)拍</p><p><b>  RET</b></p><p><b>  TABLE:</b></p><p&

88、gt;  DW 64021,64103,64260,64400</p><p>  DW 64524,64580,64684,64777</p><p>  DW 64820,64898,64968,65030</p><p>  DW 65058,65110,65157</p><p><b>  TABLE:</b>

89、</p><p><b>  ;1</b></p><p>  DB 0A2H,0B2H,0A4H,0B2H,0D2H</p><p>  DB 0B2H,0A2H,82H,72H,88H</p><p>  DB 72H,82H,0A2H,82H,72H,62H,42H,62H</p><p>

90、  DB 38H,38H</p><p><b>  ;2</b></p><p>  DB 0A4H,02H,0B2H,0A4H,84H</p><p>  DB 72H,82H,72H,62H,72H,84H,72H</p><p>  DB 64H,62H,12H,34H,02H,42H</p>&l

91、t;p>  DB 38H,38H</p><p><b>  ;3</b></p><p>  DB 44H,02H,32H,44H,64H</p><p>  DB72H,82H,72H,62H,72H,84H,0A2H</p><p>  DB 72H,74H,82H,0A4H,02H,0B2H</p&g

92、t;<p>  DB 0A8H,0A8H</p><p><b>  ;4</b></p><p>  DB 0B2H,0B4H,0A2H,84H,82H,72H</p><p>  DB 62H,72H,62H,42H,32H,32H,62H</p><p>  DB 78H,78H</p>

93、<p><b>  ;5</b></p><p>  DB 82H,84H,72H,82H,0A2H,84H</p><p>  DB 72H,82H,72H,62H,48H</p><p>  DB 32H,0A2H,82H,0F2H,0A2H,0B2H,82H,72H</p><p>  DB 68H,6

94、8H</p><p><b>  ;6</b></p><p>  DB 0B2H,0B2H,0B2H,0A2H,82H,84H,02H</p><p>  DB 72H,74H,62H,42H,32H,42H,62H</p><p>  DB 78H,78H</p><p>  DB 0A2H,

95、0B2H,0A2H,72H,82H,84H,82H</p><p><b>  ;7</b></p><p>  DB 72H,74H,62H,44H,64H</p><p>  DB 0A8H,0A4H,02H,0A2H</p><p>  DB 0A2H,0B1H,0A1H,82H,0A2H,0B2H,0C2H<

96、;/p><p>  DB 0A2H,0B2H,0A2H,82H,78H</p><p><b>  ;8</b></p><p>  DB 84H,72H,62H,44H,02H,62H</p><p>  DB 72H,81H,71H,62H,72H,84H,02H,0A2H</p><p>  D

97、B 0B4H,02H,82H,74H,82H,72H</p><p>  DB 68H,68H</p><p><b>  DB 00</b></p><p><b>  END </b></p><p><b>  5系統(tǒng)調試</b></p><p&

98、gt;  完成了硬件的設計、制作和軟件編程之后,要使系統(tǒng)能夠按設計意圖正常運行,必須進行系統(tǒng)調試。系統(tǒng)調試包括硬件調試和軟件調試兩個部分。不過,作為一個單片機系統(tǒng),其運行是軟硬件相結合的。因此,軟硬件調試也是絕對不可能分開的,其調試的基本步驟如下:</p><p>  5.1輸入并編譯程序</p><p>  打開偉福仿真軟件,輸入自己的編號的程序。ASM文件,存在F:/電子琴文件夾下,調

99、試程序。在編譯過程中出現(xiàn)了的錯誤,仔細檢查后發(fā)現(xiàn)是由疏忽在輸入TIM0時把0錯輸成O了,修改后再次編譯直到編譯成功后,最后以。ASM擴展名保存。</p><p><b>  5.2具體調試過程</b></p><p>  編譯通過之后就開始連接試驗箱驗證效果了,其步驟如下:</p><p>  用扁平線連接試驗箱的單片機的最小應用系統(tǒng)P2口和喇

100、叭的輸出模塊。</p><p>  用串行數(shù)據(jù)通信線連接計算機與仿真器,把仿真器插到模塊的鎖緊插座中。</p><p>  打開KEIL軟件,建立本實驗的項目文件,接著添加剛才偉福里面編譯好的源程序進行編譯。</p><p>  進行軟件設置,選擇ATMEL公司的AT89C51芯片,選擇硬件仿真,選擇串行口COM1波特率為38400.</p><

101、p>  打開試驗箱電源與模塊電源,點擊開始調試按鈕,點擊RUN運行程序觀察效果并記錄。</p><p>  一切準備好后我就開始運行并觀察效果了,當按一下P2.7口時,然后在依次按下P2.0-P2.6時就會響起DO、RE、MI、FA、SO、LA、XI六個音,當再按一下P2.7時,這時就會聽到好聽的歌曲,當再按下P2.0-P2.6口時無反應,當再按一下P2.7口時,又回到了剛才的狀態(tài),完成了畢業(yè)設計的要求。&

102、lt;/p><p><b>  結 論</b></p><p>  設計結束得到以下結論:通過這次音樂播放器的設計,讓我了解了設計電路的程序,也讓我了解了音樂播放器的原理和設計理念。我這次設計是以AT89C51單片機為核心的,有8個按鍵的模擬音樂播放器,1個控制鍵,7個音樂播放器模擬鍵,最后在實驗箱上調試,使其在按鍵操作下具有播放音樂的功能。本設計的優(yōu)點是硬件電

103、路簡單,軟件電路完善,可維護性好,損耗較小,系統(tǒng)可靠,具有一定的實用價值。該系統(tǒng)拓展后,可用于其他智能家電的控制,具有較好的應用和前景。</p><p>  在經(jīng)濟價值尤為重要的今天,降低損耗,節(jié)約成本已成為現(xiàn)在電子產(chǎn)品研究的宗旨,低損耗,節(jié)約成本已成為現(xiàn)在電子產(chǎn)品研究的宗旨,低損耗,價格更低的產(chǎn)品在現(xiàn)在社會更容易被人們接受。</p><p><b>  致  謝</b&g

104、t;</p><p>  緊張而有序的畢業(yè)設計已進入尾聲,回首這段時間的點點滴滴,就得自己受益匪淺。通過這次畢業(yè)設計,培養(yǎng)了我對學習努力刻苦,一絲不茍的態(tài)度;對工作認真負責、協(xié)作攻關的精神;鍛煉了我認真思考,敢于理論與實踐開拓的基本素質。使我獲得了從文獻資料、科學實驗、生產(chǎn)實踐和調查研究中獲得知識的能力;提高了我從別人經(jīng)驗。從其他學科找到解決的問題的新途徑的悟性。</p><p>  這才

105、畢業(yè)設計雖然是對畢業(yè)生的一項測試,但我認為這次畢業(yè)設計對我個人非常重要。因為它除了是我加深了對書本知識的理解外。更使我獲得了走向實踐、投入社會必需的基本素質。這次設計是我從校園奔向工作崗位的重要環(huán)節(jié)。我相信通過畢業(yè)設計這一環(huán)節(jié)的鍛煉,我將在今后的工作崗位中很快適應新的環(huán)境,去迎接新的挑戰(zhàn)。</p><p>  在這次畢業(yè)設計中,我也遇到了很多的問題和困難,是常老師給予了我極大地幫助和指導,從選課題到查閱資料再到設

106、計結束都是老師不斷不得指導,我向常老師表示深深地感謝!此外,我還要感謝我的母校,是她給我提供了一個是使心靈和充分展示自我的舞臺,在此向所有關心我和幫助過我的老師和同學表示深深地謝意!</p><p><b>  參考文獻</b></p><p>  [1] 李朝青.單片機原理及接口技術(簡明修訂版)[M] .北京.北京航空航天大學出版社,2003.</p>

107、;<p>  [2] 董曉紅. 單片機原理及接口技術. [M]西安.西安科學大學出版社,2004.</p><p>  [3] 汪吉鵬.微機原理與接口技術. 北京.高等教育出版社2001.</p><p>  [4] 張培仁,劉振安.MSC單片機應用大全 [M].北京:北京科海培訓中心,1990.</p><p>  [5] 張錫純 .電子示波器及其應

溫馨提示

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

評論

0/150

提交評論