版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、湄洲灣職業(yè)技術(shù)學(xué)院基于單片機(jī)的電子琴設(shè)計系 別: 自動化工程系年 級: 10級 專 業(yè): 電氣自動化 姓 名: 林家家 學(xué) 號: 1001010111導(dǎo)師姓名: 許振龍 職 稱:講師2013年5月29日目錄1前言- 1 -2系統(tǒng)設(shè)計技術(shù)參數(shù)要求- 2 -2.1設(shè)計要求- 2 -3系統(tǒng)設(shè)計- 2 -3.1系統(tǒng)設(shè)計總框圖- 2 -3.2各模塊原理說明- 2 -3.3系統(tǒng)總原理圖說明- 3 -3.4系統(tǒng)印刷電路板的制作圖- 4 -3.5系統(tǒng)的操作說明- 4 -3.6系統(tǒng)操作注意事項(xiàng)- 4 -系統(tǒng)設(shè)計參考文獻(xiàn)- 5 -致謝詞- 6 -附 錄- 7 -附錄1.電路總原理圖- 7 -附錄2.電路元件清單-
2、 7 -附錄3.程序- 8 -1. 前言單片微型計算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計算機(jī),它具有高性能、高速度、體積小、價格低廉、穩(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)容是用stc89c52單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊
3、,在主控模塊上設(shè)有16個按鍵和揚(yáng)聲器。 本文主要對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。本系統(tǒng)是簡易電子琴的設(shè)計,按下鍵盤矩陣中的按鍵會使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放器對應(yīng)的音符。通過設(shè)計本系統(tǒng)可了解單片機(jī)的基本功能。對單片機(jī)的了解有一個小的飛躍。2系統(tǒng)設(shè)計技術(shù)參數(shù)要求2.1設(shè)計要求(1)鍵盤矩陣識別。即矩陣掃描,顯示當(dāng)前按鍵。(2)不同頻率音符播放??梢酝ㄟ^按鍵控制15種發(fā)音。(3)設(shè)有一個按鍵,按下后可以播放
4、預(yù)設(shè)的歌曲。 3系統(tǒng)設(shè)計3.1系統(tǒng)設(shè)計總體框圖 3.2各模塊原理說明主控模塊:stc89c52單片機(jī)最初是由intel 公司開發(fā)設(shè)計的,但后來intel 公司把51 核的設(shè)計方案賣給了幾家大的電子設(shè)計生產(chǎn)商,譬如 sst、philip、atmel 等大公司。如是市面上出現(xiàn)了各式各樣的但均以51 為內(nèi)核的單片機(jī),倒是intel 公司自己的單片機(jī)卻顯得遜色了。這些各大電子生產(chǎn)商推出的單片機(jī)都兼容51 指令、并在51 的基礎(chǔ)上擴(kuò)展一些功能而內(nèi)部結(jié)構(gòu)是與51 一致的。stc89c52有40個引腳,4個8位并行i/o口,1個全雙工異步串行口,同時內(nèi)含5個中斷源,2個優(yōu)先級,2個16位定時/計數(shù)器。stc
5、89c52的存儲器系統(tǒng)由4k的程序存儲器(掩膜rom),和128b的數(shù)據(jù)存儲器(ram)組成。鍵盤模塊:矩陣式鍵盤模式以n個端口連接控制n*n個按鍵,實(shí)時在led數(shù)碼管上顯示按鍵信息。顯示按鍵信息,省下了很多的i/o端口為他用,相反,獨(dú)立式按鍵雖編程簡單,但占用i/o口資源較多,不適合在按鍵較多的場合應(yīng)用。并且在實(shí)際應(yīng)用中經(jīng)常要用到輸入數(shù)字、字母、符號等操作功能,如電子密碼鎖、電話機(jī)鍵盤、計算器按鍵等,至少都需要12到16個按鍵。矩陣式鍵盤簡介:矩陣式鍵盤又稱行列鍵盤,它是用n條i/o線作為行線,n條i/o線作為列線組成的鍵盤。在行線和列線的每個交叉點(diǎn)上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為n
6、*n個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中i/o口的利用率。最常見的鍵盤布局如圖1所示。一般由16個按鍵組成,在單片機(jī)中正好可以用一個p口實(shí)現(xiàn)16個按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式,本設(shè)計就采用這個鍵盤模式。功率放大模塊:功率放大模塊我們選用了lm386作為功率放大模塊的主要芯片,lm386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至 200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6v電源電壓下,它的靜態(tài)功耗僅為24mw,
7、使得lm386特別適用于電池供電的場合。 3.3系統(tǒng)總原理圖說明 主要對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。本系統(tǒng)是簡易電子琴的設(shè)計,按下鍵盤矩陣中的按鍵會使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放器對應(yīng)的音符。通過設(shè)計本系統(tǒng)可了解單片機(jī)的基本功能。3.4系統(tǒng)印刷電路板的制作圖 3.5系統(tǒng)的操作說明(1)鍵盤矩陣識別。即矩陣掃描,顯示當(dāng)前按鍵。(2)不同頻率音符播放??梢酝ㄟ^按鍵控制15種發(fā)音。(3)設(shè)有一個按鍵,按下后可
8、以播放預(yù)設(shè)的歌曲。 3.6系統(tǒng)操作注意事項(xiàng)1.通電使用前先對照電路板與電路圖是否有錯焊、漏焊、短路、開路、元器件相碰等現(xiàn)象,有要處理好后再使用。2.通電使用前先檢查好電路板是否與電源供電線、驅(qū)動電路開關(guān)與負(fù)載供電線、負(fù)載供電線之間相互接反,不得在接錯的情況下通電,要處理好后再使用。3.通電使用時人體不得與電路板線路任何一個部位相碰,防止觸電,注意安全。4.應(yīng)把電極片與電路板隔離,避免電極片與電路板上元器件相碰觸發(fā)生短路現(xiàn)象。 5.通電時應(yīng)把電路板放在絕緣物體上,避開其他導(dǎo)電物體避免發(fā)生短路現(xiàn)象。 6.使用時聞到燒焦味、發(fā)現(xiàn)元器件或集成塊冒煙燒毀應(yīng)立即斷開電源,待電路板查明原因處理好后才可以繼續(xù)
9、通電使用。系統(tǒng)設(shè)計參考文獻(xiàn) 1 彭偉. 單片機(jī)c語言程序設(shè)計實(shí)訓(xùn)100例m. 北京:電子工業(yè)出版社, 2009 2 吳運(yùn)昌模擬電子線路基礎(chǔ)m廣州:華南理工大學(xué)出版社,2004 3 閻石數(shù)字電子技術(shù)基礎(chǔ)m北京:高等教育出版社,1997 4 羅亞非,凌陽單片機(jī)原理及畢業(yè)設(shè)計精選m. 北京:科學(xué)出版社,2006 5 華東,protel電路設(shè)計m. 北京:清華大學(xué)出版社,2007 6 黃健,單片機(jī)原理與應(yīng)用m. 西安:西北工業(yè)大學(xué)出版社,2008 7 周明德,單片機(jī)原理與技術(shù)m. 北京:人民郵電出版社,2008 8 李建忠,單片機(jī)原理及應(yīng)用m. 西安:電子科技大學(xué)出版社,2008 9 王正謀,prot
10、el99se電路設(shè)計與仿真技術(shù)m. 福建:科學(xué)技術(shù)出版社,2004 10 郝萬新,電路基礎(chǔ)m. 大連:理工大學(xué)出版社,2005 致謝詞謝謝各位老師,通過這次畢業(yè)設(shè)計,我學(xué)到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學(xué)過的零散的知識串到一起。經(jīng)過我長時間的設(shè)計及調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)按下鍵盤矩陣中的按鍵會使數(shù)碼管顯示當(dāng)前按鍵,揚(yáng)聲器播放對應(yīng)的音符。但由于仿真系統(tǒng)原因,本設(shè)計音頻效果不是很好。不足之處有:1.可彈奏的音符數(shù)較少,只能在一定范圍內(nèi)滿足用戶需要??赏ㄟ^改進(jìn)鍵盤識別模塊和發(fā)生模塊來增加其復(fù)雜度2.音量不可調(diào)。我的綜合設(shè)計主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開
11、發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作?;菊莆樟藀rotel99se原理圖的方法,并設(shè)計了一個單片機(jī)最小系統(tǒng)。通過開發(fā)板的設(shè)計和硬件搭建的過程,使我對51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法,如led數(shù)碼管,鍵盤等。并且我學(xué)會了分析問題解決問題的能力,加深了對所學(xué)理論知識和大的提高,創(chuàng)新意識得到了鍛煉 。 附錄附錄1.電路總原理圖 附錄2.電路元件清單序號元件名稱阻值數(shù)量位號1電容30pf22電阻10k3個3電阻1k14 電容10uf2個5排阻10k1個6電位器10k1個7插座dip401個8輕觸按鍵17個9lm
12、386 1個10晶振12m1個11揚(yáng)聲器1個 附錄3.程序 #include <intrins.h>/本程序是電子琴的程序,能夠?qū)崿F(xiàn)單獨(dú)演奏和放一首歌曲的功能。其中,按鍵115是用 于單獨(dú)演奏的,按鍵16是用于播放歌曲的/播放歌曲的時候需要按復(fù)位鍵才能夠停止。/共陰極數(shù)碼管段碼表,最后一字節(jié)為黑屏unsigned char code dsy_code=0x28,0xee,0x34,0xa4,0xe2,0xa1,0x21,0xec,0x20,0xa0,0x60,0x23,0x39,0x26,0x31,0x71,0xbf;/各音符對應(yīng)的延時表unsigned int code tone
13、_delay_table=64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178;/蜂鳴器的位定義sbit beep=p30; #define sound_space 4/5 /定義普通音符演奏的長度分率,/每4分音符間隔/同一首歌 的譜子unsigned char code music= 0x0f,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x01
14、, 0x15,0x02, 0x10,0x02, 0x15,0x00, 0x0f,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66, 0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00, 0x17,0x01, 0x19,0x02, 0x1b,0x02, 0x1b,0x70, 0x1a,0x03, 0x1a,0x01, 0x19,0x02, 0x19,0x03, 0x1a,0x03, 0x1b,0x02, 0
15、x1a,0x0d, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03, 0x19,0x02, 0x1a,0x02, 0x19,0x0c, 0x18,0x0d, 0x17,0x03, 0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0f,0x0c, 0x10,0x02, 0x15,0x00, 0x1f,0x01, 0x1a,0x01, 0x18,0x66, 0x19,0x03, 0x1a,0x01, 0x1b,0x02, 0x1b,0x03, 0x1b,0x03, 0x1b,0x0c, 0x1a,0x0d, 0x19
16、,0x03, 0x17,0x00, 0x1f,0x01, 0x1a,0x01, 0x18,0x66, 0x19,0x03, 0x1a,0x01, 0x10,0x02, 0x10,0x03, 0x10,0x03, 0x1a,0x0c, 0x18,0x0d, 0x17,0x03, 0x16,0x00, 0x0f,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70, 0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66, 0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x
17、02, 0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0f,0x0c, 0x1a,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66, 0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00, 0x00,0x00 ;unsigned int code fretab12 = 262,277,294,311,330,349,369,392,415,440,466,494 ; /原始頻率表unsigned char code signtab7 = 0,2,4
18、,5,7,9,11 ; /17在頻率表中的位置unsigned char code lengthtab7= 1,2,4,8,16,32,64 ;unsigned char sound_temp_th0,sound_temp_tl0;/音符定時器初值暫存 unsigned char sound_temp_th1,sound_temp_tl1;/音長定時器初值暫存void delay_1ms(unsigned int ms) unsigned char i; while(ms-) for(i=0;i<120;i+); /延時1ms/播放音樂的子函數(shù)void play(unsigned cha
19、r *sound,unsigned char signature,unsigned octachord,unsigned int speed)unsigned int newfretab12;/新的頻率表unsigned char i,j; /定義一些中間變量unsigned int point,ldiv,ldiv0,ldiv1,ldiv2,ldiv4,currentfre,temp_t,soundlength;unsigned char tone,length,sl,sh,sm,slen,xg,fd;for(i=0;i<12;i+) / 根據(jù)調(diào)號及升降八度來生成新的頻率表 j = i
20、+ signature;if(j > 11)j = j-12;newfretabi = fretabj*2;/計算新的頻率elsenewfretabi = fretabj;if(octachord = 1)newfretabi>>=2;else if(octachord = 3)newfretabi<<=2;soundlength = 0;while(soundsoundlength != 0x00)/計算歌曲長度soundlength+=2;point = 0;tone = soundpoint;length = soundpoint+1; / 讀出第一個音符和
21、它時時值ldiv0 = 12000/speed;/ 算出1分音符的長度(幾個10ms) ldiv4 = ldiv0/4; / 算出4分音符的長度 ldiv4 = ldiv4-ldiv4*sound_space; / 普通音最長間隔標(biāo)準(zhǔn) tr0 = 0;tr1 = 1;while(point < soundlength)sl=tone%10; /計算出音符 sm=tone/10%10; /計算出高低音 sh=tone/100; /計算出是否升半 currentfre = newfretabsigntabsl-1+sh; /查出對應(yīng)音符的頻率 if(sl!=0)if (sm=1) curre
22、ntfre >>= 2; /低音 if (sm=3) currentfre <<= 2; /高音temp_t = 65536-(50000/currentfre)*10;/計算計數(shù)器初值sound_temp_th0 = temp_t/256; sound_temp_tl0 = temp_t%256; th0 = sound_temp_th0; tl0 = sound_temp_tl0 + 12; /加12是對中斷延時的補(bǔ)償 slen=lengthtablength%10; /算出是幾分音符xg=length/10%10; /算出音符類型(0普通1連音2頓音) fd=le
23、ngth/100;ldiv=ldiv0/slen; /算出連音音符演奏的長度(多少個10ms)if (fd=1) ldiv=ldiv+ldiv/2;if(xg!=1)if(xg=0) /算出普通音符的演奏長度 if (slen<=4)ldiv1=ldiv-ldiv4;elseldiv1=ldiv*sound_space;elseldiv1=ldiv/2; /算出頓音的演奏長度 elseldiv1=ldiv;if(sl=0) ldiv1=0;ldiv2=ldiv-ldiv1; /算出不發(fā)音的長度 if (sl!=0)tr0=1;for(i=ldiv1;i>0;i-) /發(fā)規(guī)定長度的音
24、 while(tf1=0);th1 = sound_temp_th1;tl1 = sound_temp_tl1;tf1=0;if(ldiv2!=0)tr0=0; beep=1;for(i=ldiv2;i>0;i-) /音符間的間隔while(tf1=0);th1 = sound_temp_th1;tl1 = sound_temp_tl1;tf1=0;point+=2; tone=soundpoint;length=soundpoint+1;beep = 0;tr0=0;/關(guān)閉定時器/鍵盤矩陣掃描/返回按下的鍵的值unsigned char keys_scan(void)unsigned char tmp,k=16;p2=0x0f; delay_1ms(2);tmp=p2 0x0f;switch(tmp)/確定掃描的是哪一行case 1: k=0;break;case 2: k=1;break;case 4: k=2;break;case 8: k=3;break;default: return 16; /無鍵按下,返回p2=0xf0; delay_1ms(2);tmp=(p2>>4)0x0f;switch(tmp)/確定掃描的是那一列case 1: k+=0; break;case 2: k+=4; break;case 4: k+
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年集體土地租賃修建公園協(xié)議
- 2024年陜西省規(guī)范化離婚合同范本一
- 2025年度大巴車租賃合同(含車輛改裝服務(wù))2篇
- 2025年度智能家電產(chǎn)品全國銷售總代理協(xié)議3篇
- 2024年門店合規(guī)與法律風(fēng)險管理合同
- 重癥監(jiān)護(hù)及ICU護(hù)理質(zhì)量控制
- 2024瓷磚直銷協(xié)議范本版B版
- 2024年版美食廣場聯(lián)營合同
- 2024年精裝修浴室工程承包合同版B版
- 2024短期財務(wù)周轉(zhuǎn)貸款協(xié)議范本一
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 小學(xué)六年級數(shù)學(xué)計算題100道(含答案)
- 金華-經(jīng)濟(jì)技術(shù)開發(fā)區(qū)-山嘴頭 未來社區(qū)實(shí)施方案
- 國家義務(wù)教育質(zhì)量監(jiān)測結(jié)果應(yīng)用教學(xué)研討
- 護(hù)士聘用證明表下載
- 燃料油需求專題(二):航線與運(yùn)費(fèi)
- 2019年同等學(xué)力(教育學(xué))真題精選
- 《中外資產(chǎn)評估準(zhǔn)則》課件第2章 資產(chǎn)評估DNA透視
- 【框架完整】快樂卡通風(fēng)十歲成長禮紀(jì)念相冊PPT模板(PPT 24頁)
- 煤礦井下供電三大保護(hù)整定細(xì)則
- 1986考研英語真題及答案解析
評論
0/150
提交評論