電子琴設(shè)計報告_第1頁
電子琴設(shè)計報告_第2頁
電子琴設(shè)計報告_第3頁
電子琴設(shè)計報告_第4頁
電子琴設(shè)計報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . 工程設(shè)計報告電子琴設(shè)計信息工程學院二系一隊王飛五 3242008001曉辰 3242008003笑添 3242008011 2011年3月6日摘要:本文介紹了簡易電子琴的設(shè)計,它通過軟硬件結(jié)合實現(xiàn).硬件系統(tǒng)是以51系列單片機AT89C51為主控制器,并附有矩陣鍵盤、揚聲器等.軟件設(shè)計則采用C語言編寫程序?qū)崿F(xiàn). 它能播放系統(tǒng)設(shè)置的相應音符,并能完成一首軍歌的播放,還具有示音的功能. 設(shè)計得簡易電子琴有在硬件軟件都有其優(yōu)點,在硬件方面電路簡單,竟以單片機為核心并附加簡單的外圍電路,在實現(xiàn)時有很大的可信性,而在軟件方面C語言編寫的程序功能完善,控制系統(tǒng)可靠. 本系統(tǒng)在運行方面穩(wěn)定,我們?yōu)?/p>

2、電路設(shè)計的電源用變壓器將220V交流電轉(zhuǎn)化為9V的直流電再通過7805得到5V的直流為整個電路提供穩(wěn)定的電源.Abstract: This article introduced the simple electric piano's design, it realizes through the software and hardware union. The hardware system is by 51 series monolithic integrated circuit AT89C51 primarily controller, and attaches the matri

3、x keyboard, the speaker and so on. The software design uses the C language write program to realize. It can broadcast the system establishment the corresponding note, and can complete a military song the broadcast, but also has shows the sound the function. Designs the simple electric piano to have

4、in the hardware software has its merit, is simple in the hardware aspect electric circuit, unexpectedly and attaches the simple peripheral circuit take the monolithic integrated circuit as the core, when realization has the very big credibility, but is perfect in the software aspect C language compi

5、lation's program function, the control system is reliable. This system is stable in the movement aspect, we change into for circuit design's power source with the transformer the 220V exchange phonograph 9V the direct current through 7805 to obtain the 5V cocurrent to provide again for the e

6、ntire electric circuit the stable power source. 關(guān)鍵詞:電子琴;單片機;C語言.一 功能與性能指標單片微型計算機是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點,并具有強大的控制功能和靈活的編程實現(xiàn)特性。它的應用必定導致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革.電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要容是用AT89S51單片機為核心控制元件,設(shè)計一個電子琴,它是以單片機作為主控核心,

7、與鍵盤、揚聲器等模塊組成核心主控制模塊. 采用單片機電路設(shè)計,基于51系列單片機AT89C52設(shè)計一款簡易的電子琴,采用八音鍵盤,鑒于傳統(tǒng)電子琴可以用鍵盤上的“1”到“8”鍵演奏從So到DO等8個音,從而可以用來彈奏喜歡的樂曲。主要功能(1)這是一個簡易的八音符電子琴,它可通用鍵盤上的“1”到“8”鍵演奏從So到DO等8個音。(2)具有自動播放功能,可以播放祝你生日快樂純音樂和低So到高DO等16個音串曲。(3)預留功能拓展接入點,例如,接入電位器可實現(xiàn)調(diào)整音量大小的功能。二 設(shè)計方案與比較結(jié)論1.主要工作原理電子琴的系統(tǒng)流程圖 模塊初始化 結(jié)束是否有復位鍵掃描鍵盤 延時軍歌播放音調(diào)播放開始電

8、子琴的工作原理音樂產(chǎn)生原理與硬件設(shè)計由于一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器來產(chǎn)生這樣方波頻率信號。本次設(shè)計中單片機晶振為12MHZ,那么定時器的計數(shù)周期為1MHZ,假如選擇工作方式1,那T值便為T= 216-5105/相應的頻率,那么根據(jù)不同的頻率計算出應該賦給定時器的計數(shù)值.系統(tǒng)總框圖AT89C521單片機 復位電路模塊電源模塊蜂鳴器模塊鍵盤模塊數(shù)碼管模塊本電子琴系統(tǒng)以AT89C51 單片機單片機為系統(tǒng)核心,配合2×4矩陣

9、鍵盤模塊和蜂鳴器模塊4部分組成,很好地實現(xiàn)了電子琴的彈奏,樂曲的播放功能。2.各結(jié)構(gòu)部分方案比較與結(jié)論控制模塊方案選擇方案一:用可控硅制作電子琴。將220V交流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳振蕩器電路。但該設(shè)計方案制作成本高且復雜。方案二:采用AT89C51單片機進行控制,在我校實驗室有存貨且是日常實驗常用單片機,組員對其工作原理已經(jīng)有了較全面的理解,比較容易上手。方案三:采用AT89S52單片機進行控制,滿足了本作品智能化的要求,它的部程序存儲空間達到8K,使軟件設(shè)計有足夠的部使用空間并且方便日后系統(tǒng)升級,使用方便,抗干擾性能

