導航:首頁 > 操作系統 > 音樂噴泉單片機

音樂噴泉單片機

發布時間:2023-05-16 06:04:18

『壹』 我想要一段單片機控制音樂噴泉的C語言程序,很急!~誰能幫幫我,謝謝~

#include<reg51.h>
#include "SoundPlay.h"
uchar code table[]="sound_signal:";
uchar code table1[]="sound_pace:";
uchar code table2[]="0123456789 ";
uchar data count=0;
sbit motor=P2^1;
sbit rs=P2^2;
sbit e=P2^3;
void init_com()
{
TMOD=0x01;
TH0=0xff;
TL0=0xff;
EA=1;
ET0=1;
}

void timer0(void) interrupt 1 using 3
{
counter=counter+1;//節拍次數計數
TH0=0xd8; //定義單位節拍的延時大小 10ms定時
TL0=0xef;
}
void delay(uchar n)
{
uchar i;
while(n--)
for(i=0;i<125;i++); //延時1毫秒

}

void sound_delay(uchar n)
{
uchar i;
while(n--)
{
for(i=0;i<2;i++);
}
}

/*******LCD顯示*******/
void ling(uchar zl) //寫指令
{
rs=0;
e=0;
P0=zl;
delay(5);
e=1;
delay(5);
e=0;
}
void shuju(uchar sj) //寫數據
{
rs=1;
e=0;
P0=sj;
delay(5);
e=1;
delay(5);
e=0;
}
void lcdinit() //初始化
{
delay(15);
ling(0x01);
ling(0x38);
delay(5);
ling(0x38);
delay(5);
ling(0x38);
delay(5);
ling(0x0c);
delay(5);
ling(0x06);
delay(5);
ling(0x01);
delay(5);
}
//*****************液晶初始化*********
void main()
{
uint i,a;
uchar sound_signal;//定義音符大小
uchar sound_pace;//定義節拍大小
init_com();
lcdinit();
ling(0x80);
for (i=0;i<13;i++)
shuju(table[i]);
ling(0x80+0x40);
for (i=0;i<11;i++)
shuju(table1[i]);
//array[i]=0x00 代表歌曲演唱完畢
//array[i]=0xff 代表是休止符
while(1)
{
i=0;

/***************************************///////////
while(array[i]!=0x00)
{
//如果是休止符,延時100ms,並終止本次循環,進入下一個循環
if(array[i]==0xff)
{
TR0=0;
i++;
delay(100);
continue;
}
//從表中取得 音符大小
sound_signal=array[i];
i=i+1;
//從表中取得 節拍大小
sound_pace=array[i];
a= sound_pace;
P1=a|(a>>4);
//彩燈的根據節拍閃爍
ling(0x80+13);
if(sound_signal/100==0)
shuju(table2[10]);
else shuju(table2[ sound_signal/100]);
shuju(table2[sound_signal%100/10]);
shuju(table2[sound_signal%10]);
ling(0x80+0x40+11);
if(sound_signal/100==0)
shuju(table2[10]);
else shuju(table2[sound_pace/100]);
shuju(table2[sound_pace%100/10]);
shuju(table2[sound_pace%10]);
motor=0;
delay(40);
TR0=1;
//當節拍數未達到時候,繼續循環,產生該音調的聲音
while(counter<=sound_pace)
{
motor=1;
sound=~sound;
sound_delay(sound_signal);
}

i++;
counter=0;//節拍計數器置0,進入下一個音調
}
/*************************************************/
delay(10); //歌曲演唱完畢後,延時一段時間
}
}
//*******soundplay.h**********歌曲
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__
#define uchar unsigned char
#define uint unsigned int
sbit sound=P2^0;
uint counter=0;
uchar code array[]=
{
0x18, 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
};

『貳』 小型音樂噴泉的設計可以用哪種單片機為什麼

什麼單片機都行,用簡單的C51單片機吧,因為單片機主要的功能是控制處理,即你用可以感覺音樂相關的感測器和單片機相接,但聲音變化感測器產生信號給單片機,單片機根據信號再控制彩燈和噴泉。

『叄』 單片機實現音樂噴泉的過程中如何對音頻進行分頻處理

用AD晶元對音頻采樣,采樣速度至少40KHZ,然後做FFT,精度你隨便,估計有個256點就可以了。一來你是51,跑不快,二來音樂噴泉水柱不多,從低頻到高頻大概體現7、8個頻點就夠了。FFT程序網上找,一把一把的。

『肆』 請問用單片機做音樂噴泉的小模型需要哪些材料呢

首先需要個噴泉模型聚乙烯熟料透明的。然後准備個三原色LED燈(最好貼片的),加個藍牙模塊,准備個藍牙音箱,根據設備數量選擇合適引腳單片機。
裝載,用塊萬能板將燈,藍牙模塊,單片機什麼的都焊上去。然後將噴泉模型用塑料膠固定在燈上。
連上PC開始調試,先寫燈模塊,再寫藍牙模塊,將音頻轉成2進賬寫入代碼。
這樣基本上可以循環放一首歌了。

『伍』 51單片機的音樂噴泉的編碼

功能實現通過ADC0832晶元對音頻信號的採集,轉換為數字信號給單片機,然後PWM脈沖寬度調制控制水泵水柱對的高低

//請先了解ADC0832模數轉換的串列協議,再來讀本函數,主要是對應時序圖來理解,本函數是模擬0832的串列協議進行的

// 1 1 0 通道

// 1 1 1 通道

unsigned char ad0832read(bit SGL,bit ODD)

