国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3005|回復: 0
打印 上一主題 下一主題

S3c2440播放音樂

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2011-5-5 22:02:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我的板子是天嵌科技的TQ2440,自己用PWM制作的播放《祝你生日快樂》歌曲,程序下載地址如下:
                                                
這個程序是根據天嵌的TQ2440 3.5英寸板子做的,參照《裸奔三部曲》中的PWM播放音樂來實現的,我在作者的基礎上優化了程序,減少了不必要的分支判斷,利用宏定義還實現。宏定義了音符的高低和長短,宏定義如下:

////////////////低音/////////////////////////
#define LDO 260
#define LRE 294
#define LMI 328
#define LFA 347
#define LSO 390
#define LLA 438
#define LSI 490
/////////////////中音//////////////////////////
#define MDO 520
#define MRE 581
#define MMI 657
#define MFA 694
#define MSO 781
#define MLA 892
#define MSI 1000
////////////////高音////////////////////////////
#define HDO 1041
#define HRE 1190
#define HMI 1315
#define HFA 1388
#define HSO 1562
#define HLA 1785
#define HSI 1923
///////////////休止符////////////////////////
#define STP 0
//////////////////節拍數/////////////////////
#define ONEIGHT 96
#define ONEFOUR 192
#define TWOFOUR 384
#define THRFOUR 576
#define ONE 768
#define TWO 1536
#define THREE 2304
#define FOUR 3072
//////////////////////////////////////////////
#define VOLUME 2



然后歌曲數組直接使用宏名就可以了,這個我自己寫的生日快樂的數組:

unsigned int SONG[]={ //祝你生日快樂
LSO,TWOFOUR,LSO,TWOFOUR,LLA,ONE,    LSO,ONE,    MDO,ONE,    LSI,TWO,    LSO,TWOFOUR,LSO,TWOFOUR,LLA,ONE,
LSO,ONE,    MRE,ONE,    MDO,TWO,    LSO,TWOFOUR,LSO,TWOFOUR,MSO,ONE,    MMI,ONE,    MDO,ONE,    LSI,ONE,
LLA,ONE,    MFA,TWOFOUR,MFA,TWOFOUR,
///////////////////////////////////////////////////////////////////////////////////////////////////////////
MMI,ONE,    MDO,ONE,    MRE,ONE,    MDO,TWO,    LSO,TWOFOUR,LSO,TWOFOUR,MSO,ONE,    MMI,ONE,    MDO,ONE,
LSI,ONE,    LLA,ONE,    MFA,TWOFOUR,MFA,TWOFOUR,MMI,ONE,    MDO,ONE,    MRE,ONE,    MDO,TWO    ,STP,ONE,
///////////////////////////////////////////////////////////////////////////////////////////////////////////
STP,TWOFOUR,MRE,TWOFOUR,MSO,TWOFOUR,MFA,TWOFOUR,MMI,TWOFOUR,MRE,TWOFOUR,LSI,TWOFOUR,LSO,TWOFOUR,LLA,TWOFOUR,
LSI,TWOFOUR,STP,ONE,    STP,TWOFOUR,MMI,TWOFOUR,MSO,TWOFOUR,MFA,TWOFOUR,MMI,TWOFOUR,MRE,TWOFOUR,MDO,TWOFOUR,
LSO,TWOFOUR,LLA,TWOFOUR,MDO,TWOFOUR,STP,ONE,    STP,TWOFOUR,MMI,TWOFOUR,MSO,TWOFOUR,MLA,TWOFOUR,MSO,TWOFOUR,
MFA,TWOFOUR,
///////////////////////////////////////////////////////////////////////////////////////////////////////////
MMI,TWOFOUR,MRE,TWOFOUR,MMI,TWOFOUR,MSO,TWOFOUR,MFA,TWOFOUR,MRE,TWOFOUR,MDO,TWOFOUR,MMI,TWOFOUR,MFA,TWOFOUR,
MLA,TWOFOUR,MSO,TWOFOUR,MFA,TWOFOUR,MMI,ONE,    MDO,ONE,    MSO,THRFOUR,MSO,ONEFOUR,MLA,ONE,    MSO,ONE,  
HDO,ONE,    MSI,TWO,    MSO,THRFOUR,MSO,ONEFOUR,
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
MLA,ONE,    MSO,ONE,    HRE,ONE,    HDO,TWO,    MSO,TWOFOUR,MSO,TWOFOUR,HSO,ONE,    HMI,ONE,    HDO,ONE,   
MSI,ONE,    MLA,ONE,    HFA,TWOFOUR,HFA,TWOFOUR,HMI,ONE,    HDO,ONE,    HRE,ONE,    HDO,TWO
};

