可選音樂播放器

上傳人:jin****ng 文檔編號:64112545 上傳時間:2022-03-21 格式:DOC 頁數(shù):19 大?。?44.50KB
收藏 版權申訴 舉報 下載
可選音樂播放器_第1頁
第1頁 / 共19頁
可選音樂播放器_第2頁
第2頁 / 共19頁
可選音樂播放器_第3頁
第3頁 / 共19頁

本資源只提供3頁預覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

20 積分

下載資源

資源描述:

《可選音樂播放器》由會員分享,可在線閱讀,更多相關《可選音樂播放器(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、課程設計說明書 <2018 /2018學年第二學期) 課程名稱:單片機課程設計 題目:可選音樂播放器 專業(yè)班級:電氣項目及其自動化 學生姓名: 學號:0900625 指導教師: 設計周數(shù):2周 設計成績: 2018年6月20日 目錄 1. 課程設計目的與要求 2 2. 總體設計 2 2.1硬件電路總體方案設計 2 單片機 2 數(shù)碼管顯示電路 4 蜂鳴器發(fā)聲電路 5 按鈕電路 5 發(fā)光二極管電路 6 時鐘振蕩電路 7 2.1.7 復位電路 7 2.1.8 總電路圖 8 2.2 軟件總體設計方案 8 2.2.1 程序流程圖 8 2.

2、2.2 音樂產(chǎn)生原理 10 2.2.3 程序設計 11 2.3 軟件和硬件調(diào)試 14 2.3.1 硬件調(diào)試 14 2.3.2 軟件調(diào)試 15 3.心得體會 .15 附表一 ..16 音樂播放器 1.課程設計目的與要求 (1>利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演樂曲 ( 內(nèi) 存 3 首樂曲 > 。 (2>采用七段數(shù)碼管和發(fā)光二極管來顯示當前播放的歌曲序號 , 播放樂曲時 , 數(shù)碼管顯示 當前歌曲序號同時對應二極管點亮。 (3>可通過功能鍵來進行樂曲切換 , 按下鍵時從當前歌曲切換到下一首歌曲 , 且可實現(xiàn)歌 曲自動循環(huán)。

3、 2.總體設計 <1)硬件部分由數(shù)碼管、發(fā)光二極管、蜂鳴器、單片機、按鈕組成,來實現(xiàn)歌曲的播 放和歌曲序號的顯示,按鈕用來實現(xiàn)對下一首歌曲的切換,每按一次按鈕播放器切換到下 一首歌曲。 <2)軟件用來對單片機的各引腳進行控制進而控制數(shù)碼管的顯示數(shù)目,同時在蜂鳴器 的輸出端口產(chǎn)生不同頻率的矩形波進而產(chǎn)生音樂,當按鈕按下時程序要完成對歌曲的切 換,對數(shù)碼管和發(fā)光二極管的切換。 2.1硬件電路總體方案設計 硬件電路由數(shù)碼管分顯示電路、蜂鳴器發(fā)聲電路、按鈕電路、發(fā)光二極管顯示電路、時鐘 振蕩電路、單片機組成。顯示電路用來對當前播放歌曲序號進行顯示,蜂鳴器發(fā)生電路用 來進行音樂的產(chǎn)生,按

4、鈕電路用來進行當前歌曲到下一首的切換,三個發(fā)光二極管分別對 應三首歌曲,播放歌曲時與其對應發(fā)光二極管點亮,另外兩個發(fā)光二極管不亮。時鐘振蕩 電路用來為單片機產(chǎn)生時鐘脈沖,本設計采用內(nèi)部時鐘方式。 單片機 AT89C51按功能劃分有如下功能部件組成: <1 )微處理器CPU :AT89C51單片機中有1個8位的CPU與通用的CPU基本相同,同樣包 含了運算器和控制器兩大部分 ,只是增加了面向控制的處理功能 ,不僅可以處理字節(jié)數(shù)據(jù),還 可以進行為變量的處理。 <2)數(shù)據(jù)存儲器 RAM片內(nèi)位128B,片外最多可外擴 64KB.數(shù)據(jù)存儲器來存儲單片機運行 期間的工作變量、運算的中間結果、數(shù)據(jù)

