LPC PWM音樂輸出實驗設計_第1頁
LPC PWM音樂輸出實驗設計_第2頁
LPC PWM音樂輸出實驗設計_第3頁
LPC PWM音樂輸出實驗設計_第4頁
LPC PWM音樂輸出實驗設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、學號_200911631331_200911631321_200911631302_ 成績_ 廣東海洋大學嵌入式系統導論課程論文題目: _ LPC2138 PWM音樂輸出實驗設計_ _作者:_ _ 班級:_ _ 完成時間: 目錄一、概述1二、系統硬件設計12.1、系統電路12.2、CPU核心芯片22.3、電源模塊22.4、P0.7引腳選擇PWM2功能22.5、聲音模塊2三、系統軟件設計33.1、PWM音樂輸出流程圖33.2、“ARM Developer Suite”軟件生成“.hex”文件的過程4四、總結5五、參考文獻5六、附錄66.1、歌曲祝你平安簡譜66.2、music.h文件內容66.3

2、、PWM音樂輸出程序8一、概述隨著社會的發展,科學的進步,人們的生活水平在逐步的提高。微電子技術的快速發展,使得電子產品無處不在,ARM的應用也越來越貼近人們的生活,用ARM來實現一些電子設計也變得越來越容易。本課題的CPU核心芯片采用的是 ARM7 的LPC2138,實現了采用LPC2138的一個I/O口控制speaker發聲,演唱祝你平安歌曲。設計的關鍵所在,必須熟悉ARM的原理與結構,同時還要對整個設計流程有很好的把握,銜接好各個模塊。二、系統硬件設計2.1 系統電路:2.2 CPU核心芯片: 2.3 電源模塊: 2.4 P0.7引腳選擇PWM2功能: 2.5 聲音模塊:通過改變PWMM

3、R0的值,可以改變PWM輸出的頻率。本設計設定PWM輸出單邊沿PWM方波,控制蜂鳴器BEEP發聲,改變PWM的頻率,蜂鳴器發出不同頻率的聲音。三、系統軟件設計3.1 PWM音樂輸出流程圖:進行PWM音樂輸出設計,需要我們了解一些簡譜和頻率的關系。在文件music.h中可以得到我們需要的信息,它給出了常用簡譜和頻率的對應關系,這使我們成功得把歌曲祝你平安簡譜轉換成我們需要的歌曲簡譜和節拍數。程序將歌曲簡譜和節拍數各自放在一數組中,依次從簡譜數組中得到相應頻率后放到PWMMR0中,然后進行所存,改變PWM輸出頻率,并從節拍數組中獲得相應的延時參數,兩者配合得到音樂輸出。歌曲簡譜、music.h文件

4、和程序清單請看附錄。3.2 “ARM Developer Suite”軟件生成“.hex”文件的過程:編寫好程序后,先點擊編譯,沒有錯誤后,在窗口中點擊,設置.hex文件的保存路徑,成功在設置的路徑文件夾里生成.hex文件。 四、總結經過這幾個星期的努力,我們小組終于順利完成了本次嵌入式課程設計。剛開始做這個設計的時候感覺我們什么都不清楚,不知道從哪里下手,腦子里比較浮躁和零亂。但通過一段時間的努力,重溫書籍,還有查看相關的設計技術以及一些參考文獻,再加之在老師的指導和周圍同學的幫助下,使我們對本設計有了基本的掌握,確定基本設計方案,對所用芯片功能有了較清晰的認識。經歷了一次次的困難,卻積累了

5、很多寶貴的經驗。在整個設計的過程中遇到的問題主要有以下三點,第一:對ARM的編譯語言與C語言沒有清楚的區別,出現了一些難以發現的錯誤。第二:對proteus軟件應用的不熟練,在畫電路圖和系統的仿真調試的時候,操作不熟練,浪費了很多時間。第三:缺少這種系統設計的經驗,相關知識掌握的不夠全面,多走了很多彎路。最后,我們要衷心的感謝老師給了我們一次實踐的機會,讓我們更加深刻地了解和認識到了自己的優點和不足。通過這個課程設計我們發現了我們好多知識都不熟悉甚至有的東西我們根本就不知道,這讓我們感到了要學習的東西還有很多很多。因此使我們更堅定了在以后的學習中要扎實好基礎,闊廣知識面。五、參考文獻1 周立功

