基于51單片機的簡易電子琴設計_第1頁
基于51單片機的簡易電子琴設計_第2頁
基于51單片機的簡易電子琴設計_第3頁
基于51單片機的簡易電子琴設計_第4頁
基于51單片機的簡易電子琴設計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于51單片機的簡易電子琴設計一問題提出為什么選擇簡易電子琴設計?1 對于音樂的興趣我們對音樂都有著濃厚的興趣,喜歡聽鋼琴曲,如理查德·克萊德曼演奏的思鄉(xiāng)曲星空秋日的私語等,音樂在我們的生活中扮演著很重要的角色。有人曾說,喜歡音樂的人不會向惡。以前不以為然,可是隨著這些年來慢慢喜歡上陰郁,聽了越來越多的鋼琴曲之后,覺得這句話非常有道理。音樂是用藝術(shù)家用音符記錄世界,傳達情感的一種藝術(shù)形式,音樂里有一種和諧之美,聽音樂可以讓人心情舒暢,與外界和諧統(tǒng)一。音樂現(xiàn)在已經(jīng)成為我生活中很重要的一部分,我們每周都會抽些時間去欣賞世界名曲,作為對精神的洗禮。2 對于電子琴的好奇好奇是人的天性,人類對

2、于自然的認識,對于科學的探索,無不始于好奇。我們對電子琴如何實現(xiàn)其功能,如音色選擇、聲音強弱控制、節(jié)拍器、自動放音功能等等也很好奇,想通過學習單片機這個機會,深入了解電子琴的功能實現(xiàn)原理。3 對于51單片機強大功能的信賴 51單片機有基本特性:(1) 面向控制的8位CPU和指令系統(tǒng)(2) 4K字節(jié)的程序存儲器(ROM或EPROM)(3) 128字節(jié)的數(shù)據(jù)存儲器(4) 可編程的并行I/O口P0P3,有32位雙向輸入/輸出線(5) 一個全雙工串行口(6) 兩個16位定時器/計數(shù)器(7) 五個中斷源,兩個優(yōu)先級的中斷結(jié)構(gòu)(8) 一個片內(nèi)時鐘振蕩器和時鐘電路(9) 可以尋址64K字節(jié)的程序存儲器和64

3、K字節(jié)的外部數(shù)據(jù)存儲器51單片機功能強大,性能日趨完善,在工業(yè)測控、智能儀器儀表、機電一體化產(chǎn)品、家電領(lǐng)域中應用廣泛,因此基于51單片機設計簡易的電子琴可行性非常大。2 功能需求1. 能夠?qū)崿F(xiàn)基本的琴鍵功能 即每按下一個琴鍵,單片機能夠檢測到鍵盤的按鍵,并根據(jù)按鍵的位置,通過程序來控制,使蜂鳴器發(fā)出不同頻率(音調(diào))的聲音,聲音延遲一段時間,等到按鍵放開后,聲音停止。然后再繼續(xù)掃描,看是否有鍵按下,如此循環(huán)下去,即可實現(xiàn)基本的琴鍵功能。 2. 能夠?qū)崿F(xiàn)調(diào)節(jié)電子琴音色的功能 在鍵盤上設置功能鍵,通過按鍵來選擇不同的音色。當選通后,按下琴鍵,蜂鳴器就一直發(fā)出此種音色的聲音。直到下一次再次按下音色選擇

4、功能鍵,才會改變音色。系統(tǒng)共設置五種音色:長笛音,鋼琴音,小號音,小提琴音,短笛音,默認狀態(tài)為鋼琴音。3. 能夠?qū)崿F(xiàn)通過按鍵自動播放歌曲的功能 在鍵盤上設置幾個功能鍵,按下之后會根據(jù)功能鍵跳轉(zhuǎn)到自動播放歌曲的程序,來播放相應的歌曲。播放歌曲的默認音色為鋼琴音,若希望調(diào)整音色,只需在自動播放歌曲之前,按下相應的音色選擇功能鍵即可實現(xiàn)。3 總體方案1 電子琴原理 在介紹總體方案之前,先簡單介紹一下電子琴的發(fā)生原理以及如何改變音色的基本原理:聲音的頻譜范圍約在幾十到幾千赫茲, 若能利用程序來控制單片機某個口線不斷輸出“ 高” “ 低”電平, 則在該口線上就能產(chǎn)生一定頻率的方波, 將該方波接上喇叭就能