10、提高。選擇方案:鑒于上述對比與分析,結(jié)合本小組成員基礎(chǔ)能力,本設(shè)計采用方案二 .定時/計數(shù)延時方法選擇聲音的頻譜圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線不斷的輸出“高”“低”電平,則在該口線上就能產(chǎn)生一定頻率的方波,將該方波接上喇叭就能發(fā)出一定頻率的聲音,若再利用程序控制“高”“低”電平的持續(xù)時間,就能改變輸出波形的頻率,從而改變音調(diào)。高中低音符與單片機計數(shù)T0相關(guān)的計數(shù)值如下表所示 音符 頻率(HZ)簡譜碼(T值) 音符 頻率(HZ)簡譜碼(T值) 低1 DO 262 63628 # 4 FA# 740 64860 #1 DO# 277 63731 中 5 SO 784 648

11、98 低2 RE 294 63835 # 5 SO# 831 64934 #2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1

12、318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中 1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 樂曲中,每一音符對應著確定的頻率,表1給出C調(diào)時各音符頻率。如果單片機某個口線輸出“高”“

13、低”電平的頻率和某個音符的頻率一樣,那么將此口線接上喇叭就可以發(fā)出此音符的聲音。本系統(tǒng)就是根據(jù)此原理設(shè)計,對于AT89C2051單片機來說要產(chǎn)生一定頻率的方波大致是先將某口線輸出高電平然后延時一段時間再輸出低電平,如此循環(huán)的輸出就會產(chǎn)生一定頻率的方波,通過改變延時的時間就可以改變輸出方波的頻率,而單片機延時主要有兩種方法:第一種方法是使用循環(huán)語句來實現(xiàn)延時,讓單片機循環(huán)的執(zhí)行某條指令然后根據(jù)單片機每條指令運行的時間以與循環(huán)的次數(shù)來計算延時時間。如下所示:在上面的延時程序中可以看出:DJNZ指令執(zhí)行時間為2個機器周期,MOV指令執(zhí)行時間為1個機器周期,對于單片機的晶振頻率為12MHz時機器周期為

14、1s。因此可以根據(jù)這些指令的執(zhí)行時間和每條指令的循環(huán)次數(shù)計算出以上的延時程序延時時間大約為50ms。但這種方法的計算的延時時間不是很準確并且為達到一定的延時時間先必須進行很復雜的運算。所以在延時時間要求不嚴格的時候才采用這種方法。但對于電子琴電路由于每個音符的頻率值要求比較嚴格,變化圍不能太大,因此產(chǎn)生方波的頻率也要求比較嚴格,不能采用延時程序來產(chǎn)生此方波。第二種方法是使用單片機的定時計數(shù)器延時。AT89C2051單片機部有兩個16位的定時計數(shù)器T0和T1,單片機的定時計數(shù)器實際上是個計數(shù)裝置它既可以對單片機的部晶振驅(qū)動時鐘計數(shù)也可以對外部輸入的脈沖計數(shù),對部晶振計數(shù)時稱為定時器,對外部時鐘計

15、數(shù)時稱為計數(shù)器。當對單片機的部晶振驅(qū)動時鐘計數(shù)時,每個機器周期定時計數(shù)器的計數(shù)值就加1,當計數(shù)值達到計數(shù)最大值時計數(shù)完畢并通知單片機的CPU;對外部輸入的時鐘信號計數(shù)時,外部時鐘的每個時鐘上升沿定時計數(shù)器的計數(shù)值就加1,當計數(shù)值達到計數(shù)最大值時計數(shù)完畢并通知單片機的CPU。因此,如果知道單片機的機器周期或者外部輸入時鐘信號的周期,單片機就可以根據(jù)定時器的計數(shù)值計算出定時的時間。用此方法定時十分準確,想得到多大的延時時間就可以給定時器賦一定的計數(shù)初值,定時器從預先設(shè)置的計數(shù)初值開始不斷增1當增加到計數(shù)最大值時計數(shù)完畢,調(diào)整計數(shù)初值的大小就可以調(diào)整定時器定時的時間,從而達到準確的延時。結(jié)論:本系統(tǒng)

