基于51單片機的音樂盒的設計與實現(xiàn)_第1頁
基于51單片機的音樂盒的設計與實現(xiàn)_第2頁
基于51單片機的音樂盒的設計與實現(xiàn)_第3頁
基于51單片機的音樂盒的設計與實現(xiàn)_第4頁
基于51單片機的音樂盒的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽航空航天大學課程設計報告課程設計名稱:單片機系統(tǒng)綜合課程設計課程設計題目:基于51單片機的音樂盒的設計與實現(xiàn)資料.第1章總體設計方案11.1 設計原理11.2 設計思路11.3 實驗環(huán)境2第2章詳細設計方案32.1 硬件電路設計32.2 主程序設計62.3 功能模塊的設計與實現(xiàn)7第3章 結果測試及分析 103.1 結果測試103.2 結果分析10參考文獻11附錄1 :元件清單12附錄2:總電路圖13附錄3:程序代碼15第1章總體設計方案1.1 設計原理電子音樂已廣泛地應用于社會生活的各個領域。其類型從音樂卡片到CD、MP3等多種多樣,制作原理也各不相同。聲音是通過振動產生的。單片機對某 一

2、 I/O引腳以一定的頻率循環(huán)置1和清0,這一引腳便產生一定頻率的方波,該 方波通過放大后作用于揚聲器便產生一定頻率的聲音。若改變輸出方波的頻率, 產生的聲音也就改變了。通過控制輸出方波的時間長短,聲音的長短也就得到控制。因此,根據樂譜,單片機就可產生電子音樂。音樂中最關鍵的兩個要素是音 符和節(jié)拍。單片機控制的音樂發(fā)生器系統(tǒng)由硬件電路和軟件兩部分構成。利用單 片機控制的電子音樂發(fā)生器軟硬件上具有獨特的優(yōu)點,系統(tǒng)的開發(fā)周期短,成本 低,電路制作容易。更換歌曲時,硬件電路無需作任何修改,只需修改軟件即可 實現(xiàn)。軟件編程時,可用51系列單片機的匯編語言。同時還可根據個人的習好 通過軟件改變節(jié)拍的延時時

3、間,增加電子音樂的趣味性。1.2 設計思路采用匯編語言程序設計的方法結合硬件電路設計方法,利用Lab6000實驗箱上已有芯片來實現(xiàn)音樂盒的各項功能。1)提出方案利用定時器計時這個半周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O 口反相就可在I/O腳上得到此頻率的脈沖。當鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器 T0,產生一定頻率的脈沖,驅動蜂鳴器,放出樂曲。同時在LCD顯示歌曲序號和歌曲名稱。2)總體方案實現(xiàn)(1)要產生音頻脈沖,只要算出某一音頻的周期(1/音頻),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期時間,每當計時到后就將輸出 脈沖的I

4、/O反相,然后重復計時此半周期時間再對I/O 口反相,就可在I/O腳上得到此頻率的脈沖。(2)利用8051的內部定時器使其工作在計數(shù)器模式 MODE1下,改變記數(shù)值 TH0及TL0以產生不同頻率的方法。例如頻率為 523HZ,其周期T=1/523=1912 微秒,因此只要令計數(shù)器定時956/1=956在每記數(shù)9次時將I/O 口反相,就可得到 中音 D0(523HZ)。1.3 實驗環(huán)境硬件環(huán)境:Lab6000實驗箱,PC機。軟件環(huán)境:Wave應用軟件。第2章詳細設計方案2.1 硬件電路設計硬件電路的設計需要借助 Protel軟件來實現(xiàn)?;趩纹瑱C音樂盒的硬件電路 設計是由8751單片機芯片、晶振

5、電路、鍵控電路、播音電路和顯示電路幾部分 組成,總體框架圖如圖2.1所示。圖2.1 硬件電路連線圖1) 單片機電路的設計圖2.2是8751單片機圖,8751單片機是把那些作為控制應用所必需的基本內容都集成在一個尺寸有限的集成電路芯片上,除模擬比較器外其內部結構與8051內部結構基本一致。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據存儲器、程序存儲器、并行I/O 口、用行口、定時器/計數(shù)器、中斷系統(tǒng)及特CPU殊功能寄存器。它們都是通過片內單一總線連接而成,其基本結構依舊是 加上外圍芯片的傳統(tǒng)結構模式。但對各種功能部件的控制是采用特殊功能寄存器 的集中控制方式。在8751單片機中存在中斷