5、發(fā)出一定頻率的聲音, 若再利用程序控制“ 高” “ 低”電平的持續(xù)時間, 就能改變輸出波形的頻率從而改變音調(diào)。樂曲中, 每一音符對應著確定的頻率, 下表給出各音符頻率。如果單片機某個口線輸出“ 高” “ 低”電平的頻率和某個音符的頻率一樣, 那么將此口線接上喇叭就可以發(fā)出此音符的聲音。本系統(tǒng)就是根據(jù)此原理設計, 對于單片機來說要產(chǎn)生一定頻率的方波大致是先將某口線輸出高電平然后延時一段時間再輸出低電平, 如此循環(huán)的輸出就會產(chǎn)生一定頻率的方波, 通過改變延時的時間就可以改變輸出方波的頻率。單片機內(nèi)部有兩個位的定時計數(shù)器T1和T0, 單片機的定時計數(shù)器實際上是個計數(shù)裝置它既可以對單片機的內(nèi)部晶振驅(qū)動

6、時鐘計數(shù)也可以對外部輸入的脈沖計數(shù), 對內(nèi)部晶振計數(shù)時稱為定時器, 對外部時鐘計數(shù)時稱為計數(shù)器。當對單片機的內(nèi)部晶振驅(qū)動時鐘計數(shù)時,每個機器周期定時計數(shù)器的計數(shù)值就加, 當計數(shù)值達到計數(shù)最大值時計數(shù)完畢并通知單片機的尸比對外部輸入的時鐘信號計數(shù)時, 外部時鐘的每個時鐘上升沿定時計數(shù)器的計數(shù)值就加, 當計數(shù)值達到計數(shù)最大值時計數(shù)完畢并通知單片機的尸。因此, 如果知道單片機的機器周期或者外部輸入時鐘信號的周期單片機就可以根據(jù)定時器的計數(shù)值計算出定時的時間。用此方法定時十分準確, 想得到多大的延時時間就可以給定時器賦一定的計數(shù)初值, 定時器從預先設置的計數(shù)初值開始不斷增當增加到計數(shù)最大值時計數(shù)完畢,

7、 調(diào)整計數(shù)初值的大小就可以調(diào)整定時器定時的時間, 從而達到準確的延時。在本設計中我們使用的外部時鐘信號的晶振頻率為12MHz,而采用的計數(shù)方式為方式1,所以計數(shù)器的初始值可以由如下公式求得。 T=65536-1000000/2/ff為對應音調(diào)的頻率;通過以上方法,可求出各音調(diào)對應的頻率,如下表2. 外觀設計2 硬件部分總體方案 51單片機P0口通過8155擴展,連接4*8的矩陣鍵盤,作為琴鍵鍵盤和相應的功能控制鍵;并P2口一起,與EPROM連接;P0口則接通不通音色的濾波電路,通過程序控制P0口,選通不通的琴聲音色濾波電路,使電子琴發(fā)出不同音色的聲音。 3 軟件部分總體方案(1)鍵盤掃描程序:

8、檢測是否有鍵按下,有鍵按下則記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無鍵按下,則返回鍵盤掃描程序繼續(xù)檢測 (2)功能轉(zhuǎn)移程序:對檢測到得按鍵值進行判斷,是琴鍵則跳轉(zhuǎn)至琴鍵處理程序,是功能鍵則跳轉(zhuǎn)至相應的功能程序,我們設計的功能程序有兩種,即音色調(diào)節(jié)功能和自動播放樂曲功能(3)琴鍵處理程序:根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,使發(fā)出相應頻率的聲音(4)音色調(diào)節(jié)程序:檢測到鍵盤按下的是音色調(diào)節(jié)功能鍵后執(zhí)行該程序,改變P0端口的值,選通相應的音色濾波電路,達到調(diào)節(jié)音色的目的(5)自動播放歌曲程序:檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經(jīng)存放好的歌曲,歌曲播

