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

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  題 目: 基于單片機(jī)的音樂播放器設(shè)計 </p><p>  學(xué) 院: 電子信息學(xué)院 </p><p>  專業(yè)班級: 測控08級(1)班 </p><p>  指導(dǎo)教師

2、: 職稱: 副教授 </p><p>  學(xué)生姓名: </p><p>  學(xué) 號: </p><p><b>  摘 要</b></p><p>  本音樂播放器是利用AT89S52單片機(jī)結(jié)合內(nèi)部定時系統(tǒng)

3、及LCD顯示器,設(shè)計一個簡易的微電腦音樂播放器。本設(shè)計按下單鍵可以實(shí)現(xiàn)音樂播放功能,演奏預(yù)先設(shè)置的歌曲旋律,并且在數(shù)碼管上顯示出該曲目的編號,最重要的是自己還可以經(jīng)過程序設(shè)計來輸入新的歌曲,將自己喜愛的歌曲輸入程序中,它可以經(jīng)常發(fā)出宜人的音樂旋律,增加生活的樂趣。</p><p>  關(guān)鍵詞:AT89S52單片機(jī),音樂播放器,LCD液晶顯示</p><p><b>  Abstr

4、act</b></p><p>  The music broadcast by combining internal timing is the use of AT89S52 single chip microcontroller LCD display systems and the design of a simple microcomputer music boxes. The design

5、press single computer achievable music broadcast function at the pre-establishment song melodies, and in control of the digital show the repertoire of numbers, the most important thing is it can read the procedures desig

6、ned to import new songs, the songs he loved to import procedures, it can often send pleasant mus</p><p>  Keywords: AT89S52 Single Chip Microcontroller; Music player; LCD crystal display</p><p>

7、<b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p>  第1章 單片機(jī)及其在相關(guān)領(lǐng)域的應(yīng)用和發(fā)展1</p><p>  1.1單片機(jī)的定義1</p><p>  1.2 單片機(jī)的發(fā)展趨勢

8、1</p><p>  1.3基于單片機(jī)的音樂播放器的應(yīng)用2</p><p>  1.4系統(tǒng)總體模塊圖2</p><p>  第2章 系統(tǒng)硬件設(shè)計3</p><p>  2.1 電路所用器件介紹3</p><p>  2.2 設(shè)計原理4</p><p>  第3章 系統(tǒng)軟件設(shè)計8&l

9、t;/p><p>  3.1 匯編語言8</p><p>  3.2顯示程序設(shè)計9</p><p>  3.3鍵掃程序設(shè)計10</p><p>  3.4總體程序設(shè)計11</p><p>  第4章 系統(tǒng)仿真及操作說明12</p><p>  4.1系統(tǒng)仿真圖12</p>

10、<p>  4.2系統(tǒng)PCB圖13</p><p>  4.3操作使用說明14</p><p>  第5章 系統(tǒng)調(diào)試16</p><p>  5.1系統(tǒng)演示16</p><p>  5.2問題與分析18</p><p>  第6章 總結(jié)與展望20</p><p><b

11、>  6.1總結(jié)20</b></p><p><b>  6.2展望21</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>  致謝24</b></p><p><b>  附 錄26</b>&l

12、t;/p><p>  單片機(jī)及其在相關(guān)領(lǐng)域的應(yīng)用和發(fā)展</p><p><b>  1.1單片機(jī)的定義</b></p><p>  單片機(jī)即單片微型計算機(jī),是把中央處理器、存儲器、定時/計數(shù)器、輸入輸出接口都集成在一塊集成電路芯片上的微型計算機(jī)。與應(yīng)用在個人電腦中的通用型微處理器相比,它更強(qiáng)調(diào)自供應(yīng)(不用外接硬件)和節(jié)約成本。它的最大優(yōu)點(diǎn)是體積小,

13、可放在儀表內(nèi)部,但存儲量小,輸入輸出接口簡單,功能較低。由于其發(fā)展非常迅速,舊的單片機(jī)的定義已不能滿足,所以在很多應(yīng)用場合被稱為范圍更廣的微控制器;由于單晶片微電腦常用于當(dāng)控制器故又名single chip microcontroller。</p><p>  1.2 單片機(jī)的發(fā)展趨勢</p><p>  1.2.1低功耗CMOS化 </p><p>  隨著當(dāng)今人

14、們對單片機(jī)功耗要求越來越低,現(xiàn)在的各個單片機(jī)制造商基本都采用CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗的應(yīng)用場合。所以這種工藝將是今后一段時期單片機(jī)發(fā)展的主要途徑 </p><p>  1.2.2微型單片化 </p><p>  現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這

15、就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。</p><p>  1.2.3主流與多品種共存 </p><p>  現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但以80C51為核心的單片機(jī)是主流。而Microchip公司的PIC精簡指令集(RISC)單片機(jī),中國臺灣的HOLTE

