欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
C51單片機(jī)多聲道播放音樂(lè)
[打印本頁(yè)]
作者:
dlkfqlxm
時(shí)間:
2021-3-11 13:30
標(biāo)題:
C51單片機(jī)多聲道播放音樂(lè)
物理學(xué)中我們知道,頻率增加(或降低)一倍聲音就提高{或降低)8度。
因?yàn)閱纹瑱C(jī)用的是二進(jìn)制,左移或右移就是增減幾倍。所以頻率就同比例增減。
下面以播放《祝你平安》為例:其實(shí)實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,多一個(gè)聲道就多加一個(gè)蜂鳴器或揚(yáng)聲器。相應(yīng)新加的播放時(shí)左右移就行了。
同樣道理,也能實(shí)現(xiàn)和弦等。具體單片機(jī)代碼如下:
#include "reg52.h"
unsigned char Count;
sbit _Speak =P3^4 ; //訊響器控制腳
usbit _Speakr =P3^7; //新加訊響器控制腳
nsigned char code SONG[] ={ //祝你平安
0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,
//路邊的野華不要采
0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,
};
void Time0_Init()
{
TMOD = 0x01;
IE = 0x82;
TH0 = 0xD8;
TL0 = 0xEF; //12MZ晶振,10ms
}
void Time0_Int() interrupt 1
{
TH0 = 0xD8;
TL0 = 0xEF;
Count++; //長(zhǎng)度加1
}
/*-------------------------------------------------
功能:1MS延時(shí)子程序
-------------------------------------------------*/
void Delay_xMs(unsigned int x)
{
unsigned int i,j;
for( i =0;i < x;i++ )
{
for( j =0;j<3;j++ );
}
}
/*-------------------------------------------------
功能:歌曲播放子程序i為播放哪一段曲目
-------------------------------------------------*/
void Play_Song(unsigned char i)
{
unsigned char Temp1,Temp2;
unsigned int Addr;
Count = 0; //中斷計(jì)數(shù)器清0
Addr = i * 217;
while(1)
{
Temp1 = SONG[Addr++];
if ( Temp1 == 0xFF ) //休止符
{
TR0 = 0;
Delay_xMs(100);
}
else if ( Temp1 == 0x00 ) //歌曲結(jié)束符
{
return;
}
else
{
Temp2 = SONG[Addr++];
TR0 = 1;
while(1)
{
_Speak = ~_Speak;
Delay_xMs(Temp1);
if ( Temp2 == Count )
{
Count = 0;
break;
}
//以下為新加的聲道播放
_Speakr = ~_Speakr;//新加的蜂鳴器或揚(yáng)聲器發(fā)聲
Delay_xMs(Temp1>>1);//新加的發(fā)音聲道頻率,左移或右移。
if ( Temp2 == Count )
{
Count = 0;
break;
}
}
}
}
/*-------------------------------------------------
功能:主程序
-------------------------------------------------*/
void main()
{
Time0_Init(); //定時(shí)器0中斷初始化
while(1)
{
Play_Song(0); //播放
}
}
作者:
Tesla000
時(shí)間:
2021-3-11 15:00
有錄音或者視頻嗎?聽(tīng)聽(tīng)會(huì)出來(lái)怎么樣的聲音
作者:
dlkfqlxm
時(shí)間:
2021-3-11 15:46
Tesla000 發(fā)表于 2021-3-11 15:00
有錄音或者視頻嗎?聽(tīng)聽(tīng)會(huì)出來(lái)怎么樣的聲音
我用耳機(jī)試的,就是一面是高音面是低音。高低之間最大我試到左右移功4位。現(xiàn)在眼睛不行了,焊點(diǎn)東西特費(fèi)勁,加個(gè)三極管和蜂鳴器都短路不知多少回。后來(lái)直接在蜂鳴器上取兩個(gè)端點(diǎn),加上地線,接在耳麥上試聽(tīng)。因?yàn)閮蛇吢曇粲懈哂械停?tīng)以才可行發(fā)表。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1