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

查看: 2997|回復(fù): 0
打印 上一主題 下一主題

S3c2440播放音樂

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

////////////////低音/////////////////////////
#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
//////////////////節(jié)拍數(shù)/////////////////////
#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



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

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
=
       

四分之一拍

三十二分音符
       

       

八分之一拍



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

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

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
}
}
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色哟哟哟在线精品观看视频| 人驴交f ee欧美| 亚洲AV久久无码高潮喷水| 国产69TV精品久久久久99| 啊灬啊灬啊灬快高潮视频| 欧美在线看欧美视频免费| 青草免费在线| 伦理片在线3348| 日本www免费| 日本黄色福利视频| 四虎国产精品视频免费看| 99国产精品| 日本19禁啪啪吃奶大尺度| 欧美日韩久久| 四虎永久免费网站免费观看| 亚洲成人在线观看| 国产精品毛片在线视频| 亚洲精品国产在线网站| 日本一区二区三区四区| 亚洲国产天堂在线观看| 御宅屋在线阅读| 美女隐私黄www视频| 日韩一区视频在线| 色狠狠xx| 天天操天天操天天操天天操| 亚洲好色网| 国产中文欧美日韩在线| 樱桃视频高清免费观看在线播放| 天天操天| 中文字幕亚洲综合久久男男| 18美女腿打开无遮软件| 日夜啪啪一区二区三区| 亚洲精品九色在线网站| 亚洲第一天堂无码专区| 真希友田视频中文字幕在线看| 男人J进女人P| 亚洲精品国产成人专区| 天天躁夜夜躁很很躁麻豆| 一个人看的www高清视频| 恋夜影院支持安卓视频美女| 一本到在线视频|