




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機原理及系統(tǒng)課程設計評語:考勤( 10)守紀( 10 )過程( 40)設計報告( 30)答辯( 10)總成績( 100)專業(yè):自動控制班級:1103 班姓名:徐越學 號: 201108902指導教師: 亞寧交通大學自動化與電氣工程學院2013 年 9 月 1 日基于單片機的音樂播放器設計摘要隨著我國現(xiàn)代化技術(shù)建設的發(fā)展,電子產(chǎn)品多種多樣,但同類電子產(chǎn)品工作 原理基本相同,只不過在硬件電路的是實現(xiàn)上有所不同。例如我們我們平時所用 的 MP3 音樂播放器,就可以用單片機和一些電子元件來實現(xiàn)它的基本功能。我的 設計是以 89C51 單片機作為核心工作元件的音樂播放器,依據(jù)單片機技術(shù)原理, 通過硬
2、件電路制作以及軟件編譯,設計制作出一個多功能音樂盒。該音樂盒主要 由按鍵電路、復位電路、時鐘電路以及蜂鳴器組成。本設計利用 KEIL 編程軟件對 音樂盒源程序進行編程并調(diào)試,配合 PROTEUS 仿真軟件對硬件進行仿真調(diào)試, 節(jié)約了設計時間。它在實現(xiàn)音樂播放功能上簡單易行,在制作硬件電路上也不困 難。因此,此次課程設計,我除了完成了系統(tǒng)的軟件設計和實物電路仿真外,利 用空余時間制作出了實物。關(guān)鍵字 音樂播放器, AT89C51 單片機, KEIL,PROTEUS 。1 引言1.1 設計目的此次制作的音樂播放器,只需將音樂編碼導入 C 語言程序,經(jīng)過 KEIL 軟件 運行生成 HEX 文件,經(jīng)
3、BDM 下載器導入單片機中即可??梢酝瑫r生成多首歌曲 的音樂編碼,再次我選擇了兩首歌的音樂編碼。學生自己動手就可以制作屬于自 己的個性化的音樂播放器,通過自己動手將所學的單片機知識應用到實踐中。1.2 設計要求設計一個基于 AT89C51 的音樂播放器,利用軟件編程和相應的硬件電路實現(xiàn) 不同歌曲的播放,先利用 KEIL 軟件編程,再用 PROTEUS 仿真實現(xiàn),生成可執(zhí)行 的 HEX 文件,最后焊接實物電路。1.3 設計方法采用 AT89C51 單片機、蜂鳴器,晶體振蕩器,晶體管 2N2905,復位開關(guān)為主 要硬件。 PROTEUS 仿真軟件設計和 C 語言編程方法實現(xiàn)播放器的模擬,用 AT8
4、9C51實現(xiàn)音樂編碼的處理, 用晶體管 2N2905對電路中電流放大, 進而驅(qū)動蜂 鳴器播放音樂。2 設計方案及原理按照系統(tǒng)設計要求,將系統(tǒng)分為主控模塊,電源電路復位電路、晶振電路、功率 放大電路,蜂鳴器發(fā)聲電路等模塊。系統(tǒng)框圖如圖 1 所示。時鐘電路功率放大電路圖1 系統(tǒng)組成框圖AT89C51簡介AT89C51 是一種帶 4K 字節(jié)閃存可編程可擦除只讀存儲器的低電壓,高 性能 CMOS 8 位微處理器,俗稱單片機。 AT89C2051 是一種帶 2K 字節(jié)閃存 可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦 除 100 次。該器件采用 ATMEL 高密度非易失存儲器制造技
5、術(shù)制造,與工業(yè) 標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位 CPU 和閃爍存儲 器 組 合 在 單 個 芯 片 中 , ATMEL 的 AT89C51 是 一 種 高 效 微 控 制 器 , AT89C2051 是它的一種精簡版本。 AT89C51 單片機 外形及引腳排列如圖 2 所示。圖 2 AT89C51 單片機引腳圖3 硬件設計3.1 晶振電路晶振電路,對于單片機系統(tǒng)而言是必須的,因為單片機部是由各種各樣的數(shù) 字邏輯器件構(gòu)成,而這些器件又必須按時間順序完成。所以在管腳的 XTAL1 和 XTAL2 引腳外接石英晶體和倆個諧振電容,電容采用 2個 30pf 電容,采用
6、 12M 的石英晶體。這樣就可以構(gòu)成單片機的基本時鐘電路,時鐘頻率為12M。如圖 2所示3.2 復位電路復位電路是對單片機進行初始化操作,使單片機處于一個確定的初始狀態(tài)。而要 AT89S51復位得在 RESET引腳上加5V 的高電平信號就可以了。復位電路參 數(shù)為 30U 的電解電容和 1k的電阻。如圖 3為單片機的復位電路。圖 3 復位電路3.3 功率放大電路 功率放大電路對工作電流進行放大,因為單片機電路本身的電流不足以帶動 蜂鳴器發(fā)生,加一個三極管放大器 2N2905 可以帶動蜂鳴器發(fā)生。圖 4 功率放大電路3.4 晶振、復位、功放之間連線電路圖 5 復位電路、晶振電路與單片機之間的連線圖
7、3.4 系統(tǒng)連接圖圖 6 系統(tǒng)連接圖4 軟件設計4.1 主程序設計主程序流程圖如圖 6 所示整體硬件連接圖如圖 6 所示結(jié)束圖 7 主程序流程圖5 系統(tǒng)仿真及調(diào)試軟件調(diào)試,先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序, 音樂播放程序和定時程序的編譯和調(diào)試;硬件調(diào)試,仔細檢查電路有沒有漏接或 是錯接的地方,再接一個電壓表檢查供給蜂鳴器的電壓是否合適,調(diào)節(jié)電阻的阻 值以調(diào)節(jié)工作電路的阻值。 并且外接了一個數(shù)字濾波器檢測 P1.7 引腳的電平高低。 如果不理想,繼續(xù)調(diào)整程序和硬件電路, 直到得到正確結(jié)果。 仿真圖詳見第 4圖6 6 總結(jié)通過此次基于單片機的音樂播放器的設計,使我進一步加深
8、了對課堂上知識的理解,對單片機的尋址方式及定時中斷的理解更加深刻,熟悉了單片機應用系 統(tǒng)設計的各主要環(huán)節(jié)的設計,了解了三極管 2N2905 的參數(shù),及使用方法,蜂鳴器 的正常工作條件,示波器在 PROTEUS 中的使用方法,使用外部晶體振蕩器如何 選取電容,及晶體振頻率。但是動手制作實物的過程的,動手焊接能力還是不行, 容易把引腳焊接在一起,因此,在以后的學習要加強自己實踐能力的鍛煉。軟件 調(diào)試,先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序, A/D 轉(zhuǎn) 換程序和 LED 顯示器程序編譯和調(diào)試;硬件調(diào)試,仔細檢查電路有沒有漏接或是 錯接的地方,再接一個電壓表檢查 LED 顯示器顯示
9、的數(shù)值是否和電壓表的示數(shù)一 致,如果不理想,繼續(xù)調(diào)整程序,直到得到正確結(jié)果。附錄 1 音樂播放器源程序/音樂播放器代碼#include#define uchar unsigned char#define uint unsigned intuchar Count;sbit Speak =P17;/ 蜂鳴器器控制腳/* 以下數(shù)組是音符編碼 */unsigned char code SONG =/祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x2 0,0x30,0x20,0x39,0x1
10、0,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x1
11、0,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x6
12、0,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x2
13、0,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,/路邊的野華不要采0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x 1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x2
14、0,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x2
15、0,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x2
16、0,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00, ;*名稱 : Time0_Init()功能 : 定時器的初始化, 定時時間可用光碟中軟件計算, 11.0592MZ 晶振,10ms 輸入 : 無輸出 : 無*/void Time0_Init()TMOD = 0x01;IE = 0x82;TH0 = 0xDC;TL0 = 0x00;名稱 : Time0_
17、Int()功能 : 定時器中斷,中斷中實現(xiàn) Count 加一輸入 : 無輸出 : 無*/void Time0_Int() interrupt 1TH0 = 0xDC;TL0 = 0x00;Count+;/ 長度加 1/* 名稱 : Delay_x Ms()* 功能 : 延時子程序,經(jīng)過軟件調(diào)試,測得延時程序大概為 55us.* 輸入 : x* 輸出 : 無*/void Delay_x Ms(uint x) uint i,j; for(i=0; ix; i+) for(j=0; j3; j+);/* 名稱* 功能* 輸入* 輸出Play_Song() 播放蜂鳴器控制程序 i (選擇播放哪首歌曲,
18、 0 為“祝你平安 ”,1 為“路邊的野花你不要采 ” 無*/void Play_Song(uchar i)uchar Temp1,Temp2;uint Addr;Count = 0;Addr = i * 217; while(1)/中斷計數(shù)器清 0Temp1 = SONGAddr+; if (Temp1 = 0xFF) TR0 = 0;Delay_x Ms(100);else if (Temp1 = 0x00)return;else/休止符/歌曲結(jié)束符Temp2 = SONGAddr+;TR0 = 1;while(1)Speak = Speak;Delay_xMs(Temp1); if(Temp2 = Count) Count = 0; break;* 名稱: Main()* 功能: 主函數(shù)* 輸入: 無* 輸出: 無*/void Main()/定時器 0 中斷初始化Time0_Init(); while(1)Play_Song(1)為路邊的Play_S
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司每年每月團建活動方案
- 公司直播運營策劃方案
- 公司節(jié)電活動方案
- 2025年藥學專業(yè)技術(shù)資格考試題及答案
- 2025年醫(yī)學專業(yè)考生必做試題及答案
- 2025年文化產(chǎn)業(yè)管理專業(yè)考試試卷及答案
- 2025年文化遺產(chǎn)保護技師職業(yè)資格考試試題及答案
- 2025年數(shù)字營銷與品牌策略課程考試試卷及答案
- 2025年思想政治教育專業(yè)考試試題及答案
- 2025年生態(tài)文明建設與管理考試卷及答案
- 2023-2024學年河北省石家莊市高二下學期7月期末考試數(shù)學試題(解析版)
- 2025年江西省中考語文真題無答案
- 2025年上海市中考數(shù)學試卷附答案
- 關(guān)于七一活動方案
- 關(guān)于衛(wèi)生院“十五五”發(fā)展規(guī)劃(完整本)
- 福州市重點中學2025屆英語七下期末聯(lián)考試題含答案
- 2025年初中學業(yè)水平考試地理試卷(附答案)
- 大型醫(yī)院巡查醫(yī)院自查表
- 2025山西晉城市國有資本投資運營有限公司部分子公司招聘11人筆試參考題庫附帶答案詳解析集合
- 期末專項復習:課內(nèi)閱讀(附答案)-部編版四年級語文下冊
- 2024-2025 學年八年級英語下學期期末模擬卷 (揚州專用)解析卷
評論
0/150
提交評論