基于C51單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于C51單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于C51單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于C51單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于C51單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . 基于C51單單片機(jī)電子琴的設(shè)計(jì)與實(shí)現(xiàn)組員:周靜馬帥夢(mèng)艷班級(jí):通信2班1.設(shè)計(jì)任務(wù)與要求22方案論證32.1單片機(jī)32.2發(fā)聲器43.理論分析與計(jì)算:44.硬件電路與程序設(shè)計(jì)64.1電路圖:64.2程序框圖65.軟件程序76總結(jié)與展望13附錄1:14附錄2:14摘要:打造一個(gè)多功能電子琴,核心是一塊單片機(jī)。單片機(jī)讀取鍵值,為置定時(shí)器賦初值,定時(shí)器每溢出一次,驅(qū)動(dòng)蜂鳴器的引腳電平就取反一次,產(chǎn)生相應(yīng)頻率的方波,即音調(diào);設(shè)好鍵值與數(shù)碼管段碼表的對(duì)應(yīng)關(guān)系,鍵按下時(shí),數(shù)碼管顯示對(duì)應(yīng)音調(diào)。 一首音樂(lè)儲(chǔ)存在一個(gè)表中,表中的數(shù)據(jù)是音調(diào)與節(jié)拍,單片機(jī)讀取音符的音調(diào)與節(jié)拍,根據(jù)音調(diào)賦予定時(shí)器

2、初值,根據(jù)節(jié)拍決定定時(shí)器工作的時(shí)間,也就是蜂鳴器響的時(shí)間,一個(gè)接一個(gè)地讀取音符,即可播放一首歌曲。關(guān)鍵字:?jiǎn)纹瑱C(jī)電子琴蜂鳴器1.設(shè)計(jì)任務(wù)與要求電子琴設(shè)有8個(gè)按鍵,其中7個(gè)作為音符輸入,另外1個(gè)作為模式轉(zhuǎn)換按鍵,實(shí)現(xiàn)用戶作曲。7個(gè)按鍵分別代表7個(gè)音符,包括中音段的全部音符。通過(guò)軟硬件設(shè)計(jì),模式轉(zhuǎn)換按鍵觸發(fā)外部中斷,中斷使程序跳轉(zhuǎn),實(shí)現(xiàn)模式轉(zhuǎn)換,啟動(dòng)電子琴。然后通過(guò)查詢電子琴所按下的按鍵,讀取電子琴輸入狀態(tài),跳轉(zhuǎn)到對(duì)應(yīng)的程序人口,實(shí)現(xiàn)自編歌曲。當(dāng)需要取消電子琴編曲功能時(shí),再次按下模式轉(zhuǎn)換按鍵引起外部中斷即可退出電子琴功能而返回到原來(lái)音樂(lè)播放處。2方案論證2.1單片機(jī)方案一:AT89C51是美國(guó)AT

3、MEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。方案二:采用凌陽(yáng)公司的SPCE061A單片機(jī)作為控制器的方案。該單片機(jī)I/O資源豐富,并集成了語(yǔ)音功能。它整合了多個(gè)常用的功能模塊,讓我們?cè)谶M(jìn)行系統(tǒng)開發(fā)的時(shí)候不用外加過(guò)多的硬件就可方便的&#

4、160;完成一個(gè)系統(tǒng)的設(shè)計(jì),這就是人們常說(shuō)的 SoC(System on chip)技術(shù)。 耗電少,可以滿足很多手提設(shè)備、掌上設(shè)備低能耗的需求,低能耗也是電子技術(shù)一直在追求的 一個(gè)目標(biāo)。但其價(jià)格較高。 方案三:TI公司的MSP430系列是一個(gè)特別強(qiáng)調(diào)超低功耗的單片機(jī)品種很適合應(yīng)用于采用電池供電的長(zhǎng)時(shí)間工作場(chǎng)合在這個(gè)系列中有很多個(gè)型號(hào)它們是由一些基本功能模塊按不同的應(yīng)用目標(biāo)組合而成MSP430系列的CPU采用16位精簡(jiǎn)指令系統(tǒng),集成有16位寄存器和常數(shù)發(fā)生器 發(fā)揮了最高的代碼效率它采用數(shù)字控制振蕩器DCO使得從低功耗模式到喚醒

5、模式的轉(zhuǎn)換時(shí)間小于6 µs. 其中MSP430x41x 系列微控制器設(shè)計(jì)有一個(gè)16位定時(shí)器,一個(gè)比較器,96段LCD驅(qū)動(dòng)器和48個(gè)通用I/O引腳。 根據(jù)這次實(shí)訓(xùn)的要求,方案三單片機(jī)原理復(fù)雜,掌握難度大,方案二,價(jià)格較高,方案一已經(jīng)能夠滿足我們的需要,且價(jià)格低廉,經(jīng)濟(jì)實(shí)用,故采用方案一。2.2發(fā)聲器方案一:采用中頻揚(yáng)聲器。一般來(lái)說(shuō),只要頻率響應(yīng)曲線平坦,有效頻響圍大于它在系統(tǒng)中擔(dān)負(fù)的放聲頻帶的寬度,阻抗與靈敏度和低頻單元一致即可。有時(shí)中音的功率容量不夠,也可選擇靈敏度較高,而阻抗高于低音單元的中音,從而減少中音單元的實(shí)際輸入功率。中音單元一般有錐