9、放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有鍵按下四硬件詳細設計 總電路圖 8155擴展 外部EPROM擴展電路 鍵盤電路 長笛濾波電路 鋼琴濾波電路 小號濾波電路 小提琴濾波電路 短笛濾波電路4 軟件框圖總程序簡易流程圖鍵盤掃描程序流程圖彈奏程序流程圖音色調(diào)整子程序自動播放歌曲程序流程圖六軟件清單ORG 0200HMOV P1, #02H ; 初始化P1口,使得電子琴默認為鋼琴聲KEYPRO: ;鍵盤掃描程序ACALL KEXAM ; 檢查是否有鍵按下JZ KEYPRO ;若無鍵按下,則轉(zhuǎn)KEYPRO,繼續(xù)等待并檢查ACALL D10ms ;若有鍵按下,則延時10ms,進行曲抖動處理AC

10、ALL KEXAM ;再次檢查是否有鍵按下JZ KEYPRO ;若無鍵按下,則轉(zhuǎn)KEYPROKEY1:MOV R2,#OFEH ;輸出使第X0行為低電平模型數(shù)值MOV R3,#OFFH ;列值寄存器預置初值MOV R4,#OOH ;行值寄存器清零KEY2:MOV DPTR,#0303H ;送8155PC口地址MOV A,R2 ;掃描第一行MOVX DPTR,A MOV DPTR,#0301H ;送8155PA口地址MOVX A,DPTR ;讀列數(shù)據(jù)值CPL AANL A,#OFFHJNZ KEY3 ;有鍵按下,請求轉(zhuǎn)值MOV A,R4 ;無鍵按下,行值寄存器加8ADD A,#08H MOV R

11、4,AMOV A,R2 ;求下一行為低電平模型數(shù)值RL AMOV R2,AJB ACC.4,KEY2 ;判斷各行是否完全掃描完,若未完,則繼續(xù)掃描下一行AJMP KEYPRO ;若全部掃描完畢,則等待下一次按鍵KEY3: CPL A ;恢復列模型KEY4: INC R3RRC A ;求列值JC KEY4KEY5:ACALL D10msACALL KEXAMJNZ KEY5 ;若有鍵按下,則轉(zhuǎn)KEY5,等待鍵釋放MOV A,R4 ;計算鍵值ADD A,R3MOV BUFF,A AJMP KEYADR ;轉(zhuǎn)查找功能鍵入口地址子程序D10ms: ;延時10ms的子程序MOV R5,#14HDL: M

12、OV R6,DL0DL0: DJNZ R6,DL0 DJNZ R5,DL RETBUFF EQU 30HKEXAM:MOV DPTR,#0303H ;送端口C地址MOV A,#00H ;輸出使所有的行均為低電平模型數(shù)值MOVX DPTR,AMOV DPTR,#0301HMOVX A,DPTRCPL AANL A,#0FFHRETORG 8000H ; 跳轉(zhuǎn)功能程序KEYADR:MOV A, BUFF ; 取出鍵值CJNE A, #17H, KYARD1AJMP PLAY ; 等于17H,轉(zhuǎn)琴鍵處理KEYRD1:JC PLAY ; 小于17H,轉(zhuǎn)琴鍵處理KEYTBL: MOV DPTR, # J