6、源,其中有兩個外部中斷源、兩個內部中斷源和一個串行中斷源。通過TXAL1與TXAL2輸入時鐘信號,通過p0.0p0.7輸出控制現(xiàn)實控制信號的顯示,通過 P1.0輸出控制蜂鳴器發(fā)聲,有INTO, INT1 , T1分別作為上一曲、下一曲和開始暫停的控制輸入PIOPWPl IMlP12P02PJI3M3P14P04P13M5P16PCSP17M7IKT1P20INTOP21P22TlP2JTOP24P25,VPP26p第XllXIRESETRXDTXDRDALEPWRPSOvA弱3174玄535EJfjT!33Ea1r jjTk 心 二 g> fr2J15414邙262B1.SHJ ,11北

7、2930圖2.2 8751單片機2) 鍵控電路的設計如圖2.3控制電路所示,下一曲按鍵與單片機的 INT1相連、上一曲按鍵與INTO相連、開始/暫停鍵與T1相連。當電鍵按下時接口接低電平,從而實現(xiàn)對音 樂播放器的控制。下一曲按鍵接通實現(xiàn)下一曲更換,上一曲按鍵接通實現(xiàn)上一曲 更換,開始/暫停按鍵接通實現(xiàn)開始/暫停操作。圖2.3鍵控電路3) 顯示電路的設計如果所有的發(fā)光二極管的陰極接在一起,稱之為共陰極結構,則數(shù)碼管顯示段輸入高電平有效,當某段輸入高電平該段便發(fā)光;使用時管子的上下端正中間 的兩個或者一個(內部公共端已經接在一起)接線端接低電平,其它的每段顯示 如圖2.4所示。本次課設通過單片機的

8、P0.0-P0.7分別與數(shù)碼管的a、b、c、d、 e、f、g、dp間接連接,從而顯示播放音樂的序號。4) 晶振電路的設計如圖2.5所示,晶振電路由兩個22pF的電容和一個6Mhz的晶體振蕩器組 成。圖中第一條輸入線與8751單片機的X1相連接,圖中第二條輸入線與單片機 的X2相連接。晶振電路為單片機提供時間信號,為音樂的播放節(jié)拍控制提供基 本時間單位。5) 播音電路的設計如圖2.6播音電路所示,播音電路是由數(shù)字揚聲器連接 p1.0接口實現(xiàn)音樂的 輸出。如果通過p1.0直接接通揚聲器,肯定不會發(fā)出音樂,這里還需要通過一個 三極管將電流放大,然后通過單片機調用相應程序,并將音樂信號由p1.0 口輸

9、出, 驅動揚聲器發(fā)出美妙的音樂。圖2.6播音電路2.2 主程序設計主程序實現(xiàn)對單片機進行初始化后,進入曲目識別子程序,進行歌曲曲目判 斷。確定歌曲曲目后,數(shù)碼管再進行顯示。然后,子程序對是否播放進行循環(huán)判 斷,得到播放中斷的指令后再進行播放。執(zhí)行播放后,關閉數(shù)碼管顯示并調用查表子程序進行播放音樂。在播放音樂的過程中,查表子程序循環(huán)判斷音樂是否結束。當音樂結束時,程序跳轉回曲目 識別子程序。主程序流程圖如圖2.7所示N依據選擇的按鍵,播放相應的 歌曲或者暫停歌曲圖2.7主程序流程圖2.3 功能模塊的設計與實現(xiàn)功能模塊包括,對開始/暫停,上一曲,下一曲三個中斷子程序的設計,具體的設計與實現(xiàn)如下幾點

10、所示:1)播放/暫停子程序功能模塊的設計與實現(xiàn)播放/暫停在程序利用內部中斷T0 口。將T0 口設為計數(shù)中斷并工作在方式2下。標識符初值賦值為 R1=00H ,計數(shù)初值設為TH0=0FFH,TL0=0FFH 。當按鍵 第一次產生中斷信號時,播放/暫停子程序改變標志符 R1,將其賦值為01H。此時播放器由暫停狀態(tài)進入播放狀態(tài)。當按鍵第二次產生中斷信號時,播放/暫停子程序判斷R1是否為02H后,將R1再次賦值為00H。此時,播放器由播放狀態(tài) 進入暫停狀態(tài)。具體流程圖如圖2.8所示。圖2.8播放僧停子程序功能圖2)曲目選擇子程序功能模塊的設計與實現(xiàn)曲目選擇子程序分為上一曲子程序和下一曲子程序。上一曲和

11、下一曲功能實 現(xiàn)方式類似,分別由外部中斷 總和外部中斷布。下面以實現(xiàn)上一曲功能為例: 首先設置標識符R7初始值為00H。當按鍵產生中斷信號,上一曲中斷子程序改 變標識符R7的值為01H并改變曲目R0的值。播放子程序判斷出標識符 R7改 變后,先將R7賦值為00H,然后跳轉到曲目識別子程序。具體流程圖如圖2.9所示。圖2.9曲目選擇子程序功能圖第3章結果測試及分析3.1 結果測試音樂播放器很好的實現(xiàn)了播放/暫停、上一曲、下一曲的功能,并滿足了數(shù)碼 管顯示的特殊要求。 音效良好,能很好聽出樂曲的曲名。當然設計的音樂播放器 也存在著不足之處。8位LED數(shù)碼管只能顯示10以內的歌曲曲目,超過10將無