16、K公司近年的單片機(jī)產(chǎn)量與日俱增,與其低價質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場分額。在一定的時期內(nèi),這種情形將得以延續(xù),將不存在某個單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。</p><p>  1.3基于單片機(jī)的音樂播放器的應(yīng)用</p><p>  對于音樂播放器產(chǎn)品及其它有關(guān)消費(fèi)電器產(chǎn)品都是一些開環(huán)或閉環(huán)控制系統(tǒng),都由核心控制部分,執(zhí)行部分與人機(jī)界面三部分組成。而最為重要

17、的控制部分一般是由單片機(jī)來執(zhí)行完成的,這就必將導(dǎo)致和促進(jìn)單片機(jī)在音樂領(lǐng)域應(yīng)用的發(fā)展?,F(xiàn)在這些由單片機(jī)實(shí)現(xiàn)的音樂播放器的功能越來越強(qiáng)、費(fèi)用越來越低。例如,就市場上的mp3目前的功能越來越強(qiáng)大體積卻越來越小,價格也逐漸便宜,被大多數(shù)人所能接受。但這些音樂播放器也或多或少的存在著一些問題,解決這些問題,非智能化的單片機(jī)莫屬。所以基于單片機(jī)的音樂播放器不僅僅設(shè)計簡單快捷操作方便,而且通用性好,元器件易于購買,因此是掌握單片機(jī)相關(guān)知識的理想設(shè)計。

18、</p><p>  1.4系統(tǒng)總體模塊圖</p><p><b>  圖1-1總體模塊圖</b></p><p>  整個系統(tǒng)由電源給51單片機(jī)和LCD液晶顯示提供電源使其工作,當(dāng)外接按鍵輸入有效數(shù)值時,通過主控芯片實(shí)現(xiàn)整個系統(tǒng)的功能。</p><p>  第2章 系統(tǒng)硬件設(shè)計</p><p>

19、  2.1 電路所用器件介紹</p><p>  2.1.1硬件電路所用器件</p><p>  AT89S52芯片、4×4小鍵盤、1602LCD液晶顯示器、蜂鳴器、晶振,三極管,電容、電阻、排阻、導(dǎo)線、排插、排座等</p><p>  2.1.2核心器件AT89S52介紹</p><p>  AT89S52 是一種低功耗、高性能C

20、MOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾。多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。它具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門

21、狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p><p>  2.1.3振蕩器特性

22、</p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b>  2.1.4芯片擦除</b></p>

23、;<p>  AT89S52設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。</p><p><b>  2.2 設(shè)計原理</b></p><p>  2.

24、2.1音頻脈沖產(chǎn)生原理</p><p>  音樂是由音符組成的,而不同的音符對應(yīng)的是不同的震動頻率。而不同的頻率可以利用單片機(jī)的定時器產(chǎn)生,再驅(qū)動通過蜂鳴器或者是喇叭,就可以播放樂曲了。要產(chǎn)生音頻脈沖, 只要算出某一音頻的周期T,然后將周期除以2得到半周期的時間, 再對P1.0口反相, 就可在單片機(jī) P 1.0引腳得到此頻率的脈沖。例如,頻率為523Hz,其周期為天/523 S=1912uS,因此只要令計數(shù)器計時

25、956uS/1us=956,在每計數(shù)956次時就將I/O反接,就可得到中音DO(532Hz)。計算舉例:</p><p>  設(shè)K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數(shù)值。</p><p>  T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-5000

26、00/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</p><p>  2.2.2節(jié)拍產(chǎn)生原理</p><p>  根

27、據(jù)節(jié)拍的特征,可以設(shè)定1拍為0.4S , 1/ 4秒就是 0 .1 S , 只 要設(shè)定延遲時間就可求得節(jié)拍的時間。假設(shè) 1 /4拍為 1 DEL AY,則 1拍應(yīng)為4 DE LAY,則以后的諸如3/4拍等均可以依此類推。</p><p>  表2-1節(jié)拍時間設(shè)定表</p><p>  2.2.3計數(shù)脈沖與音樂頻率轉(zhuǎn)換原理</p><p>  計數(shù)脈沖與頻率從換算公式

28、:N=Fi/2/Fr (其中N:計數(shù)值; Fi:內(nèi)部計時一次為 1uS,故其頻率為1MHz;Fr:要產(chǎn)生的頻率 )</p><p>  2.2.4樂譜中C大調(diào)音符對照表</p><p>  表2-2C大調(diào)音符對照表</p><p>  2.2.5音符頻率對照表</p><p>  表2-3音符頻率對照表</p><p&g

29、t;  音 符 頻率(Hz) 簡譜碼(T值) 音 符 頻率(Hz) 簡譜碼(T值)</p><p>  低1DO 262 63628 #4FA# 740 64860</p><p>  #1DO# 277 63731 中5SO 784 64898</p><

30、;p>  低2RE 294 63835 #5SO# 831 64923</p><p>  #2RE# 311 63928 中6LA 880 64968</p><p>  低3M 330 64103 #6 932