16、中就采用第二種方法通過定時/計數(shù)器延時。電源模塊方案選擇方案一:用變壓器將220V交流電轉(zhuǎn)化為9V的交流電再通過電橋和7805到5V的直流為整個電路提供穩(wěn)定的電源.方案二:采用干電池供電。方案三:采用實驗室配備直流穩(wěn)壓電源進行供電。方案比較: 方案二采用電池供電,電池槽會占用空間進而影響電子琴體積,而且電池還會存在續(xù)航能力的問題。方案一繁瑣,況且實驗室所能提供器件以與組員能力有限,結(jié)合本次電子設(shè)計目的,采用更為簡捷方案三。按鍵選擇方案傳統(tǒng)電子琴可以用鍵盤上的“1”到“7”鍵演奏從SO到高O等8音。外加調(diào)音鍵和自動播放鍵,可自動播音樂蜂鳴器選擇方案方案一:0.25W / 8歐喇叭發(fā)聲方案二:2.

17、5W / 8歐喇叭發(fā)聲方案比較:使用0.25W / 8歐喇叭可以直接使用單片機驅(qū)動元件,使用2.5W / 歐喇叭則需要外加三極管驅(qū)動電路,但大功率喇叭的音質(zhì)效果比前者更佳,故為了電子琴整體性考慮,我們選用了0.5W功率喇叭三.系統(tǒng)結(jié)構(gòu)設(shè)計與各部分功能技術(shù)指標單片機芯片介紹(一).芯片引腳圖(二) 主要功能特性AT89C51是51系列單片機的一個型號,它是ATMEL公司生產(chǎn)的一個低電壓,高性能CMOS 8位單片機,片含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),具體有:兼容MCS51指令系統(tǒng) · 8k可反復擦寫(>10

18、00次)Flash ROM · 32個雙向I/O口 · 256x8bit部RAM · 3個16位可編程定時/計數(shù)器中斷 · 時鐘頻率0-24MHz · 2個串行中斷 · 可編程UART串行通道 · 2個外部中斷源 · 共8個中斷源 · 2個讀寫中斷口線 · 3級加密位 · 低功耗空閑和掉電模式 · 軟件設(shè)置睡眠和喚醒功能(三) 各引腳功能 XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻

19、電容組成的復位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義, P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的 方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。P1 是一個帶部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動. P2 是一個帶有部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能

20、 P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。硬件電路設(shè)計: 總體系統(tǒng)設(shè)計:晶振12MHZ,利用的鍵盤輸入為八個鍵,整體系統(tǒng)圖如下:復位電路 AT89SC51電源電路晶振12MHZ音頻放大電路揚聲器鍵盤輸入1. 電源電路:(初步設(shè)計,后因器件與個人能力問題未采用,用實驗室直流穩(wěn)壓5v電源代替)輸出5V電源 7805 變壓器 電橋其中,經(jīng)變壓器過后的交流電利用四個二極管組成的電橋變?yōu)橹绷髟倮?805將其轉(zhuǎn)化為電路要求的5V直流電,2鍵盤電路:按鍵加上兩顆功能鍵,按鍵需接上拉電阻使輸入單片機的電壓為高電平. 如圖:上拉電阻(接高電平) 按鍵3音頻輸出放大電路和數(shù)碼顯示管

21、電路:利用兩個三極管將信號放大后輸入到喇叭。具體的硬件電路原理圖如下:注:最終獲得的產(chǎn)品去掉了電源電路部分和八段顯示碼部分四.軟件設(shè)計參照總的系統(tǒng)流程圖: 模塊初始化 結(jié)束是否有復位鍵掃描鍵盤 延時軍歌播放音調(diào)播放開始 是 否源程序: #include<reg52.h>sbit P1_0=P10;sbit P1_1=P11;#define SPK P1_0 #define LED P1_1#define shumaguan P0 unsigned int tone1,tone2;unsigned char code yinfu=0xfb,0xe9, /*Do*/ 0xfc,0x5c

22、, /*Re*/ 0xfc,0xc1, /*Mi*/ 0xfc,0xef, /*Fa*/ 0xfd,0x45, /*So*/ 0xfd,0x92, /*La*/ 0xfd,0xd0, /*Si*/ 0xfd,0xee, /*Do*/ 0x00,0x00 ;/*軍歌音調(diào)表*/ unsigned char code shengri_tone= 8,8,8,8,8,8,0, 1,1,3,5,5,6,8,6,5,0, 1,3,6,5,3,2,2,0, 1,3,5,5,6,8,6,5,0, 1,1,3,5,5,6,6,5,3,2,2,1,0, 2,2,3,5,5,8,6,2,5,0, 2,2,3,5,5