6、盆和球頂兩種。只不過(guò)它的尺寸和承受功率都比高音單元大而適合于播放中音頻而已。方案二:采用蜂鳴器。它的優(yōu)點(diǎn)如下:1. 便宜;2. 聲音頻率可控,可以做出“多來(lái)米發(fā)索拉西”的效果;3. 在一些特例中,可以和LED復(fù)用一個(gè)控制口。4. 程序控制方便。我們采用方案二,操作簡(jiǎn)單,價(jià)格合適。3.理論分析與計(jì)算:系統(tǒng)初始化后,進(jìn)入按鍵掃描函數(shù)。當(dāng)檢測(cè)到按鍵被按下時(shí),判斷是1到7按鍵還是8按鍵,若是1到7按鍵被按下則啟動(dòng)定時(shí)器T1,按照音階所對(duì)應(yīng)的周期初始值數(shù)組表中的初值,輸出方波信號(hào);當(dāng)判斷是第八個(gè)按鍵被按下時(shí),直接調(diào)用揮著翅膀的女孩歌曲的音調(diào)和節(jié)拍數(shù)組,啟用中斷循環(huán)輸出。各個(gè)音階的頻率以與對(duì)應(yīng)半周期如下圖

7、所示:通過(guò)Time0的溢出中斷實(shí)現(xiàn)單頻產(chǎn)生。Time0的溢出中斷發(fā)生后輸出引腳的電壓反向,然后定時(shí)器重新裝入初值。所以編程時(shí)要確定Time0的工作模式和計(jì)數(shù)初值。這里采用工作模式1,定時(shí)器的初值設(shè)定通過(guò)軟件重復(fù)實(shí)現(xiàn)。而且定時(shí)器的初值則依據(jù)各音頻頻率設(shè)置。例如:中音Do音頻是523Hz,其周期T=l523=1 912s,其半周期為19122=956s。本設(shè)計(jì)的計(jì)時(shí)時(shí)鐘周期是ls,因此設(shè)置Time0的計(jì)數(shù)器每計(jì)956次則中斷一次,從而實(shí)現(xiàn)Do的音頻,然后通過(guò)中斷觸發(fā)實(shí)現(xiàn)引腳電壓的循環(huán)取反得到相應(yīng)音頻輸出。4.硬件電路與程序設(shè)計(jì)4.1電路圖:我們按鍵部分用AT89C51的P0口,而該芯片的P0需接上

8、拉電阻,一共需要八個(gè),因此我們用9引腳的排阻代替,排阻多出來(lái)的一個(gè)引腳接VCC。4.2程序框圖經(jīng)過(guò)以上分析論證,最終我們得到如下框圖。AT89C51聲音模塊放大電路模塊系統(tǒng)時(shí)鐘硬件復(fù)位按鍵模塊5.軟件程序#include <reg52.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned intsbit buz=P31;uchar keycode;uchar i,j;uint toneh8= 0xfc43,0xfcab,0xfd09,0xfd33,0xfd81,0xfdc7,0xfe05

9、,0xfe21;uchar keymode8= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code Music_hzcb=0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03,

10、0x18,0x02,0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,0x18,0x03, 0x17,0x03

11、, 0x18,0x03, 0x20,0x03, 0x20,0x02,0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0

12、x03,0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03,0x1B,0x03, 0x1A,0x03, 0x19

13、,0x03, 0x19,0x02, 0x17,0x03,0x15,0x17, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x18,0x03,0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E, 0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,0

14、x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04,0x18,0x04, 0x18,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03,0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03,0x1B,0x03, 0x1F,0x66, 0x1F,0x03

15、, 0x1B,0x03, 0x19,0x03,0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02,0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0xff,0xff; unsigned char code Music_Code= 0xf8,0x8b,0xf9,0x5b,0xfa,0x14

16、,0xfa,0x66, /11111000,100010110xfb,0x03,0xfb,0x8f,0xfc,0x0b,0xfd,0xee; unsigned char const yinfu1314=0xf8,0x8b,0xf9,0x5b,0xfa,0x14,0xfa,0x66,0xfb,0x03,0xfb,0x8f,0xfc,0x0b0xfc,0x43,0xfc,0xab,0xfd,0x08,0xfd,0x33,0xfd,0x81,0xfd,0xc7,0xfe,0x050xfb,0x21,0xfe,0x55,0xfe,0x84,0xfe,0x99,0xfe,0xc0,0xfe,0xe3,0

17、xff,0x02; /11111000,10001011unsigned char const length=1,2,4,8,16,32,64;unsigned char sth,stl;void delay_ms(unsigned int k) / 12Munsigned int i0;unsigned char i,j;for(i0=0;i0<k;i0+)for(i=5;i>0;i-)for(j=97;j>0;j-); void Sys_Init() TMOD=0x10; EA=1; ET1=1; P1=0xff; uchar Get_Key ()uchar i,temp

18、;P1=0xff;temp=P1;for(i=0;i<8;i+)if(temp=keymodei)return i; return 8;void Play(uchar key) uchar j;if(key=7) TR1=1; for(j=0;Music_hzcbj!=0xff;j+) keycode=Music_hzcbj; delay_ms(10);sth=yinfu1(Music_hzcbj%100)/10-1(Music_hzcbj%10)-1)*2;stl=yinfu1(Music_hzcbj%100)/10-1(Music_hzcbj%10)-1)*2+1;j+;TR0=1;delay_ms(4*500/lengthMusic_hzcbj%10);TR0=0; for (;)while(P3=0x7f);delay_ms(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論