31、64994</p><p>  低4FA 349 64103 7SI 988 65030</p><p>  #4FA# 370 64260 高1DO 1046 65058</p><p>  低5SO 392 64260 #

32、1DO# 1109 65085</p><p>  #5SO# 415 64331 高2RE 1175 65110</p><p>  低6LA 440 64400 #2RE# 1245 65124</p><p>  #6 466

33、 64463 高3M 1318 65157</p><p>  低7SI 494 64524 高4F 1397 65178</p><p>  中1DO 523 64580 #4FA# 1480 65198</p><

34、p>  2.2.6音樂代碼庫的建立方法</p><p> ?。?)先找出樂曲的最低音和最高音范圍,然后確定音符表T的順序。</p><p> ?。?)把T值表建立在TABLE1,構(gòu)成發(fā)音符的計數(shù)值放在“TABLE”。</p><p> ?。?)簡譜碼(音符)為高位,節(jié)拍為(節(jié)拍數(shù))為低4位,音符節(jié)拍碼放在程序的“TABLE”處。</p><

35、p> ?。?)音符節(jié)拍碼00H為音樂結(jié)束標(biāo)記。</p><p>  2.2.7電路原理說明</p><p>  當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T1,顯示樂曲播放的時間,并驅(qū)動LCD,顯示歌曲號及播放時間。</p><p>  (1)硬件電路中用P1.0~P1.7控制按鍵,其中P1.0~P1.

36、3掃描行,P1.4~P1.7掃面列。 </p><p> ?。?)用P0.0~P0.7控制LCD顯示。</p><p> ?。?)用,P2.0~P2.2作為LCD的RS,R/W,E的控制信號。用P0.0~P0.7作為LCD的D0~D7的控制信號。</p><p> ?。?)用P3.7口控制蜂鳴器。</p><p>  (5)電路為12MHZ晶

37、振頻率工作,起振電路中C1,C2均為30pf。</p><p>  第3章 系統(tǒng)軟件設(shè)計</p><p><b>  3.1 匯編語言</b></p><p>  匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計語言。匯編語言是機(jī)器語言的助記符,相對于比枯燥的機(jī)器代碼易于讀寫、易于調(diào)試和修改,同時優(yōu)秀的匯編語言設(shè)計者經(jīng)過巧妙的

38、設(shè)計,使得匯編語言匯編后的代碼比高級語言執(zhí)行速度更快,占內(nèi)存空間少等優(yōu)點(diǎn),但匯編語言的運(yùn)行速度和空間占用是針對高級語言并且需要巧妙設(shè)計,而且目前部分高級語言在編譯后代碼執(zhí)行效率同樣很高,目前此優(yōu)點(diǎn)慢慢弱化。而且在編寫復(fù)雜程序時具有明顯的局限性,匯編語言依賴于具體的機(jī)型,不能通用,也不能在不同機(jī)型之間移植。常說匯編語言是低級語言,并不是說匯編語言要被棄之,相反,匯編語言仍然是計算機(jī)(或微機(jī))底層設(shè)計程序員必須了解的語言,在某些行業(yè)與領(lǐng)域,

39、匯編是必不可少的,非它不可適用。</p><p>  匯編語言直接同計算機(jī)的底層軟件甚至硬件進(jìn)行交互,它具有如下一些優(yōu)點(diǎn): </p><p>  能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;</p><p>  能夠不受編譯器的限制,對生成的二進(jìn)制代碼進(jìn)行完全的控制;</p><p>  能夠?qū)﹃P(guān)鍵代碼進(jìn)行更準(zhǔn)確的控制,避免因線程共同訪問或者

40、硬件設(shè)備共享引起的死鎖; </p><p>  能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運(yùn)行速度; </p><p>  能夠最大限度地發(fā)揮硬件的功能。 </p><p>  同時還應(yīng)該認(rèn)識到,匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進(jìn)制的機(jī)器指令碼,因此不可避免地存在一些缺點(diǎn):</p><p> ?。?)編寫的代碼非常難懂

41、,不好維護(hù);</p><p> ?。?)很容易產(chǎn)生bug,難于調(diào)試; </p><p> ?。?)只能針對特定的體系結(jié)構(gòu)和處理器進(jìn)行優(yōu)化;</p><p> ?。?)開發(fā)效率很低,時間長且單調(diào)。 </p><p>  匯編語言比機(jī)器語言易于讀寫、調(diào)試和修改,同時具有機(jī)器語言全部優(yōu)點(diǎn)。但在編寫復(fù)雜程序時,相對高級語言代碼量較大,而且匯編語言依賴

42、于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。</p><p><b>  匯編語言的特點(diǎn): </b></p><p>  1.面向機(jī)器的低級語言,通常是為特定的計算機(jī)或系列計算機(jī)專門設(shè)計的。</p><p>  2.保持了機(jī)器語言的優(yōu)點(diǎn),具有直接和簡捷的特點(diǎn)。 </p><p>  3.可

