



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、( 此文檔為 word 格式,下載后您可任意編輯修改!)畢業(yè)設(shè)計(jì)(論文)( 2013屆)題目 電子琴音樂(lè)的產(chǎn)生與演奏電路的設(shè)計(jì)學(xué)院電子與電氣工程系專業(yè)應(yīng)用電子技術(shù)班級(jí)應(yīng)電 1001 班學(xué)生姓名王雅琴指導(dǎo)教師黎楊梅1摘要本文的主要內(nèi)容是用 STC89C51單片機(jī)為核心控制元件, 設(shè)計(jì)一個(gè)可以實(shí)現(xiàn)演奏和播放音樂(lè)的簡(jiǎn)易電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊。 在主控模塊上設(shè)有 16 個(gè)按鍵和揚(yáng)聲器, 應(yīng)用中斷系統(tǒng)和定時(shí)計(jì)數(shù)原理控制其發(fā)聲。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。關(guān)鍵詞單片機(jī);電子琴;鍵盤(pán)目
2、錄1.引言12.總體方案12.1系統(tǒng)的設(shè)計(jì)要求12.2電子琴系統(tǒng)的組成22.3系統(tǒng)設(shè)計(jì)框圖23.硬件電路設(shè)計(jì)簡(jiǎn)介33.1單片機(jī) STC89C513STC89C51 的簡(jiǎn)介3管腳功能4在線編程5電子琴系統(tǒng)單片機(jī)最小系統(tǒng)設(shè)計(jì)圖53.2矩陣式鍵盤(pán)6矩陣式鍵盤(pán)的結(jié)構(gòu)與工作原理6矩陣式鍵盤(pán)的按鍵識(shí)別方法6鍵盤(pán)接口必須具備的4 個(gè)基本功能7電子琴系統(tǒng)矩陣鍵盤(pán)硬件電路圖73.3音頻功放電路設(shè)計(jì)8LM386 的結(jié)構(gòu)與工作原理8LM386 的主要特性8LM386 的典型應(yīng)用電路8電子琴中音頻功放電路圖94.軟件設(shè)計(jì)104.1音樂(lè)播放程序設(shè)計(jì)10音樂(lè)背景知識(shí)10單片機(jī)產(chǎn)生音樂(lè)的方法10音樂(lè)播放軟件設(shè)計(jì)124.2放
3、歌子程序設(shè)計(jì)134.3系統(tǒng)整體軟件流程設(shè)計(jì)145.系統(tǒng)調(diào)試145.1 keil 簡(jiǎn)介155.2硬件調(diào)試155.3軟件調(diào)試155.4綜合調(diào)試156.結(jié)論16參考文獻(xiàn)17謝辭181. 引言單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),他具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。電子琴是箱子電子科技與音樂(lè)結(jié)合的產(chǎn)物。之所以受到群眾們喜愛(ài) , 是因?yàn)樗苣M各種樂(lè)器的音色 , 如笛、號(hào)、琴、顫音、和旋音等以及打擊樂(lè)板音、鼓樂(lè)、沙錘等。本設(shè)計(jì)介紹一種除有普
4、通電子琴功能外 , 還有不需要按琴鍵就能模擬電子琴自動(dòng)演奏樂(lè)曲的電子琴音樂(lè)的產(chǎn)生和演奏電路。若與音響放大器相結(jié)合 , 則樂(lè)曲的音響效果會(huì)更好。 20 世紀(jì) 80 年代中期,出現(xiàn)的現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA)具有體系結(jié)構(gòu)、邏輯單元靈活、集成度高以及適用范圍廣等特點(diǎn),可實(shí)現(xiàn)大規(guī)模和超大規(guī)模的集成電路,而且編程靈活。 STC89C51單片機(jī)為核心控制元件,可提高開(kāi)發(fā)效率,縮短研發(fā)周期,降低研發(fā)成本,且易于進(jìn)行功能擴(kuò)展。簡(jiǎn)易電子琴系統(tǒng)就是以單片機(jī)為核心部件設(shè)計(jì)的一個(gè)簡(jiǎn)易的電子琴,這只是單片機(jī)應(yīng)用的一個(gè)點(diǎn),由點(diǎn)及面,希望能更好的了解和應(yīng)用單片機(jī)技術(shù)。我選單片機(jī)電子琴這個(gè)選題的目的在于通過(guò)從日常生活中的
5、細(xì)微之處著手,將所學(xué)的理論知識(shí)與實(shí)踐更好的結(jié)合起來(lái),在設(shè)計(jì)制作電子琴的過(guò)程中,更加熟練的掌握單片機(jī)的應(yīng)用,在更深刻的理解理論知識(shí)的同時(shí)鍛煉提高自己的動(dòng)手實(shí)踐能力,使理論和實(shí)際能夠相得益彰。2. 總體方案2.1系統(tǒng)的設(shè)計(jì)要求本系統(tǒng)設(shè)計(jì)的功能有兩個(gè)部分,一個(gè)是音樂(lè)的播放功能,另一個(gè)就是電子琴樂(lè)曲的演奏功能。具體的要求如下所示:1. 產(chǎn)生各個(gè)音符的頻率信號(hào)。2. 產(chǎn)生低、中、高三個(gè)音區(qū)的音符。3. 能播放預(yù)置的音樂(lè),并能自動(dòng)和人工選曲。2.2電子琴系統(tǒng)的組成本系統(tǒng)主要由兩個(gè)部分組成:音樂(lè)播放部分和電子琴演奏部分。音樂(lè)的播放部分:一個(gè)樂(lè)音其實(shí)就是一個(gè)具有固定周期的信號(hào)。本設(shè)計(jì)就是用單片機(jī) STC89C
6、51 的兩個(gè)定時(shí)器( T0, T1)控制,在 P1.0 腳上輸出方波周期信號(hào),產(chǎn)生其對(duì)應(yīng)頻率的樂(lè)音,通過(guò)矩陣式鍵盤(pán)的按鍵產(chǎn)生不同的音符,所以彈奏者可以隨心所欲的彈奏出自己喜愛(ài)的音樂(lè)樂(lè)曲,不彈奏時(shí)也可以播放單片機(jī)程序設(shè)置的音樂(lè)歌曲來(lái)試聽(tīng),共有十幾首可以自由選擇。電子琴演奏部分:實(shí)際上就是把彈奏的每個(gè)按鍵的所對(duì)應(yīng)的值處理后送給單片機(jī),然后在單片機(jī)內(nèi)把處理后的數(shù)字當(dāng)作指針指向所對(duì)應(yīng)的音符,從而發(fā)出對(duì)應(yīng)的聲音 4-6。2.3系統(tǒng)設(shè)計(jì)框圖本系統(tǒng)通過(guò)矩陣式鍵盤(pán)按鍵隨意鍵入樂(lè)曲的音符,作為電平送給主體電路單片機(jī)最小系統(tǒng),中央處理器經(jīng)過(guò)識(shí)別,解碼輸出音符,在揚(yáng)聲器中發(fā)出對(duì)應(yīng)音符的準(zhǔn)確發(fā)音。該系統(tǒng)的主要模塊由四
7、個(gè)部分組成,具體關(guān)系如圖2-1 所示 7:功能選擇(彈奏/播放)4*4 矩陣鍵盤(pán)51單片機(jī)中心控制模塊音頻功放模塊圖 2-1總體設(shè)計(jì)系統(tǒng)框圖由 P0 口的高四位和低四位作矩陣式鍵盤(pán)的鍵盤(pán)接口,用P1.0 作信號(hào)輸出口。3. 硬件電路設(shè)計(jì)簡(jiǎn)介3.1單片機(jī) STC89C51 STC89C51 的簡(jiǎn)介STC89C51 單片機(jī)是一款增強(qiáng)型的單片機(jī),它完全兼容MCS-51 單片機(jī)。STC89C51 不但可以代替AT89C51,而且速度更快,功能更強(qiáng),壽命更長(zhǎng),價(jià)格更低,使用方便。該單片機(jī)共有 40 個(gè)引腳,采用的是雙列直插式 DIP-40 的封裝。 STC89C51 可以完成 ISP 在線編程功能,而
8、AT89C51 則不具備此功能。因此只需將 AT89C51 中的程序直接燒錄到 STC89C51 中后,STC89C51 就可以代替 AT89C51 在電路中工作,還可以在線修改下載,使用起來(lái)非常方便。STC 推出的 51 系列單片機(jī)芯片全面兼容其他51 單片機(jī)。它的內(nèi)部有 E2PROM ,所以可以任意修改程序, 而且斷電也不會(huì)丟失數(shù)據(jù)。此外,還增加了兩級(jí)中斷優(yōu)先級(jí)等等,此系列的單片機(jī)的基本特性如圖 3-1 所示 8,管腳如圖 3-2 所示 9:圖 3-1STC89 系列單片機(jī)的基本特性結(jié)構(gòu)圖圖 3-2STC89C51 管腳圖 管腳功能VCC :供電電壓。GND :接地。P0 口:八位雙向 I
9、O 口, P0 口能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,可以被定義為數(shù)據(jù)地址的第八位。P1 口: P1 口是一個(gè)有上拉電阻的八位雙向IO 口, P1 口管腳寫(xiě)入“ 1”后,被內(nèi)部上拉為高電平,可用作輸入。當(dāng)它被外部下拉為低電平時(shí),將輸出電流。P2 口: P2 口是一個(gè)提供上拉電阻的八位雙向IO 口, P2 口管腳寫(xiě)入“ 1”后,被內(nèi)部上拉電阻拉高,且作為輸入。所以在作為輸入時(shí),如果管腳被外部拉低,它將輸出電流。在P2 口用于外部程序存儲(chǔ)器或16 位地址外部存儲(chǔ)器存取時(shí),P2 口則輸出地址的高八位。在地址為1 時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),在對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí), P2 口將輸出其特殊功能寄存器
10、的內(nèi)容。P3 口: P3 口是 8 個(gè)帶內(nèi)部上拉電阻的雙向IO 口,當(dāng)它寫(xiě)入“ 1”時(shí),內(nèi)部則被上拉為高電平,并且用作輸入。作為輸入,由于外部下拉為低電平,P3 口將會(huì)輸出電流。同時(shí), P3 口還可以作為一些特殊功能口。RST :復(fù)位輸出。當(dāng)振蕩器復(fù)位器件后,此腳要維持兩個(gè)機(jī)器周期的高電平。ALEPROG :在訪問(wèn)外部存儲(chǔ)器的時(shí)候, 地址鎖存允許的輸出電平用于鎖存地址。在沒(méi)有編程時(shí), ALE 端以固定的頻率周期輸出正脈沖信號(hào),此信號(hào)的頻率為振蕩器頻率的 16。因此,它可以對(duì)外輸出脈沖信號(hào),也可以用于定時(shí)。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期內(nèi)兩次 PSEN
11、 有效,但是在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的時(shí)候,這兩次有效的PSEN 信號(hào)將不會(huì)出現(xiàn)。EAVPP :當(dāng) EA 保持低電平的期間使用外部程序存儲(chǔ)器( 0000H-FFFFH ),不管是否有內(nèi)部程序存儲(chǔ)器。注意為加密方式時(shí),EA 將內(nèi)部鎖定為RESET ,當(dāng) EA 保持高電平時(shí)為內(nèi)部程序存儲(chǔ)器。XTAL1 :反向振蕩放大器的輸入端以及內(nèi)部工作時(shí)鐘電路的輸入端。XTAL2 :反向振蕩器的輸出 10。 在線編程STC 支持 ISP 功能,編程的時(shí)候不需要拔出,也不需要專門(mén)的編程器,只需要一個(gè) MAX232 做串口通信電路,利用串口進(jìn)行在線編程,非常方便。 電子琴系統(tǒng)單片機(jī)最小系統(tǒng)設(shè)計(jì)圖本設(shè)計(jì)的電子琴的單片機(jī)最
12、小系統(tǒng)原理圖如圖3-3 所示:圖 3-3單片機(jī)最小系統(tǒng)電路圖3.2矩陣式鍵盤(pán) 矩陣式鍵盤(pán)的結(jié)構(gòu)與工作原理在鍵盤(pán)中按鍵的數(shù)目比較多時(shí),為了減少IO 的占用,我們通常將按鍵排列成矩陣的形式。在矩陣式鍵盤(pán)中,每一條水平線和垂直線在交叉處并沒(méi)有直接連通,而是通過(guò)一個(gè)個(gè)的按鍵加以連接。 這樣的話,每一個(gè)端口(例如 P1 口)連接構(gòu)成 4*4=16個(gè)按鍵,比直接用端口線接成鍵盤(pán)多了一倍,并且線數(shù)越多,區(qū)別就越明顯,若再多加一條線就可以構(gòu)成有20 個(gè)按鍵的鍵盤(pán)了,而若直接用端口線的話,卻只能多一個(gè)鍵( 9 鍵),因此,在需要按鍵的數(shù)目較多時(shí),運(yùn)用矩陣式鍵盤(pán)才是合理的11。顯然,矩陣式鍵盤(pán)要比直接法復(fù)雜, 識(shí)
13、別時(shí)也要復(fù)雜一些, 例如下圖 3-4 所示 12:圖 3-4矩陣式鍵盤(pán)結(jié)構(gòu)垂直線即列線通過(guò)電阻接正電源, 并且把水平線即行線所接的單片機(jī)的 IO 口作為輸出端,列線所接的單片機(jī)的 IO 口作為輸入端。這樣,在沒(méi)有按鍵被按下時(shí),所有的輸出端都是高電平,表示沒(méi)有按鍵被按下,一旦有按鍵被按下,輸入線則會(huì)被拉低,因此,只要讀入輸入線的狀態(tài)就可以判斷是否有按鍵被按下了。 矩陣式鍵盤(pán)的按鍵識(shí)別方法在判斷矩陣式鍵盤(pán)上的哪個(gè)鍵被按下可以采用“行掃描法”。行掃描法又稱逐行(或列)掃描查詢法,是一種我們最常用的按鍵識(shí)別方法,具體過(guò)程如下:1、判斷鍵盤(pán)中有無(wú)按鍵按下將全部行線置低電平,然后監(jiān)測(cè)列線的狀態(tài),只要有一列
14、的電平為低電平,則表示有按鍵被按下,并且按下的鍵位于低電平的列線與 4 根行線相交叉的 4 個(gè)按鍵之中,若所有的列線均為高電平,則表示鍵盤(pán)中并沒(méi)有按鍵按下。2、判斷按下的按鍵的具體位置在判斷鍵盤(pán)中有按鍵被按下后,就可以開(kāi)始確定被按下按鍵的具體位置了。具體方法是:依次將行線置為低電平,就是在把某根行線置為低電平的時(shí)候,要使其它的幾根行線均為高電平。在確定某根行線為低電平后,再逐行檢測(cè)各個(gè)列線的電平狀態(tài)。如果某列線的電平為低電平,則此列線與置為低電平的行線交叉處的按鍵就是被按下的按鍵 13。 鍵盤(pán)接口必須具備的4 個(gè)基本功能去抖動(dòng):每個(gè)按鍵在按下或者松開(kāi)時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng),對(duì)我們按鍵識(shí)別檢測(cè)
15、會(huì)有一定的影響。只有避開(kāi)抖動(dòng)處在穩(wěn)定接通或者斷開(kāi)的狀態(tài)才能保證按鍵識(shí)別準(zhǔn)確無(wú)誤。這個(gè)問(wèn)題可以利用軟件延時(shí)或者硬件電路來(lái)解決。防串鍵:防串鍵是為了解決多個(gè)按鍵同時(shí)被按下或者前一個(gè)按鍵還沒(méi)有松開(kāi)就有新的按鍵又被按下所產(chǎn)生的問(wèn)題。這個(gè)問(wèn)題我們常用雙鍵鎖定和 N 鍵輪回兩種方法來(lái)解決。按鍵識(shí)別:如何識(shí)別被按下的按鍵是接口解決的主要問(wèn)題,一般情況下,我們都是采用軟硬結(jié)合的方法來(lái)解決此問(wèn)題。常用的方法有行掃描法和線反轉(zhuǎn)法。鍵碼產(chǎn)生:我們一般是在內(nèi)存區(qū)內(nèi)建一個(gè)鍵盤(pán)編碼表,通過(guò)查表獲得被按鍵的鍵碼。 電子琴系統(tǒng)矩陣鍵盤(pán)硬件電路圖圖 3-5矩陣鍵盤(pán)硬件電路圖上圖 3-5 即為本設(shè)計(jì)的電子琴系統(tǒng)中的按鍵鍵盤(pán)的電路
16、原理圖。3.3音頻功放電路設(shè)計(jì) LM386 的結(jié)構(gòu)與工作原理在一定頻率范圍內(nèi)的振動(dòng)能夠產(chǎn)生樂(lè)音,但是用單片機(jī)產(chǎn)生的音頻脈沖直接來(lái)驅(qū)動(dòng)揚(yáng)聲器并不能夠產(chǎn)生所要實(shí)現(xiàn)的音樂(lè),因?yàn)樗](méi)有足夠大的驅(qū)動(dòng)能力,這時(shí)就需要有音頻功率放大電路。LM386 是一種音頻集成功放,具有自身消耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),故廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。其封裝形式如下圖3-6 所示 14:圖 3-6LM386 的封裝形式 LM386 的主要特性1、靜態(tài)功耗低,約為4mA,可用于電池供電。2、工作電壓范圍寬, 4-12V 或 5-18V 。3、外圍元件少。4、電壓增益可調(diào), 20-
17、200.5、低失真度。 LM386 的典型應(yīng)用電路LM386 應(yīng)用十分廣泛,如圖3-7、3-8 所示:圖 3-7放大器增益為20(最少器件)圖 3-8低頻提升放大器 電子琴中音頻功放電路圖圖 3-9電子琴系統(tǒng)音頻功放電路圖上圖 3-9 所示即為本設(shè)計(jì)的電子琴系統(tǒng)的音頻功放的電路原理圖。4. 軟件設(shè)計(jì)4.1音樂(lè)播放程序設(shè)計(jì) 音樂(lè)背景知識(shí)音高是由發(fā)音物體的振動(dòng)頻率的高低決定的,樂(lè)音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)來(lái)表示,休止符的含義則是暫停發(fā)音。 單片機(jī)產(chǎn)生音樂(lè)的方法一首音樂(lè)是由許多不同的音符構(gòu)成的,而每個(gè)音符則對(duì)應(yīng)著不同的振動(dòng)頻率,這樣,我們就可以利用不同頻率的組合,加之與其拍數(shù)對(duì)應(yīng)的延時(shí)來(lái)構(gòu)成
18、一首音樂(lè)。若要產(chǎn)生音頻脈沖,只要計(jì)算出某一音頻的周期(頻率的倒數(shù))即可,再將計(jì)算出的周期時(shí)間除以2,得到半周期的時(shí)間, 利用單片機(jī)的定時(shí)器計(jì)時(shí)半周期的時(shí)間,每當(dāng)計(jì)時(shí)終止后再反相并重復(fù)計(jì)時(shí),這樣循環(huán)計(jì)時(shí)反相就可以得到對(duì)應(yīng)頻率的方波脈沖 15。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷ 2÷ fr 15式中, N 是計(jì)數(shù)值; fi 是機(jī)器的頻率; fr 是想要得到的頻率。其計(jì)數(shù)初值 T 的計(jì)算方法如下:T=65536N=65536fi÷2÷fr例如:設(shè) K=65536,fi=1MHz ,求低音 DO(262Hz)、中音 DO( 523Hz)、高音DO (1046
19、Hz)的計(jì)數(shù)值。利用上式可求出:低音DO 的 T=65536500000÷ 262=63628中音 DO 的 T=65536500000÷523=64580高音 DO 的 T=65536500000÷1046=65058單片機(jī)若為 12M 晶振,高中低音符與其對(duì)應(yīng)計(jì)數(shù)初值對(duì)照表如表.154 1所示 :表 4.1 音符頻率對(duì)照表音符頻率簡(jiǎn)譜碼(T 值) 音符頻率( HZ ) 簡(jiǎn)譜碼( T 值)(HZ )休止00中 4FA69864820低 1DO26263628中 5SO78464898低 2RE29463835中 6LA88064968低 3M33064021中
20、7SI98865030低 4FA34964103高 1DO104665058低 5SO39264260高 2RE117565110低 6LA44064400高 3M131865157低 7SI49464524高 4FA139765178中 1DO52364580高 5SO156865217中 2RE58764684高 6LA176065252中 3M65964777高 7SI196765283因此,我們就可以在此基礎(chǔ)上為音符建立一個(gè)表格,使單片機(jī)能夠通過(guò)查表的方式獲得相應(yīng)的數(shù)據(jù)。除了音符以外,節(jié)拍也是一首音樂(lè)的關(guān)鍵的組成部分。節(jié)拍實(shí)際上就是樂(lè)音的發(fā)音的持續(xù)時(shí)間的長(zhǎng)短,在單片機(jī)系統(tǒng)中,我們就可以
21、利用軟件延時(shí)來(lái)實(shí)現(xiàn)。如果14 拍的延時(shí)時(shí)間為0.5 秒,則1 拍的延時(shí)時(shí)間即為2 秒。因此,只要知道14 拍的延時(shí)的時(shí)間,就可以計(jì)算出其與節(jié)拍的延時(shí)時(shí)間,均為14 節(jié)拍延時(shí)時(shí)間的倍數(shù)。如果想讓單片機(jī)自己播放音樂(lè),就要注意必須在軟件程序設(shè)計(jì)中考慮節(jié)拍的設(shè)置。不同的曲調(diào)節(jié)拍則需要用另一個(gè)定時(shí)計(jì)數(shù)器來(lái)完成。所以在此設(shè)計(jì)中,我需要用到單片機(jī)的兩個(gè)定時(shí)計(jì)數(shù)器,一個(gè)用來(lái)產(chǎn)生音符,一個(gè)用來(lái)產(chǎn)生節(jié)拍。 音樂(lè)播放軟件設(shè)計(jì)T0中斷入口置TH0,TL0初始值P1.取0反中斷返回圖 4-2音樂(lè)播放程序流程圖本設(shè)計(jì)的音樂(lè)播放程序流程圖如上圖4-2 所示,此程序?qū)崿F(xiàn)的一首音樂(lè)歌曲的播放,在程序中,我使用了兩個(gè)定時(shí)計(jì)數(shù)器,
22、其中T0 用來(lái)產(chǎn)生音符的頻率, T1 用來(lái)產(chǎn)生音符的節(jié)拍,兩者結(jié)合從而產(chǎn)生完整好聽(tīng)的音樂(lè)。4.2放歌子程序設(shè)計(jì)T0初始化讀取按鍵值根據(jù)按鍵值查表取表值音符值送入T0是結(jié)束符N讀取節(jié)拍Y并延時(shí)恢復(fù)初始條件啟動(dòng)T0計(jì)數(shù)延時(shí)再循環(huán)P1.0取反N節(jié)拍時(shí)間到Y(jié)T0停止計(jì)數(shù)位值加1圖 4-3放歌子程序程序流程圖本設(shè)計(jì)的放歌子程序流程圖如上圖4-3 所示,此程序?qū)崿F(xiàn)的單首歌曲的循環(huán)播放,而沒(méi)有辦法在程序內(nèi)部實(shí)現(xiàn)歌曲曲目的切換,只能通過(guò)外部的功能按鍵和鍵盤(pán)按鍵來(lái)實(shí)現(xiàn)功能的切換和歌曲曲目的切換,所以這是本設(shè)計(jì)的一個(gè)缺憾,相信如果有更多的時(shí)間來(lái)設(shè)計(jì)和調(diào)試的話,此次的電子琴設(shè)計(jì)肯定會(huì)更加的完美。4.3系統(tǒng)整體軟件流
23、程設(shè)計(jì)功能選擇鍵鍵值選擇查表法初始化鍵盤(pán)掃描有無(wú)按鍵按下NY延時(shí)消抖N有無(wú)按鍵按下Y根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵矩陣鍵盤(pán)鍵值由鍵值查表查表所得數(shù)據(jù)送給 P0, P1.0圖 4-4整體系統(tǒng)程序流程圖本設(shè)計(jì)的整體系統(tǒng)的程序流程圖如上圖4-4 所示,它實(shí)現(xiàn)了電子琴音樂(lè)的播放與彈奏等基本的功能。系統(tǒng)默認(rèn)的電子琴所處的狀態(tài)為彈奏狀態(tài),我們可以通過(guò)功能選擇鍵來(lái)改變它的狀態(tài) (播放彈奏)。矩陣鍵盤(pán)除了可以作為電子琴?gòu)椬嘁魳?lè)的鍵盤(pán),它還具有第二功能,就是對(duì)單片機(jī)內(nèi)置的音樂(lè)進(jìn)行曲目的選擇,在播放音樂(lè)是可以通過(guò)彈奏停止按鍵來(lái)結(jié)束放歌。5. 系統(tǒng)調(diào)試電路調(diào)試是整個(gè)系統(tǒng)設(shè)計(jì)的功能否能實(shí)現(xiàn)的關(guān)鍵的一步,一般情況下,我們將調(diào)試分
24、為三個(gè)步驟:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。5.1keil 簡(jiǎn)介單片機(jī)開(kāi)發(fā)中除了必要的硬件外,還離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)?CPU 可以執(zhí)行的機(jī)器碼有兩種方法,一個(gè)是手工匯編,另一個(gè)是機(jī)器匯編,目前已經(jīng)幾乎不用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷的發(fā)展,Keil 軟件是目前最流行的開(kāi)發(fā)MCS-51 系列單片機(jī)的軟件,掌握這一軟件的使用對(duì)于使用51 系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你平時(shí)使用C 語(yǔ)言編程,那么 Keil 就是最好的選擇,即使不使用C 語(yǔ)言而僅
25、用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。5.2硬件調(diào)試硬件調(diào)試是針對(duì)自己所做的電路板,對(duì)其幾個(gè)功能塊進(jìn)行測(cè)試。在上電前,首先要確保電路沒(méi)有短路或者斷路的地方,這個(gè)是調(diào)試工作的第一步,同時(shí)也是整個(gè)調(diào)試過(guò)程的關(guān)鍵一步。在這部分測(cè)試過(guò)程中用到的重要的測(cè)試工具是萬(wàn)用表。在確保一切電路正常,無(wú)異常情況(斷路或短路)后才可以上電調(diào)試。上電調(diào)試的目的是檢查電路是否有接錯(cuò)的地方,同時(shí)還要檢驗(yàn)原理是否正確。在本次設(shè)計(jì)中,主要的調(diào)試電路有矩陣鍵盤(pán),單片機(jī)下載電路以及音頻功放電路。若調(diào)試的結(jié)果達(dá)到預(yù)期并和原理一致即完成硬件調(diào)試。5.3軟件調(diào)試軟件調(diào)試的主要方法: 一般情形下,
26、一個(gè)調(diào)試程序需要具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序就是一個(gè)主程序通過(guò)調(diào)動(dòng)各個(gè)子程序來(lái)實(shí)現(xiàn)功能的過(guò)程,要想使主程序和整個(gè)程序能夠平穩(wěn)運(yùn)行,那就必須保證各個(gè)模塊的子程序正確并且能夠平穩(wěn)運(yùn)行,因此在軟件調(diào)試的初始階段,要首先對(duì)各個(gè)模塊的子程序進(jìn)行調(diào)試。5.4綜合調(diào)試在硬件調(diào)試與軟件調(diào)試均通過(guò)的情況下,就可以對(duì)整個(gè)系統(tǒng)進(jìn)行綜合調(diào)試了。首先將整個(gè)程序下載到單片機(jī)中,然后再通過(guò)彈奏樂(lè)曲與播放音樂(lè)來(lái)檢測(cè)電子琴的基本功能。通過(guò)調(diào)試,使電子琴能夠達(dá)到設(shè)計(jì)的預(yù)期效果。6. 結(jié)論本次畢業(yè)設(shè)計(jì)通過(guò)設(shè)計(jì)電子琴,遇到了很多問(wèn)題有硬件上的也有軟件上的。每當(dāng)遇到困難時(shí)我們都能夠耐心的去解決。在每次解決
27、問(wèn)題的過(guò)程中我們都能夠?qū)W到很多實(shí)際知識(shí),很多是書(shū)本上學(xué)不到的。在設(shè)計(jì)制作簡(jiǎn)易電子琴的過(guò)程當(dāng)中我們?cè)诤芏喾矫娑加泻艽蟮氖斋@。在編制程序時(shí)遇到的困難是不可預(yù)料的,有時(shí)有了好的想法,可真正要用程序來(lái)實(shí)現(xiàn)時(shí)就會(huì)有很多問(wèn)題出現(xiàn),有時(shí)候你花兩倍的時(shí)間來(lái)改錯(cuò),編譯通過(guò)后希望的功能還不一定能夠?qū)崿F(xiàn),或許到后來(lái)你發(fā)現(xiàn)出發(fā)點(diǎn)就是錯(cuò)誤的。這種情況出現(xiàn)的很多,這時(shí)就會(huì)感到自己的經(jīng)驗(yàn)少的可憐。在解決問(wèn)題時(shí)我們還體會(huì)到充分的調(diào)用用周圍的資源是多么的重要。我們的一些問(wèn)題都是自己首先通過(guò)查書(shū)查資料,通過(guò)圖書(shū)館,通過(guò)網(wǎng)絡(luò)來(lái)解決的,最后,在還沒(méi)有解決的情況下,再去問(wèn)老師。這不僅培養(yǎng)了自己的解決問(wèn)題的能力,同時(shí),又熟悉了如何利用周
28、邊的資源快速有效的去解決問(wèn)題??吹亩嗔?,自然就有想法了;查的多了,自然就了解的多了;試的多了,自然經(jīng)驗(yàn)就多了;多向比自己強(qiáng)的人問(wèn),學(xué)的就會(huì)豁然開(kāi)朗。給我最深刻的是作程序的要能夠沉的住氣,要有耐性,耐磨。多看些書(shū)也是必要的,多學(xué)些前輩的經(jīng)驗(yàn),就會(huì)少走些彎路,學(xué)的更快些最后,很大程度上提高了自己的動(dòng)手實(shí)踐能力。應(yīng)用電子技術(shù)說(shuō)明了動(dòng)手能力反映了一個(gè)人的工作能力,這在將來(lái)對(duì)我更快更好的融入這個(gè)社會(huì)有很大的幫助。作為電子與電氣工程系的一員讓我更加清醒的認(rèn)識(shí)到動(dòng)手實(shí)踐能力無(wú)比重要。在這次畢業(yè)設(shè)計(jì)電子琴實(shí)物電路板的制作中,使我的實(shí)際動(dòng)手能力有了很大的提高。本設(shè)計(jì)還可以擴(kuò)展其他功能,例如存儲(chǔ)功能,可以將彈奏者
29、自己彈奏的音樂(lè)存儲(chǔ)起來(lái)并播放給彈奏者聽(tīng),也可以更加娛樂(lè)一點(diǎn),加一些變幻的彩燈,隨著音符的變化出現(xiàn)不同的變化,使設(shè)計(jì)更加有趣 。參考文獻(xiàn)1 電工學(xué)秦曾煌主編高等教育出版社2003 年第五版2 數(shù)字電子技術(shù) 楊志忠主編 高等教育出版社2000 年第一版3 集成電路原理及應(yīng)用譚博學(xué)主編電子工業(yè)出版社 2008 第二版4 EDA 技術(shù)基礎(chǔ)郭勇主編機(jī)械工業(yè)出版社2007 年第二版5 電子技能實(shí)驗(yàn)與實(shí)訓(xùn)周福平主編科學(xué)出版社 2011 年第一版謝辭畢業(yè)論文暫告收尾,這也意味著我在大學(xué)學(xué)習(xí)生活既將結(jié)束?;厥准韧约阂簧顚氋F的時(shí)光能于這樣的校園之中,能在眾多學(xué)富五車、才華橫溢的老師們的熏陶下度過(guò),實(shí)是榮幸之
30、極。在這三年的時(shí)間里,我在學(xué)習(xí)上和思想上都受益非淺。這除了自身努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開(kāi)的。首先,我需要特別感謝我的指導(dǎo)老師黎楊梅老師。老師在我做畢業(yè)設(shè)計(jì)的整個(gè)過(guò)程中給了我莫大的幫助和指導(dǎo)。從開(kāi)始選題,到中期修稿,最后再到最終定稿,老師都給我提了很多寶貴的意見(jiàn)。老師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,平易近人的人格魅力對(duì)我的影響頗深。這不僅使我樹(shù)立了遠(yuǎn)大的學(xué)術(shù)目標(biāo),熟練的掌握了一些基本的研究方法,還使我更加深刻的明白了許多待人接物與為人處事的一些道理。其次,我要感謝所有曾經(jīng)為我們講課的任課老師,從他們的身上,我不僅僅學(xué)到了很多專
31、業(yè)知識(shí),更多的明白了對(duì)待生活和人生的態(tài)度,對(duì)我的人生有很大的影響。再次,我要感謝我的父母,是他們一直默默的支持和鼓勵(lì)我,只要有他們,不管我遇到多大的困難,我都會(huì)迎難而上,克服困難,走向成功。最后,我還要特別感謝我的室友及其他好友,因?yàn)橛辛怂麄?,我的畢業(yè)設(shè)計(jì)才能順利完成。大學(xué)的三年里是你們一直支持和鼓勵(lì)我,在我不開(kāi)心的時(shí)候讓我開(kāi)心起來(lái),我永遠(yuǎn)不會(huì)忘記我們一起度過(guò)的美好時(shí)光。畢業(yè)設(shè)計(jì)結(jié)束了,通過(guò)設(shè)計(jì),學(xué)生深刻領(lǐng)會(huì)到基礎(chǔ)的重要性,畢業(yè)設(shè)計(jì)不僅僅能幫助學(xué)生檢驗(yàn)大學(xué)三年的學(xué)習(xí)成果,更多的是畢業(yè)設(shè)計(jì)可以幫助我們更加清楚的認(rèn)識(shí)自我,磨練學(xué)生的意志與耐性,這會(huì)為學(xué)生日后的工作和生活帶來(lái)很大的幫助。附 錄附錄
32、1:原理設(shè)計(jì)圖附錄 2:元器件清單元器件分類電容電容、電阻電阻單片機(jī)集成塊模擬電路晶振顯示模塊數(shù)碼管LED燈揚(yáng)聲器插槽按鍵其它及專用單排排模塊針插針跳線焊錫絲熱轉(zhuǎn)印紙單面板元器件名元器件型數(shù)學(xué)生姓指導(dǎo)教備注稱號(hào)量名師C1-C81048C9-C1033pF2C11-C1510uF5電解電容R1-R31K3R4-R154K712R16-R2010K5R20-R30010跳線用U1STC89C511U2LM3861U3MAX2321CH1Female1串口Y112M1DS1共陽(yáng)數(shù)碼1管L1-L3紅綠黃31蜂鳴器40P 16P 8P3S1-S2020鍵盤(pán)220根31附錄 3: PCB圖PCB 圖 1:
33、音頻放大電路PCB 圖 2:?jiǎn)纹瑱C(jī)下載電路PCB 圖 3:鍵盤(pán)電路附錄 4:完整的程序#include <reg51.50=上表中幾首音樂(lè)的旋律中的每一個(gè)音符所對(duì)應(yīng)的節(jié)拍;* 音符與計(jì)數(shù)值對(duì)應(yīng)表* 播放歌曲時(shí)實(shí)現(xiàn)節(jié)拍的延時(shí)函數(shù)*void delay1ms(uint ms)uchar t;while(ms-) for(t=0;t<120;t+);* 鍵消抖延時(shí)函數(shù)*void delay(void)uchar i;for(i=300;i>0;i-);* 鍵掃描函數(shù) *uchar key_scan()uchar sccode,recode;P0=0xf0;* 發(fā)全"0&q
34、uot;的行掃描碼,列線輸入*if(P0&0xf0)!=0xf0) *若有鍵按下*delay1ms(2); * 延時(shí)去抖動(dòng) * if(P0&0xf0)!=0xf0) * 若有鍵按下 *sccode=0xfe; * 逐行掃描初值 *while(sccode&0x10)!=0)P0=sccode; * 輸出行掃描碼 *void EX1_INT() interrupt 2if(P0&0xf0)!=0xf0)* 本行有鍵按下 *FY=1;LED1=1;LED2=0;* 定時(shí)器 0 外部中斷服務(wù)子程序 *recode=(P0&0xf0)|0x0f;void timer0_int() interrupt 1 using 0P0=0xf0;* 設(shè)置計(jì)數(shù)初值 *while(scan_key_port&0xf0)!=0xf0);TH0=STH0;P0= 0xff; * 釋放按TL0=STL0;鍵掃描端口 *SPK=!SPK; 反向,產(chǎn)生輸出脈沖return(sccode)+(recode);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《輪椅上的霍金》讀書(shū)心得體會(huì)
- 加工產(chǎn)品采購(gòu)合同范本
- 參展住宿餐飲合同范本
- 南京水泥采購(gòu)合同范本
- 亮化合同范本
- 保潔開(kāi)荒服務(wù)合同范本
- 勞務(wù)合同范本拿
- t書(shū)采購(gòu)合同范本
- 入股控股合同范本
- 合伙買吊車合同范本
- 【化學(xué)】常見(jiàn)的鹽(第1課時(shí))-2024-2025學(xué)年九年級(jí)化學(xué)下冊(cè)(人教版2024)
- 2024甘肅省公務(wù)員(省考)行測(cè)真題
- 體育活動(dòng)策劃與組織課件
- JJG 1204-2025電子計(jì)價(jià)秤檢定規(guī)程(試行)
- 咨詢公司顧問(wèn)聘用協(xié)議書(shū)
- 認(rèn)養(yǎng)一頭牛-雙寡格局下新品牌如何實(shí)現(xiàn)彎道超車
- 2024年德州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 業(yè)務(wù)約定書(shū)第10號(hào):企業(yè)清產(chǎn)核資專項(xiàng)審計(jì)業(yè)務(wù)約定書(shū)
- 壓縮空氣氣體管道吹掃、試壓方案
- 《封閉煤場(chǎng)技術(shù)規(guī)程》
- 活動(dòng)供餐合同范例
評(píng)論
0/150
提交評(píng)論