基于.-AT89C51的簡易電子琴單片機(jī)課程設(shè)計(jì)匯本_第1頁
基于.-AT89C51的簡易電子琴單片機(jī)課程設(shè)計(jì)匯本_第2頁
基于.-AT89C51的簡易電子琴單片機(jī)課程設(shè)計(jì)匯本_第3頁
基于.-AT89C51的簡易電子琴單片機(jī)課程設(shè)計(jì)匯本_第4頁
基于.-AT89C51的簡易電子琴單片機(jī)課程設(shè)計(jì)匯本_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...單片機(jī)課程設(shè)計(jì)題目名稱:基于單片機(jī)的可演奏電子琴設(shè)計(jì)專業(yè)班級(jí):學(xué)生姓名:學(xué)號(hào):指導(dǎo)教師:成績:成績:評(píng)語:指導(dǎo)教師簽名:日期:摘要電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用AT89c51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比擬高等,具有一定的實(shí)用和參考價(jià)值。AbstractElectronicorganisamodernelectronicmusictechnologyandtheproductisanewtypeofkeyboardinstruments.Itplayedanimportantroleinmodernmusic.SCMhaspowerfulcontrolfunctionsandflexibleprogrammingcharacteristics.Ithasconvergedwithmodernpeople'slives,becomeanirreplaceablepart.ThemaincontentisAT89C51controlofthecorecomponents,designofaelectronicorgan.SCMasahosttothecore,withthekeyboard,speakerandothercoremodules.Inthemaincontrolmodulehas16keysandaspeaker.Thesystemissteady,itssimplehardwarecircuits,softwarefunctions,reliabilityofcontrolsystemandhighcostperformanceisitsadvantages.Italsohascertainpracticalandreferencevalue.目錄TOC\o"1-3"\h\u2992摘要 115721Abstract 1242241系統(tǒng)概述 3238191.1課程設(shè)計(jì)的目的和意義 3276521.2本系統(tǒng)主要研究內(nèi)容 3202461.3本系統(tǒng)主要研究目標(biāo) 4107171.4主要芯片簡介 4127412方案論證 494112.1控制模塊選擇方案 4290172.2按鍵模塊選擇方案 525223方案的實(shí)現(xiàn) 5145243.1系統(tǒng)實(shí)現(xiàn)的具體措施 5277873.2系統(tǒng)硬件設(shè)計(jì) 6322183.2.1系統(tǒng)硬件總體設(shè)計(jì) 6267963.2.2子系統(tǒng)〔模塊〕一 6254333.2.3子系統(tǒng)〔模塊〕二 7228863.2.4子系統(tǒng)〔模塊〕三 81173.3系統(tǒng)軟件設(shè)計(jì) 961423.3.1系統(tǒng)軟件總體設(shè)計(jì) 9260283.3.2子程序〔模塊〕一:LED顯示 9114033.3.3子程序〔模塊〕二:揚(yáng)聲器 10290923.3.4子程序〔模塊〕三:矩陣鍵盤 11233644系統(tǒng)調(diào)試12246954.1Proteus簡介 12237784.2keil簡介 12326704.3Proteus和Keil的聯(lián)調(diào) 13265495設(shè)計(jì)心得1416254參考文獻(xiàn)1517705附錄1:161系統(tǒng)概述1.1課程設(shè)計(jì)的目的和意義單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)開展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部。本文的主要內(nèi)容是用AT89S51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個(gè)按鍵和揚(yáng)聲器。

本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡易電子琴進(jìn)展了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。本系統(tǒng)是簡易電子琴的設(shè)計(jì),按下鍵盤矩陣中的按鍵會(huì)使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放器對(duì)應(yīng)的音符。通過設(shè)計(jì)本系統(tǒng)可了解單片機(jī)的根本功能。對(duì)單片機(jī)的了解有一個(gè)小的飛躍。1.2本系統(tǒng)主要研究內(nèi)容本系統(tǒng)設(shè)計(jì)制作一個(gè)可演奏的電子琴。綜合應(yīng)用了兩項(xiàng)設(shè)計(jì)。〔1〕鍵盤矩陣識(shí)別。即矩陣掃描,顯示當(dāng)前按鍵?!?〕不同頻率音符播放??梢酝ㄟ^按鍵控制16種發(fā)音。1.3本系統(tǒng)主要研究目標(biāo)本系統(tǒng)的設(shè)計(jì)是為了實(shí)現(xiàn)按下矩陣鍵盤中的按鍵會(huì)使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放對(duì)應(yīng)音符的目標(biāo)。1.4主要芯片簡介AT89c51簡介AT89c51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳構(gòu)造,芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89c51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。