音符的高低表示:在音符的上面加一小圓點,即表示高八度演唱,加兩個圓點表示高兩個八度;反之,在下面加一個圓點,即表示低八度演唱,加兩個圓點表示低兩個八度。

音符的長短表示:



音符們各有不同,音符有不同的長度,如下表。

音符名稱
       

寫 法
       

時 值

全音符
       

5 — — —
       

四拍

二分音符
       

5 —
       

二拍

四分音符
       

5  
       

一拍

八分音符
       

       

半拍

十六分音符
       

5
=
       

四分之一拍

三十二分音符
       

       

八分之一拍



我在原作者基礎上使用宏定義來實現音符的高低和長短的定義,并自定義了休止符,吼吼

通過修改Buzzer_Freq_Set(  )函數可以調節音符和音量,并可以在頻率為零時,停止頻率輸出(模擬休止符),修改后的函數為:

void Buzzer_Freq_Set( U32 freq,U32 vol )
{
rGPBCON &= ~3;   //set GPB0 as tout0, pwm output
rGPBCON |= 2;
  
rTCFG0 &= ~0xff;
rTCFG0 |= 15;   //prescaler = 15+1
rTCFG1 &= ~0xf;
rTCFG1 |= 2;
if(freq == 0)
Buzzer_Stop() ;
else{   //mux = 1/8
rTCNTB0 = (PCLK>>7)/freq;
rTCMPB0 = rTCNTB0>>vol; // 50%
rTCON &= ~0x1f;
rTCON |= 0xb;   //disable deadzone, auto-reload, inv-off, update TCNTB0&TCMPB0, start timer 0
rTCON &= ~2;   //clear manual update bit
}
}
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频免费在线看 | 国产综合久久久久影院 | 99热手机在线观看 | 久久超 | 四虎最新永久免费网址 | 恋爱综合症电视剧泰剧在线观看 | 日日操天天 | 一二三四免费视频社区 | 成年男女的免费视频网站 | 在线不欧美 | 四虎在线最新永久免费播放 | 天天干天天操天天拍 | 青青青国产免费全部免费观看 | 热九九精品 | 亚洲视频在线一区 | 国产在线欧美日韩一区二区 | 4hu四虎最新免费地址 | 国产福利一区二区三区 | 欧美国产日本精品一区二区三区 | 青草香蕉视频 | 无吗无卡v清免费 | 狠狠入ady亚洲精品 狠狠热精品免费观看 | 日韩亚洲欧美在线观看 | 91果冻制片厂天美传媒 | 99久久99视频 | 99热自拍| 七月丁香色婷婷综合激情 | 久久se精品一区二区影院 | 国产精品探花一区在线观看 | 国产又黄又刺激又爽视频黄 | 厚颜无耻有字幕在线观看 | 日韩欧美高清在线 | 亚洲欧美日本国产一区二区三区 | 欧美日韩国产亚洲一区二区 | 亚洲国产精品日韩高清秒播 | 青青草原国产在线视频 | 国内精品福利在线视频 | 亚洲人成在线观看一区二区 | 91中文字幕视频 | 中文字幕日韩欧美一区二区三区 | 青青草久草视频 |