23、,8,6,5,3,2 ;/*生日快樂歌節(jié)拍表*/unsigned char code shengri_beat= 3,3,3,3,3,20,54, 10,36,36,36,9,25,36,15,54,25, 46,36,30,15,30,36,6,25, 46,36,18,18,24,30,15,46,25, 30,30,36,24,18,18,24,24,18,18,18,54,25, 20,20,24,20,20,36,36,36,54,25, 20,20,24,20,20,36,36,15,15,54,;/*自動演示音調(diào)表*/unsigned char code yanshi_tone=

24、 1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0, 8,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0;/*自動演示節(jié)拍表*/unsigned char code yanshi_beat= 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2, 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2;/*15ms延時子程序,用于節(jié)拍*/void delay(void) unsigned char n=15; while(n-) unsigned char i; for(i=0;i<125;i+); /*定時器0

25、初始化*/void initTimer(void) TMOD=0x01; /定時器0,工作方式1;定時器1,工作方式1 TH0=tone1; TL0=tone2;/*定時器0中斷服務(wù)程序*/void timer0(void) interrupt 1 TH0=tone1; TL0=tone2; SPK=SPK; /取反,以產(chǎn)生方波/*演奏子程序1*/void play1(void) unsigned char m=0; unsigned char s; unsigned char a=1; while(1) EA=0; LED=0; a=shengri_tonem; /取音符s=shengri_

26、beatm; /取節(jié)拍tone1=yinfu2*a-2; tone2=yinfu2*a-1; EA=1; while(s-) delay(); LED=1; m+; if(m>=68) return; /*演奏子程序2*/void play2(void) unsigned char m=0; unsigned char s; unsigned char a=1; while(1) EA=0; LED=0; a=yanshi_tonem; s=yanshi_beatm; tone1=yinfu2*a-2; tone2=yinfu2*a-1; EA=1; while(s-) delay();

27、 LED=1; m+; if(m>=32) return; /*按鍵檢測*/void check_key(void) P2=0xff; P3=0xff; /設(shè)置為輸入狀態(tài)switch(P2) case 0xfe:shumaguan=0xF9;tone1=0xfb;tone2=0xe9;EA=1;break;case 0xfd:shumaguan=0xA4;tone1=0xfc;tone2=0x5c;EA=1;break;case 0xfb:shumaguan=0xB0;tone1=0xfc;tone2=0xc1;EA=1;break;case 0xf7:shumaguan=0x99;to

28、ne1=0xfc;tone2=0xef;EA=1;break;case 0xef:shumaguan=0x92;tone1=0xfd;tone2=0x45;EA=1;break;case 0xdf:shumaguan=0x82;tone1=0xfd;tone2=0x92;EA=1;break;case 0xbf:shumaguan=0xF8;tone1=0xfd;tone2=0xd0;EA=1;break; case 0x7f:shumaguan=0x79;tone1=0xfd;tone2=0xee;EA=1;break; default: EA=0;SPK=0;shumaguan=0xff;

29、 switch(P3) case 0xfb:play1();break; case 0xf7:play2();break; /*主程序*/void main(void) initTimer();shumaguan=0xff; TR0=1;ET0=1;SPK=0;while(1) check_key();四材料與費用明細表元器件清單生產(chǎn)廠家型號數(shù)量價格(元/個)ATMELAT89C521612M晶振10.5按鍵開關(guān)110.2揚聲器15.0發(fā)光二極管10.18050三極管20.2220V轉(zhuǎn)9V變壓器18.010K電阻80.11K電阻10.1330電阻10.120F極性電容20.11000F極性電容

30、10.10.1F電容20.1感教員積極認真貫徹科學發(fā)展觀和以人為本方針路線,提供實驗室和幾乎所有器件,本小組幾乎沒花一分錢。五調(diào)試方案設(shè)計電路調(diào)試是整個系統(tǒng)功能否實現(xiàn)的關(guān)鍵步驟,我們將整個調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。1軟件仿真調(diào)試軟件仿真調(diào)試主要是針對單片機部分進行調(diào)試。在軟件運行前,先確保電路中連線正確,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要通過目測,用來完成檢測電路中是否存在斷路或者短路情況等。在確保軟件仿真電路正常,無異常情況(斷路或短路)方可進行軟件運行,在本次設(shè)計中,軟件運行主要是測試單片機鍵盤控制部分、數(shù)碼管點亮部分、和音頻功放電路調(diào)試。1、數(shù)碼管LED電路調(diào)試:軟件運行,隨機按下按鈕可以看到數(shù)碼管顯示數(shù)字;2、單片機鍵盤控制部分調(diào)試:軟件運行,隨機按動鍵盤可以發(fā)現(xiàn)各個按鍵對應的音正確。.2 軟件調(diào)試調(diào)試主要方法和技巧:通常一個調(diào)試程序應該具備至少四種性能:跟蹤、斷點、查看變量、更改數(shù)值。整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運行,

溫馨提示

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

評論

0/150

提交評論