AT89c51具有如下特點(diǎn):40個(gè)引腳〔引腳圖如圖1-2所示〕,4kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器〔RAM〕,32個(gè)外部雙向輸入/輸出〔I/O〕口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗〔WDT〕電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89c51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停頓芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。2方案論證2.1控制模塊選擇方案方案一:用可控硅制作電子琴。將220V交流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳張振蕩器電路。但該設(shè)計(jì)方案制作本錢高且復(fù)雜。方案二:采用AT89C51單片機(jī)進(jìn)展控制,由于其性價(jià)比高,完全滿足了本作品智能化的要求,它的內(nèi)部程序存儲(chǔ)空間到達(dá)4K,使軟件設(shè)計(jì)有足夠的內(nèi)部使用空間并且方便日后系統(tǒng)升級(jí),使用方便,抗干擾性能提高。選擇方案:鑒于上述比照與分析,AT89C51單片機(jī)設(shè)計(jì)微型電子琴的方法,僅需AT89C51最小系統(tǒng),擴(kuò)展一組矩陣鍵盤,再接一組發(fā)光二極管用來指示電子琴的工作狀態(tài)。所以,本設(shè)計(jì)采用方案二。2.2按鍵模塊選擇方案傳統(tǒng)電子琴可以用鍵盤上的“1〞到“A〞鍵演奏從低SO到高DO等11音。該設(shè)計(jì)有16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可以實(shí)現(xiàn)音階在低音4高音5之間。比傳統(tǒng)音階范圍大,彈奏效果好。3方案的實(shí)現(xiàn)3.1系統(tǒng)實(shí)現(xiàn)的具體措施鍵盤接口必須具有的4個(gè)根本功能?!?〕去抖動(dòng):每個(gè)按鍵在按下或松開時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動(dòng)是指在識(shí)別被按鍵是必須避開抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識(shí)別正確無誤。去抖問題可通過軟件延時(shí)或硬件電路解決。〔2〕防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒有釋放又有新的按鍵按下時(shí)產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。〔3〕被按鍵識(shí)別:如何識(shí)別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的根本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的根本思想是通過行列顛倒兩次掃描來識(shí)別閉合鍵,為此需要提供兩個(gè)可編程的雙向輸入/輸出端口。〔4〕鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建設(shè)一個(gè)鍵盤編碼表,通過查表獲得被按鍵的鍵碼。用AT89C51的并行口P0接4×4矩陣鍵盤,以P0.0-P0.3作輸入線,以P0.4-P0.7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F〞序號(hào)。3.2系統(tǒng)硬件設(shè)計(jì)3.2.1系統(tǒng)硬件總體設(shè)計(jì)本系統(tǒng)由鍵盤矩陣、LED顯示管、揚(yáng)聲器這幾個(gè)局部組成,LED顯示管顯示當(dāng)前按鍵,揚(yáng)聲器發(fā)出對(duì)應(yīng)音符。硬件總體設(shè)計(jì)圖如下:圖13.2.2子系統(tǒng)〔模塊〕一LED顯示模塊如圖2-2所示,利用AT89c51單片機(jī)的P0端口的P0.0-P0.7連接到一個(gè)七段數(shù)碼管的a-h(huán)的筆段上,數(shù)碼管的公共端接電源。矩陣掃描顯示當(dāng)前按鍵模塊如下:圖23.2.3子系統(tǒng)〔模塊〕二矩陣掃描揚(yáng)聲器發(fā)出對(duì)應(yīng)音符模塊如下:圖33.2.4子系統(tǒng)〔模塊〕三矩陣鍵盤模塊如下:圖4矩陣式鍵盤的構(gòu)造與工作原理在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在穿插處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口〔如P1口〕就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比方再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵〔9鍵〕。由此可見,在需要的鍵數(shù)比擬多時(shí),采用矩陣法來做鍵盤是合理的。

