015839n9z96hhc0ptczted.jpg (105.59 KB, 下載次數: 43)
下載附件
2020-1-11 10:19 上傳
單片機源程序如下:
#include <REG52.H>
#include "MusicBox.h"
/*********************代碼說明**************************
獻給師妹黃銀盛-------希望你快樂幸福每一天
音樂驅動參考部分網上代碼,感謝原作者
T0,T1用于翁鳴器頻率計時和控制
使用P1.0口控制翁鳴器,高電平導通
使用外部中斷0,實現曲目控制。設置中斷0為最高優先級
在開發板上調試使用STC89C51芯片,4K flash
在手工焊板上使用STC89C52芯片,8K flash,能放置更多歌曲文件
********************************************/
#define MSC_NUM 5 //總曲目數
unsigned char play_num = 0; //當前播放曲目號
unsigned char play_state = 1;
unsigned char code Music_SummerNut[]; //盛夏的果實
unsigned char code Music_leftTrouble[]; //忘憂草
unsigned char code Music_moonHeart[]; //月亮代表我的心
unsigned char code Music_JiXiang[]; //吉祥三寶
unsigned char code Music_twoButterFly[]; //兩只蝴蝶
//定義歌曲播放指針數組
unsigned char* pMusic[] = {Music_SummerNut, Music_leftTrouble, Music_twoButterFly, Music_moonHeart, Music_JiXiang};
void main(void)
{
unsigned char degree = 3; //設定播放音調,升八度
unsigned int play_speed = 300; //設定播放速度,默認為300
InitialSound();
while(1)
{
//調用歌曲播放函數
Play(pMusic[play_num], 0, degree, play_speed);
//單曲完畢后,延時1S
Delay1ms(1000);
//重設播放狀態為1
play_state = 1;
}
}
void Delay1ms(unsigned int count) //延時,ms級
{
unsigned int i,j;
for(i=0; i<count; i++)
for(j=0; j<120; j++);
}
void Int_1(void) interrupt 2 //中斷1,累加全局變量,暫停當前歌曲播放,曲目跳轉
{
EA = 0;
//設置為不播放狀態
play_state = 0;
P0 = 0x80;
//曲目號累加
play_num++;
if(play_num >= MSC_NUM){ //若當前播放曲目為最后一條,則回零播放
play_num = 0;
}
EA = 1;
}
//***********************************Music files**************************************************
//吉祥三寶,一遍,后段轉換不成功,未加入
unsigned char code Music_JiXiang[] = { 0x17,0x03, 0x19,0x17, 0x19,0x16, 0x19,0x02, 0x19,0x0D,
0x19,0x03, 0x19,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
0x17,0x03, 0x19,0x17, 0x19,0x02, 0x19,0x0D, 0x19,0x03,
0x19,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x03,
0x16,0x17, 0x15,0x02, 0x15,0x0D, 0x15,0x03, 0x15,0x0D,
0x15,0x03, 0x10,0x03, 0x0F,0x03, 0x17,0x03, 0x16,0x17,
0x16,0x03, 0x16,0x03, 0x16,0x03, 0x17,0x03, 0x16,0x0D,
0x15,0x03, 0x10,0x0D, 0x0F,0x03, 0x19,0x01, 0x18,0x01,
0x17,0x01, 0x17,0x01, 0x00,0x00 };
//盛夏的果實
unsigned char code Music_SummerNut[] = { 0x17,0x02, 0x17,0x03, 0x16,0x03, 0x16,0x16, 0x10,0x03,
0x15,0x02, 0x15,0x03, 0x16,0x03, 0x16,0x02, 0x15,0x03,
0x11,0x03, 0x10,0x02, 0x15,0x02, 0x16,0x03, 0x16,0x03,
0x15,0x03, 0x16,0x03, 0x17,0x02, 0x17,0x03, 0x16,0x03,
0x16,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03,
0x19,0x16, 0x19,0x03, 0x1A,0x03, 0x17,0x03, 0x17,0x03,
0x16,0x03, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03,
0x19,0x03, 0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03,
0x17,0x03, 0x17,0x03, 0x17,0x16, 0x17,0x03, 0x16,0x03,
0x15,0x03, 0x10,0x03, 0x15,0x03, 0x17,0x04, 0x16,0x04,
0x16,0x02, 0x15,0x03, 0x16,0x03, 0x17,0x02, 0x19,0x67,
0x1A,0x04, 0x1A,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02,
0x15,0x03, 0x17,0x03, 0x16,0x02, 0x15,0x03, 0x10,0x03,
0x10,0x14, 0x16,0x66, 0x16,0x03, 0x15,0x66, 0x17,0x03,
0x19,0x03, 0x17,0x03, 0x17,0x15, 0x16,0x15, 0x15,0x03,
0x11,0x03, 0x10,0x03, 0x10,0x14, 0x16,0x66, 0x16,0x03,
0x15,0x02, 0x16,0x02, 0x17,0x02, 0x19,0x67, 0x1A,0x04,
0x1A,0x16, 0x1F,0x03, 0x1F,0x66, 0x1B,0x03, 0x1B,0x66,
0x1F,0x03, 0x1B,0x03, 0x1A,0x03, 0x1A,0x02, 0x17,0x02,
0x17,0x03, 0x16,0x03, 0x16,0x16, 0x10,0x03, 0x15,0x02,
0x15,0x03, 0x16,0x03, 0x16,0x02, 0x15,0x03, 0x11,0x03,
0x10,0x02, 0x15,0x02, 0x16,0x03, 0x16,0x03, 0x15,0x03,
0x16,0x03, 0x17,0x02, 0x17,0x03, 0x16,0x03, 0x16,0x01,
0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x19,0x16,
0x19,0x03, 0x1A,0x03, 0x17,0x03, 0x17,0x03, 0x16,0x03,
0x17,0x01, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03,
0x19,0x03, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x17,0x03,
0x17,0x03, 0x17,0x16, 0x17,0x03, 0x16,0x03, 0x15,0x03,
0x10,0x03, 0x15,0x03, 0x17,0x04, 0x16,0x04, 0x16,0x02,
0x15,0x03, 0x16,0x03, 0x17,0x02, 0x19,0x67, 0x1A,0x04,
0x1A,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x02, 0x15,0x03,
0x17,0x03, 0x16,0x02, 0x15,0x03, 0x11,0x03, 0x10,0x14,
0x16,0x66, 0x15,0x66, 0x17,0x03, 0x19,0x03, 0x17,0x03,
0x17,0x15, 0x16,0x15, 0x15,0x03, 0x11,0x03, 0x10,0x03,
0x10,0x14, 0x16,0x66, 0x16,0x03, 0x15,0x02, 0x16,0x02,
0x17,0x02, 0x19,0x03, 0x1A,0x03, 0x1A,0x16, 0x1A,0x03,
0x1F,0x01, 0x1B,0x66, 0x1F,0x03, 0x1A,0x03, 0x1A,0x03,
0x1A,0x00, 0x00,0x00 };
//忘憂草
unsigned char code Music_leftTrouble[] = { 0x15,0x66, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x02,
0x17,0x03, 0x19,0x02, 0x1A,0x03, 0x19,0x16, 0x1A,0x66,
0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x1A,0x03,
0x19,0x03, 0x19,0x02, 0x17,0x03, 0x16,0x16, 0x17,0x66,
0x19,0x03, 0x1A,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
0x16,0x03, 0x16,0x02, 0x15,0x03, 0x15,0x16, 0x10,0x66,
0x15,0x03, 0x16,0x03, 0x17,0x02, 0x16,0x04, 0x15,0x0E,
0x15,0x04, 0x15,0x71, 0x15,0x01, 0x15,0x03, 0x16,0x03,
0x17,0x66, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x02,
0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x1A,0x03, 0x19,0x16,
0x1A,0x66, 0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x03,
0x1A,0x0D, 0x19,0x03, 0x19,0x0D, 0x19,0x16, 0x17,0x66,
0x19,0x03, 0x1A,0x0D, 0x19,0x03, 0x17,0x03, 0x16,0x03,
0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x15,0x02,
0x10,0x03, 0x0F,0x03, 0x15,0x02, 0x16,0x03, 0x17,0x03,
0x16,0x03, 0x15,0x0D, 0x15,0x17, 0x10,0x04, 0x15,0x03,
0x15,0x0D, 0x15,0x16, 0x17,0x03, 0x19,0x03, 0x19,0x66,
0x17,0x03, 0x19,0x16, 0x19,0x03, 0x1A,0x66, 0x1F,0x03,
0x1F,0x0D, 0x1A,0x0D, 0x1A,0x02, 0x1A,0x66, 0x1F,0x03,
0x20,0x03, 0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x66,
0x1A,0x04, 0x19,0x04, 0x17,0x0D, 0x16,0x03, 0x16,0x02,
0x17,0x66, 0x19,0x03, 0x19,0x02, 0x17,0x03, 0x16,0x03,
0x16,0x02, 0x16,0x03, 0x15,0x03, 0x15,0x02, 0x10,0x03,
0x0F,0x03, 0x15,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x03,
0x15,0x03, 0x10,0x03, 0x15,0x03, 0x15,0x01, 0x17,0x02,
0x19,0x02, 0x1A,0x15, 0x1A,0x03, 0x1F,0x66, 0x1A,0x03,
0x19,0x16, 0x1A,0x66, 0x1F,0x03, 0x20,0x66, 0x21,0x0D,
0x20,0x03, 0x20,0x0D, 0x20,0x16, 0x1F,0x03, 0x20,0x03,
0x21,0x66, 0x23,0x03, 0x21,0x66, 0x21,0x03, 0x20,0x66,
0x1F,0x03, 0x1F,0x16, 0x1A,0x66, 0x1F,0x03, 0x20,0x03,
0x1F,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x66, 0x1A,0x04,
0x19,0x04, 0x17,0x0D, 0x16,0x03, 0x16,0x02, 0x15,0x66,
0x16,0x03, 0x17,0x02, 0x1F,0x0D, 0x1A,0x03, 0x1A,0x15,
0x19,0x03, 0x1A,0x16, 0x1F,0x03, 0x20,0x02, 0x20,0x03,
0x1F,0x0D, 0x1F,0x17, 0x1F,0x16, 0x00,0x00 };
//兩只蝴蝶
unsigned char code Music_twoButterFly[] = { 0x17,0x03, 0x16,0x03, 0x17,0x0C, 0x17,0x03, 0x16,0x03,
0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03,
0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03,
0x10,0x03, 0x15,0x03, 0x0F,0x01, 0x17,0x03, 0x16,0x03,
0x17,0x0B, 0x17,0x03, 0x16,0x03, 0x17,0x03, 0x16,0x03,
0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D,
0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03,
0x16,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x0B, 0x17,0x03,
0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03,
0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03,
0x15,0x03, 0x10,0x03, 0x15,0x03, 0x19,0x01, 0x17,0x03,
0x19,0x03, 0x19,0x0B, 0x19,0x03, 0x19,0x03, 0x1A,0x03,
0x19,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,
0x10,0x0E, 0x15,0x0E, 0x15,0x03, 0x15,0x0D, 0x15,0x79,
0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03,
0x1B,0x03, 0x1A,0x03, 0x17,0x03, 0x16,0x0D, 0x16,0x03,
0x17,0x0D, 0x17,0x15, 0x17,0x03, 0x17,0x03, 0x19,0x03,
0x1A,0x02, 0x1A,0x66, 0x10,0x03, 0x17,0x0D, 0x16,0x03,
0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03,
0x19,0x16, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1B,0x03,
0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1B,0x03, 0x1A,0x03,
0x19,0x03, 0x17,0x03, 0x16,0x02, 0x17,0x0D, 0x16,0x03,
0x17,0x03, 0x19,0x02, 0x00,0x00 };
//月亮代表我的心
unsigned char code Music_moonHeart[] ={ 0x0F,0x03, 0x15,0x66, 0x17,0x03, 0x19,0x66, 0x15,0x03,
0x11,0x66, 0x17,0x03, 0x19,0x16, 0x19,0x03, 0x1A,0x03,
0x1B,0x02, 0x1F,0x66, 0x1A,0x03, 0x1A,0x03, 0x19,0x0D,
0x19,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x66, 0x15,0x03,
0x15,0x02, 0x17,0x03, 0x16,0x03, 0x15,0x66, 0x15,0x03,
0x15,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x02, 0x15,0x03,
0x10,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x15, 0x0F,0x03,
0x17,0x0D, 0x19,0x03, 0x17,0x66, 0x16,0x03, 0x15,0x02,
0x19,0x02, 0x11,0x01, 0x10,0x03, 0x11,0x03, 0x10,0x02,
0x11,0x03, 0x10,0x02, 0x0F,0x02, 0x17,0x01, 0x19,0x02,
0x17,0x66, 0x16,0x03, 0x15,0x02, 0x19,0x02, 0x11,0x01,
0x10,0x03, 0x11,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02,
0x16,0x0D, 0x17,0x03, 0x16,0x15, 0x0F,0x03, 0x15,0x66,
0x17,0x03, 0x19,0x66, 0x15,0x03, 0x11,0x66, 0x17,0x03,
0x19,0x66, 0x19,0x03, 0x1A,0x66, 0x1B,0x03, 0x1F,0x66,
0x1A,0x03, 0x1A,0x03, 0x19,0x0D, 0x19,0x02, 0x17,0x03,
0x16,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02, 0x17,0x03,
0x16,0x03, 0x15,0x66, 0x15,0x03, 0x15,0x02, 0x16,0x03,
0x17,0x03, 0x16,0x66, 0x10,0x03, 0x11,0x02, 0x15,0x0D,
0x16,0x03, 0x15,0x15, 0x00,0x00 };
//***********************************************************************************
全部資料51hei下載地址:
基于51單片機音樂播放仿真 樂譜制作軟件 音樂資料.rar
(668.85 KB, 下載次數: 90)
2020-1-11 10:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|