6、. 深入淺出ARR7LPC213x/214x 北京航空出版社,20052 錢 能.C+程序設計教程. 清華大學出版社,2009六、附錄6.1 歌曲祝你平安簡譜:6.2 music.h文件內容:/* 文件名 :music.h* 描述 :節拍和簡譜頻率*/#ifndef _MUSIC_H#define _MUSIC_H/ 以4分音符為1拍#define TEMPO 8#define _1 TEMPO*4 /全音符#define _1d TEMPO*6 /附點全音符#define _2 TEMPO*2 /2音符#define _2d TEMPO*3 /附點2音符#define _4 TEMPO*1

7、/4分音符#define _4d TEMPO*3/2 /附點4分音符#define _8 TEMPO*1/2 /8分音符#define _8d TEMPO*3/4 /附點8音符#define _16 TEMPO*1/4 /16分音符#define _16d TEMPO*3/8 /附點16分音符#define _32 TEMPO*1/8 /32分音符/* 低音 */#define _1DO 262#define _1RE 294#define _1MI 330#define _1FA 349#define _1SO 392#define _1LA 440#define _1TI 494/* 中音

8、 */#define _DO 523#define _RE 587#define _MI 659#define _FA 698#define _SO 784#define _LA 880#define _TI 988/* 高音 */#define _DO1 1047#define _RE1 1175#define _MI1 1319#define _FA1 1397#define _SO1 1568#define _LA1 1760#define _TI1 1976#endif6.3 PWM音樂輸出程序:#include "config.h"#include "m

9、usic.h"/* 歌曲曲譜 祝你平安*/const uint32 HCMM =_DO1,_DO1,_MI,_SO,_SO,_MI,_RE, _DO,_DO,_LA,_SO,_SO, _LA,_LA,_LA,_DO,_DO,_1LA,_DO, _SO,_MI,_MI,_RE,_RE, _DO1,_DO1,_MI,_SO,_SO,_MI,_RE, _DO,_DO,_LA,_SO,_SO, _MI,_DO,_DO,_DO,_1LA,_MI,_RE,_RE,_RE, _1SO,_1SO,_SO,_SO,_RE,_MI,_DO,_DO,;/* 歌曲節拍 */const uint32 HCMM

10、_L =_8,_8,_8,_8,_4d,_16,_16, _8,_8,_8,_8,_2, _8,_8,_8,_8,_4d,_16,_16, _8,_8,_8,_8,_2, _8,_8,_8,_8,_4d,_16,_16, _8,_8,_8,_8,_2, _8,_16,_16,_8,_8,_8,_16,_16,_4, _16,_16,_16,_16,_16,_8,_16,_2,;/* 函數名稱: Delay* 功能描述: 軟件延時函數*/void Delay(uint8 dly) uint32 i; for(; dly > 0; dly-) for(i = 0; i < 0x3FFF

11、F; i+);/* 函數名稱 :main()* 函數功能 :PWM音樂輸出實驗。* 調試說明 :需要將music.h包含進來。*/int main (void) uint8 i; PINSEL0 = 0x02 << 14;/ P0.7選擇PWM2功能 /* PWM初始化 */ PWMPR = 0x00; / 不分頻,計數頻率為Fpclk PWMMCR = 0x02;/ 設置PWMMR0匹配時復位PWMTC PWMPCR = 0x0400;/ 允許PWM2輸出,單邊PWM PWMMR0 = Fpclk / 1000; PWMMR2 = PWMMR0 / 2;/ 50%占空比 PWMLER = 0x05;/ PWM0和PWM2匹配鎖存 PWMTCR = 0x02; / 復位PWMTCPWMTCR = 0x09; / 啟動PWM輸出 while(1) for(i = 0; i < 40; i+)

溫馨提示

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

評論

0/150

提交評論