矩陣式構(gòu)造的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時(shí),所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識(shí)別及編程方法如下所述。3.3系統(tǒng)軟件設(shè)計(jì)3.3.1系統(tǒng)軟件總體設(shè)計(jì)本系統(tǒng)的軟件總的流程圖如下:圖5系統(tǒng)總程序見附錄子程序〔模塊〕一:LED顯示I/O并行口直接驅(qū)動(dòng)LED顯示把“AT89C51〞區(qū)域中的P2.0/A8-P2.7/A15端口用8芯排線連接到一位數(shù)碼管的a-h(huán)端口上;要求:P2.0/A8與a相連,P2.1/A9與b相連,P2.2/A10與c相連,……,P2.7/A15與h相連。表1:表1字形碼表及對(duì)應(yīng)的音符10x3f低5SO90x7f中6LA20x06低6LAA0x6f中7SI30x5b低7SIb0x77高1DO40x4f中1DOC0x7c高2RE50x66中2RED0x39高3M60x6d中3ME0x5e高4FA70x7d中4FAF0x79高5SO80x07中5SO00x71高6LA在本設(shè)計(jì)中,數(shù)碼管的顯示通過P2=DSY_CODE[k]這句語言來查表并輸出,實(shí)現(xiàn)音符的顯示。具體程序見附錄13.3.3子程序〔模塊〕二:揚(yáng)聲器一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。假設(shè)要產(chǎn)生音頻脈沖,只要算出某一音頻的周期〔1/頻率〕,再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.7反相,然后重復(fù)計(jì)時(shí)再反相。就可在P3.7引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式〔MODE1〕下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO〔523Hz〕。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr式中,N是計(jì)數(shù)值;fi是機(jī)器頻率〔晶體振蕩器為12MHz時(shí),其頻率為1MHz〕;fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:設(shè)K=65536,fi=1MHz,求低音DO〔261Hz〕、中音DO〔523Hz〕、高音DO〔1046Hz〕的計(jì)數(shù)值。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr低音DO的T=65536-500000/262=63628中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058我們要為這個(gè)音符建設(shè)一個(gè)表格,單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù):uintcodeTone_Delay_Table[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};具體程序見附錄13.3.4子程序〔模塊〕三:矩陣鍵盤矩陣式鍵盤的按鍵識(shí)別方法:確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法〞。

行掃描法行掃描法又稱為逐行〔或列〕掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤,介紹過程如下。

1、判斷鍵盤中有無鍵按下將全部行線Y0-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相穿插的4個(gè)按鍵之中。假設(shè)所有列線均為高電平,則鍵盤中無鍵按下。

2、判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。假設(shè)某列為低,則該列線與置為低電平的行線穿插處的按鍵就是閉合的按鍵。具體程序見附錄14系統(tǒng)調(diào)試4.1Proteus簡介Proteus的ISIS是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。

該軟件的特點(diǎn):

①全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢。

②具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS-232動(dòng)態(tài)仿真、C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。

③目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。