13、MPTBL ;送功能鍵地址表指針CLR C ;清進位位SUBB A , #10HRL AJMP A+DPTR ;轉(zhuǎn)相應的功能鍵處理程序BUFF EQU 30HJMPTBL: AJMP SONG1 ; 跳轉(zhuǎn)至化蝶AJMP SONG2 ;跳轉(zhuǎn)至童年AJMP SONG3 ;跳轉(zhuǎn)至龍的傳人AJMP FLUTE ;調(diào)節(jié)成長笛音色狀態(tài)AJMP PIANO ;調(diào)節(jié)成鋼琴音色狀態(tài)AJMP TRUMPET ;調(diào)節(jié)成小號音色狀態(tài)AJMP VIOLIN ;調(diào)節(jié)成小提琴音色狀態(tài)AJMP PICCOLO ;調(diào)節(jié)成短笛音色狀態(tài) SONG1: MOV DPTR, #BUTTERFLY ;賦梁祝譜初值ACALL SUB_SO

14、NG ;調(diào)用播放歌曲子程序AJMP KEYPRO ;返回至鍵盤掃描程序SONG2: MOV DPTR, #YOUTH ;賦童年譜值ACALL SUB_SONG ;調(diào)用播放歌曲子程序AJMP KEYPRO ;返回至鍵盤掃描程序SONG3:MOV DPTR, #MULTIPLY_OF_THE_DRAGON ;賦龍的傳人譜初值ACALL SUB_SONGAJMP KEYPROFLUTE:MOV P1, #01H ;使長笛濾波電路選通AJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描程序PIANO:MOV P1, #02H ;使鋼琴琴濾波電路選通AJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描程序TRUMPET: MO

15、V P1, #04H ;使小號濾波電路選通AJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描電路VIOLIN: MOV P1, #08H ;使小提琴濾波電路選通AJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描電路PICCOLO:MOV P1, #10H ;使短笛濾波電路選通通AJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描電路PLAY: ; 彈琴子程序ORG 0F00H ;子程序入口地址SJMP MAINORG 0F1BH ;設置中斷入口地址LJMP TINT1MAIN:MOV TMOD, #10H ; 計時器控制字T1方式計時SETB EA ;開中斷總開關(guān)SETB ET1 ; 允許T1中斷SETB TR1 ;定時開始

16、MOV DPTR, #TABLE1 ;查詢音律表PUSH ACC MOVC A, A+DPTRMOV TH1,A ;音律表查詢值高八位賦值POP ACCINC AMOVC A, A+DPTRMOV TL1,A ;音律表查詢值低八位賦值ACALL DLAYAJMP KEYPRO ;跳轉(zhuǎn)回鍵盤掃描程序TINT1:JB P1.0, FLUTE_ON ;判斷是否跳到長笛音色檔JB P1.1, PIANO_ON ;判斷是否調(diào)到鋼琴音色檔JB P1.2, TRUMPET_ON ;判斷是否調(diào)到小號音色檔JB P1.3, VIOLIN_ON ;判斷是否跳到小提琴音色檔JB P1.4, PICCOLO_ON ;

17、判斷是否跳到短笛音色檔POP DPHPOP DPLPUSH DPLPUSH DPHRETIPOP DPHPOP DPLPUSH DPLPUSH DPHRETIPOP DPHPOP DPLPUSH DPLPUSH DPHRETIPOP DPHPOP DPLPUSH DPLPUSH DPHRETIPOP DPHPOP DPLPUSH DPLPUSH DPHRETIDLAY: MOV R2, #0F0H ;延時程序DL2: MOV R3,#0F0HDL1: NOP NOP DJNZ R3, DL1 DJNZ R2, DL2 RETTABLE1: ;音律表DW 0F88BH ;-1DW 0F95BH

18、;-2DW 0FA14H ;-3DW 0FA67H ;-4DW 0FB07H ;-5DW 0FB8FH ;-6DW 0FB9EH ;-6#DW 0FC0BH ;-7DW 0FC43H ;1DW 0FCACH ;2DW 0FD09H ;3DW 0FD33H ;4DW 0FD83H ;5DW 0FDC7H ;6 DW 0FDE7H ;6#DW 0FE05H ;7DW 0FE22H ;+1DW 0FE56H ;+2DW 0FE84H ;+3DW 0FE9AH ;+4DW 0FEC1H ;+5DW 0FEE3H ;+6DW 0FEF3H ;+6#DW 0FF02H ;+7 ORG 0F00HSUB_S

