




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子設(shè)計(jì)報(bào)告 基于51單片機(jī)的多功能電子琴班級(jí):計(jì)算機(jī)科學(xué)與技術(shù) 組員:趙晨 張玥一、作品簡(jiǎn)介:漂亮的外觀,清澈洪亮的聲音,閃閃發(fā)亮的彩燈,相信早已吸引住你的眼球!這是一款純手工打造的電子琴,實(shí)為接近MM、生日禮物必備佳品。二、作品功能:可以演奏出基本的8種音調(diào):Do、Re、Mi、Fa、SO、La、Si、高音Do; 演奏的同時(shí)會(huì)以數(shù)字顯示出當(dāng)前的音調(diào),利于培養(yǎng)樂(lè)感;可以自動(dòng)演示這8個(gè)音調(diào);可以演奏內(nèi)置生日快樂(lè)歌。自動(dòng)演奏時(shí),LED進(jìn)行節(jié)拍指示。使用方法:通過(guò)按下方的8個(gè)音調(diào)鍵演奏樂(lè)曲;按演示按鈕可以自動(dòng)演奏這8種音調(diào);按奏樂(lè)按鈕可以演奏生日快樂(lè)歌;在自動(dòng)演示和奏樂(lè)的過(guò)程中按停止鍵則中斷演奏;音
2、量調(diào)節(jié)按鈕可以選擇音量大和小。三、基本原理:一定頻率產(chǎn)生聲音,頻率高低決定音調(diào)。利用單片機(jī)輸出脈沖信號(hào)經(jīng)放大后送給喇叭,便可發(fā)出聲音。本制作中巧妙地利用了單片機(jī)的定時(shí)器,讓定時(shí)器中斷一次就對(duì)改變喇叭的狀態(tài)一次,即形成矩形方波,這也是數(shù)字電路產(chǎn)生聲音的方法。本作品使用AT89S52型單片機(jī),ISP在線下載使得修改芯片里面的內(nèi)容相當(dāng)簡(jiǎn)單,便于作品的升級(jí)與優(yōu)化。由于一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把
3、一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。 本次設(shè)計(jì)中單片機(jī)晶振為12MHZ,那么定時(shí)器的計(jì)數(shù)周期為1MHZ,假如選擇工作方式1,那T值便為T= 216-5105/相應(yīng)的頻率 ,那么根據(jù)不同的頻率計(jì)算出應(yīng)該賦給定時(shí)器的計(jì)數(shù)值,列出不同音符與單片機(jī)計(jì)數(shù)T0相關(guān)的計(jì)數(shù)采用查表程序進(jìn)行查表時(shí),可以為這個(gè)音符建立一個(gè)表格,有助于單片機(jī)通過(guò)查表的方式來(lái)獲得相應(yīng)的數(shù)據(jù):TABLE DW 64580,64684,64777,64820,64898,64968,65030四、實(shí)驗(yàn)?zāi)康模海?)能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識(shí)有進(jìn)一步的認(rèn)識(shí),獨(dú)立對(duì)其進(jìn)行測(cè)試與檢查。(2)熟悉8051單片機(jī)的內(nèi)部結(jié)構(gòu)
4、和功能,合理使用其內(nèi)部寄存器,能夠完成相關(guān)軟件編程設(shè)計(jì)工作。(3)為實(shí)現(xiàn)預(yù)期功能,能夠?qū)ο到y(tǒng)進(jìn)行快速的調(diào)試,并能夠?qū)Τ霈F(xiàn)的功能故障進(jìn)行分析,及時(shí)修改相關(guān)軟硬件。(4)對(duì)軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。五、硬件電路:1.八顆獨(dú)立按鍵加上兩顆功能鍵,按鍵需接上拉電阻。S1S8為音調(diào)按鈕,S9、S10為演奏按鈕:2.喇叭驅(qū)動(dòng)電路,speaker接單片機(jī)的P1.0口,喇叭安裝在箱體中:3.LED電路,led接單片機(jī)的P1.1口。注意,這里的LED是那種通電自己會(huì)閃的,這樣才能有視頻中的效果:4.數(shù)碼管電路,選用共陽(yáng)數(shù)碼管,ADP依次接單片機(jī)P0.0P0
5、.7:六、軟件設(shè)計(jì)/*多功能電子琴簡(jiǎn)要說(shuō)明:P1.0口輸出各音調(diào)的頻率方波 本程序可方便地更改內(nèi)置音樂(lè)的內(nèi)容編寫:FengShuo,Esen更新時(shí)間:10/03/39晚*/#include<reg52.h>#define SPK P1_0 /定義方波輸出口#defineLED P1_1#define shumaguan P0 /定義數(shù)碼管段碼輸出unsigned int tone1,tone2;0xfc,0x5c, /*Re*/0xfc,0xc1, /*Mi*/0xfc,0xef, /*Fa*/0xfd,0x45, /*So*/0xfd,0x92, /*La*/0xfd,0xd0,
6、 /*Si*/0xfd,0xee, /*Do*/0x00,0x00 /音符間隔,只要間隔時(shí)間小于65ms時(shí),用作拍子之間的短暫停頓;/*生日快樂(lè)歌音調(diào)表*/unsigned char code shengri_tone= 1,0,1,2,1,4,3,0, 1,0,1,2,1,5,4,0,1,0,1,8,6,4,3,2,0,7,0,7,6,4,5,4,0 /0代表不發(fā)聲,即停頓;數(shù)字即為音調(diào);/*生日快樂(lè)歌節(jié)拍表*/ unsigned char code yinfu=0xfb,0xe9, /*Do*/unsigned char code shengri_beat= 24,1,24,48,48,4
7、8,72,5,24,1,24,48,48,48,72,5, 24,1,24,48,48,48,48,72,5,24,1,24,48,48,48,72,5 /節(jié)拍,即tone表各音調(diào)的延時(shí); /*自動(dòng)演示音調(diào)表*/8,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0;/*自動(dòng)演示節(jié)拍表*/unsigned char code48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2;/*15ms延時(shí)子程序,用于節(jié)拍*/void delay(void)unsigned char n=15;while(n-) unsigned char i;for(i=0;i<1
8、25;i+);/*定時(shí)器0初始化*/void initTimer(void) TMOD=0x01; /定時(shí)器0,工作方式1;定時(shí)器1,工作方式1 TH0=tone1;TL0=tone2;/*定時(shí)器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; unsigned char code yanshi
9、_tone= 1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0, yanshi_beat= 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2,a=shengri_tonem; /取音符s=shengri_beatm; /取節(jié)拍tone1=yinfu2*a-2;tone2=yinfu2*a-1;EA=1;while(s-) delay(); LED=1;m+;if(m>=33) return; /數(shù)值是shengri相關(guān)表中的元素?cái)?shù)量/*演奏子程序2*/void play2(void)unsigned char m=0;unsigned char
10、 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(); LED=1;m+;if(m>=32) return;/*按鍵檢測(cè)*/void check_key(void) P2=0xff;P3=0xff; /設(shè)置為輸入狀態(tài)switch(P2) /檢測(cè)按鍵,輸出數(shù)碼管、載入定時(shí)器初值、允許中斷 case 0xfe:shumaguan=0xF9;tone1=0xfb;tone2=0xe9;EA=1;b
11、reak;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;tone1=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
12、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;/如果沒(méi)有鍵按下則關(guān)閉中斷和數(shù)碼管 switch(P3) case 0xfb:play1();break;case 0xf7:play2();break; /*主程序*/void main(void)initTimer();shumaguan=0xff;TR0=1;ET0=1;SPK=0;while(1)
13、check_key(); /*END*/八、調(diào)制日志2010年3月22日星期一我們領(lǐng)了實(shí)驗(yàn)裝置,并對(duì)已安裝好的鍵盤進(jìn)行上電(+5v)測(cè)試,發(fā)現(xiàn)其為低電平觸發(fā)。并對(duì)七段LED顯示管進(jìn)行引腳測(cè)試。晚上上網(wǎng)查了一下LM386的外部接口電路。2010年3月24日星期三按照LM386的接口電路圖,在實(shí)驗(yàn)板上進(jìn)行焊置安裝,但是發(fā)現(xiàn)其供壓為+16v而實(shí)驗(yàn)要求是5v,不知道能否工作。2010年3月27日星期六我們對(duì)LM386功放電路進(jìn)行加壓(+5v)測(cè)試發(fā)現(xiàn),其能工作:即輸出端可看到余弦波形,但是振幅比較小,而且不夠穩(wěn)定。這天時(shí)間充裕我們又把七段LED顯示器進(jìn)行焊接,加壓測(cè)試,可以正常工作。2010年3月28
14、日星期日我們完成了軟件的設(shè)計(jì)。用仿真軟件進(jìn)行模擬沒(méi)有錯(cuò)誤。OK2010年3月29日星期一我們將程序考到了51單片機(jī)上,進(jìn)行產(chǎn)品測(cè)試,但是沒(méi)有成功。喇叭不響然后我們將單片機(jī)的輸出端接示波器,當(dāng)鍵位按下后可看波形改變,說(shuō)明單片機(jī)沒(méi)有問(wèn)題。對(duì)電路檢查沒(méi)有發(fā)現(xiàn)錯(cuò)誤,分析原因可能是電路的電壓?jiǎn)栴}。經(jīng)過(guò)討論決定放棄該電路,重新焊接功放電路。2010年4月1日星期四我們重新焊接了電路,測(cè)試后成功。但是無(wú)法完成放音功能。調(diào)試程序 2010年4月2日星期五進(jìn)行最后調(diào)試,預(yù)期功能可以實(shí)現(xiàn)。設(shè)計(jì)成功!九、心得體會(huì)在理論課上,我們學(xué)習(xí)了一些關(guān)于51單片機(jī)的知識(shí)。這次實(shí)驗(yàn)課,把課本上的知識(shí)拿到實(shí)際中去應(yīng)用,其中還是遇到了很多之前想象不到的問(wèn)題。但是通過(guò)自學(xué),我們完成了不少課堂上并沒(méi)有掌握的內(nèi)容。不論是程序上的,還是硬件電路連接上的。從自己親自動(dòng)手實(shí)踐的過(guò)程中,我們團(tuán)隊(duì)成員都能盡自己的一份力,大家共同協(xié)作,共同發(fā)現(xiàn)問(wèn)題,解決問(wèn)題。這次實(shí)驗(yàn)中,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院培訓(xùn)課件:評(píng)估SOAP和目標(biāo)制定SMART
- 青年航校培養(yǎng)協(xié)議書(shū)
- 倒閉廠設(shè)備轉(zhuǎn)讓協(xié)議書(shū)
- 食堂水果采購(gòu)協(xié)議書(shū)
- 酒店股東住房協(xié)議書(shū)
- 高考師生努力協(xié)議書(shū)
- 道路花磚維修協(xié)議書(shū)
- 高速公路清掃協(xié)議書(shū)
- 連云港市投資協(xié)議書(shū)
- WPS便簽用戶協(xié)議書(shū)
- 當(dāng)前我國(guó)社會(huì)民生熱點(diǎn)問(wèn)題解析課件
- 城管協(xié)管筆試題及答案
- 遼寧省名校聯(lián)盟2025年高三5月份聯(lián)合考試語(yǔ)文及答案
- 全國(guó)助殘日 課件高中下學(xué)期主題班會(huì)
- 2025年浙江省杭州市錢塘區(qū)中考二模英語(yǔ)試題(含筆試答案無(wú)聽(tīng)力答案、原文及音頻)
- 2025年考研政治真題及答案
- 動(dòng)力電池?zé)崾Э芈訖C(jī)理及其控制策略研究
- 輕型顱腦閉合性損傷護(hù)理查房
- 體育場(chǎng)館停車場(chǎng)車輛管理規(guī)范范文
- 文明檢修培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論