43、有效地訪問、控制計算機(jī)的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。 </p><p>  4.目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。</p><p>  5.經(jīng)常與高級語言配合使用,應(yīng)用十分廣泛。</p><p><b>  3.2顯示程序設(shè)計</b></p><p>  LCD1602在

44、上電以后,應(yīng)該先等待50毫秒左右,讓其內(nèi)部芯片初始化后再對其進(jìn)行操作。在對其操作時,應(yīng)參考其時序圖,先把命令寫入其內(nèi)部寄存器設(shè)置它的工作方式和狀態(tài)。要顯示數(shù)據(jù)的時候,先設(shè)置好顯示坐標(biāo),再往里面寫入要顯示的ASCII碼,LCD則通過刷新和替換來顯示新的數(shù)據(jù)。其程序流程圖如下圖所示:</p><p>  圖3-1顯示程序流程圖</p><p><b>  3.3鍵掃程序設(shè)計</

45、b></p><p>  由于矩陣鍵盤采用4行4列的結(jié)構(gòu),每一行每一列各對應(yīng)一個I/O口,故程序應(yīng)該逐行查詢,一旦查詢到有某一行的按鍵被按下了,則根據(jù)讀取到的I/O總線口的數(shù)據(jù)即可查詢到是哪一列的按鍵被按下了,最后對應(yīng)行列返回一個按鍵值回主函數(shù)。</p><p><b>  其程序流程圖如下:</b></p><p><b> 

46、 否</b></p><p><b>  否 否</b></p><p><b>  否否</b></p><p><b>  否否</b></p><p>  圖3-2 矩陣鍵盤程序流程圖</p><p><b>  

47、3.4總體程序設(shè)計</b></p><p>  圖3-3總體程序流程圖</p><p>  第4章 系統(tǒng)仿真及操作說明</p><p><b>  4.1系統(tǒng)仿真圖</b></p><p><b>  圖4-1仿真圖</b></p><p><b>  

48、4.2系統(tǒng)PCB圖</b></p><p>  圖4-2PCB頂層制版圖</p><p>  圖4-3PCB底層制版圖</p><p><b>  圖4-4 3D圖</b></p><p><b>  4.3操作使用說明</b></p><p><b>

49、  按鍵功能說明:</b></p><p><b>  0: 歌曲停止鍵</b></p><p><b>  1~A:十首歌曲</b></p><p><b>  C:下一首歌曲</b></p><p><b>  D:上一首歌曲</b><

50、;/p><p><b>  E:歌曲暫停鍵</b></p><p><b>  F:開機(jī)顯示畫面</b></p><p>  首先插上電源,為單片機(jī)提供電能,然后先按下F鍵,在LCD上顯示“Welcome”歡迎界面,此時您可以看到顯示,按下1~A這是個音樂播放鍵,播放對應(yīng)的樂曲,C鍵是選擇下一首歌曲,D鍵是選擇上一首歌曲,E鍵

51、是暫停鍵,當(dāng)歌曲播放時按下可以暫停,再按一次就可以繼續(xù)播放,0鍵是停止鍵,如果您想要是歌曲停止播放則按此鍵,當(dāng)此鍵按下后,再按其他鍵會沒有效果。</p><p>  當(dāng)出現(xiàn)異常時,可以按電路上的復(fù)位鍵,是整個系統(tǒng)處于復(fù)位的初始狀態(tài)。</p><p>  4.3.1 操作可能出現(xiàn)情況及對應(yīng)措施</p><p>  1、在剛剛插上電源時可能出現(xiàn)沒有顯示的情況,這是由于連

52、接線接觸不良的情況導(dǎo)致的,這是應(yīng)該拔連接線后重新試一次,并且保證USB接口處鏈接良好。</p><p>  2、在系統(tǒng)運(yùn)行的時候,可能會有類似“死機(jī)”的情況,出現(xiàn)這種情況時,要按下復(fù)位鍵,使系統(tǒng)回到初始狀態(tài)。</p><p>  3、可能出現(xiàn)在按下按鍵時,LCD上沒有顯示,這是由于按鍵的原因,解決方案就是將按鍵按下持續(xù)一兩秒鐘在釋放,這樣就可以。</p><p> 

53、 4.3.2 使用時應(yīng)該注意的問題</p><p>  1、要注意電源最好是用電腦上的USB電源,如果電源電壓過大會燒壞單片機(jī)。</p><p>  2、在單片機(jī)存放和使用時要注意防止潮濕等情況以免造成短路。</p><p><b>  第5章 系統(tǒng)調(diào)試</b></p><p><b>  5.1系統(tǒng)演示<

54、;/b></p><p><b>  圖5.1整體實(shí)物圖</b></p><p><b>  圖5.2開機(jī)界面</b></p><p><b>  圖5.3運(yùn)行界面1</b></p><p><b>  圖5.4運(yùn)行界面2</b></p>