19、ONG: ;自動播放歌曲的子程序-1 EQU 0H ;低音域簡譜碼-2 EQU 1H-3 EQU 2H-4 EQU 3H-5 EQU 4H-6 EQU 5H-6# EQU 6H-7 EQU 7H1 EQU 8H ;中音域簡譜碼2 EQU 9H3 EQU 0AH4 EQU 0BH5 EQU 0CH6 EQU 0DH6# EQU 0EH7 EQU 0FH+1 EQU 10H ;高音域簡譜碼+2 EQU 11H+3 EQU 12H+4 EQU 13H+5 EQU 14H+6 EQU 15H+6# EQU 16H +7 EQU 17HFREQ_TEMP .EQU 31H TIME_TEMP .EQU

20、32H TH0_TEMP .EQU 33HTL0_TEMP .EQU 34HORG 00H ;播放樂曲子程序的主程序JMP STARTORG OBHJMP TIMER0START: MOV SP, #50HMOV IE, #10000010B ;中斷,EA=ET0=1MOV TMOD, #00000001B ; 設定計數(shù)器0為mode1BEGIN:MOV A, #00HMOVC A,A+DPTR ;取得簡譜碼MOV FREQ_TEMP,A INC DPTR ;指向下一個地址MOV A, #00HMOVC A, A+DPTR ;取得節(jié)拍碼MOV TIME_TEMP, AJZ STOP ;比較唱歌

21、是否結(jié)束PUSH DPHPUSH DPLMOV A,FREQ_TEMPCJNE A, #FFH, SING_SONG ;比較是否停止發(fā)音CLR TR0 ;停止計時JMP HOLDSING_SONG:CLR TR0 ;停止計時MOV DPTR, #TABLE ;頻率值存放開始地址MOV A, FREQ_TEMP ;RL A ;FREQ_TEMP地址乘以2MOVC A, A+DPTR ;取得頻率值高位組MOV TH0,A ;TH0=頻率值高位組MOV TH0_TEMP, AMOV A, FREQ_TEMPRL A ;FREQ_TEMP地址乘以2INC A ;再加1MOVC A,DPTR ;取得頻率

22、值低位組MOV TL0,A ;TL0=頻率值低位組MOV TL0_TEMP,ASETB TR0 ;開始計時HOLD:CALL DELAY_TIME ;延遲節(jié)拍數(shù)POP DPLPOP DPHINC DPTR ;指向下一個地址JMP BEGIN STOP CLR TR0 ;樂曲播放結(jié)束 SETB P1.0 ;關(guān)掉蜂鳴器 JMP $DELAY_TIME: ;節(jié)拍數(shù)DELAY #254, #245 ;125msDJNZ TIME_TEMP, DELAY_TIMERETTIMER0:MOV TH0, TH0_TEMP ;重新載入頻率值高位組MOV TL0, TL0_TEMP ;重新載入頻率值低位組JB

23、P1.0, FLUTE_ON ;判斷是否調(diào)長笛音色檔JB P1.1, PIANO_ON ;判斷是否調(diào)到鋼琴音色檔JB P1.2, TRUMPET_ON ;判斷是否調(diào)到小號音色檔JB P1.3, VIOLIN_ON ;判斷是否跳到小提琴音色檔JB P1.4, PICCOLO_ON ;判斷是否跳到短笛音色檔FLUTE_ON: ;若是長笛音色檔,則是長笛版樂曲POP DPHPOP DPLPUSH DPLPUSH DPHRETIPIANO_ON: ;若是鋼琴音色檔,則是鋼琴版樂曲POP DPHPOP DPLPUSH DPLPUSH DPHRETITRUMPET_ON: ;若是小號音色檔,則是小號版樂曲

