❶ 做一個mbed音樂盒,需要發出各種樂器的聲音,求代碼及電路圖
這個東西想用單片機做出來啊,復雜咯,放棄這種想法吧,在電腦上玩就可以了;
❷ 用單片機做電子琴的問題
你首先要保證你的單片機外圍電路要正常,他們是單片機工作的前提,我給你提點你查查,看看復位電路是否接好,最好用上電復位電路,再觀察你的晶振電路是否正常,最好用示波器觀察。不知道你用的是哪個型號的單片機,如果是40管腳的51系列,那你就再看看31管腳是否接的是高電平!就那個VPP,這個很多人就忽視了。檢查完以後如果一切都正常,那要用軟體測試的辦法了,你寫一個小程序,燒寫進去,看看是否運行,如果可以的話,那就不是硬體的問題了,而是你的軟體問題了,行了就說這么多了,如果 還有問題可以交流!祝你成功!!
❸ 我很喜歡音樂,還有很多樂器,請問單片機這個行業和音樂有關系么,謝謝
用單片機可以通過編程讓他奏樂,呵呵,不過音質不匝地.但可以控制音樂存儲晶元來實現放音,還可以控制硬碟,MP3,CD等尤其是MP3,就是一片單片機,你要是對單片機不了解下面是對單片機的介紹,有興趣可以看一下
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機了解計算機原理與結構的最佳選擇。
可以說,二十世紀跨越了三個「電」的時代,即電氣時代、電子時代和現已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,大多數人卻不怎麼熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的「肚子」里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞——「智能型」,如智能型洗衣機等。現在有些工廠的技術人員或其它業余電子開發者搞出來的某些產品,不是電路太復雜,就是功能太簡單且極易被仿製。究其原因,可能就卡在產品未使用單片機或其它可編程邏輯器件上。
單片機的歷史 :
第一代:七十年代後期, 4 位邏輯控制器件發展到 8 位。使用 NMOS 工藝(速度低,功耗大、集成度低)。代表產品: MC6800 、 Intel 8048 。
第二代:八十年代初,採用 CMOS 工藝,並逐漸被高速低功耗的 HMOS 工藝代替。代表產品: MC146805 、 Intel 8051 。
第三代:近十年來, MCU 的發展出現了許多新特點:
( 1 )在技術上,由可擴展匯流排型向純單片型發展,即只能工作在單片方式。
( 2 ) MCU 的擴展方式從並行匯流排型發展出各種串列匯流排。
( 3 )將多個 CPU 集成到一個 MCU 中。
( 4 )在降低功耗,提高可靠性方面, MCU 工作電壓已降至 3.3V 。
第四代: FLASH 的使用使 MCU 技術進入了第四代。
單片機的應用領域 :
1. 單片機在智能儀器儀表中的應用;
2. 單片機在工業測控中的應用;
3. 單片機在計算機網路和通訊技術中的應用;
4. 單片機在日常生活及家電中的應用;
5. 單片機在辦公自動化方面。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
單片機的作用
實際工作中並不是任何需要計算機的場合都要求計算機有很高的性能,一個控制電冰箱溫度的計算機難道要用P4嗎?應用的關鍵是看是否夠用,是否有很好的性能價格比。
單片機通常用於工業生產的控制、生活中與程序和控制有關(如:電子琴、冰箱、智能空調等)的場合,它不是用來做辦公自動化用的。
❹ 畢業設計我想用單片機做一個電子琴,程序最好是c語言編寫的,那個好心人可以幫我提供點資料,要錢的免進!
www.doyoung.net
上有好多,要的話我還有流程圖
/*********************************************************************************************
程序名:DoToy系列作品MidTouch21電子琴程序
編寫人:杜洋
編寫時間:2009年6月3日
硬體支持:STC11L60XE外部12MHZ晶振電源3V
介面說明:詳見《DoToy_MidTouch21電路原理圖》
修改日誌:
NO.1-20090603_17.54完成電子琴21鍵的測試(20090603_1備)
NO.2-20090604_01.29改為第二次新板的硬體電路(20090604_2備)
/*********************************************************************************************
說明:
用STC11Fxx單片機I/O介面的高阻態輸入功能,掃描I/O介面電平。
手指將VCC線和I/O介面線半連接,產生高電平信號。
/*********************************************************************************************/
voidINIT(void);
#include<STC11Fxx.H>
/*********************************************************************************************/
sbitSPEAKER=P1^0;//揚聲器,低使能
sbitLED=P3^0;//LED正極,強推
sbitLED2=P3^1;//LED負極
sbitKEY11=P2^0;
sbitKEY12=P2^1;
sbitKEY13=P2^2;
sbitKEY14=P2^3;
sbitKEY15=P2^4;
sbitKEY16=P2^5;
sbitKEY17=P2^6;
sbitKEY21=P2^7;
sbitKEY22=P4^4;
sbitKEY23=P4^5;
sbitKEY24=P4^6;
sbitKEY25=P0^7;
sbitKEY26=P0^6;
sbitKEY27=P0^5;
sbitKEY31=P0^4;
sbitKEY32=P0^3;
sbitKEY33=P0^2;
sbitKEY34=P0^1;
sbitKEY35=P0^0;
sbitKEY36=P3^3;
sbitKEY37=P3^2;
/*********************************************************************************************/
unsignedcharMUSIC;
unsignedcharSTH0,STL0;
unsignedintcodetab[]={//音階表
63628,63835,64021,64103,64260,64400,64524,//低音1-7
64580,64684,64777,64820,64898,64968,65030,//中音1-7
65058,65110,65157,65178,65217,65252,65283//高音1-7
};
/*********************************************************************************************/
voiddelay1ms(unsignedinta){//1ms延時程序(12MHz10倍於51單片機速度時)
unsignedinti;
while(--a!=0){
for(i=0;i<600;i++);
}
}/***************************************************************************************/
voidINIT(void){//初始化程序
TMOD=0x11;
ET0=1;
ET1=1;
EA=1;
P0M1=0xff;//I/O介面工作方式
P0M0=0x00;//P0全為高阻輸入
P1M1=0xfe;//P1.0為准雙向,其他為高阻輸入
P1M0=0x00;
P2M1=0xff;//P2全為高阻輸入
P2M0=0x00;
P3M1=0xfc;//P3.0為強推,其他為標准雙向
P3M0=0x01;
P4M1=0xff;//P4全為高阻輸入
P4M0=0x00;
P4SW=0xff;
LED=1;
LED2=0;
SPEAKER=0;
}
/***************************************************************************************/
voidmain(void){
INIT();//初始化
while(1){
if(KEY37==1){delay1ms(20);if(KEY37==1){MUSIC=20;}}//高音B(37)
if(KEY36==1){delay1ms(20);if(KEY36==1){MUSIC=19;}}
if(KEY35==1){delay1ms(20);if(KEY35==1){MUSIC=18;}}
if(KEY34==1){delay1ms(20);if(KEY34==1){MUSIC=17;}}
if(KEY33==1){delay1ms(20);if(KEY33==1){MUSIC=16;}}
if(KEY32==1){delay1ms(20);if(KEY32==1){MUSIC=15;}}
if(KEY31==1){delay1ms(20);if(KEY31==1){MUSIC=14;}}
//3
if(KEY27==1){delay1ms(20);if(KEY27==1){MUSIC=13;}}
if(KEY26==1){delay1ms(20);if(KEY26==1){MUSIC=12;}}
if(KEY25==1){delay1ms(20);if(KEY25==1){MUSIC=11;}}
if(KEY24==1){delay1ms(20);if(KEY24==1){MUSIC=10;}}
if(KEY23==1){delay1ms(20);if(KEY23==1){MUSIC=9;}}
if(KEY22==1){delay1ms(20);if(KEY22==1){MUSIC=8;}}
if(KEY21==1){delay1ms(20);if(KEY21==1){MUSIC=7;}}
//2
if(KEY17==1){delay1ms(20);if(KEY17==1){MUSIC=6;}}
if(KEY16==1){delay1ms(20);if(KEY16==1){MUSIC=5;}}
if(KEY15==1){delay1ms(20);if(KEY15==1){MUSIC=4;}}
if(KEY14==1){delay1ms(20);if(KEY14==1){MUSIC=3;}}
if(KEY13==1){delay1ms(20);if(KEY13==1){MUSIC=2;}}
if(KEY12==1){delay1ms(20);if(KEY12==1){MUSIC=1;}}
if(KEY11==1){delay1ms(20);if(KEY11==1){MUSIC=0;}}
//1
if(MUSIC!=0xff){//如果有音階數值(非0XFF時)
STH0=tab[MUSIC]/256;//將音階的頻率值裝入定時器T0
STL0=tab[MUSIC]%256;
TR0=1;//啟動定時器
MUSIC=0xff;//清除寄存器
}else{//否則
SPEAKER=1;//關揚聲器
LED=1;
TR0=0;//關定時器
}
}
}
/***************************************************************************************/
voidt0(void)interrupt1using0{//定時器0產生音頻
TH0=STH0;
TL0=STL0;
SPEAKER=~SPEAKER;//取反頻率產生音調
LED=SPEAKER;//LED同頻閃爍
}
/***************************************************************************************/
/*************************************************************
*杜洋工作室www.DoYoung.net
/*************************************************************/
❺ 單片機做電子琴用蜂鳴器和揚聲器有什麼區別哪個好
嗡鳴器聲音比較單調~有點刺耳……話說本來就是報警什麼的……
但是揚聲器聲音比較小……用運放推比較好~
再者,揚聲器發出方波的話聽起來和嗡鳴器差不多……如果有DAC的話用運放推一個揚聲器不錯~否則直接嗡鳴器~
❻ 用單片機做電子琴,復音(合音)怎麼實現
解析MIDI電子琴的設計用單片機是如何實現的
摘要:用單片機控制通用MIDI音源模塊製作製作出的電子琴,結構簡單,可靠性高,並且價格低廉,具有實用的價值。這種電子琴能夠支持單音和復音彈奏,如果與高品質的音源晶元連接,音質更可與高檔電子琴相媲美。我們在實驗過程中,也曾採用手機中通用的音樂晶元構成音源模塊,效果不錯,價格更低廉,如韓國產的QS6400 等,這些晶元的驅動要復雜一些,需要對晶元進行初始化設置,詳細內容可參看國防工業出版社出版的《MIDI原理與開發應用》一書中的相關章節。
關鍵字:電子琴,單片機,音源板,MD2064
1、電子琴的硬體設計方案
本電子琴包含48個按鍵鍵盤,即具有4個8度的音域,單片機AT89C51通過對所彈按鍵的識別,產生相應的MIDI消息。它支持單音彈奏和最多16個復音彈奏。電子琴結構示意圖和電路原理圖分別如圖1和圖2所示。AT89C51作為主控晶元,它使得鍵盤矩陣模塊、通道和音色選擇以及串口發送等各功能模塊協調工作。48按鍵行列式鍵盤矩陣構成MIDI電子琴的鍵盤掃描輸入端,由於89C51的P0口內部沒有上拉電阻,故這里採用電阻R14——R21將列線拉至高電平,與六條行線組合完成48個琴鍵的掃描識別,在圖1中,單片機與鍵盤矩陣間的雙箭頭線表示單片機在掃描鍵盤矩陣時,P0口和P2口分別作為輸入/輸出口使用。人機介面電路則利用了單片機P1口的大部分口線,並通過或門向INT0發出中斷請求,該部分電路主要完成MIDI電子琴的通道設置和音色選擇等人機交互功能。鍵盤的彈奏信息以及通道、音色信息經CPU處理後,由串口將標準的MIDI數據發送給MIDI音源及放大器,推動揚聲器發聲。
圖1:MIDI電子琴結構示意圖
圖2:MIDI電子琴電路圖
音源模塊採用MD2064 套板,如圖3所示。它是一種模塊化的MIDI音源產品,由得理電子公司開發,具有標准MIDI介面,該板能接受標准GM MIDI命令進行音樂播放,自帶3D, REVERB, CHORUS等效果處理。由於該套板的MIDI 介面採用了光耦合器,電流驅動,故設計了由Q1、Q2等器件組成的驅動電路,使單片機串口數據得以正常傳輸。在模塊的耳機輸出端取得信號後,經小功率放大即可推動揚聲器發聲。
2、電子琴的軟體設計特點
該電子琴軟體採用模塊化設計方法,程序也較簡單。軟體中各功能模塊都由相應的子程序完成,主要包含通道選擇模塊,音色選擇模塊,48按鍵鍵盤掃描模塊,串口發送模塊等,其中為了及時完成用戶命令,音色選擇模塊採用了中斷服務子程序,可以在演奏中快速響應使用者的請求。
主程序在完成串口初始化、相關變數的初始化以及設置通道後,即進入鍵盤掃描、發送音符消息流程,為了使按鍵識別准確可靠,還設置了兩個緩沖區BUFF1和BUFF2保存鍵盤掃描值。主程序流程圖如圖3。
圖3:MIDI電子琴程序的流程圖
以下是部分功能模塊的程序設計介紹。
2.1 音色選擇模塊的設計
該模塊的功能是使MIDI電子琴能按要求快速改變音色,所以採用了中斷服務子程序。當某個音色選擇按鍵壓下時,通過或門向單片機的INT0發出中斷請求,CPU響應後進入該中斷服務子程序。MIDI技術規范規定,標准MIDI含有128種音色,它們的編號范圍是0~127,為了能夠快速找到所需音色,硬體中設置3個按鍵,其中2個用於音色編號的單步增加和減小,每次增加或減小1個音色編號,另外一個鍵用於音色快進,當快進鍵有效時,每次增加8個音色編號,選擇增加8個音色的原因是:標准MIDI的128種音色是按每8個音色一組編排的,共包含16個樂器組。電子琴開機時默認的音色編號是0,即大鋼琴音色。
單片機的P1.2口線連接著音色增加按鍵,P1.3則連接音色減小按鍵,P1.4連接音色快進鍵。低電平時按鍵有效,這三個按鍵通過與門連接外部中斷INT0,以便實時響應音色設置。該外部中斷0的中斷服務子程序流程圖見圖4,(圖中省去了按鍵延時去抖動部分):
圖4:音色改變子程序流程圖
在該子程序中,變數TAMBER中存放當前音色,其值可在0~127間循環,當TAMBER是最大值127時,加1後又變為0;而當TAMBER為0時,減1則變為127;在邊界范圍加8取模後,剛好為其對應的音色值。
2.2 串口發送模塊
串口發送模塊主要用於發送產生的MIDI消息,串口採用的模式1,發送的波特率是31.25KBPS。串口通過驅動電路連接MIDI音源,發送MIDI消息。通道號存放在變數CHANNEL中,通過與90H相與,所得值就是當前所設置的通道號。
2.3 鍵盤掃描模塊
本電子琴提供了48個MIDI按鍵,即4個8度音的音域范圍,當按下單個鍵時,產生一條MIDI消息,當按下多個鍵值時產生對應鍵值的多條MIDI音符開消息,當某個鍵值被釋放時,發送對應的音符關消息。這些MIDI消息通過串口發送給MIDI音源,產生MIDI音樂。音樂的時值由按鍵的時間長度控制,當按鍵被釋放,實時產生MIDI消息,關閉被釋放的鍵值音。
由P0口和P2口的P2.0~P2.5構成行列式鍵盤,也可繼續擴展鍵盤,例如改為常用的49鍵或64鍵。因為支持復音按鍵,鍵盤掃描程序必須掃描到行列式鍵盤的每個鍵值,掃描所得的鍵值存放在緩沖區BUFF1或BUFF2中。鍵盤掃描程序獲得的鍵盤編號范圍是0~47,還需將這個鍵盤編號值轉換為MIDI設備能夠識別的鋼琴鍵盤編號,這個功能由一個子程序來完成,限於篇幅本文不再詳述。鍵盤掃描子程序流程如圖5。
圖5:鍵盤掃描子程序
❼ 51單片機能做電子琴嗎
51單片機可以模擬電子琴,當然,音質不是太好,跟MIDI差不多。