55、<p><b>  圖5.1暫停界面</b></p><p><b>  5.2問題與分析</b></p><p>  1、邏輯錯誤:它是由設(shè)計錯誤或加工過程中的工藝性錯誤所造成的。這類錯誤包括錯線、開路、短路等。</p><p>  2、元器件失效:有兩方面的原因:一是器件本身已損壞或性能不符合要求;二是組

56、裝錯誤造成元件失效,如電解電容、集成電路安裝方向錯誤等。</p><p>  3、可靠性差:因其可靠性差的原因很多,如金屬化孔、接插件接觸不良會造成系統(tǒng)時好時壞,經(jīng)不起振動;走線和布局不合理也會引起系統(tǒng)可靠性差。</p><p>  4、電源故障:若樣機(jī)由電源故障,則加電后很容易造成器件損壞。電源故障包括電壓值不符合設(shè)計要求,電源引線和插座不對,功率不足,負(fù)載能力差等。</p>

57、<p><b>  第6章 總結(jié)與展望</b></p><p><b>  6.1總結(jié)</b></p><p>  本設(shè)計報告主要介紹了用單片機(jī)實(shí)現(xiàn)的音樂發(fā)生器的設(shè)計方法。系統(tǒng)介紹了該電路的硬件構(gòu)成和軟件工作過程,系統(tǒng)以AT89S52為核心,主要采用中斷控制系統(tǒng),結(jié)合所學(xué)的單片機(jī)知識,實(shí)現(xiàn)系統(tǒng)的功能要求。設(shè)計中很好的使軟硬件相結(jié)合,

58、基本上達(dá)到了設(shè)計的要求。通過這次畢業(yè)設(shè)計,使我對單片機(jī)及其附屬電路有了一定的了解,對課本上的知識有了進(jìn)一步的掌握,也深刻明白了自己的不足。</p><p>  隨著畢業(yè)日子的到來,畢業(yè)設(shè)計也接近了尾聲。經(jīng)過幾個月的奮戰(zhàn)我的畢業(yè)設(shè)計終于完成了。在沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年所學(xué)知識的單純總結(jié),但是通過這次畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗(yàn),而且也是對自己能力的一種

59、提高。通過這短短幾個月的制作,我感覺到自己從課本上學(xué)到的理論知識和實(shí)踐仍有很大的差距。很多器件根本不知道什么功效,在仿真儀器中是什么代碼。有的知識,自己感覺已經(jīng)掌握的差不多了,但是實(shí)際操作起來就有問題出現(xiàn)了。我遇到了不少問題,花費(fèi)了很多時間。這讓我重新反思我們的學(xué)習(xí),深刻領(lǐng)悟到我們這個專業(yè)動手實(shí)踐的重要性。理論不經(jīng)過時間考驗(yàn),是沒法實(shí)施的,就像我們編的程序,很多方面考慮的都不夠,幾乎沒有涉及到實(shí)際應(yīng)用時的防范方法措施。知識是永無止境的,

60、在今后的工作中,我會理論聯(lián)系實(shí)際,不停的去學(xué)習(xí),不停的去感悟,以彌補(bǔ)我先天的不足以及后天的差距。</p><p>  在畢業(yè)設(shè)計過程中,我真正體會到了實(shí)踐的重要性,很多自己認(rèn)為萬無一失的軟件代碼或者硬件電路,在調(diào)試的過程中都不會是風(fēng)平浪靜的,此次畢業(yè)設(shè)計經(jīng)過了從概念到成品的漫長過程,在此過程中我學(xué)習(xí)了很多以前沒有掌握又是電子類畢業(yè)生必須掌握的知識,比如proteus,從設(shè)計第一天起,我就被ptoteus的強(qiáng)大功能

61、所折服,學(xué)會了proteus,就相當(dāng)于擁有了一個電子設(shè)計開發(fā)平臺。幾個月來,我有過驚喜,失落,樂觀,自信,自卑,這次畢業(yè)設(shè)計也磨練了我的心志,堅定了我的信念,讓我學(xué)會了平淡的看待得失,冷靜的分析問題,真誠的對待他人,自信的面對生活。</p><p><b>  6.2展望</b></p><p>  單片機(jī)程序運(yùn)行可靠,并且可以修改,通過不同的程序?qū)崿F(xiàn)不同的功能,尤其

62、是一些獨(dú)特的功能。通過使用單片機(jī)編寫的程序?qū)崿F(xiàn)高智能、高效率和更高的可靠性。</p><p>  在歌曲播放方面的改進(jìn):添加隨機(jī)播放功能、順序播放功能、倒序播放功能、瀏覽歌曲等功能;在歌曲存儲方面:提升歌曲的數(shù)量;在播放效果方面:由現(xiàn)在的音調(diào)變?yōu)檠莩?lt;/p><p><b>  參考文獻(xiàn)</b></p><p>  【1】 張毅剛,彭喜元,