12、法顯示。3.2 結果分析調試過程中所遇到的問題:(1)在歌曲中,當遇到一個音符發(fā)音為4拍,在編曲中為*CH,因時間較長,當定時器T1此時來中斷時,就會對歌曲播放產生影響,若改為發(fā)音一拍,中斷 對歌曲播放影響減弱,但音樂效果變差。改進方案:若采用可以定時時間更長的單片機,可以避免所有問題。(2)數(shù)碼管顯示的時間與真正的時間進度不一致。原因分析:定時器初值設置有誤。本次設計的晶振為6MHZ,而程序中的初值卻設置成了 6MHZ晶振所采用的值5000,導致顯示的時間比真正的時間要慢。參考文獻1王愛英.計算機組成與設計M.北京:教育出版社,20032楊素行.微型計算機系統(tǒng)原理及應用M.北京:清華大學出版

13、社,19963張雪蘭.匯編語言程序設計M.北京:清華大學出版社,20064龔尚福.微機原理與接口技術M.西安:西安電子科技大學出版社,20035王中民.微型計算機原理M.西安:西安電子科技大學出版社,20036沈美明,溫冬嬋.IBM-PC匯編語言程序設計M.北京:清華大學出版社,200附錄1元件清單名稱數(shù)量(個)型號備注電阻3數(shù)碼管17SEG-DIGITAL開關3BUTTON單片機1AT89C51三極管32N3906揚聲器1SPEAKER電源25V電容322pf(2 個)晶振1CRYSTAL譯碼器174LS138地址鎖存器174LS373七路反向器1ULN2003A二態(tài)反向八D鎖存器174LS

14、374資料.b c P a fg ed DD G S 7Y DoeRoBe w SDne D M X Z pk e Db mN3奉 0e u U 2 cTeS Be e DFT U UU TT UO O O O O O O6781 2 3 4 5 6 7N N NN NN N2QQQ QQ QQQQ40 1 2 3 4 5 6 7eDDDDDDDDOL37814T0-D-D D D D02U0BU A D0 1 2 3 4 5 6 7EKDD dd Dd ddO cL-V1 22 AAT-g fed acbabc PfgedDmalc no mmu cJ工叫0 1 2 3 4 5 6 7QQQ

15、QQQQQ0 1 2 3 4 5 6 7 Ee SDDDDDDDD O E 43 4DD9ABC37 D1 6 Dpppppppp PPPPPPPXX4 5卜用用5 4T8 S L7113 2D D P N XXEP7 6RWC V資料.附錄3程序代碼N EQU 3ORG 0000HAJMP MAINORG 0003HAJMP LAST_SONGORG 000BHAJMP F_T0ORG 0013HAJMP NEXT_SONGORG 001BHAJMP START_PAUSEORG 0030HMAIN:MOV DPTR,#TABLEMOV R0,#30HMOV R5,#00HMOV R6,#1

16、SETTAB:資料.MOV A,R5;設置每首歌曲的入口信息,存放在以 30H開始的存儲單元中。MOVC A,A+DPTRMOV R0,AINC R5INC R0MOV A,R5MOVC A,A+DPTRMOV R0,AINC R5INC R0MOV A,R5MOVC A,A+DPTRMOV R0,AINC R0INC R5MOV A,R5MOVC A,A+DPTRMOV R0,AINC R0INC R5INC R6CJNE R6,#N+1,SET_TAB*MOV TMOD, #61HMOV TH1,#0FFHMOV TL1,#0FFHSETB ET1SETB ET0SETB PT1SETB

17、IT0SETB IT1SETB EX1SETB EX0SETB EASETB TR1SETB P1.0CLR F0;設置F0=0 ,用來作暫停/播放的標置位用MOV 22H,#01HMOV DPTR,#OUT_TABMOV A,22HMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#01HMOVX DPTR,AMOV R7,#00HSTART0:MOV R4,#00HMOV R0,#30HMOV A,R7;將歌曲的節(jié)拍表的入口地址送到DPTRADD A,R0MOV R0,AMOV DPH,R0INC R0MOV DPL,R