5、暫存和緩沖、標志位等。片內(nèi)的 128B的RAM以 高速RAM的形式集成在單片機內(nèi),可以加快單片機的運行速度,降低功耗。 3)程序存儲器 (4>4個8位并行 (5>1個串行口 <6)2個16位定時器 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 匚 L 匚 匚 r 匚 P1.6 匚 P1.7 匚 RST匚 (8>特殊功能功能寄存器一 ■— (TXD) P3.1 匚 (7>中斷系統(tǒng):具有 制、監(jiān)視。 AT89C51 (INT1) P3.3 匚 站 口 口 工rt -rt_U 厶站 仃口 J (T1) P3.5 匚 亠t.t— .r.r

6、. XTAL1 :接外部晶振的一/ 放大器構成了片 XTAL2 :接外部晶振的一/ GND匚 鐘發(fā)生器輸入端。 1 片外 2 39 3 38 4 37 5 36 35 7 34 8 33 13 口下 28 15 26 卜引腳。在單片機 4 AJ 蕩 振 咅 外二 用 個引腳。在片內(nèi)接I 20 21 可擴展只讀存儲器,最多擴至 64KB □ PO.O (AD0) □ P0.1 (AD1) □ P0.2 (AD2) □ P0.3 (AD3) □ P0.4 (AD4) □ P0.5 (AD5) □ P0.6 (AD6) □ P0.7 (

7、AD7) -尸對片內(nèi)各功能部件進行管理、 □ ALE/PRT5G 豈一個具有特殊功能的 □ P2.7 (A15) □ P2.6 (A14) □ RAM區(qū) 「它是一反相放大器輸入端,這個 二i 4刀卩丿2z J女丄也° □ P2.2 (A1D) 1振蕩器的反相放大器輸出端和內(nèi)部時 □ P2.0 (A8) 接外部振蕩信號的輸入。 RST :AT89C51的復位信號輸入AT腳9,高電位引作圖當要對芯片又時'只要將此引腳電 位提升到高電位,并持續(xù)兩個機器周期以上的時間, AT89C51便能完成系統(tǒng)復位的各項 工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設成已知狀態(tài)。 P

8、0 口 (P0.0~P0.7>是一個8位漏極開路雙向輸入輸出端口,當訪問外部數(shù)據(jù)時,它是地 址總線 <低8位)和數(shù)據(jù)總線復用。外部不擴展而單片應用時,則作一般雙向 I / 0 口 用。P0 口每一個引腳可以推動 8個LSTTL負載。 P2 口(P2.0~P2.7> 口是具有內(nèi)部提升電路的雙向 I/O端口(準雙向并行I/O 口〉,當訪 問外部程序存儲器時,它是高 8位地址。外部不擴展而單片應用時,則作一般雙向 I /0 口用。每一個引腳可以推動 4個LSTL負載。 P1 口 (P1.0~P1.7> 口是具有內(nèi)部提升電路的雙向 I/O端口(準雙向并行I/O 口〉,其輸 出可以推動4個L

9、STTL負載。僅供用戶作為輸入輸出用的端口。 P3 口 (P3.0~P3.7> 口是具有內(nèi)部提升電路的雙向 I/O端口(準雙向并行I/O 口〉,它還 提供特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部隨機存儲器內(nèi)容的讀 取或?qū)懭肟刂频裙δ堋? 2.1.2 數(shù)碼管顯示電路 數(shù)碼管選用七段顯示數(shù)碼管 LED,接單片機的 P0端口,用單片機的 P0端口來控制七段 數(shù)碼管(用控制七段碼 a,b,c,d,e,f> ,通過對 P0端口賦不同的值來改變 P0端 口輸出的電平進而來改變數(shù)碼管顯示的數(shù)值。因為 P0端口為三態(tài)門,作為輸出端口時須外 ■frd .K-LSJ]- IC 0

10、 4 2 7 ft# 35 77 36 迢 34 33 二 "7 PC.O'ADO PC.l ADI Pfl.2 AD2 PO.3AD3 PO.5/AD5 P0C.AD6 PC.7 AD7 Pl JO Pl.l Pl.2 S0C51BH BQAi 接上拉電阻。數(shù)碼管顯示電路如圖 2-2 所示 蜂鳴器發(fā)聲電路 蜂鳴器發(fā)聲電路由蜂鳴器、三極管

11、口來對電流進行放大,三極管與 P1. 0端口共同 完成對蜂鳴器的驅(qū)動。蜂鳴器發(fā)生電路圖如圖 2-3所示 按鈕電路 圖2-3蜂鳴器電路 按鈕電路由按鈕、上拉電阻組成。按鈕接 P3. 2端口,未按下按鈕時 P3. 2端口為高電 平,當按鈕按下時在 P3. 2端口產(chǎn)生一個低電平輸入單片機,來產(chǎn)生切換到下一曲的信 號,進而通過軟件來完成歌曲的切換。按鈕電路如圖 2-4所示 RES2 VCC L: R3 RES2 VCC T J2 U1 19 ih 14 15 RST XTAL1 EAATP RXDP3.0 INT0P3,2 LNTT'P3.3

12、 T0/P3.4 T1.151 斗 發(fā)光二極管電路 圖2-4按鈕電路 發(fā)光二極管電路由限流電阻和發(fā)光二極管組成,三個二極管分別接 P2. 7、P2. 6和P2. 5 三個端口。三個發(fā)光二極管分別對應三首歌曲,當有歌曲播放時與其對應的發(fā)光二極管點 亮,另外兩個發(fā)光二極管不亮。通過改變 P2 口的輸出來使二極管狀態(tài)改變,二極管采用低 電平驅(qū)動,防止復位時二極管全亮。發(fā)光二極管點路如圖 2-5所示 衛(wèi)AL2 亜P3J WRP3.6 TXDP3.1 .ALE7R0G P27/A15 P2.6A14 P25/A13 P2.3/AU P2.2A10

13、LED LED R12 r 1—1 R VCC R13 T I I~ R R14 R LED P2.1 A9 P2.0A8 圖2-5發(fā)光二極管電路 時鐘振蕩電路 時鐘振蕩電路由晶振 <12MHZ和電容組成,接單片機的 XTAL1和XTAL2引腳。時鐘振蕩電 路用來為單片機產(chǎn)生時鐘脈沖,為內(nèi)部時鐘方式。時鐘振蕩電路圖如圖 2-6 所示 C2 33pf 33pf U1 CC r_ 復位電路 LI !□! JZ RST PSEN O- XTAL1 XTAL2 EAATP RDP3.7 匚:- TJVTS.'TJl A

14、 Tip tji x 圖2-6晶振電路 29 H T7 17 復位電路由電解電容、電阻和按鈕組成。 復位分為上電復位和手動復位,上電復位在單片 兩種復位方 機一上電時對單片及進行復位,手動復位通過外部按鈕來對單片機進行復位。 式的結果一樣。復位電路的電路圖如圖 2-7所示 總電路圖 由上述的數(shù)碼管分顯示電路、蜂鳴器發(fā)聲電路^7癬位電路發(fā)光二極管顯示電路、時鐘振

15、蕩電路和單片機組成總電路圖??傠娐穲D配合軟件程序可實現(xiàn)音樂播放器的功 能,總電路圖和 PCB版圖如附一、附二所示。 2.2軟件總體設計方案 2.2.1 程序流程圖 ■■ 開始 (1>要 周期的時間 重復計I 產(chǎn)生不 同頻 率的方法。 時956 沖值 記數(shù)脈 31H /Fr N 曰 —? 3IH :記數(shù)值 ,就可得到中音D0(523HZ>。 es yes (2>利用 元歌 唱第 音樂產(chǎn)生原理 疋否 使其 判斷 卜 /1=956在每記數(shù) 判斷有無按1鍵 判斷下^ 判斷某一曰時器的周初始化(忻音頻 >,然后將此周期除以 2,即為半 ,

16、利用定時器計時這個半 周期時 間再對曰 判斷31H的 8051的內(nèi)部定 次時將 N=Fi/2 虬每當計時到后就將輸出脈沖的 I/O反相,然后 口反站就可在 腳上得到此頻率的脈沖 no DE下,改變記 總數(shù)值THO及TLO以 3HZ,其周期 23=1912循環(huán)第三首歌曲要令計數(shù)器定 循環(huán)第一首歌曲 按鍵次數(shù)計數(shù) 賦初值yeSQH 「H :內(nèi)部計時一次為—1微秒|.故其頻率為 1MHZ 31H力口一并顯示,唱第二首歌 :要產(chǎn)生的頻率一 J 丿 Fr (3>起記數(shù)值的求法如下: 載入節(jié)拍 載入音符 T= 6553

17、6 — N= 65536 — Fi / 2/ Fr 例如:設 K= 65536, F = 記數(shù)值 00000= 判斷3 Z求低音D0<523HZ,高音的 D0<1046HZ 的 是否為 樂是否結束 T= 65536— N= 65536 — Fi 5536 —1000000/ 2 / Fr = 65536 — 500000 / Fr (4> 比如一節(jié)拍時間為 0.4秒,則1/4節(jié)拍時間為 0.1 秒,只要根據(jù)延遲時間就可 用延時 DELAY以此類推 程序的次數(shù)即可實現(xiàn)不 yes 節(jié)拍的產(chǎn)生通過延時程序匚來實現(xiàn)! 1個DELA丫則一節(jié)拍為 ORG 0

18、JMP S ORG 0 JMP T 判斷有無按鍵 求得按下1/4拍的DELAY時間,其它節(jié)拍時間第二首整曲倍」通過設定調(diào) 程序設計31H加一并顯示,唱第三首歌 000H START:MOV TMOD,#0 MOV IE,#82H JB P3.2,$ CALL DELAY1 JNB P3.2,$ TART 00BH M ? 判斷31H是 ;初始化T0

19、 MOV 31H,#00 START0:MOV 30H,#SONG LCALL XIANSHI *************************************************** PD: JB P3.2,NEXT LCALL DELAY1 JNB P3.2,DEN0 NEXT: MOV A,30H MOV DPTR,#TABLE MOVC A,@A+DPTR MOV R2,A JZ END0 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR

20、0 JMP D1 *************************************************** SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,@A+DPTR MOV TL0,A MOV 20H,A SETB TR0 *********************************************** D1: CALL DELAY INC 30H JMP

21、DP ************************************************* ; 取簡譜碼指針 < 第一首) 取節(jié)拍和音頻值 載入取到的音符碼,開始播放 簡譜碼指針加一 查詢程序 END0: CLR TR0 MOV A,31H XRL A,#00H JNZ END1 MOV 30H,#SONG JB

22、 P3.2,NEXT CALL DELAY1 JNB P3.2,$ INC 31H LCALL XIANSHI MOV 30H,#SONG1 JMP DP END1: CLR TR0 MOV A,31H XRL A,#01H JNZ END2 MOV 30H,#SONG1 JB P3.2,NEXT CALL DELAY1 JNB P3.2,$ INC 31H LCALL XIANSHI MOV 30H,#SONG2 JMP DP END2: CLR TR0 MOV A,31H XRL A,02H JNZ END3 MOV 30H,#SONG2 J

23、B P3.2,NEXT CALL DELAY1 JNB P3.2,$ END3: MOV 31H,#00H JMP START0 定時器中斷程序 ************************************************************ TIM0: PUSH ACC PUSH PSW SETB RS0 CLR RS1 MOV TL0,20H MOV TH0,21H CPL P1.0 POP PSW POP ACC RETI 延時程序 ************************************************

24、***** DELAY: MOV R7,#02 D2: MOV R4,#125 D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY **************************************************** DELAY1: MOV R4,#20 D4: MOV R3,#248 DJNZ R3,$ DJNZ R4,D4 RET ***************************************************** XIANSHI: MOV DP

25、TR,#OUT_TAB MOV A,31H MOVC A,@A+DPTR MOV P0,A MOV DPTR,#LED_TAB MOV A,31H MOVC A,@A+DPTR MOV P2,A RET ****************************************************** ORG 0300H OUT_TAB: DB 06H,5BH,4FH LED_TAB: DB 7FH,0BFH,0DFH TABLE: DW 64260,64400,64524,64580 DW 64684,64777,64820,64898 DW 6

26、4968,65030,65058,65110 DW 65157,65178,65217 SONG: 。第一首歌 生日快樂 。1 DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H 。2 DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H 按鍵去抖延時程序 數(shù)碼管和二極管顯示程序 程序調(diào)用表

27、 DB 0C4H,0B4H,04H DB 00H SONG1: 。第二首歌 兩只老虎 。1 DB 44H,54H,64H,44H DB 44H,54H,64H,44H DB 64H,74H,88H DB 64H,74H,88H 。2 DB 82H,92H,82H,72H,64H,44H DB 82H,92H,82H,72H,64H,44H DB 44H,84H,48H DB 44H,14H,48H DB 00H

28、 SONG2: 。第三首歌 不倒翁 。1 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 62H,82H,42H,62H,58H 。2 DB 84H,94H,88H DB 64H,54H,68H DB 84H,64H,54H,44H DB 52H,42H,52H,62H,48H DB 00H 2.3 軟件和硬件調(diào)試 2.3.1 硬件調(diào)試 硬件調(diào)試:硬件調(diào)試是利用 DVCC實驗與開發(fā)系統(tǒng)、基本測試儀器 < 萬用表、示波器 等),檢查用戶系統(tǒng)硬件中存在的故障。硬件調(diào)試可分為靜態(tài)調(diào)試與

29、動態(tài)調(diào)試兩步進行。 靜態(tài)調(diào)試:是在用戶系統(tǒng)未工作時的一種硬件檢測。 第一步:目測。檢查外部的各種元件或者是電路是否有斷點。 第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線 與地線之間是否有短路現(xiàn)象。 第三步:加電檢測。給板加電,檢測所有插座或是器件的電源端是否符合要求的值 第四步:聯(lián)機檢查。因為只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。 動態(tài)調(diào)試:是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故 障、器件連接邏輯錯誤等的一種硬件檢查。動態(tài)調(diào)試的一般方法是由近及遠、由分到合。 由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當調(diào)試電路時

30、,與該元件 無關的器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個局部的電路上。當各 塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對各塊電路功能及各電路間可能存在的相 互聯(lián)系進行調(diào)試。由分到合的調(diào)試既告完成。由近及遠是將信號流經(jīng)的各器件按照距離單 片機的邏輯距離進行由近及遠的分層,然后分層調(diào)試。調(diào)試時,仍采用去掉無關元件的方 法,逐層調(diào)試下去,就會定位故障元件了。 232軟件調(diào)試 軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤 并加以排除糾正的過程。 上電后,數(shù)碼管顯示 8,正常。第一次按下按鍵,播放第一首歌曲,數(shù)碼管顯示 1,對 應發(fā)光二極管點亮,歌曲

31、播放完畢后可自動循環(huán)播放。第二次按下按鍵,播放第二首歌 曲,數(shù)碼管顯示 2,對應發(fā)光二極管點亮,歌曲播放完畢后可自動循環(huán)播放。第三次按下 按鍵,播放第三首歌曲,數(shù)碼管顯示 3,對應發(fā)光二極管點亮,歌曲播放完畢后可自動循 環(huán)播放。第四次按下按鍵,重復以上過程。與要求相同,調(diào)試成功。 3.0心得體會 通過兩周的單片機課程設計我從其中學到了很多東西。在這兩周里我進一步鞏固了這學期 所學的單片機課程,加深了對單片機的理解。在課程設計過程中我學會了如何系統(tǒng)的設計 一個完整的程序,如何來設計硬件電路。在編程的過程我遇到了許多的問題,通過查閱資 料來解決這些問題,在這個過程中我不但進一步加深了自己對所

32、學知識的理解而且學會了 如何查找資料解決問題。同時我也明白要想得成功就一定要有恒心和毅力。 通過這次課程設計,我體會到了成功的喜悅,聽著自己設計的程序下載到單片機中播 放出音樂,非常高興。這次的課程設計在一定程度上改變了我單片機這門課程的態(tài)度,并學 會了將理論運用到實踐中去。我明白了一個人要想做好一件事,就必須具備自信心,耐 心,還要有毅力,要膽大心細,要勇于嘗試,要手腦并用,最后才能交出一份令人滿意的 答卷。 附表 名稱 數(shù)量 型號 備注 單片機 1 AT89C52 晶振 1 6MHZ 電容 3 22uf<1 個)20pf(2 個> 蜂鳴器 1 數(shù)碼管 1 LG5611AH 發(fā)光二極管 3 電阻 21 1k(9 個 >200<1 個) 470<11 個) 按鈕 2 三極管 1 S9012 PNP型三極管

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

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!