63、董繼成.單片機(jī)原理及應(yīng)用. 北京:高等教育出版社,2005-12 ISBN 7-04-013036-X</p><p>  【2】 沈德金,陳粵初.MCS-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗本┖娇蘸教齑髮W(xué)出版社,1990</p><p>  【3】 楊世成.信號放大電路.電子工業(yè)出版社,1995</p><p>  【4】 張友德.趙志英.涂時亮。單片微

64、型機(jī)原理、應(yīng)用與實(shí)驗(yàn)(第四版)。上海:復(fù)旦大學(xué)出版社,2003</p><p>  【5】大欽主編,模擬電子技術(shù)基礎(chǔ)(第二版)【M】 高等教育出版社</p><p>  【6】石主編,數(shù)字電子技術(shù)(第五版)【M】 高等教育出版社</p><p>  【7】周復(fù)三主編,音樂基礎(chǔ)理論教程【M】 山東大學(xué)出版社</p><p>  【8】軍

65、主編,單片機(jī)高級實(shí)例開發(fā)指南【M】 北京航空航天大學(xué)出版社</p><p>  【9】歐偉明主編,單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計【M】 電子工業(yè)出版社</p><p>  【10】世明主編,基于proteus的單片機(jī)應(yīng)用技術(shù)【M】 電子工業(yè)出版社</p><p><b>  \</b></p><p><b>

66、;  致謝</b></p><p>  在此次課程設(shè)計的中我首先要感謝xx老師對我們的指導(dǎo),xx老師在最開始上課的過程中就將我們在做畢業(yè)設(shè)計過程中的各種要注意的事項(xiàng)都說得清清楚楚,我將其一一記錄,因此少走了很多的彎路,而在設(shè)計的時候,xx老師也提供了很多的幫助。</p><p>  其次要感謝我們班上的幾位有經(jīng)驗(yàn)的同學(xué),他們在我選擇器件和軟件仿真等步驟上給了我很多的幫助,這里也

67、謝謝他們。</p><p><b>  附 錄</b></p><p><b>  材料清單</b></p><p>  AT89S52芯片 1片</p><p>  1602LCD液晶顯示屏 1塊</p><p> 

68、 4×4小鍵盤 1塊</p><p>  12MHZ晶振 1片</p><p>  9腳10千歐排阻 1片</p><p>  芯片排座 1塊</p><p>  1千歐電阻

69、 2個</p><p>  4.7千歐電阻 1個</p><p>  30Pf電容 2片</p><p>  10uF電解電容 1片</p><p>  NPN三極管

70、 1個</p><p>  蜂鳴器 1個</p><p>  小按鍵 17個</p><p>  小開關(guān) 1個</p><p>  綠色LED 1個</p&

71、gt;<p>  杜邦線排座 2個</p><p>  普通排座 1個</p><p>  普通排針 1條</p><p>  杜邦線 4根</p><p>  

72、萬能板 1塊</p><p><b>  實(shí)驗(yàn)程序</b></p><p>  RS BIT P2.0</p><p>  RW BIT P2.1</p><p>  E BIT P2.2</p><p>  L50MS EQU 60H</p&

73、gt;<p>  L1MS EQU 61H</p><p>  L250MS EQU 62H</p><p>  SEC EQU 65H</p><p>  MIN EQU 64H</p><p>  HOU EQU 63H</p><p><b>  ORG 0000H</b>&

74、lt;/p><p><b>  LJMP MAIN</b></p><p><b>  ORG 000BH</b></p><p><b>  LJMP TT0</b></p><p><b>  ORG 001BH</b></p><p&

75、gt;  LJMP T1INT</p><p><b>  ORG 1000H</b></p><p><b>  MAIN:</b></p><p>  MOV SP,#70H</p><p>  MOV P0,#01H</p><p>  LCALL ENABLE<

76、/p><p>  MOV P0,#38H</p><p>  LCALL ENABLE</p><p>  MOV P0,#0FH</p><p>  LCALL ENABLE</p><p>  MOV P0,#06H</p><p>  LCALL ENABLE</p><p

77、>  LCALL INITIL</p><p><b>  KEY1:</b></p><p><b>  LCALL KEY</b></p><p>  LCALL MODD</p><p><b>  LJMP KEY1</b></p><p>

78、;<b>  KEY:</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  LCALL KS</b></p><p><b>  JNZ K1</b></p

79、><p>  LCALL KAIJI</p><p><b>  LCALL SOP</b></p><p><b>  XN:</b></p><p><b>  LJMP KEY</b></p><p><b>  K1:</b>&

80、lt;/p><p>  LCALL MODD</p><p>  LCALL MODD</p><p><b>  LCALL KS</b></p><p><b>  JNZ K2</b></p><p><b>  LJMP KEY</b></p&

81、gt;<p><b>  K2:</b></p><p>  MOV R2,#0FEH</p><p>  MOV R4,#00H</p><p><b>  K3:</b></p><p><b>  MOV A,R2</b></p><p&