{undefined

unsigned char i=0,value=0,value1=0;

SCL=0;

DO=1;

CS=0;//開始

SCL=1;//第一個上升沿

SCL=0;

DO=SGL;

SCL=1; //第二個上升沿

SCL=0;

DO=ODD;

SCL=1; //第三個上升沿

SCL=0; //第三個下降沿

DO=1;

for(i=0;i<8;i++)

{undefined

SCL=1;

SCL=0; //開始從第四個下降沿接收數據

value<<=1;

if(DO)

value++;

}

for(i=0;i<8;i++)

{//接收校驗數據

value1>>=1;

if(DO)

value1+=0x80;

SCL=1;

SCL=0;

}

CS=1;

DO=1;

SCL=1;

if(value==value1)//與校驗數據比較,正確就返回數據,否則返回0

return value;

return 0;

}

void penquan() //PWM調壓

{undefined

date=ad0832read(1,0); //讀取ad值

h1=(255-date);//轉換

out=0; //水泵清零

delay(h1);

if(h1>70) led1=1; else led1=0; //ad值對比 點亮相應的燈

if(h1>80) led2=1; else led2=0; //ad值對比 點亮相應的燈

if(h1>90) led3=1; else led3=0; //ad值對比 點亮相應的燈

if(h1>100) led4=1; else led4=0; //ad值對比 點亮相應的燈

if(h1>110) led5=1; else led5=0; //ad值對比 點亮相應的燈

if(h1>115) led6=1; else led6=0; //ad值對比 點亮相應的燈

if(h1>120) led7=1; else led7=0; //ad值對比 點亮相應的燈

if(h1>130) led8=1; else led8=0; //ad值對比 點亮相應的燈

out=1; //關閉水泵

delay(date); //延時時間

}

void main()//主函數

{undefined

while(1)

{undefined

penquan(); //給定個延時次數

}

}
(轉載於CSDN)

『陸』 用Pic32單片機做音樂噴泉,都要哪些模塊,怎麼實現,C語言的程序怎麼編寫,求指導~~~

1.ADC 模塊,隔一段時間檢查一次,得到一個ADC值,根據得到的值驅動不同的LED,可將所有ADC值劃分為7個區間。
2.根據ADC值驅動水泵。。
呵呵,感覺你說的挺細的了。我說的都是你的話復述。。
我也用PIC32開發過產品,可以多溝通。

『柒』 音樂噴泉的原理是什麼

音樂噴泉的工作原理是,根據播放的音樂來控制水柱,達到與音樂同步的效果,而水柱是由水泵來控制的,而水泵是由三相非同步電動機組成的,三相非同步電動機的轉速如果通入工頻電源,轉速是不變化的,變頻器是專門針對電機調速的裝置。由變頻器控制電機的轉速,使水柱發生變化。

改變頻率就改變了電機的轉速,也就改變了水泵的壓力,音樂的不同頻率經單片機處理送到變頻電機的控制端,使電機轉速隨音樂的音調,節奏,和強弱變化,水芹數泵的壓力隨之變化,噴岀的水就有了高低變化。

最高噴泉

2007年8月1日19時58分,在通化市渾江江面上,100米高的水柱噴涌而起,蔚為大觀。據了解,這是東北三省噴涌最高的音樂噴泉,同時也是通化渾江沿江景觀帶建設工程的嫌含首組成部分之一。在當晚工程的竣工儀式上,為其剪綵的不是主要領導,而是市民代表。

據介紹,這是東北三老乎省目前噴涌最高的音樂噴泉,總投資高達2000多萬元。同時它也作為通化渾江沿江景觀帶建設工程的內容之一,成為通化市一道新的風景線。

以上內容參考:網路-音樂噴泉

『捌』 st89c52單片機音樂噴泉的程序求大神解讀

單片機的程序是要根據它的電路來寫的,你起碼也要把你的原理圖給出來,才能寫程序。

『玖』 想自己做小型的音樂噴泉,怎樣畫電路圖

想做一個小型的音樂噴泉,需要和陪用到電磁閥。用單片機的ADC采樣音樂信號,根攜螞據辯棚埋音樂信號電壓高低,可以准確控制電磁閥開閉,實現音樂噴泉效果。用c語言完全可以編程實現,當然匯編語言也可以。

『拾』 如何用單片機設計音樂噴泉電路圖

單片機就想做音樂噴泉?20年前估計這么做,用PLC做控制,現在還用單片機?莫非真是畢業設計?

現在的音樂噴泉控制系統相當復雜,功能和復雜度能趕上一個電廠的整套控制系統了,大點的音樂噴泉有幾千個控制點。

閱讀全文

與音樂噴泉單片機相關的資料

熱點內容
鏤空加密隔斷牆效果圖 瀏覽:539
windows7怎麼安裝證書伺服器 瀏覽:952
證券業務的程序員 瀏覽:202
u點伺服器wifi密碼如何設置 瀏覽:864
寶馬x5大燈編程 瀏覽:673
python安裝和使用 瀏覽:381
加密的門禁卡復制了用不了 瀏覽:714
javacsv讀寫 瀏覽:806
ug編程教程pdf 瀏覽:763
latex編譯軟體安卓版 瀏覽:248
如何在信合app上交居民醫保 瀏覽:109
丑惡pdf 瀏覽:365
陝西定頻壓縮機銷售公司 瀏覽:795
安卓系統如何幫人打王者 瀏覽:427
sbtlinux安裝 瀏覽:141
阿里雲sip伺服器 瀏覽:73
身為程序員的你怎麼拚命 瀏覽:453
android圖片手勢放大 瀏覽:586
錢的所有演算法 瀏覽:13
光模塊伺服器怎麼直接連電腦 瀏覽:376