




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機技術及系統(tǒng)設計課程設計題目:基于單片機的電子琴制作專業(yè):電子電子信息工程班級:電子1073班姓名:xxx學號:xxx組員:xxx學號:xxx實驗地點:科技樓403指導老師:xxx設計時間2010-5-30至2010-6-30成績:一、設計指標:(1)設計一個(4X4)的鍵盤,并將16個鍵設計成16個音;(2)可彈奏想要表達的音樂;(3)該電子琴包含1首示例音樂,接通電源可播放示例音樂。二、設計要求:(1)按設計指標進行電路設計;(2)列出音階與單片機定時器輸出頻率關系表格;(3)制作符合設計指標的硬件電路。三、設計說明:電子琴是高科技在音樂領域的一個代表,它是古典文化與現代文明的一個濃縮
2、體。它不但可以幫助我們的音樂教師進行傳統(tǒng)音樂文化的教育教學工作,而且由于它又具備現代音樂,特別是電子音樂、電腦音樂的基本結構、特征,因而使我們的教師在進行現代音樂、電子音樂、電腦音樂的教學時,更直接、更簡便。單片微型計算機是大規(guī)模集成電路技術發(fā)展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點。它的應用必定導致傳統(tǒng)的控制技術從根本上發(fā)生變革。因此,單片機的開發(fā)應用已成為高科技和工程領域的一項重大課題。電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人
3、們的生活中,成為不可替代的一部分。本文的主要內容是用AT89C51單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個彈奏按鍵、1個播放鍵和揚聲器。四、設計簡單原理介紹一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。若要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的
4、時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反相,然后重復計時再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內部定時器使其工作計數器模式(M0DE1)下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階,例如,頻率為523Hz,其周期T=l/523=1912ps,因此只要令計數器計時956s/lps=956,每計數956次時將I/O反相,就可得到中音DO(523Hz)。計數脈沖值與頻率的關系式(如式3-1所示)是:N=fiF2Ffr3-1式中,N是計數值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產生的頻率。其計數初值T的
5、求法如下:T=65536N=65536fiF2Ffr例如:設K=65536,fi=lMHz,DO(523Hz)的計數值。T=65536N=65536fi三2三fr=655361000000三2三fr=65536500000/fDO的T=65536500000/523=64580單片機12MHZ晶振,高中低音符與計數T0相關的計數值如表4-2所示表3-2音符頻率表低音音符頻率HZ中音音符頻率HZ冋曰曰符頻率HZ1261.631523.2511045.52293.672587.3321174.663329.633659.4631318.514349.234698.4641396.925391.99
6、5738.9951567.986440.006880.0061760.007493.887987.7671975.52我們要為這個音符建立一個表格,單片機通過查表的方式來獲得相應的數據低音019之間,中音在2039之間,高音在4059之間TABLE:DW0,63628,63835,64021,64103,64260,64400,64524,0,0DW0,63731,63928,0,64185,64331,64463,0,0,0DW0,64580,64684,64777,64820,64898,64968,65030,0,0DW0,64633,64732,0,64860,64934,64994,
7、0,0,0DW0,65058,65110,65157,65178,65217,65252,65283,0,0DW0,65085,65134,0,65198,65235,65268,0,0,0DW0在這個程序中,彈奏音樂的程序是用定時/計數器T0來完成的,播放音樂程序則是用定時/計數器T1來完成的。五、軟件總體方案及設計流程(1)鍵盤掃描程序:檢測是否有鍵按下,有鍵按下則記錄按下鍵的鍵值,并跳轉至功能轉移程序;無鍵按下,則返回鍵盤掃描程序繼續(xù)檢測(2)功能轉移程序:對檢測到得按鍵值進行判斷,是琴鍵則跳轉至琴鍵處理程序,是功能鍵則跳轉至相應的功能程序,我們設計的功能程序有兩種,即音色調節(jié)功能和自動
8、播放樂曲功能(3)琴鍵處理程序:根據檢測到得按鍵值,查詢音律表,給計時器賦值,使發(fā)出相應頻率的聲音(4)自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經存放好的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有鍵按下程序簡易流程圖否彈奏程序流程圖自動播放歌曲程序流程圖六、硬件總體方案及說明51單片機P1口通過連接4*4的矩陣鍵盤,作為琴鍵鍵盤;P2.0接播放音樂鍵;P3.0口接喇叭,通過執(zhí)行相應的功能程序使電子琴發(fā)出不同音色的聲音。(一)芯片介紹:在本次電子琴設計中,我們組成員單片機芯片選用了AT89C51芯片,而89C51系列的兼容性也比
9、較好。FJQCPl1P?IZPlJLFU丄匚mPItCP!7CRSTCIRC?POC(TXD;PS1QNTfl)P.SdilDTTTjr)pjic.4.7uF:B15B16::110.-,PO-XTAL1P0.0/AECP0.1/AD1P0.2/AD2P0.4/r4P0.5/AECpo.e/MftiRSTPD.7/AD7P2.D何P2.1/.AyP2.2/A10PSENP2.3/A11jLEP2.4/A12P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.im:LiP1.2P3.2/INTDPI.3P3.3/INT1P1.4P3.4.-TUPI.5P3.5/T1P1.6P3
10、.6/WRP1.7P3.7/RD29303T685436343321222324藥27284:R1:11.LJ2D0_LL.15j6171:B5:-II-縣B6B7B8:LS1SPEAKER七、設計儀器、設備和材料清單主要儀器設備:個人計算機和相關的軟件主要元器件:獨立按鍵16個單片機芯片AT80C51片12MHz晶振一個S8550三極管一個不同阻值電阻數個開關一個USB電源插口一個喇叭一個10uF、30pF電容數個電路板一塊電烙鐵一個等八、設計源程序BUFFEQU30HSTH0EQU31HSTL0EQU32HTEMPEQU33HORG00HLJMPSTARTORG0BHLJMPINT_T0O
11、RG001BH;設置T0工作方式;啟動T0;P1全置1;開始掃描第一行;屏蔽高四位;低位有”0”則有鍵按下,否則無判斷有無鍵按下,有則繼續(xù),沒有則轉移到LJMPTIM1START:MOVTMOD,#01HSETBET0SETBEAMAIN:MOVP1,#0FFHCLRP1.4MOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY1KKEY1LCALLDELY10MS;調用延時程序MOVA,P1;重新開始判斷有無鍵按下ANLA,#0FHXRLA,#0FHJZKKEY1MOVA,P1ANLA,#0FH;求鍵值CJNEA,#0EH,CKK1;相等說明該行第一列有鍵按下,不等則轉CKK1:KK
12、2:KK3:KK4:NDK1:NDK1A:KKEY1:MOVBUFF,#0;該鍵值為0LJMPNDK1;跳到NDK1執(zhí)行相應的功能程序CJNEA,#0DH,KK2;相等說明該行第二列有鍵按下,不等則轉移MOVBUFF,#1該鍵值為1LJMPNDK1;跳到NDK1執(zhí)行相應的功能程序CJNEA,#0BH,KK3;相等說明該行第三列有鍵按下,不等則轉移MOVBUFF,#2該鍵值為2LJMPNDK1;跳到NDK1執(zhí)行相應的功能程序CJNEA,#07H,KK4;相等說明該行第四列有鍵按下,不等則轉移MOVBUFF,#3該鍵值為2LJMPNDK1;跳到NDK1執(zhí)行相應的功能程序NOPMOVA,BUFFMO
13、VDPTR,#TABLEMOVCA,A+DPTRMOVP0,AMOVA,BUFFMOVB,#2MULABMOVTEMP,AMOVDPTR,#TABLE1MOVCA,A+DPTRMOVSTH0,AMOVTH0,AINCTEMPMOVA,TEMPMOVCA,A+DPTRMOVSTL0,AMOVTL0,ASETBTR0MOVA,P1ANLA,#0FHXRLA,#0FHJNZNDK1ACLRTR0MOVP1,#0FFH;開始掃描第二行CLRP1.5MOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY2LCALLDELY10MSMOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY2M
14、OVA,P1ANLA,#0FHCJNEA,#0EH,KK5MOVBUFF,#4LJMPNDK2KK5:CJNEA,#0DH,KK6MOVBUFF,#5LJMPNDK2KK6:CJNEA,#0BH,KK7MOVBUFF,#6LJMPNDK2KK7:CJNEA,#07H,KK8MOVBUFF,#7LJMPNDK2KK8:NDK2:NOPMOVA,BUFFMOVDPTR,#TABLEMOVCA,A+DPTRMOVP0,AMOVA,BUFFMOVB,#2MULABMOVTEMP,AMOVDPTR,#TABLE1MOVCA,A+DPTRMOVSTH0,AMOVTH0,AINCTEMPMOVA,TEMPM
15、OVCA,A+DPTRMOVSTL0,AMOVTL0,ASETBTR0NDK2A:MOVA,P1ANLA,#0FHXRLA,#0FHJNZNDK2ACLRTR0KKEY2:MOVP1,#0FFH;開始掃描第三行CLRP1.6MOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY3LCALLDELY10MSMOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY3MOVA,P1ANLA,#0FHCJNEA,#0EH,KK9MOVBUFF,#8LJMPNDK3KK9:CJNEA,#0DH,KK10MOVBUFF,#9LJMPNDK3KK10:CJNEA,#0BH,KK11MOVBUF
16、F,#10LJMPNDK3KK11:CJNEA,#07H,KK12MOVBUFF,#11LJMPNDK3KK12:NOPNDK3:MOVA,BUFFMOVDPTR,#TABLEMOVCA,A+DPTRMOVP0,AMOVA,BUFFMOVB,#2MULABMOVTEMP,AMOVDPTR,#TABLE1MOVCA,A+DPTRMOVSTH0,AMOVTH0,AINCTEMPMOVA,TEMPMOVCA,A+DPTRMOVSTL0,AMOVTL0,ASETBTR0NDK3A:MOVA,P1ANLA,#0FHXRLA,#0FHJNZNDK3ACLRTR0KKEY3:MOVP1,#OFFH;開始掃描
17、第四行CLRP1.7MOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY4LCALLDELY10MSMOVA,P1ANLA,#0FHXRLA,#0FHJZKKEY4MOVA,P1ANLA,#0FHCJNEA,#0EH,KK13MOVBUFF,#12LJMPNDK4KK13:CJNEA,#0DH,KK14MOVBUFF,#13LJMPNDK4KK14:CJNEA,#0BH,KK15MOVBUFF,#14LJMPNDK4KK15:CJNEA,#07H,KK16MOVBUFF,#15LJMPNDK4KK16:NOPNDK4:MOVA,BUFFMOVDPTR,#TABLEMOVCA,A+DP
18、TRMOVP0,AMOVA,BUFFMOVB,#2MULABMOVTEMP,AMOVDPTR,#TABLE1MOVCA,A+DPTRMOVSTH0,AMOVTH0,AINCTEMPMOVA,TEMPMOVCA,A+DPTRMOVSTL0,AMOVTL0,ASETBTR0NDK4A:MOVA,P1ANLA,#0FHXRLA,#0FHJNZNDK4ACLRTR0KKEY4:MOVA,#0FFHMOVP2,AMOVA,P2JBACC.0,KKEY5LCALLDELY10MSMOVA,P2JBACC.0,KKEY5MOVBUFF,#16LJMPSTART22START22:MOVA,BUFFCJNEA
19、,#16,KKEY5LJMPSTART2KKEY5:LJMPMAINSTART2:MOVTMOD,#10H;設T1在M1MOVIE,#88H;中斷使能START0:MOV30H,#00;取簡譜碼指針NEXT:MOVA,30H;簡譜碼指針載入AMOVDPTR,#TAB;至TAB取簡譜碼MOVCA,A+DPTR;MOVR2,A;渠道的簡譜碼暫存于R2JZEND0;是否渠道00(結束碼)ANLA,#0FH;不是,則取低4位(節(jié)拍碼)MOVR5,A;將節(jié)拍碼存入R5MOVA,R2;將取到的簡譜碼再載入ASWAPA;高低4位交換ANLA,#0FH;取低4位(音符碼)JNZSING;取到的音符碼是否為0?
20、CLRTR1;開始,則不發(fā)音SING:D1:TIM1:DELY10MS:D10:INT_T0:SJMPD1;跳至D1DECA;取到的音符碼減1(不含0)MOV22H,A;存入(22H)RLA;乘2MOVDPTR,#TAB1至TABLEI取相對的高位字節(jié)計數值MOVCA,A+DPTR;MOVTH1,A;取到的高位字節(jié)存入TH0MOV21H,A;取到的高位字節(jié)存入(21H)MOVA,22H;在載入取到的音符碼RLA;乘2INCA;加1MOVCA,A+DPTR;至TABLE1取相對的低位字節(jié)計數值MOVTL1,A取到的低位字節(jié)存入TL0MOV20H,A;取到的低位字節(jié)存入(20H)SETBTR1;啟
21、動TIMER0LCALLDELAY;其本單位時間1/4拍187毫秒INC30H;取簡譜碼指針加1JMPNEXT;取下一個簡譜碼END0:CLRTR1;停止TIMER0LJMPMAIN;重復循環(huán)PUSHACC;將A的值暫存于堆棧PUSHPSW;將PSW的值暫存于堆棧MOVTL1,20H;重設計數值MOVTH1,21H;CPLP3.0;將P1.0位反相,控制蜂鳴器發(fā)聲POPPSW;至堆棧取回PSW的值POPACC;至堆棧取回A的值RETIDELAY:MOVR7,#02D2:MOVR4,#187D3:MOVR3,#248DJNZR3,$DJNZR4,D3DJNZR7,D2RETMOVR6,#10MO
22、VR7,#248DJNZR7,$DJNZR6,D10RETMOVTH0,STH0MOVTL0,STL0CPLP3.0RETITABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HTABLE1:DW64021,64103,64260,64400DW64524,64580,64684,64777DW64820,64898,64968,65030DW65058,65110,65157,65178TAB1:;決定節(jié)拍DW64260,64400,64521,64580DW64684,64777,64820,64898DW64968,65030,65058,65110DW65157,65178,65217TAB:;樂曲名稱梁祝DB02H,82H,62H,52H,48H,02H,52H,32H,22H,18HDB83H,91H,72H,62H,51H,61H,71H,61H,83H,61HDB81H,51H,61H,71H,61H,51H,46H,82H,32H,52HDB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 曲柄連桿機構的運動優(yōu)化考核試卷
- 文化用品租賃業(yè)務成本控制考核試卷
- 化工產品批發(fā)商市場營銷策略評估與優(yōu)化考核試卷
- 酵素浴培訓課件
- 蔬菜大棚出售合同范本
- 環(huán)衛(wèi)運營合同范本
- 培訓課件經典案例
- 小學生講紀律課件
- 房屋修繕賠償合同范本
- 湖南省招投標培訓課件
- GB/T 44117-2024電化學儲能電站模型參數測試規(guī)程
- 2024屆上海市楊浦區(qū)市級名校高一下數學期末經典試題含解析
- 2024年大興安嶺職業(yè)學院單招職業(yè)適應性測試題庫及答案1套
- 2024中核集團中核資本招聘筆試沖刺題(帶答案解析)
- CAS鋁鎂質保溫施工施工方法及工藝技術
- 北師大版四年級下冊認識三角形和四邊形
- 2023風電機組預應力混凝土塔筒與基礎結構設計標準
- 2024年輔警考試公基常識300題(附解析)
- 《傳染病》PPT課件完美版-2024鮮版
- 2024年事業(yè)單位考試昆明市A類《職業(yè)能力傾向測驗》深度預測試題含解析
- 產品試用免責聲明
評論
0/150
提交評論