82、gt;<b>  MOV P1,A</b></p><p><b>  MOV A,P1</b></p><p>  JB ACC.4,L1</p><p>  MOV A,#00H</p><p><b>  LJMP LK</b></p><p>&

83、lt;b>  L1:</b></p><p>  JB ACC.5,L2</p><p>  MOV A,#04H</p><p><b>  LJMP LK</b></p><p><b>  L2:</b></p><p>  JB ACC.6,L3&l

84、t;/p><p>  MOV A,#08H</p><p><b>  LJMP LK</b></p><p><b>  L3:</b></p><p>  JB ACC.7,NEXT1</p><p>  MOV A,#0CH</p><p><

85、b>  LK:</b></p><p><b>  ADD A,R4</b></p><p><b>  PUSH ACC</b></p><p><b>  K4:</b></p><p>  LCALL DELAY1</p><p>

86、;<b>  LCALL KS</b></p><p><b>  JNZ K4</b></p><p>  MOV R3,#07H</p><p><b>  CLR A</b></p><p>  MOV R0,#30H</p><p>  MOV

87、R1,#31H</p><p><b>  MM1:</b></p><p><b>  MOV A,@R1</b></p><p><b>  MOV @R0,A</b></p><p><b>  INC R0</b></p><p

88、><b>  INC R1</b></p><p>  DJNZ R3,MM1</p><p><b>  POP ACC</b></p><p><b>  MOV @R0,A</b></p><p><b>  RET</b></p>

89、<p><b>  NEXT1:</b></p><p><b>  INC R4</b></p><p><b>  MOV A,R2</b></p><p>  JNB ACC.3,N2</p><p><b>  LJMP N1</b>

90、</p><p><b>  N2:</b></p><p><b>  LJMP KEY</b></p><p><b>  N1:</b></p><p><b>  RL A</b></p><p><b>  MO

91、V R2,A</b></p><p><b>  LJMP K3</b></p><p><b>  KS:</b></p><p>  MOV A,#0F0H</p><p><b>  MOV P1,A</b></p><p><b

92、>  NOP</b></p><p><b>  NOP </b></p><p><b>  MOV A,P1</b></p><p><b>  CPL A</b></p><p>  ANL A,#0F0H</p><p><

93、;b>  RET</b></p><p><b>  DELAY1:</b></p><p><b>  SETB RS0</b></p><p><b>  DL:</b></p><p>  MOV R5,#0AH</p><p>

94、<b>  DL2:</b></p><p>  MOV R6,#63</p><p><b>  DL3:</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJN

95、Z R6,DL3</p><p>  DJNZ R5,DL2</p><p><b>  CLR RS0</b></p><p><b>  RET</b></p><p><b>  INITIL:</b></p><p>  MOV R3,#08H&

96、lt;/p><p>  MOV R0,#30H</p><p><b>  M1:</b></p><p>  MOV @R0,#00H</p><p><b>  INC R0</b></p><p>  DJNZ R3,M1</p><p><b

97、>  RET</b></p><p><b>  MODD:</b></p><p>  MOV P0,#8EH</p><p>  LCALL ENABLE</p><p><b>  MOV A,37H</b></p><p>  MOV DPTR,#T

98、ABLE3</p><p>  MOVC A,@A+DPTR</p><p>  LCALL WRITE2</p><p><b>  RET</b></p><p><b>  KAIJI:</b></p><p><b>  MOV A,37H</b>

99、;</p><p>  CJNE A,#0FH,DFF</p><p>  MOV P0,#80H</p><p>  LCALL ENABLE</p><p>  MOV DPTR,#TABLE1</p><p>  LCALL WRITE1</p><p><b>  DFF:&l

100、t;/b></p><p><b>  RET</b></p><p><b>  SOP:</b></p><p><b>  MOV A,37H</b></p><p>  CJNE A,#01H,A11</p><p>  LCALL MOD

101、D</p><p>  MOV 52H,#HIGH TABLE10</p><p>  MOV 53H,#LOW TABLE10</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A11:</b></p><

102、;p>  CJNE A,#02H,A22</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE20</p><p>  MOV 53H,#LOW TABLE20</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p

103、><p><b>  A22:</b></p><p>  CJNE A,#03H,A33</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE30</p><p>  MOV 53H,#LOW TABLE30</p><p> 

104、 LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A33:</b></p><p>  CJNE A,#04H,A44</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE40</p>

105、<p>  MOV 53H,#LOW TABLE40</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A44:</b></p><p>  CJNE A,#05H,A55</p><p>  LCALL MOD

106、D</p><p>  MOV 52H,#HIGH TABLE50</p><p>  MOV 53H,#LOW TABLE50</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A55:</b></p><

107、;p>  CJNE A,#06H,A66</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE60</p><p>  MOV 53H,#LOW TABLE60</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p