24、POP DPHPOP DPLPUSH DPLPUSH DPHRETIVIOLIN_ON: ;若是小提琴音色檔,則是小提琴版樂曲POP DPHPOP DPLPUSH DPLPUSH DPHRETIPICCOLO_ON: ;若是短笛音色檔,則是短笛版樂曲POP DPHPOP DPLPUSH DPLPUSH DPHRETITABLE:DW 0F88BH ;-1DW 0F95BH ;-2DW 0FA14H ;-3DW 0FA67H ;-4DW 0FB07H ;-5DW 0FB8FH ;-6DW 0FB9EH ;-6#DW 0FC0BH ;-7DW 0FC43H ;1DW 0FCACH ;2DW 0FD

25、09H ;3DW 0FD33H ;4DW 0FD83H ;5DW 0FDC7H ;6 DW 0FDE7H ;6#DW 0FE05H ;7DW 0FE22H ;+1DW 0FE56H ;+2DW 0FE84H ;+3DW 0FE9AH ;+4DW 0FEC1H ;+5DW 0FEE3H ;+6DW 0FEF3H ;+6#DW 0FF02H ;+7BUTTERFLY: ; 化蝶曲譜DW -3, 04H, -5, 03H, -6, 01H, 1, 03H, 2, 01H, -6, 01H, 1, 01H, -5, 02HDW 5, 03H, +1, 01H, 6, 01H, 5, 01H, 3, 0

26、1H, 5, 01H, 2, 08HDW 2, 02H, 2, 01H, 3, 01H, -7, 02H, -6, 02H, -5, 03H, -6, 01H, 1, 02H, 2, 02HDW -3, 02H, 1, 02H, -6, 01H, -5, 01H, -6, 01H, 1, 01H, -5, 08HDW 3, 03H, 5, 01H, -7, 03H, 2, 01H, -6, 01H, 1, 01H, 5, 05HDW -3, 02H, -5, 01H, -3, 01H, -5, 01H, -6, 01H, -7, 01H, 2, 01H, -6, 06H, -5, 01H, -

27、6, 01HDW 1, 03H, 2, 01H, 5, 02H, 3, 02H, 2, 02H, 3, 01H, 2, 01H, 1, 02H, -6, 01H, -5, 01HDW -3, 04H, 1, 04H, -6, 01H, 1, 01H, -6, 01H, -5, 01H, -3, 01H, -5, 01H, -6, 01H, 1, 01HDW -5, 08H, FFH, 08HDW 00H ;歌曲結(jié)束標志YOUTH: ; 童年曲譜DW FFH, 04H, 3, 02H, 5, 02H, 5, 04H, 3, 02H 6, 02H, 6, 02H, 7, 04H, 6, 04H,

28、6, 02H, 6, 02H, 5, 02HDW +1, 04H, +1, 02H, +1, 02H, +1, 02H, 6, 02H, +1, 02H, 6, 02H, 5, 10HDW FFH, 04H, 3, 02H, 5, 02H, 5, 04H, 5, 02H, 3, 02H, 6, 02H, 6, 02H, 7, 04H, 6, 04H, 6, 02H, 6, 02H, 5, 02HDW +1, 04H, +1, 02H, +1, 02H, +1, 02H, 6, 02H, +1, 02H, 6, 02H, +2, 10HDW +5, 02H, +5, 04H, +5, 04H,

29、+5, 02H, +3, 02H, +2, 02H +1, 02H, +1, 04H, 6, 04H, +1, 02H, 6, 02H, +1, 02HDW +2, 03H, +2, 01H, +2, 02H, +2, 02H, +2, 02H, +1, 02H, +3, 02H, +2, 02H +2, 10HDW +3, 02H, +3, 04H, +3, 02H, +3, 02H, +2, 02H, +2, 02H +1, 02H, +1, 04H, +1, 02H, +2, 02H, +1, 02H, 6, 02H, 5, 02HDW 5, 02H, 5, 04H, 5, 02H, 6

