找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3562|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于51單片機音樂播放仿真 樂譜制作軟件 音樂資料

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:63146 發(fā)表于 2020-1-11 10:21 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


單片機源程序如下:
#include <REG52.H>
#include "MusicBox.h"


/*********************代碼說明**************************
獻給師妹黃銀盛-------希望你快樂幸福每一天
音樂驅(qū)動參考部分網(wǎng)上代碼,感謝原作者
T0,T1用于翁鳴器頻率計時和控制
使用P1.0口控制翁鳴器,高電平導通
使用外部中斷0,實現(xiàn)曲目控制。設置中斷0為最高優(yōu)先級
在開發(fā)板上調(diào)試使用STC89C51芯片,4K flash
在手工焊板上使用STC89C52芯片,8K flash,能放置更多歌曲文件
********************************************/

#define  MSC_NUM  5                             //總曲目數(shù)
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[];     //兩只蝴蝶


//定義歌曲播放指針數(shù)組
unsigned char* pMusic[] = {Music_SummerNut, Music_leftTrouble, Music_twoButterFly, Music_moonHeart, Music_JiXiang};

void main(void)
{
   unsigned char degree = 3;          //設定播放音調(diào),升八度
   unsigned int play_speed = 300;     //設定播放速度,默認為300

        InitialSound();
        while(1)
        {        
           //調(diào)用歌曲播放函數(shù)
                Play(pMusic[play_num], 0, degree, play_speed);

                //單曲完畢后,延時1S
                Delay1ms(1000);
               
                //重設播放狀態(tài)為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,累加全局變量,暫停當前歌曲播放,曲目跳轉(zhuǎn)
{
   EA = 0;

        //設置為不播放狀態(tài)
        play_state = 0;

        P0 = 0x80;

        //曲目號累加
   play_num++;

        if(play_num >= MSC_NUM){  //若當前播放曲目為最后一條,則回零播放
          play_num = 0;  
        }

   EA = 1;
}


//***********************************Music files**************************************************
//吉祥三寶,一遍,后段轉(zhuǎn)換不成功,未加入
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, 下載次數(shù): 90)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表