108、><p><b>  A66:</b></p><p>  CJNE A,#07H,A77</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE70</p><p>  MOV 53H,#LOW TABLE70</p><p> 

109、 LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A77:</b></p><p>  CJNE A,#08H,A88</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE80</p>

110、<p>  MOV 53H,#LOW TABLE80</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A88:</b></p><p>  CJNE A,#09H,A99</p><p>  LCALL MOD

111、D</p><p>  MOV 52H,#HIGH TABLE90</p><p>  MOV 53H,#LOW TABLE90</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0</p><p><b>  A99:</b></p><

112、;p>  CJNE A,#0AH,AAA</p><p>  LCALL MODD</p><p>  MOV 52H,#HIGH TABLE100</p><p>  MOV 53H,#LOW TABLE100</p><p>  LCALL INITILE2</p><p>  LCALL MAIN0<

113、/p><p><b>  AAA:RET</b></p><p><b>  INITILE2:</b></p><p>  MOV L50MS,#20</p><p>  MOV L1MS,#00H</p><p>  MOV L250MS,#00H</p>&l

114、t;p>  MOV SEC,#00H</p><p>  MOV MIN,#00H</p><p>  MOV HOU,#00H</p><p><b>  MOV A,HOU</b></p><p><b>  MOV B,#10</b></p><p><b&

115、gt;  DIV AB</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0C8H</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,B</b></p>

116、<p>  ADD A,#30H</p><p>  MOV P0,#0C9H</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p>  MOV A,#3AH</p><p>  MOV P0,#0DH</p><p>  LCAL

117、L ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,MIN</b></p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  ADD

118、A,#30H</p><p>  MOV P0,#0CBH</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV

119、P0,#0CCH</p><p>  LCALL ENABLE </p><p>  LCALL WRITE2</p><p>  MOV A,#3AH</p><p>  MOV P0,#0CDH</p><p>  LCALL ENABLE</p><p>  LCALL WRITE2<

120、;/p><p><b>  MOV A,SEC</b></p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CEH</

121、p><p>  LCALL ENABLE</p><p>  LCALL WRITE2</p><p><b>  MOV A,B</b></p><p>  ADD A,#30H</p><p>  MOV P0,#0CFH</p><p>  LCALL ENABLE<

122、;/p><p>  LCALL WRITE2</p><p>  MOV P0,#0C0H</p><p>  LCALL ENABLE</p><p>  MOV DPTR,#TABLE2</p><p>  LCALL WRITE1</p><p><b>  RET</b>

123、;</p><p><b>  ENABLE:</b></p><p><b>  CLR RS</b></p><p><b>  CLR RW</b></p><p><b>  CLR E</b></p><p>  LCAL

124、L DELAY</p><p><b>  SETB E</b></p><p><b>  RET</b></p><p><b>  WRITE1:</b></p><p>  MOV R1,#00H</p><p><b>  A1:&l

125、t;/b></p><p><b>  MOV A,R1</b></p><p>  MOVC A,@A+DPTR</p><p>  LCALL WRITE2</p><p><b>  INC R1</b></p><p>  CJNE A,#0FEH,A1<

126、/p><p><b>  RET</b></p><p><b>  WRITE2:</b></p><p><b>  MOV P0,A</b></p><p><b>  SETB RS</b></p><p><b> 

127、 CLR RW </b></p><p><b>  CLR E</b></p><p>  LCALL DELAY</p><p><b>  SETB E </b></p><p><b>  RET</b></p><p><b&

128、gt;  DELAY:</b></p><p>  MOV R4,#05</p><p><b>  D1:</b></p><p>  MOV R5,#0FFH</p><p><b>  DJNZ R5,$</b></p><p>  DJNZ R4,D1&l

129、t;/p><p><b>  RET</b></p><p><b>  TAB:</b></p><p>  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH</p>

130、<p>  TAB1:DB 89H,86H,0C7H,0C7H,0C0H</p><p>  TAB2:DB 0C6H,88H,0C0H</p><p>  TABLE1:DB 'Welcome',0FEH</p><p>  TABLE2:DB 'Hello' ,0FEH</p><p>  T

131、ABLE4:DB 'CAU',0FEH</p><p>  TABLE3:DB 30H,31H,32H,33H</p><p>  DB 34H,35H,36H,37H</p><p>  DB 38H,39H,41H,42H</p><p>  DB 43H,44H,45H,46H</p><p>&

132、lt;b>  MAIN0:</b></p><p>  MOV TMOD,#11H</p><p>  MOV IE,#8AH</p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H</p><p><b>  LCALL KS</b><

133、;/p><p><b>  JNZ TTM12</b></p><p>  MOV 40H,#00H</p><p><b>  NEXT20:</b></p><p><b>  MOV A,40H</b></p><p>  MOV DPH,52H<

134、;/p><p>  MOV DPL,53H</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,A</b></p><p><b>  JZ STOP</b></p><p>  ANL A,#0FH</p><p>

溫馨提示

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

評論

0/150

提交評論