找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8894|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)音樂程序源代碼,歌名保密

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:75263 發(fā)表于 2015-3-24 23:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
鑒于今天這個(gè)特殊的日子,我又編譯了一首歌,歌名暫時(shí)保密,這段代碼,送給不遠(yuǎn)處的你,搬起磚頭我無法擁抱你,放下轉(zhuǎn)頭我無法養(yǎng)活你,我現(xiàn)在就在搬磚中,還得繼續(xù)學(xué)習(xí)深造啊。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P1^0;
unsigned int C;
#define L1 262         
#define L2 284
#define L3 311
#define L4 349
#define L5 392
#define L6 440
#define L7 494
#define Z1 523
#define Z2 587
#define Z3 659
#define Z4 698
#define Z5 784
#define Z6 880
#define Z7 987
#define H1 1046
#define H2 1174
#define H3 1318
#define H4 1396
#define H5 1567
#define H6 1760
#define H7 1975

void delay();

unsigned code GP[]={H3,H1,H1,Z6,Z6,Z5,Z5,/**/Z5,Z4,Z3,Z4,Z4,H1,H1,H1,
                   /**/H3,Z7,Z7,H2,H2,Z7,/**/Z7,Z5,Z5,/**/Z5,Z5,Z6,H3,H2,H1,H1,Z6,
                                   /**/H2,
                                   /**/H2,H2,H2,H2,H1,H1,H5,
                                   /**/H5,H3,H3,/**/H5,H5,H5,H3,H3,H1,/**/H3,H2,H2,
                                  /**/H2,H2,H2,H2,H2,H2,/**/H1,H2,H3,H5,H5,/**/
                                   H5,L5,L6,Z3,Z2,Z1,L6,/**/Z2,/**/Z2,Z2,Z2,Z2,Z1,
                                   Z1,Z2,/**/Z5,Z3,Z3,/**/Z5,Z5,Z5,Z3,Z3,Z1,/**/Z3,
                                   Z2,Z2,/**/Z2,Z2,Z2,Z2,Z2,Z2,/**/Z3,Z2,L6,Z1,Z1,
                                   /**/Z1,/**/Z5,Z6,H3,H2,H1,H1,Z6,/**/H2,
                                   /**/H2,H2,H2,H2,H2,H1,H2,/**/H3,H5,H3,H2,H3,/**/
                                   H3,H3,H3,H2,H1,/**/H2,H1,Z6,Z6,/**/H2,H1,Z6,Z6,/**/
                                   H1,H1,H1,H2,H2,/**/H2,Z5,Z6,H3,H2,H1,H1,Z6,/**/H2,
                                   /**/H2,H2,H2,H2,H2,H1,H2,/**/H3,H5,H3,H2,H3,/**/
                                   H3,H3,H3,H2,H1,/**/H2,H1,Z6,Z6,/**/H2,H1,Z6,Z6,/**/
                                   H1,H1,H1,H2,H2,/**/Z5,Z6,H3,H2,H1,H1,Z6,/**/H2,/**/H2,H2,
                                   H2,H2,H1,H1,H2,/**/H5,H3,H3,/**/H5,H5,H5,Z3,H3,H1,/**/
                                   H3,H2,H2,/**/H2,H2,H2,H2,H2,H2,/**/H3,H2,Z6,H1,H1,/**/
                                   H1,Z1,Z1,Z3,Z3,Z6,Z7,Z6,
                                   /**/0xff};
unsigned code JP[]={4,4,4,4,4,4,8,/**/4,4,4,4,4,4,4,4,/**/12,4,4,4,4,4,/**/
                     12,4,12,/**/4,4,4,4,6,2,4,4,/**/20,/**/4,4,4,6,
                                         2,4,4,/**/4,4,20,/**/8,4,6,2,4,4,/**/4,4,8,
                                         /**/4,4,4,4,4,4,/**/8,8,4,4,8,/**/4,4,4,4,6,2,4,4,
                                         /**/12,/**/4,4,4,6,2,4,4,/**/4,4,12,/**/8,4,
                                         6,2,4,4,/**/4,4,8,/**/4,4,4,4,4,4,/**/8,8,4,4,8,
                                         /**/8,/**/4,4,4,6,2,4,4,/**/12,/**/
                                         4,4,4,4,4,4,4,/**/8,8,8,8,8,/**/4,4,4,8,4,/**/
                                         4,8,4,12,/**/4,8,4,12,/**/8,8,4,8,4,/**/4,4,4,4,
                                         4,4,4,4,/**/12,/**/4,4,4,4,4,4,4,/**/8,8,4,8,
                                         4,/**/4,4,4,8,4,/**/4,8,4,12,/**/4,8,4,12,/**/
                                         8,8,4,8,4,/**/4,4,4,6,2,4,4,/**/12,/**/4,4,4,6,2,
                                         4,4,/**/4,4,12,/**/8,4,6,2,4,4,/**/4,4,8,
                                         /**/4,4,4,4,4,4,/**/8,8,4,4,8,/**/4,4,4,4,4,4,4,4,
                                        };

void main()
{ uchar i,j;
TMOD=0x00;
EA=1;         //開總中斷
ET0=1;        //開t0中斷
while(1)
{ i=0;
while(GP[i]!=0xff)
{C=460830/GP[i];
TH0=(8192-C)/32;
TL0=(8192-C)%32;
TR0=1;//開定時(shí)器0
for(j=0;j<JP[i];j++)
{delay();}
TR0=0;
i++;

}
beep=0;
}

}
void delay()          //延時(shí)15.6ms
{
uint i,j;
for(i=70;i>0;i--)
   {for(j=110;j>0;j--);}
}
void T0_time()interrupt 1
{ TR0=0;
beep=!beep;
TH0=(8192-C)/32;
TL0=(8192-C)%32;
TR0=1;
}

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

使用道具 舉報(bào)

沙發(fā)
ID:673731 發(fā)表于 2019-12-25 16:50 | 只看該作者
  1. while(GP[i]!=0xff) {C=460830/GP[i]; TH0=(8192-C)/32; TL0=(8192-C)%32;
復(fù)制代碼

大佬這一段什么意思呀
回復(fù)

使用道具 舉報(bào)

板凳
ID:665331 發(fā)表于 2019-12-26 08:40 來自手機(jī) | 只看該作者
厲害厲害
回復(fù)

使用道具 舉報(bào)

地板
ID:678235 發(fā)表于 2020-1-1 14:13 | 只看該作者
用匯編的會(huì)嗎
回復(fù)

使用道具 舉報(bào)

5#
ID:288930 發(fā)表于 2020-2-14 10:30 | 只看該作者
喇叭聲音太小,怎樣放大電流?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表