30、, 02H, 5, 02H, +2, 02H, +3, 02H +1, 10HDW 00H ;歌曲結(jié)束標志MULIPLY_OF_THE_DRAGON: ; 龍的傳人曲譜DW 6, 04H, 7, 02H, +1, 02H, +2, 04H, +3, 02H, +2, 02H, +1, 04H, +1, 02H, 7, 02H, 6, 08HDW 6, 04H, 7, 02H, +1, 02H, +2, 04H, +3, 02H, +2, 02H, +1, 04H, +1, 02H, 2, 02H, 3, 08HDW 6, 04H, 7, 02H, +1, 02H, +2, 04H, +3, 0

31、2H, +2, 02H, +1, 04H, +1, 02H, 7, 02H, 6, 08HDW 7, 04H, 7, 04H, 7, 04H, +1, 02H, 7, 02H 6, 04H, 6, 02H, 5, 02H, 6, 08H DW +3, 04H, +3, 04H, +3, 04H, +2, 02H, +1, 02H +2, 04H, +2, 02H, +3, 02H, +2, 08HDW +1, 04H, +1, 04H, +1, 04H, +2, 02H, +1, 02H 7, 04H, 7, 02H, +1, 02H, 7, 08HDW +3, 04H, +3, 04H, +

32、3, 04H, +2, 02H, +1, 02H +2, 04H, +2, 02H, +3, 02H, +2, 08HDW +1, 04H, +1, 04H, 7, 04H, 1, 02H, 7, 02H 7, 04H, 7, 02H, +1, 02H, 7, 08HDW 00H ;歌曲結(jié)束標志七總結(jié) 在過去的一周里,我們的主要精力都集中在電子琴的設計上。開始的頭兩天,我們?nèi)D書館查閱電子琴的相關(guān)資料,熟悉了解一般電子琴的工作原理。對于電子琴有了基本的了解之后,我們開始了我們基于單片機的簡易電子琴的總體方案設計。如何發(fā)出不同頻率的聲音?鍵盤用什么實現(xiàn)?需要用/,/轉(zhuǎn)換嗎?如果需要,該如何連接芯

33、片?能做出電子琴音色調(diào)控裝置嗎?如何改變電子琴的音色?如何實現(xiàn)電子琴自動放音功能?I/O口該如何擴展?需要電子琴節(jié)拍控制器嗎?能夠控制電子琴聲音的強弱嗎?一系列的問題堆在我們面前,亟待解決。由于單片機這門課應用性特別強,需要多動手去實踐才能切實地學好,而我們平時太缺少這樣的實踐機會,因此對于單片機的很多問題仍然是一知半解。面對這么多問題,一個接一個,我們一開始都很泄氣。但是,當生活不允許你說不的時候,你是沒有選擇的。有句話說的好,一個人的潛能往往在絕境中才會釋放出來。我們就處于這樣的境地,所以也就不得不拼命開始看單片機的相關(guān)資料。有兩天,我每天花了10小時來看單片機的原理,早上天還沒亮就起來,

34、頂著寒風跑到自習室去搶位置,在那一坐就是一天。平日里懶散的習慣在這兩天被打入冷宮,一個全新的我開始了全新的生活。正是在這兩天,我慢慢懂了什么叫做中斷,定時器如何工作,8051內(nèi)部的結(jié)構(gòu),鍵盤電路該如何連接。潛能就是被逼出來的,而男人,就應該對自己狠一點!轉(zhuǎn)眼元旦就到了,宿舍里四個同學,兩個回家去了,一個看望遠方的另一半去了,就剩我一個人。新年鐘聲敲響的那一刻,我還在昏暗的燈光下看著那本從圖書館角落里翻出來的電子琴原理參考書。元旦是我們最后的機會,一旦錯過就在也不會有了。所以,我們都使盡渾身解數(shù)去奮力一搏,爭取能在三天假期內(nèi)完成簡易電子琴設計。三天里,我們唯一的目標就是盡快搞定電子琴設計。我們一個問題一個問題攻克。每解決一個問題,我們都激動不已,畢竟是自己設計的東西,頗有些成就感。第一天過去之后,我們已經(jīng)確定了我們設計的電子琴可以實現(xià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

提交評論