18、0INC R0MOV A,R4INC R4MOVC A,A+DPTR;取出第一節(jié)拍數(shù)資料.NEXT:MOV 26H,A;將取出的音符數(shù)+節(jié)拍數(shù)保存在職26H單元中MOV R0,#30H;開始取出歌曲的第一個數(shù)據MOV A,R7ADD A,R0MOV R0,AMOV DPH,R0INC R0MOV DPL,R0INC R0MOV A,R4INC R4MOVC A,A+DPTRJZ END0MOV R1,A;不為0,取出節(jié)拍數(shù)ANL A,#0FHMOV R2,AMOV A,R1SWAP AANL A,#0FHJNZ SINGCLR TR0SJMP SING1SING: DEC A;開始唱,進行相應

19、的數(shù)據處理MOV R3,ARL AMOV DPH,R0INC R0MOV DPL,R0INC R0MOVC A,A+DPTRMOV 21H,AMOV TH0,AMOV A,R3RL AINC AMOVC A,A+DPTRMOV 20H,AMOV TL0,ASETB TR0SING1:LCALL DELAYJB F0,L1資料.AJMP NEXTL1:CLR TR0JB F0,$AJMP NEXTEND0: CLR TR0MOV A,22HCJNE A,#N,L2MOV 22H,#01HMOV R7,#00HMOV DPTR,#8004HMOV A,#06HMOVX DPTR,AMOV DPTR

20、,#8002HMOV A,#01HMOVX DPTR,AAJMP L3資料.L2:MOV A,R7;沒有全部唱完,唱下一首,歌曲的入口信息調整ADD A,#4MOV R7,AINC 22HCLR EAPUSH DPHPUSH DPLMOV A,22HMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#01HMOVX DPTR,APOP DPLPOP DPHL3:SETB EAAJMP START0;定時器0置初值F_T0:MOV TH0,21HMOV TL0,20HCPL P1.0RETI*;下一曲中斷程序處理,保護現(xiàn)場NE

21、XT_SONG: PUSH ACCPUSH DPHPUSH DPLCLR EAMOV A,22HCJNE A,#N,L4MOV R7,#00HMOV 22H,#01HAJMP BACKL4:INC 22HMOV A,R7ADD A,#4MOV R7,ABACK:MOV R4,#00HMOV DPTR,#OUT_TABMOV A,22HMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#01HMOVX DPTR,A資料.MOV B,R0;對下首要演唱的歌曲的幾分拍進行調整資料.同時對R0中的內容進行保護MOV R4,#00HM

22、OV R0,#30HMOV A,R7ADD A,R0MOV R0,AMOV DPH,R0INC R0MOV DPL,R0INC R0MOV A,R4INC R4MOVC A,A+DPTRMOV 26H,ADEC R4MOV R0,BPOP DPLPOP DPHPOP ACCSETB EARETI.* ;LAST_SONG: PUSH ACCPUSH DPHPUSH DPLCLR EAMOV A,22HCJNE A,#1,L5MOV 22H,#NMOV B,#4;將R7指向最后一首歌曲MOV A,#N-1MUL ABMOV R7,AAJMP BACK2L5:DEC 22HMOV A,R7SUBB

23、 A,#4MOV R7,ABACK2:MOV R4,#00HMOV DPTR,#OUT_TABMOV A,22HMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#01HMOVX DPTR,AMOV B,R0MOV A,R7ADD A,R0MOV R0,AMOV DPH,R0INC R0MOV DPL,R0INC R0MOV A,R4INC R4MOVC A,A+DPTRMOV 26H,ADEC R4MOV R0,BPOP DPLPOP DPHPOP ACCSETB EARETI.* ;START_PAUSE:CPL F0J

24、B F0,RETURN;F0 為 1 ,停止SETB TR0RETURN:RETIDELAY: MOV 27H,26HD2:MOV28H,#100D3:MOV29H,#200DJNZ 29H,$DJNZ 28H,D3DJNZ 27H,D2DJNZ R2,DELAYRETOUTTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H ;共陰數(shù)碼管顯視用TABLE: DW SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3TABLE1:DW 64580,64684,64777,648

25、20,64898,64968,65030DW 63628,63835,64021,64103,64260,64400,64524SONG1:DB 04HDB32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14HDB0c2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,2

26、4HDB34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4HDB22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,3 1H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32HDB32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,

27、51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52HDB32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14HDB 00HTABLE2:DW 63835,64021,64103,64260,64400,64524,64580,64684,64777DW 64820,64898,64968,65030,65058,65110,65157,65178SONG2:DB 02HDB 04H,94HDB0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02HDB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4HDB 04H,0C2H,0C2H,0D4H,0C2H,0D2H,0D8H,0D4H,0D2H,92HDB0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02HDB 0A4H,0A2H,0B2H,0B4H,0C4H,0E8H,0D8HDB 00HTABLE3:DW64898,64968,65030,65086,65

溫馨提示

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

評論

0/150

提交評論