④支持大量的存儲(chǔ)器和外圍芯片??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大,可仿真51、AVR、PIC。4.2keil簡介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷開展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷開展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境〔uVision〕將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選〔目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件〕,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。4.3Proteus和Keil的聯(lián)調(diào)使用步驟:1、翻開keil,建設(shè)工程,輸入程序2、編譯和生成hex文件。3、翻開Proteus,設(shè)計(jì)硬件電路圖。4、導(dǎo)入hex文件。將鼠標(biāo)置于電路圖中AT89C51器件上,右擊后再左擊,在出現(xiàn)的窗口中找到如以下列圖所示的ProgramFile對(duì)話框,并填入hex文件對(duì)應(yīng)的路徑。圖6點(diǎn)擊面板左下角的,開場調(diào)試。按下任意鍵,揚(yáng)聲器發(fā)出對(duì)應(yīng)的聲音,并在數(shù)碼管上顯示出鍵值,例如,按下KF按鍵,仿真結(jié)果如下:圖77、按下另外一個(gè)K9鍵,仿真結(jié)果如下:圖8其他的同理。5設(shè)計(jì)心得將程序?qū)階T89C51芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。本課題通過制作電子琴,將幾個(gè)模塊很好的融合起來,對(duì)使用單片機(jī)設(shè)計(jì)簡易電子琴進(jìn)展了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。說明一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,于是我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時(shí)通過顯示模塊來確知自己所彈的音符。通過這次課程設(shè)計(jì),我感覺收獲了很多:首先,通過實(shí)踐,加深對(duì)單片機(jī)系列知識(shí)及其系統(tǒng)的認(rèn)識(shí)。這個(gè)設(shè)計(jì)題目并不是新的,但從中能表到達(dá)一個(gè)系統(tǒng)開發(fā)設(shè)計(jì)的過程,足于讓我們受益。第二,通過設(shè)計(jì)學(xué)習(xí)到了很多軟件的使用。本次設(shè)計(jì),軟件局部用到了proteus進(jìn)展硬件設(shè)計(jì),用keil4進(jìn)展程編譯。第三,提高了自己的動(dòng)手能力。動(dòng)手在一定程度上反映了一個(gè)人的能力,作為當(dāng)代大學(xué)生,社會(huì)要求的我們不是只能說而不能做的人才;三能人才標(biāo)準(zhǔn)更讓我們清醒地認(rèn)識(shí)到,實(shí)際動(dòng)手能力無比重要。從這次實(shí)物制作中,我的動(dòng)手能力提高了。感謝學(xué)院給了我們這次實(shí)踐動(dòng)手的時(shí)機(jī),更感謝我們的郭教師教會(huì)了我們單片機(jī)相關(guān)知識(shí)。本設(shè)計(jì)還可以擴(kuò)展其他功能,比方記憶功能,即可以存儲(chǔ)彈奏者所彈奏的音樂且保存,待彈奏完后播放給彈奏者聽。還可以做得更加娛樂一點(diǎn),增加一些彩燈使彩燈隨著音調(diào)變化而產(chǎn)生不同的樣式。參考文獻(xiàn)[1]譚浩強(qiáng)編著.C程序設(shè)計(jì).北京:清華大學(xué)出版社,2002.[2]王東峰等.單片機(jī)C語言應(yīng)用100例[M].電子工業(yè)出版社,2009.[3]李平等.單片機(jī)入門與開發(fā)[M].機(jī)械工業(yè)出版社,2008.[4]周潤景等.Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,200.[5]馮博琴.微型計(jì)算機(jī)原理與接口技術(shù).清華大學(xué)出版社,2004.[6]張曉麗等.?dāng)?shù)據(jù)構(gòu)造與算法.北京:機(jī)械工業(yè)出版社,2002.[7]黃鑫,馬善農(nóng),趙永科.基于CPLD的電子琴研究與設(shè)計(jì)[J].科技廣場,2007(5).[8]趙輝,劉印華.PROTEL99電子線路CAD.北京郵電大學(xué)出版社,2008.[9]求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航.北京:人民郵電出版社,2005.[10]馬忠梅,籍順心等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[H].北京:北京航空航天大學(xué)出版社,2007.附錄1://名稱:可演奏的電子琴//本例在矩陣鍵盤上模擬演奏電子琴,數(shù)碼管顯示按鍵號(hào)#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint//共陽極數(shù)碼管編碼ucharcodeDSY_Table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,ox80,//0,1,2,3,4,5,6,7,80x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF};//9,A,B,C,D,E,F,-//各音符對(duì)應(yīng)的延時(shí)uintcodeTone_Delay_Table[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};sbitBEEP=p3^0;//蜂鳴器ucharKeyNo;//按鍵序號(hào)////延時(shí)//voidDelayMS(ucharx){uchari;while(x--)for(i=0;i<120;i++);}////鍵盤矩陣掃描子程序//voidKeys_Scan(){ucharT

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論