




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . . . 目錄一課程設計任務與要求.1二硬件系統概述.3三軟件系統概述.7四安裝調試說明.14五總結與體會.15 六參考文獻.16一.課程設計任務與要求1.1 設計任務設計一個具有特定功能的音樂播放器。該音樂播放器上電或按鍵復位后能自動顯示系統提示符“P.”,進入準備工作狀態。該音樂播放器可以播放多首音樂,曲目選擇可以由鍵盤控制,曲目名稱可以顯示在顯示器上。1.2 功能要求說明 設有四個按鍵,其中兩個能實現多首音樂的選擇,另一個能實現開始功能和單曲重播的功能,最后一個能實現復位和關閉歌曲的功能。設有一位數碼管,每選擇一首曲子能在數碼管上顯示當前的曲目(只是數字)。設有八位二極管,能隨歌曲頻
2、率閃爍。1.3 總體方案介紹與工作原理說明1.3.1 總體方案介紹作為單片機的重要硬件資源之一,利用定時器可以產生各種固定頻率的方波信號,也可以產生包括“Do“、“Re“、“Me“-等音階在的各種頻率聲音。在此設計中我們采用12MHz的晶振,產生的頻率信號即音樂信號由P37口輸出,信號經過放大后由喇叭發出聲音。樂曲中,每一音符對應著確定的頻率,我們可以參照給出的各音符頻率與其相應的時間常數來編寫程序,根據表中所提供的常數,將其16進制代碼送入芯片里,可以奏出音符。音符的節拍我們可以用定時器T0來控制,送入不同的初值,就可以產生不同的定時時間。便如某歌曲的節奏為每分鐘94拍,即一拍為0.64秒。
3、其它節拍與時間的對應關系也可以從兩者關系表中得到。定時器T0工作在定時方式1,改變TH0與TL0,產生不同的音頻頻率。要編寫的樂譜按要求以音符字節數據表的形式存放在程序中,改變樂曲就是通過改變該數據表的容來實現的。主程序的任務是按順序讀取數據表中的字節,根據情況調用音級子程序和音長子程序,啟動定時器T0進行工作。 1.3.2 工作原理說明(1) 要生產音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間.利用定時器計時這個半周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖.(2) 利用8051
4、的部定時器使用其工作在計數器模式MODE1下,改變計數值THO與TLO以產生不同頻率的方法.(3) 例如頻率為523Hz,其周期T1/5231912us,因此只要令計數器計時956us/1us956,在每次計數956次時將I/O反相,就可得到中音DO (523Hz). 計數脈沖值與頻率的關系公式如下: NFi÷2÷Fr1.1 N: 計算值; Fi: 部計時一次為1us, 故其頻率為1MHz;(4) 其計數值的求法如下: T65536-N65536-Fi÷2÷Fr 1.2 例如: 設K65536, F1000000Fi1MHz, 求低音DO(261Hz).
5、中音DO (523Hz). 高音的DO (1046Hz)的計算值. T65536-N65536-Fi÷2÷Fr65÷2÷Fr65536-500000/Fr。低音DO的 T65536-500000/26263627,中音DO的T65536-500000/52364580,高音DO的 T65536-500000/104765059(5)C調各音符頻率與計數值T的對照表如表1所示.表1.1 C調各音符頻率與計數值T的對照表音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低1DO26263628# 4 FA#74064860#1DO#27763731
6、中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 D
7、O52364580# 4 FA#148065198(6) 每個音符使用1個字節,字節的高4位代表音符的高低,低4位代表音符的節拍,表2為節拍與節拍碼的對照.如果1拍為0.4秒,1/4拍是0.1秒,只要設定延遲時間就可求得節拍的時間.假設1/4拍為1DELAY,則1拍應為4DELAY,以此類推.所以只要求得1/4拍的DELAY時間,其余的節拍就是它的倍數,如表3為1/4和1/8節拍的時間設定. 二硬件系統概述2.1 硬件系統各模塊功能簡要介紹2.1.1 單片機最小系統(1) 時鐘源電路 單片機部具有一個高增益反相放大器,用于構成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構
8、成自激振蕩器,結構如圖2.1。可以根據情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇22pF左右的瓷片電容。 (2) 復位電路 單片機小系統采用上電自動復位和手動按鍵復位兩種方式實現系統的復位操作。上電復位要求接通電源后,自動實現復位操作。手動復位要求在電源接通的條件下,在單片機運行期間,用按鈕開關操作使單片機復位。其結構如圖2.1。上電自動復位通過電容C3充電來實現。手動按鍵復位是通過按鍵將電阻R1與VCC接通來實現。 圖2.12.1.2 發光二極管如圖2.2,當接通電源,單片機運行時,八個二極管隨著不同的調子閃爍,增加美感。 圖2.22.1.3 一位數碼管在此,
9、如圖2.,3,由于圖片是網上找的故與實物剛好相反,實物為共陽極接法,我手里所擁有的數碼管為共陽極數碼管,故在此特別說明,在軟件部分要將數碼表改成共陽極的,所以在此要特別注意! 圖2.3 圖2.32.1.4 蜂鳴器發聲如圖2.4,利用單片機的P3.7口產生不同音調所對應的方波來使蜂鳴器發聲,使用PNP三級管來驅動。圖2.42.1.5 按鍵如圖2.5,按下AGAIN鍵可播放重復的曲子也可開啟播放,按下FORM鍵可播放上一曲,按下NEXT鍵可播放下一曲。圖2.5 2.2 電路原理圖 圖2.52.3 元器件清單Bill of Material for 音樂播放器.BomUsed Part Type D
10、esignator Footprint Description = = = = = 9 10K R1 R2 R3 AXIAL-0.4 Resistor R4 R5 R6 R7 R8 R20 1 12MHZ Y1 XTAL-1 Crystal Oscillator 1 22uF C2 RB-.2/.4 Bi-Polar Capacitor 2 30pF C3 C4 RAD-0.1 Capacitor 8 300k R9 R10 R11 AXIAL-0.4 R12 R13 R14 R15 R16 1 DIODE D1 LED Diode 8 LED D2 D3 D4 LED D5 D6 D7 D8
11、 D9 1 RESET S1 SW 1 SPEAKER LS1 SIP-2 1 USB J2 USB Connector三軟件系統概述3.1 使用單片機資源的情況通用寄存器R5,R4,R0,R1,R3,R2用戶RAM區30H,31H專用寄存器A,B,DPTR,位尋址區21H,20H3.2 軟件系統各模塊功能簡要介紹初始化程序:初始化定時器;唱歌程序:從表格中取出數據,利用中斷程序產生不同頻率的方波同時調延時程序產生不同的節拍;中斷程序:定時時間到,產生方波;判鍵程序:判斷哪個鍵按下,轉向相應的子程序執行相應的動作;音符表:用于產生曲調;按鍵程序:分別執行選歌,開啟,重復的功能。3.3 軟件系統
12、程序流程框圖開始初始化查表調音符數據用延時產生節拍調鍵盤程序開中斷 Y一首曲子播完?N 3.4 軟件系統程序清單 ORG 0000H AJMP LOOOOP ORG 000BH AJMP TIM0 ORG 001BH RETI ORG 0023H LOOOOP:MOVA,#01HLOOOP: MOV P2,#0C0H MOV P1,ARL AMOV R2,#0FFHDELAY0:MOV R3,#0FFHDJNZ R3,$MOV R4,#0FFHDJNZ R4,$DJNZ R2,DELAY0 JNBP3.3,STARTLJMP LOOOPSTART: MOV P2,#0F9H MOV R5,#0
13、0H ;初始化 MOV TMOD,#00010001B MOV IE,#10101010B MOV DPTR,#TAB2 ;裝第一首歌 MOV 30H,DPL ;DPTR低8位送30H暫存 MOV 31H,DPH ;DPTR高8位送31H暫存START1: INC R4 ;產生8位隨機數 MOV A,#01010101BMOV B,R4 MUL AB ;8位隨機數由P1口輸出MOV P1,A MOV DPL,30H MOV DPH,31H MOV A,#00H MOVC A,A+DPTR ;查表 MOV R0,A ;音符數據送R0嶄存 MOV A,#00H INC DPTR MOVC A,A+
14、DPTR ;查表 MOV R1,A ;節拍數據送R1嶄存 INC DPTR MOV 30H,DPL MOV 31H,DPH CJNE A,#01H,ELECT ;一首歌沒結束轉ELECT INC R5 ;結束歌曲計數器加1LJMP KEYWORK ;結束歌曲計數器加1 ELECT: JZ START ;所有歌曲結束轉START循環 MOV A,R0 JNZ SING CLR TR0 SETB P3.7 LOOP1: ACALL DELAY ;調用延時子程序 DJNZ R1,LOOP1 SJMP START1 SING: MOV DPTR,#TAB1 ;音符表首址送DPTR DEC R0 ;計算
15、音符 MOV A,R0 MOV B,#02H MUL AB MOV R0,A MOVC A,A+DPTR ;查表 MOV 21H,A INC DPTR MOV A,R0 MOVC A,A+DPTR MOV 20H,A MOV TL0,20H MOV TH0,21H SETB TR0 ;開T0定時器 LOOP2: ACALL DELAY DJNZ R1,LOOP2 AJMP START1 TIM0: MOV TL0,20H MOV TH0,21H CPL P3.7 RETI ;中斷返回 DELAY: MOV R2,#70 DELAY1: MOV R3,#252 DJNZ R3,$ JNB P3.
16、3,AGAIN ;重復正播放的曲子 JNB P3.4,FORM ;上一曲開關按下轉FORM JNB P3.5,NEXT 下一曲開關按下轉NEXT DJNZ R2,DELAY1 RETAGAIN: JNB P3.3,$ ;等待鍵釋放 LJMP KEYWORK FORM: CLR EA ;關中斷 JNB P3.4,$ ;等待鍵釋放 CJNE R5,#00H,ZERO ;不是第一首歌曲轉ZER0 MOV R5,#04H SJMP KEYWORK ZERO: DEC R5 ;歌曲向上進一首 SJMP KEYWORK NEXT: CLR EA JNB P3.5,$ CJNE R5,#04H,LAST M
17、OV R5,#00H LJMP KEYWORK LAST: INC R5 ;歌曲下翻一首 LJMP KEYWORK KEYWORK: MOV DPTR,#TAB ;將歌曲排列表裝入DPTR MOV A,R5 ;將R5的容送A RL A SETB EA ;開中斷 JMP A+DPTR ;根據A的容轉向不同歌曲 TAB: AJMP MUSIC2 AJMP MUSIC3 AJMP MUSIC4 AJMP MUSIC5 MUSIC2: MOV DPTR,#TAB2 ;第2首歌曲首址送DPTR MOV P2,#0F9H GONG: MOV 30H,DPL MOV 31H,DPH AJMP START1
18、MUSIC3: MOV DPTR,#TAB3 MOV P2,#0A4H SJMP GONG MUSIC4: MOV DPTR,#TAB4 MOV P2,#0BOH SJMP GONG MUSIC5: MOV DPTR,#TAB5 MOV P2,#99H SJMP GONG ;*(音符表)*; TAB1: DW 64021,64185,64331,64400,64524,64632,64732 DW 64777,64860,64934,64968,65030,65085,65134 DW 65157,65198,65235,65252,65283,65310,65335;*(蘭花草)*;TAB2
19、: DW 0608H,0A08H,0A08H,0A08H,0A18H,0908H,0808H,0908H DW 0808H,0708H,0620H,0D08H,0D08H,0D08H,0D08H,0D18H DW 0C08H,0A08H,0C08H,0C08H,0B08H,0A20H,0A08H,0D08H DW 0D08H,0C08H,0A18H,0908H,0808H,0908H,0808H,0708H DW 0610H,0310H,0308H,0808H,0808H,0708H,0618H,0A08H DW 0908H,0808H,0708H,0508H,0620H,0908H,0808
20、H,0708H DW 0508H,0640H,0001H;*(梁祝)*; TAB3: DW 0A10H,0C08H,0D04H,0F08H,1004H,0D04H,0F04H,0C08H DW 1308H,1504H,1404H,1304H,1104H,1304H,1018H,1008H DW 1004H,1104H,0E08H,0D04H,0C08H,0D04H,0F08H,1008H DW 0A08H,0F08H,0D04H,0C04H,0D04H,0F04H,0C18H,1108H DW 1304H,0E08H,1008H,0D04H,0F04H,0C08H,0C10H,0A08H DW
21、 0C02H,0A08H,0C08H,0D02H,0E04H,1004H,0D18H,0C04H DW 0D04H,0F08H,1004H,1308H,1108H,1008H,1104H,1004H DW 0F08H,0D04H,0C04H,0A10H,0F10H,0D08H,0F02H,0D04H DW 0C04H,0A04H,0C04H,0D04H,0F04H,0C38H,0001H;*(讓我們蕩起雙槳)*;TAB4: DW 0608H,0808H,0908H,0A18H,0C08H,0A08H,0808H,0910H DW 0620H,0008H,0808H,0908H,0A08H,0C
22、18H,0001H,0C08H DW 0D10H,0910H,0A30H,0001H,0A08H,0C08H,0D20H,0C18H DW 0D08H,0F08H,0E04H,0D04H,0C08H,0D08H,0A10H,0004H DW 0808H,0908H,0A18H,0C08H,0810H,0610H,0808H,0908H DW 0A08H,0D08H,0C30H,0010H,0A20H,0D18H,0001H,0D08H DW 0C08H,0B08H,0A10H,0001H,0920H,0A18H,0C08H,0608H DW 0808H,0910H,0010H,0808H,09
23、08H,0A10H,0C0BH,0001H DW 0C04H,0D10H,0F10H,0E08H,0D08H,0C08H,0A08H,0D40H DW 0001H;*(童年)*;TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0D08H,0E08H DW 0D08H,0D08H,0D08H,0D08H,0C08H,0F10H,0F08H,0F08H DW 0F08H,0D08H,0F08H,0D08H,0C40H,0A08H,0C08H,0C10H DW 0C08H,0A08H,0D08H,0D08H,0E08H,0D08H,0D08H,0D08H D
24、W 0D08H,0C08H,0F10H,0F08H,0F08H,0F08H,0D08H,0D08H DW 0F08H,1040H,1308H,1308H,1310H,1310H,1108H,1008H DW 0F08H,0F10H,0D08H,0D08H,0F08H,0D08H,0F08H,1008H DW 1008H,1008H,1008H,1008H,0F08H,1108H,1008H,1040H DW 1108H,1110H,1108H,1108H,1008H,1010H,0F08H,0F10H DW 0F08H,1008H,0F08H,0D08H,0C08H,0C08H,0C10H,0
25、C08H DW 0D08H,0C08H,1008H,1108H,0F40H,0001H,0000H END四安裝調試說明本播放器分為4個部分,分別為:單片機最小系統、按鍵模塊、彩燈模塊與其數碼管顯示模塊。其中,第一最小系統是一塊單片機芯片,使用的是AT89S51,在其P0口要外接一排上拉電阻,其第九引腳接復位電路,第十八、十九兩腳接時鐘電路。在此時鐘電路的振蕩頻率為12M,用于產生部時鐘信號,第四十腳接+5V電源,第二十腳接地(GND)。第二彩燈系統,由八個彩色的發光二極管構成,其功能是實現電源接通的無限循環,和播放音樂的跑馬燈效果 。在此將這些發光二極管正極通過驅動電阻連接到+5V的電源上,另一腳分別接到p1口的p1.0p1.7上,第三按鍵模塊由3個按鍵組成,一個為開始,重復按鍵,此按鍵接p3.3口,一個為上一曲,此按鍵接p3.4口,還有一個是下一曲按鍵,此按鍵接到單片機p3.5口,最后一個部分是數碼管顯示,此處用一位數碼管,接到p2口,在接通電源時,實現數碼管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學工作參考總結高三語文教師期末個人參考總結
- 篷布遮陽篷在商業建筑的裝飾效果考核試卷
- 五年級下冊各單元好詞好句盤點
- 5-16一般同步時序電路的設計1-原始狀態轉移表的建立
- 北京市西城區北京師范大學附屬實驗中22024?2025學年學高一下學期階段測試一(3月) 數學試題(含解析)
- 晉城職業技術學院《誤差理論與測量平差基礎》2023-2024學年第一學期期末試卷
- 天津鐵道職業技術學院《風景園林專業導論課》2023-2024學年第二學期期末試卷
- 吉林省長春市汽開區達標名校2025屆重點高中聯盟領軍考試4月初三化學試題(文)試題含解析
- 天津大學《大學生創新創業與就業指導》2023-2024學年第一學期期末試卷
- 吉林醫藥學院《現代公司理論與實務》2023-2024學年第二學期期末試卷
- 牧原股份養殖場臭氣治理技術的創新應用
- 2025年社工招聘考試試題及答案
- 考編醫療面試題及答案
- 2025春夏童裝童鞋行業趨勢白皮書
- 天鵝藝術漆施工方案
- 腦卒中患者口腔健康素養的研究進展
- 算力中心的投資與成本分析
- DB37-T 1639.18-2021 山東省重點工業產品用水定額 第18部分:金屬礦采選業重點工業產品
- 污水廠安全培訓
- 青貯飼料購銷合同的注意事項
- 小學STEM教育中的創新實驗室建設
評論
0/150
提交評論